IMS Systems Design and Implementation

Slides:



Advertisements
Similar presentations
Database Systems: Design, Implementation, and Management
Advertisements

Distributed Data Processing
Database Architectures and the Web
Transaction.
Lecture 6.2 System Architecture: Overview IMS1002 /CSE1205 Systems Analysis and Design.
Chapter 9 Designing Systems for Diverse Environments.
Technical Architectures
Managing Data Resources
1 Chapter 2 Database Environment Transparencies © Pearson Education Limited 1995, 2005.
IMS Systems Analysis and Design
1 Pertemuan 13 Servers for E-Business Matakuliah: M0284/Teknologi & Infrastruktur E-Business Tahun: 2005 Versi: >
1 Pertemuan 17 s/d 18 Aplication architecture and modeling Matakuliah: T0194/Analisa dan Perancangan Sistem Informasi Tahun: 2006 Versi: 2.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 13 Application Architecture and Modeling.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 16 Designing.
Distributed Database Management Systems
Bina Nusantara 13 C H A P T E R APPLICATION ARCHITECTURE AND MODELING.
13-1 Chapter 13 – Application Architecture and Modeling Objectives: Define an information system’s architecture in terms of the KNOWLEDGE, PROCESSES, and.
13-1 Chapter 13 - Objectives Define an information system’s architecture in terms of the KNOWLEDGE, PROCESSES, and COMMUNICATION building blocks. Differentiate.
Chapter 12 Distributed Database Management Systems
Chapter 2 Database Environment Pearson Education © 2014.
Centralized and Client/Server Architecture and Classification of DBMS
DATABASE MANAGEMENT SYSTEMS 2 ANGELITO I. CUNANAN JR.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
The Client/Server Database Environment
Network Topologies.
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
System Architecture & Hardware Configurations Dr. D. Bilal IS 592 Spring 2005.
Chapter 4.  Understand network connectivity.  Peer-to-Peer network & Client-Server network  Understand network topology  Star, Bus & Ring topology.
Systems Analysis & Design
Client/Server Databases and the Oracle 10g Relational Database
Chapter 4: Computer Networks Department of Computer Science Foundation Year Program Umm Alqura University, Makkah Computer Skills /1436.
LECTURE 9 CT1303 LAN. LAN DEVICES Network: Nodes: Service units: PC Interface processing Modules: it doesn’t generate data, but just it process it and.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
12 1 Chapter 12 Distributed Database Management Systems Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
1 Chapter 3 Database Architecture and the Web Pearson Education © 2009.
Network Structure Students should be aware of what is available in order to –create and use an ICT network: communication devices.
Database Architectures and the Web Session 5
Database Design – Lecture 16
CSC271 Database Systems Lecture # 4.
1 Adapted from Pearson Prentice Hall Adapted form James A. Senn’s Information Technology, 3 rd Edition Chapter 7 Enterprise Databases and Data Warehouses.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
13-1 Application Architecture Application architecture – a specification of the technologies to be used to implement information systems. The blueprint.
10 1 Chapter 10 Distributed Database Management Systems Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
Database Systems: Design, Implementation, and Management Tenth Edition Chapter 12 Distributed Database Management Systems.
Database Systems: Design, Implementation, and Management Ninth Edition Chapter 12 Distributed Database Management Systems.
Week 5 Lecture Distributed Database Management Systems Samuel ConnSamuel Conn, Asst Professor Suggestions for using the Lecture Slides.
An application architecture specifies the technologies to be used to implement one or more (and possibly all) information systems in terms of DATA, PROCESS,
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
Computer Networks. A computer network is defined as the interconnection of 2 or more independent computers or/and peripherals. Computer Network.
10 1 Chapter 10 Distributed Database Management Systems Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
Lecture # 3 & 4 Chapter # 2 Database System Concepts and Architecture Muhammad Emran Database Systems 1.
4 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved. Computer Software Chapter 4.
Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Pearson Education, Inc. Slide 2-1 Data Models Data Model: A set.
Bayu Adhi Tama, M.T.I 1 © Pearson Education Limited 1995, 2005.
Distributed database system
Chapter2 Networking Fundamentals
 Distributed Database Concepts  Parallel Vs Distributed Technology  Advantages  Additional Functions  Distribution Database Design  Data Fragmentation.
