Digital Library Architecture
Download
Report
Transcript Digital Library Architecture
CS 501: Software Engineering
Fall 2000
Lecture 14
System Architecture I
Data Intensive Systems
Administration
Midterm examination, October 16, 7:30 to 8:30 p.m.
-- Hollister B14 (note change of room)
-- See course notices for sample questions
2
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)
3
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)
4
Example 1: Electricity Utility Billing
First attempt:
Transaction
Data input
Master file
Bill
Each transaction handled as it arrives.
5
Criticisms of First Attempt
Where is this first attempt weak?
The requirements have not been specified!!!
6
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.,
7
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
8
Batch Processing: Validation
errors
Edit &
validation
Incoming
transactions
Validated
transactions
Data input
read only
Master file
9
Batch Processing: Master File Update
Validated
transactions
in batches
errors
Reports
Sort by
account
Master file
update
Bills
Instructions
10
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
11
Online Inquiry
Customer
service
read only
Transactions
Data input
Master file
Bills
12
Example 2: A Small-town Stockbroker
• Transactions
Received by mail or over telephone
For immediate or later action
•
Complex customer inquiries
•
Highly competitive market
13
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)
14
Database Architecture
Products &
services database
Customer &
account database
External
services
15
Real-time Transaction
Real-time
transactions
Products &
services database
Customer &
account database
External
services
16
Real-time Transactions & Batch
Processing
Real-time
transactions
Products &
services database
Data
input
Batch
processing
Customer &
account database
External
services
17
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?
18
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.
19
Merger of Two Banks: Options
A
???
B
???
20
Merger of Two Banks: Architectural
Options
I. Convert everything to System A.
convert databases
retrain staff
enhance 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.
21
Distributed Computing: General
Problem
An application that is running on one computer wishes to
use data or services provided by another:
•
Network connection
private, public, or virtual private network
location of firewalls
•
Protocols
point-to-point, multicast, broadcast
message passing, RPC, distributed objects
stateful or stateless
•
Quality of service
22
Network Choices
Public Internet:
Ubiquitous -- worldwide
Low cost
Private network:
Security
Predictable performance
Choice of protocols (e.g., IBM's SNA)
23
Quality of Network Services
Performance
Maximum throughput
Variations in throughput
Real-time media (e.g., audio)
Business
Suppliers
Trouble shooting and maintenance
Upgrades
24
Firewall
Private
network
Public
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 connection
an unknown packet type
25