Computing Architectures

Slides:



Advertisements
Similar presentations
Distributed Processing, Client/Server and Clusters
Advertisements

ICS 434 Advanced Database Systems
Database Architectures and the Web
Prentice Hall, Database Systems Week 1 Introduction By Zekrullah Popal.
SWE 316: Software Design and Architecture
Technical Architectures
© Prentice Hall CHAPTER 5 Organizational Systems.
Distributed Database Management Systems
Chapter 7: Client/Server Computing Business Data Communications, 5e.
12 Chapter 12 Client/Server Systems Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
The Architecture of Transaction Processing Systems
Chapter 9: The Client/Server Database Environment
Distributed Systems: Client/Server Computing
Client/Server Architecture
© 2001 by Prentice Hall8-1 Local Area Networks, 3rd Edition David A. Stamper Part 3: Software Chapter 8 Client/Server Architecture.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Lecture The Client/Server Database Environment
Client/Server Computing. Information processing is distributed among several workstations and servers on a network, with each function being assigned.
The Client/Server Database Environment
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
Client/Server Architectures
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Database Architectures and the Web Session 5
Lecture On Database Analysis and Design By- Jesmin Akhter Lecturer, IIT, Jahangirnagar University.
Application Layer CHAPTER 2. Announcements and Outline  Administrative Items  Questions? Recap 1.Introduction to Networks 1.Network Type 2.N etwork.
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Week 5 Lecture Distributed Database Management Systems Samuel ConnSamuel Conn, Asst Professor Suggestions for using the Lecture Slides.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Middleware Technologies
Client/Server Computing
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
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.
Chapter 16 Client/Server Computing Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Database Principles: Fundamentals of Design, Implementation, and Management Chapter 1 The Database Approach.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
Distributed Processing, Client/Server and Clusters
Internet and Distributed Application Services
Business System Development
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
Database Architectures and the Web
System Architecture & Hardware Configurations
The Client/Server Database Environment
Principles of Network Applications
The Client/Server Database Environment
The Client/Server Database Environment
CSC 480 Software Engineering
System Architecture & Hardware Configurations
Chapter 9: The Client/Server Database Environment
CHAPTER 3 Architectures for Distributed Systems
Database Architectures and the Web
CHAPTER 2 Application Layer.
Introduction to client/server architecture
#01 Client/Server Computing
Enterprise Application Architecture
Chapter 16 Designing Distributed and Internet Systems
Ch > 28.4.
Chapter 2 Database Environment Pearson Education © 2009.
Database Management System (DBMS)
Application Architecture and Modeling
Ch 15 –part 3 -design evaluation
Introduction to Databases Transparencies
Lecture 1: Multi-tier Architecture Overview
Component--based development
Database Environment Transparencies
Chapter 17: Client/Server Computing
#01 Client/Server Computing
Presentation transcript:

Computing Architectures Centralized Computing Multiple users access a central computer (mainframe/midrange) via remote terminals. Central computer performs all the computations and controls all the peripherals. a.k.a. “host-centric” computing. Greater security is the key advantage. Total reliance on the central computer is the key disadvantage.

Computing Architectures Centralized Computing (Contd.) Other issues are managing on-line user requests and peak-load problems. Centralized functions still needed for large business operations; on-line access to databases for airlines, distributions, & large manufacturers.

Computing Architectures Personal Computing Individual microcomputers with user friendly GUI interfaces. Greater flexibility for individual users is the key advantage. Difficulty in sharing the work individuals do and the duplication of underutilized hardware and software and the key disadvantages.

Distributed Computing Multiple workstations are linked using a network to share data and computing resources. Advantages are sharing of data, messages and work and sharing of resources. Complex to administer; security and control issues -- access privileges for shared items.

Computing Architectures Network Computing Combines benefits of centralized computing with the flexibility and responsiveness of distributed computing. Multiple network computers (NCs) are linked to a central server, which provides links to other servers. NCs do not contain hard disks.

Computing Architectures Network Computing (Contd.) Greater sharing of work and resources and easier to administer than distributed computing. Advantages are cheaper network computers, centralization of data and programs and greater data security. Disadvantages are reliance on centralized control and the relative immaturity of software designed to support this architecture.

Client/Server Computing Client + Server = Distributed Computing (Comer 1994). Client/Server computing forms the basis for distributed computing. Facts - Programs communicate and not computers. Computers can run multiple programs at one time. A server program offers a service. A client program is a consumer of services.

Client/Server Computing Distinguishing Characteristics of Client/Server Computing (Orfali et al. 1999) Service - Server is a provider & client is a consumer of services. Shared resources - A server can service many clients simultaneously and regulate their access to shard resources.

Client/Server Computing Distinguishing Characteristics of Client/Server Computing Transparency of location - The server is a process or program that can reside on the same machine as the client or on a different machine across the network. A program can be a client, a server, or both. Mix-and match - The ideal client/server software is independent of hardware or OS platforms.

Client/Server Computing Distinguishing Characteristics of Client/Server Computing Message-based exchanges - clients and servers interact through a message-passing mechanism. Encapsulation of services: Message specifies “what “ and not “how”.