Chapter 2 Database Environment.
1 Information Retrieval and Use De-normalisation and Distributed database systems Geoff Leese September 2008, revised October 2009.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
CLIENT SERVER COMPUTING. We have 2 types of n/w architectures – client server and peer to peer. In P2P, each system has equal capabilities and responsibilities.
IT 5433 LM1. Learning Objectives Understand key terms in database Explain file processing systems List parts of a database environment Explain types of.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
James A. Senn’s Information Technology, 3rd Edition
The Client/Server Database Environment
Chapter 2 Database Environment Pearson Education © 2009.
Application Architecture and Modeling
Database Environment Transparencies
Presentation transcript:

IMS2805 - Systems Design and Implementation Lecture 7 System Architecture Design

References HOFFER, J.A., GEORGE, J.F. and VALACICH (2002) 3rd ed., Modern Systems Analysis and Design, Prentice-Hall, New Jersey, Chap 16 HOFFER, J.A., GEORGE, J.F. and VALACICH (2005) 4th ed., Modern Systems Analysis and Design, Prentice-Hall, New Jersey, Chap 14 WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed., Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY. Chapter 11

Data Design Logical data design: Logical data modelling Physical file and database design

System Architecture System architecture is concerned with the technical and organisational configuration of the design of an application system An architecture is a set of definitions, rules, and terms that are used as guidelines for building a product The architecture must be consistent with:- budget constraints organisational constraints structure management existing technology requirements identified by analysis

System Architecture Components Processing Data Communications/networks These components are interrelated and must be considered in conjunction with each other.

Architecture Components: Processing The evolution of computing environments has been largely determined by technological advances in computers and the convergence of computing and communications technologies Processing can be: Centralised : e.g Host and terminals Distributed : co-operative as in client/server functionally distributed as in regional processing and centralised reporting

Distributed versus Centralized Systems A distributed system is one in which the DATA, PROCESS, and INTERFACE components of an information system are distributed to multiple locations in a computer network. Accordingly, the processing workload is distributed across the network. In centralized systems, a central, multi-user computer (ususally a mainframe) hosts all the DATA, PROCESS, and INTERFACE components of an information system. Users interact with the host via terminals (or PC terminal emulators), but virtually all of the processing is done on the host computer. (From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed., Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)

Distributed Computing Architecture Development of distributed computing involves two opposing trends: 1. to break up applications and push the resulting fragments towards the end user. price/performance benefits of developing and executing applications on workstations; demands from end users for local autonomy and additional functionality to improve their productivity. 2 to consolidate data to meet the end user’s need for corporate data affects systems integration requirements and results in the centralisation of applications on large powerful mainframes; increases the need for high levels of integrity, performance and availability. The pivotal architectural question is: how and where are computing resources distributed in this architecture ?

Why Distributed Systems? Modern business systems are already decentralized and distributed. Distributed computing moves information and services closer to the customers and users who need them. Distributed computing consolidates the power of personal computers across the enterprise. Distributed computing solutions are more user-friendly because they utilize the PC as the end user interface. Personal computers and network servers are cheaper than centralized mainframe computers (From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed., Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)

Architecture Components: Computers mainframe a large, centralised computer (e.g. an IBM AS400, UNISYS, FUJITSU) normally interfacing large numbers of terminals with large, centralised databases. May be running many concurrent processes under software such as CICS. server a medium sized computer, normally providing services, particularly shared data resources and printing, to a number of PCs. Typically running under UNIX. terminal usually a PC, but may be a less intelligent device. Typically running a GUI interface and interacting with a single user at a time.

Processing Architecture: Types Host-based: all processing is performed on one computer system to which are attached unintelligent, “dumb”, character-based terminals. Processing is totally non-distributed. Master-slave: slave computers are attached to a master computer and perform application processing functions but only as directed by their master. The minimal distribution is uni-directional from master to slave although slave has some limited local processing capability (eg. field editing). Shared-device: PC workstations are attached to a system device, the server, that allows them to share common resources, files, disk and printer. All application processing is performed on the PC and only certain functions are distributed.

(running application) Host-based Processing disk host CPU (running application) terminals

(running application) Master-slave Processing disk host CPU (running application)

server with shared disk and printer Shared-device Processing client application client application server with shared disk and printer LAN disk client application

Processing Architecture: Types: “Co-operative Computing” Client-server: Workstations become clients as they request servers to process significant parts of the application running on the workstation in addition to sharing resources. The application is now distributed and the client and server cooperate to successfully execute the application. The client initiates interaction but the server enforces control over what services and data the client can request and arbitrates conflict between clients.

server with shared disk and printer Client-server client application client application server with shared disk and printer LAN or WAN disk client application

