cs 501: software engineering fall 2000 lecture 14 system architecture i data intensive systems
Post on 19-Dec-2015
216 views
TRANSCRIPT
2
Administration
Midterm examination, October 16, 7:30 to 8:30 p.m.
-- Hollister B14 (note change of room)
-- See course notices for sample questions
3
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)
4
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)
5
Example 1: Electricity Utility Billing
First attempt:
Data input Master fileTransaction Bill
Each transaction handled as it arrives.
6
Criticisms of First Attempt
Where is this first attempt weak?
The requirements have not been specified!!!
7
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.,
8
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
9
Batch Processing: Validation
Data input
Master file
Edit & validation
read only
errors
Validated transactions
Incoming transactions
10
Batch Processing: Master File Update
Master fileupdate
Bills
Validated transactionsin batches
Sort by account
errors Reports
Instructions
11
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
13
Example 2: A Small-town Stockbroker
• Transactions
Received by mail or over telephone
For immediate or later action
• Complex customer inquiries
• Highly competitive market
14
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)
16
Real-time Transaction
Customer & account database
Products & services database
External services
Real-time transactions
17
Real-time Transactions & Batch Processing
Customer & account database
Products & services database
External services
Real-time transactions
Batch processing
Data input
18
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 commitreload from checkpoint + logdetailed audit trail
• How will transaction errors be avoided?
• How will transaction errors be corrected?
19
Example: Merger of Two Banks
Each bank has a database with its customer accounts. The databases are used by staff at many branches and for back-office processing.
The requirement is to integrate the two banks so that they appear to the customers to be a single organization and to provide integrated service from all branches.
21
Merger of Two Banks: Architectural Options
I. Convert everything to System A.
convert databasesretrain staffenhance System A (software and hardware)discard System B
II. Build an interface between the databases in System A and System B.
III. Extend client software so that it can interact with either System A or System B database.
22
Distributed Computing: General Problem
An application that is running on one computer wishes to use data or services provided by another:
• Network connectionprivate, public, or virtual private networklocation of firewalls
• Protocolspoint-to-point, multicast, broadcastmessage passing, RPC, distributed objectsstateful or stateless
• Quality of service
23
Network Choices
Public Internet:
Ubiquitous -- worldwideLow cost
Private network:
SecurityPredictable performanceChoice of protocols (e.g., IBM's SNA)
24
Quality of Network Services
Performance
Maximum throughputVariations in throughputReal-time media (e.g., audio)
Business
SuppliersTrouble shooting and maintenanceUpgrades
25
Firewall
Public network
Private network
Firewall
A firewall is a computer at the junction of two network segments that:
• Inspects every packet that attempts to cross the boundary
• Rejects any packet that does not satisfy certain criteria, e.g.,
an incoming request to open a TCP connectionan unknown packet type