System Architecture

Download Report

Transcript System Architecture

CS 501: Software Engineering
Fall 1999
Lecture 10
System Architecture I
Data Intensive Systems
Administration
Project Interim Report:
Due October 14
Bouncing Ball Diagrams
Example: http://www.cs.cornell.edu/
domain
name
TCP
connection
HTTP get
Client
Servers
System Architecture
The overall design of a system:






Computers and networks (e.g., monolithic, distributed)
Interfaces and protocols (e.g., http, CORBA)
Databases (e.g., relational, distributed)
Security (e.g., smart card authentication, SSL)
Operations (e.g., backup, archiving, audit trails)
Software environments (e.g., languages, source control tools)
Data Intensive Systems
Examples
 Electricity utility customer billing
 Telephone company call recording and billing
 Car rental reservations (e.g., Hertz)
 Stock market brokerage (e.g., Charles Schwab)
 Web sales (e.g., Amazon.com)
Example 1: Electricity Utility Billing
First attempt:
Transactions
Data input
Master file
Each transaction handled as it arrives.
Bills
Criticisms of First Attempt
Where is this first attempt weak?
The requirements have not been specified!!!
Transaction Types








Create account / close account
Meter reading
Payment received
Other credits / debits
Check cleared / check bounced
Account query
Correction of error
etc., etc., etc.,
Typical Requirements
 All payments to be credited on day received
 Customers must be able to query account by telephone
 Cutting off service for non-payment requires
management authorization
 Data input staff should process n transactions per day
per person
 Error rate must be below 0.01%
 System available 99.9% of business hours
Online Inquiry
Customer
service
read only
Transactions
Data input
Master file
Bills
Batch Processing: Validation
errors
Edit &
validation
Incoming
transactions
Data input
read only
Master file
Validated
transactions
Batch Processing: Master File Update
Validated
transactions
in batches
errors
Reports
Sort by
account
Master file
update
Bills
Instructions
Benefits of Batch Updating
 All transactions for an account are processed together
 Backup and recovery have fixed checkpoints
 Better management control of operations
 Efficient use of staff and hardware
Example 2: A Small-town Stockbroker
 Transactions
Received by mail or over telephone
For immediate or later action
 Complex customer inquiries
 Highly competitive market
A Database Architecture
Database(s):
 Customer and account database
 Financial products (e.g., account types, pension plans,
savings schemes)
 External databases (e.g., stock markets, mutual funds,
insurance companies)
Database Architecture
Products &
services database
Customer &
account database
External
services
Real-time Transaction
Real-time
transactions
Products &
services database
Customer &
account database
External
services
Real-time Transactions & Batch
Processing
Real-time
transactions
Products &
services database
Data
input
Batch
processing
Customer &
account database
External
services
Architectural considerations
 Real-time service during scheduled hours + batch
processing overnight
 Combine information from several databases
 Database consistency after any type of failure
two-phase commit
reload from checkpoint + log
detailed audit trail
 How will transaction errors be avoided?
 How will transaction errors be corrected?