File Server Architecture A local area network (LAN) is a set of client computers (PCs) connected to one or more sever computers either through cable or wireless connections over relatively short distances. A file server system is a LAN-based solution in which a server hosts only the data layers of an information system. All other layers are implemented on the client computers. Disadvantages include: Frequently excessive network traffic to transport data between servers and clients. Client must be fairly robust (“fat”) because it does most of the work Database integrity can be easily compromised. (From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed., Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)

Client/Server Architecture—The Clients A client/server system is a solution in which the presentation, presentation logic, application logic, data manipulation, and data layers are distributed between client PCs and one or more servers. A thin client is a personal computer that does not have to be very powerful (or expensive) in terms of processor speed and memory because it only presents the user interface to the user. A fat client is a personal computer or workstation that is typically more powerful (and expensive) in terms of processor speed, memory, and storage capacity. Most PCs are considered to be fat clients. (From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed., Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)

Client/Server Architecture—The Servers A database server hosts one or more shared databases but also executes all data manipulation commands. A transaction server hosts services that ultimately ensure that all database updates for a single transaction succeed or fail as a whole. An application server hosts the application or business logic and services for an information system. A messaging or groupware server hosts services for e-mail, calendaring, and other work group functionality. A web server hosts Internet or intranet web sites and services, communicating thorugh thin-client interfaces such as web browsers. (From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed., Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)

Distributed Computing Layers Presentation layer—the user interface, the presentation of inputs and outputs to the user Presentation layer logic— any processing required to generate the presentation, such as input editing Application logic layer— the logic and processing to support the business application: the business rules, policies, and procedures, e.g. credit checking, calcualtions Data manipulation layer—the commands and logic required to store and retrieve data to and from the database Data layer—the actual stored business data (From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed., Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)

Distributed computing and systems See class handout

Client/Server Solutions A distributed presentation client/server system is a solution in which the presentation and presentation logic layers only are shifted from the server to reside on the client. The application logic, data manipulation, and data layers remain on the server (frequently a mainframe). A distributed data client/server system is a solution in which the data and data manipulation layers are placed on the server(s), and the application logic, presentation logic, and presentation layers are placed on the clients. This is sometimes called two-tiered client/server computing. A distributed data and application client/server system is a solution in which: (1) the data and data manipulation layers are placed on their own server(s), (2) the application logic is placed on its own server, and (3) the presentation logic and presentation layers are placed on the clients.This is sometimes called three- or n-tiered client/server computing. It requires design partitioning. Partitioning is the art of determining how to best distribute or duplicate application components (DATA, PROCESS, and INTERFACE) across the network. (From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed., Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)

Client/Server Solutions: Internet- and Intranet-based Architectures A network computing system is a multi-tiered solution in which the presentation and presentation logic layers are implemented in client-side Web browsers using content downloaded from a Web server. The presentation logic layer then connects to the application logic layer that runs on the application server, which subsequently connects to the database servers on the backside of the system. The greatest potential of this approach is its applicability to redesign of traditional information systems to run on an intranet. An intranet is a secure network, usually corporate, that uses Internet technology to integrate desktop, work group, and enterprise computing into a cohesive framework. (From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed., Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)

Cooperative Computing Advantages: exploits the power and relative low cost of desktop computing technology. increased software portability reduction in the application backlog allows processing to take place at the source of the data thus reducing network traffic and response times and increasing the capacity and effective throughput of the network. facilitates the use of GUIs encourages open systems as clients and servers are independent of hardware and software platforms.

Cooperative Computing Disadvantages: bottlenecks at the server if significant portion of the application resides there. distributed applications are more complex thus increasing the cost of application development, maintenance and support in terms of the run-time environment and management of the distributed environment.

Architecture Components: Communications A communication system: is a mechanism that allows distributed resources to exchange data and control information. can be implemented as totally transparent or may be visible to the user. requires physical connection between interacting nodes.

Communications: Definitions A communication system is a collection of hardware and software that supports intersystem and interprocess communication between software components in distributed nodes. A network provides a physical path between the nodes. A link is the direct connection between two (or more) systems. The name of an object indicates a system, process or a node. An address indicates where the named object is. A route tells how to get there.

Communications Architecture: Networks Classification A. Classification by ability of nodes to communicate directly with other nodes: Point-to-point: one node communicating with an adjacent node adjacency is measured by how many logical steps it takes to get from one node to the adjacent node, eg. In Ethernet each node is one logical step from any other node. Multipoint (multidrop): all nodes share one line by sharing time on the line Node A Node B link Node A Node C Node B Node E Node D

Communications Architecture: Networks Classification B. Classification by the way messages are transmitted between nodes. Broadcast: all nodes are connected so a single message can reach all nodes (mainly LAN). Store-and-forward: a complete message is received into an intermediate buffer before being retransmitted to its destination (mainly WAN using point-to-point lines).

