0% found this document useful (0 votes)
38 views24 pages

SE - Software Design Data Intensive System Lecture 5c

The document discusses software design for data-intensive systems, highlighting system architecture, transaction types, and typical requirements for applications such as electricity billing and stock brokerage. It emphasizes the importance of batch processing, online inquiry, and architectural considerations for real-time transactions and database integration. Additionally, it covers the challenges of distributed computing and the role of network choices and firewalls in ensuring data security and performance.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views24 pages

SE - Software Design Data Intensive System Lecture 5c

The document discusses software design for data-intensive systems, highlighting system architecture, transaction types, and typical requirements for applications such as electricity billing and stock brokerage. It emphasizes the importance of batch processing, online inquiry, and architectural considerations for real-time transactions and database integration. Additionally, it covers the challenges of distributed computing and the role of network choices and firewalls in ensuring data security and performance.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Lecture 5c: Software Design-Data

Intensive Systems

Design and Design Decision Examples


Dec 2024, Orwa
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)

2
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)

3
Example 1: Electricity Utility Billing

First attempt:

Transaction Data input Master file Bill

Each transaction handled as it arrives.

4
Criticisms of First Attempt

Where is this first attempt weak?

The requirements have not been specified!!!


5
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.,

6
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

7
Batch Processing: Validation

errors

Incoming Edit & Validated


transactions validation transactions
Data input
read only

Master file
8
Batch Processing: Master File Update

Reports
errors
Validated
transactions Sort by
in batches account
Master file Bills
update

Instructions
9
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

10
Online Inquiry

Customer
service

read only

Transactions Data input Master file Bills

11
Example 2: A Small-town Stockbroker

• Transactions
Received by mail or over telephone
For immediate or later action
• Complex customer inquiries
• Highly competitive market

12
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)

13
Database Architecture

Products & Customer & External


services database account database services
14
Real-time Transaction

Real-time
transactions

Products & Customer & External


services database account database services
15
Real-time Transactions & Batch
Processing

Data
Real-time Batch
transactions input processing

Products & Customer & External


services database account database services
16
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?
17
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.

18
Merger of Two Banks: Options

A ??? B
???

19
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.

20
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
21
Network Choices

Public Internet:
Ubiquitous -- worldwide
Low cost
Private network:
Security
Predictable performance
Choice of protocols (e.g., IBM's System Network
Architecture, SNA)

22
Quality of Network Services

Performance
Maximum throughput
Variations in throughput
Real-time media (e.g., audio)
Business
Suppliers
Trouble shooting and maintenance
Upgrades

23
Firewall

Public Private
network 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

24

You might also like