Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computing Architectures

Similar presentations


Presentation on theme: "Computing Architectures"— Presentation transcript:

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

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

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

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

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

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

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

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

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

10 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”.

11 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

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

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

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

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

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

17 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. is becoming a standard messaging middleware.

18 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

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

20 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).

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

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

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

24 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

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

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

27 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.)

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

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

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

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

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

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

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

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


Download ppt "Computing Architectures"

Similar presentations


Ads by Google