Client/Server Computing Distinguishing Characteristics of Client/Server Computing Scalability: Horizontal - add/remove clients; Vertical - larger and faster server or load distribution across multiple servers; Integrity - Server code and server data are centrally managed

Types of Servers The idea of splitting an application along client/server lines results in various forms of networked software solutions. Each of these solutions is distinguished by the nature of service provided. File servers, Database servers, Transaction servers, GroupWare servers, etc.

File Servers Client (usually a PC) requests for a file of records over a network. Many message exchanges over the network to find the requested data. File servers are key to shared repositories of documents, images, engineering drawings, and other large data objects.

Database Servers Client passes SQL requests as messages to the database server. DBMS code and data reside on the server. Application code resides on the client. Server performs the search and returns the results to the client. Play a key role in data warehousing and decision support systems.

Transaction Servers Client invokes remote procedures or services on the server. Remote procedures execute a group of SQL statements called transactions. Application is called Online Transaction Processing or OLTP.

Transaction Servers Client side usually includes a GUI; server side SQL transactions. Quick response, high security and integrity characterize OLTP application.

GroupWare Servers Management of semi-structured information such as text image, mail, bulletin boards, and the flow of work. Lotus Notes & MS Exchange are examples. Communication middleware between the client and the server is vendor-specific. E-mail is becoming a standard messaging middleware.

Fat Clients and Fat Servers How is the application split between the client and the server? GUI Data Application Client Server Fat Server Fat Client Source: Orfali et al. 1999

Fat Clients and Fat Servers More traditional form of client/server. Bulk of the application runs on the client. Eg. File server model.

Fat Clients and Fat Servers Most of the code runs on the server; mission-critical applications. Network interchanges are minimized. Eg. Transaction Server model; server encapsulates the database; client issues procedure calls (invokes services).

2-Tier, 3-Tier, N-Tier Same basic idea as fat servers and fat clients. How are the functional units of a client/server application assigned either to the client or to one or more servers? Typical functional units - User Interface, Business Logic, and the Shared Database. Middleware is used to communicate between the tiers.

2-Tier, 3-Tier, N-Tier In a 2-Tier system, the business or application logic is on the client with the GUI or on the server with the database or both. E.g., File and Database servers. In a 3-Tier system, the application logic lives in the middle tier. E.g., Web Application server.

2-Tier Client/Server Architecture GUI and Application SQL, File I/O HTTP, etc. Database DBMS/Legacy Tier 1 - Client Middleware Tier 2 - Server

3-Tier Client/Server Architecture GUI/ Browser HTTP, etc. SQL, Database DBMS/Legacy Application Logic Tier 1-Client Middleware Tier 2- Server Tier 3-Database

Middleware A vague term that covers all the distributed software needed to support interactions between clients and servers. (Orfali et al. 1999) Performs whatever translation is necessary to make a client’s request understandable to a server program. (Alter 1999)

Middleware Starts on the client side that invokes a service, covers the transmission of the request over the network and the resulting response. Middleware does not include either the software that provides the actual service or the database. On the client side, it does not include the interface.

Middleware (Contd.) It does include software used to co-ordinate inter-server interactions. Represents a rapidly changing and growing area. (From $ 1.7 billion in 1997 to $ 7 billion in 2002 according to IDC.)

2-Tier Client/Server Simplicity is the biggest selling point. Well suited for departmental applications (DSS, small-scale GroupWare) or simple Web publishing applications. Scalability problems - hard to deploy and manage fat clients on a large scale. Difficulty in managing software on remote desktops.

3-Tier (N-Tier) Client/Server For large-scale, enterprise-wide applications that serve thousands of enterprise clients. Applications are split into hundreds of components and distributed across multiple servers.

3-Tier (N-Tier) Client/Server In theory, 3-Tier systems are scalable - load distribution across multiple servers. flexible - all 3 tiers on different computers; second and third on the same computer; second tier across multiple servers; etc. More secure - data tables are encapsulated.

3-Tier (N-Tier) Client/Server In theory, 3-Tier systems are Easier to administer - less logic on the client to manage. More responsive - only service requests and responses (and not raw data) are sent between the client and the server.

3-Tier Vs. N-Tier Middle tier in most 3-Tier applications is often implemented as a collection of components. Components are used in a variety of client-initiated business transactions. Components co-operate while responding to a client request. Components can encapsulate legacy applications running on main frames.

Component-based Architecture Advantages of component-based applications in the “middle” tier. Lend themselves well to a small-team, incremental development approach. Components can be reused. Components encapsulate details of application logic.

Component-based Architecture Advantages of component-based applications in the “middle” tier. Clients can access data and functions easily and safely. Possibility of buying ready-made components. Basis for suites of applications.

Lecture 6 Computing Architectures References: Alter S. (1999), Information Systems: A Management Perspective, Third Edition, Prentice-Hall, Inc., New Jersey. Chapter 8 pp. 268 - 276 Comer, D.E. (1997), The Internet Book, Second Edition, Prentice-Hall, Inc., New Jersey. Chapter 15 pp. 121 - 125 Orfali R., D. Harkey and J. Edwards (1999), Client/Server Survival Guide, Third Edition, John Wiley. Chapters 1-3