Communications Architecture: Topologies Topology: what it looks like on paper Fully Connected: each node is connected point-to-point to every other node. Has high throughput, reliability and low delays but is costly. Star: nodes that are connected to a single central switching node. Cheap to expand and low delays but has poor reliability (eg terminals connected to a central host). Hierarchical or Tree: one central host acts as a master in a master-slave relation with nodes. Useful for applications that exhibit hierarchical in nature (eg control systems).

Communications Architecture: Topologies Topology: what it looks like on paper Bus: an implementation of a broadcast network where a shared transmission medium interconnects all nodes. Minimises costs on length of links and has low expansion costs (eg. Ethernet). Ring: nodes are linked to their neighbours by a uni-directional loop whose length is not limited to line capacity (as in a bus network). Transmission can be point-to-point or broadcast.

Architecture Technology: Long Distance Links leased lines communications lines can be permanently connected between distant points. These lines are leased by the organisation and are charged for whether they are being used or not. Valuable for high volume traffic. The quality of the lines can be controlled. dial-up lines a new link is initiated each time, using the public switching network. The cost is proportional to the amount of usage of the link and suits low volume (infrequent transmission) traffic between distant points. The quality of the lines cannot be guaranteed. microwave links limited to line-of sight transmissions, useful over short distances between buildings.

Architecture Components: Data Data architecture requires additional information about the essential data model: volumes locations events distribution This additional information not only impacts the data but also the processing and the communication choices.

Data Architecture :Issues For distributed data architecture the following issues need to be considered: data ownership data transfer speeds network utilisation query processing catalogue management update propagation concurrency controls recovery controls Similar issues arise in other architectures

Data Architecture : Distributed Data Objectives local autonomy non reliance on a central site continuous operations location independence fragmentation independence replication independence distributed query processing distributed transaction processing hardware independence operating systems independence network independence DBMS independence C. J. Date 1995

Data architectures Historically central control of data has been considered essential Data is easier to manage as a shared resource: the only practical way used to be on a central computer Client/server and network computing allow distribution of data without loss of control via advances in distributed relational database technology (From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed., Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)

Data architectures A relational database stores data in tabular form. Each file is implemented as a table. Each field is a column in the table. Each record is a row. Related records between two tables are implemented by intentionally duplicated columns in the two tables. A distributed relational database distributes or duplicates tables to multiple database servers located in geographically important locations, e.g. different sales regions A distributed relational database management system (distributed RDBMS) is a software program that controls access to and maintenance of stored data in the relational format. It provides for backup, recovery and security. The processing of all commands executes on the database server, reducing data traffic on the network. (From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed., Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)

Types of Data(base) Distribution Most RDBMSs support two types of distributed data: Data partitioning truly distributes rows and columns of tables to specific database servers with little or no duplication between servers. Vertical partitioning assigns different columns to different servers. Horizontal partitioning assigns different rows to different servers. Data replication duplicates some or all tables (or parts of tables) on more than one database server. Database technology controls acces to, and manages consistecy of duplicated data across the servers. (From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed., Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)

Data architecture The data architecture must specify the RDBMS technology and the partitioning or replication of data It is selected based on the desired client/server or network computing model and the database technology needed to support that model Many organisations have standardised on their PC RDBMS and their distributed, enterprise RDBMS, e.g. Microsoft Access and SQL Server Technology decisions concerning data input and output technologies also need to be made (From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed., Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)

A Method for System Architecture Design Draw a physical DFD to represent the network architecture. Each physical process symbol will represent a client or server processor. For each physical process on the above network architecture model, draw a physical DFD that shows the event processes that are assigned to (or duplicated on) that physical processor. For appropriate processes on the above system DFDs, draw draw more detailed physical DFDs that factor the event into design units. Draw physical, primitive DFDs for appropriate processes from step 3. (From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed., Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)

A Method for System Architecture Design: Design units A design unit is a self-contained collection of processes, data stores, and data flows that share similar design characteristics. A design unit serves as a subset of the total system whose inputs, outputs, files and databases, and programs can be designed, constructed, and tested as a self-contained unit. Ultimately, design units must be integrated into a whole system. (From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed., Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)

A Method for System Architecture Design: The Network Architecture DFD A network architecture is documented as a physical DFD that allocates processors (clients and servers) and possibly devices (machines and robots) across a network and establishes: the connectivity between clients and servers where users will interface with the processors (From WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed., Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY, Chapter 11.)