Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 1.Client/Server Anatomy 2.Client/Server Technologies 3.Client/Server System Standards Understanding Client/Server.

Similar presentations


Presentation on theme: "1 1.Client/Server Anatomy 2.Client/Server Technologies 3.Client/Server System Standards Understanding Client/Server."— Presentation transcript:

1 1 1.Client/Server Anatomy 2.Client/Server Technologies 3.Client/Server System Standards Understanding Client/Server

2 2 Class 1 : Client/Server Anatomy Understanding Client/Server Client/Server Anatomy

3 3 Client/Server Analogy (1) Restaurant service is an analogy to help explain client/server computing. The customer (client) makes a series of requests for a specific set of services that may include an appetizer, beverage, main course and a dessert. These requests are all typically made to one person, the waiter (server). Client/Server Anatomy Restaurant Service

4 4 Client/Server Anatomy Restaurant Service The services may actually be provided by a number of other people in the restaurant including the bus boy, bartender, and a variety of chefs. However, to the customer, these services are all provided by one person, the waiter. The customer doesn't want to know who performs what service. Client/Server Analogy (2)

5 5 The customer would just like to have a high quality meal delivered in a timely fashion. The client, in client/server computing is much like the customer in a restaurant. The client requests a service, like running an application or accessing some information from a data base. Client/Server Anatomy Restaurant Service Client/Server Analogy (3)

6 6 Client/Server Anatomy The server becomes responsible for performing the service and returning the information to the client in a timely manner. The server is like the waiter in a restaurant responsible for handling the client's requests and delivering the finished product to the client. Restaurant Service Client/Server Analogy (4)

7 7 Not A Client/Server Architecture In the "early days" of the computer networking era, everything was centralized. A company had a mainframe which had all of the "intelligence" - it was the brain that took care of everything such as running programs, keeping files, holding databases, etc. And people had "dumb terminals" on their desks. To do a task, a person would use the dumb terminal to type in their information, which would then go to the mainframe to be processed. The dumb terminal was essentially a soup-up typewriter that related all requests to the mainframe which in turn replied to users. The Mainframe (1) Client/Server Anatomy

8 8 Not A Client/Server Architecture A limitation of mainframe software architectures is that they do not easily support graphical user interfaces or access to multiple databases from geographically dispersed sites. The Mainframe (2) Client/Server Anatomy Limitation of Mainframe

9 9 The Mainframe (3) Client/Server Anatomy

10 10 What is a Client/Server System (1) Client/server computing may be viewed as an extension of modular programming. A modular framework simplifies development and maintenance. As modules become obsolete, they can be replaced or upgraded without replacing the entire system. Client/Server Anatomy

11 11 Client server computing recognizes that all modules do not have to be executed with the same memory location—the calling module or "client" can request information from the service module or "servers." Because client/server applications rely on communications networks for processing and retrieving information, the management of the entire network is absolutely critical. What is a Client/Server System (2) Client/Server Anatomy

12 12 What is a Client/Server System (3) Client/Server Anatomy

13 13 What is a Client Process The client's responsibility is usually to: Handle the user interface Translate the user's request into the desired protocol Send the request to the server Wait for the server's response Translate the response into "human-readable" results Present the results to the user Client/Server Anatomy

14 14 What is a Server Process The server's functions include: Listen for a client's query Process that query Return the results back to the client Client/Server Anatomy

15 15 Client/Server Interaction (1) A typical client/server interaction goes like this: 1.The user runs client software to create a query 2.The client connects to the server 3.The client sends the query to the server 4.The server analyzes the query 5.The server computes the results of the query 6.The server sends the results to the client 7.The client presents the results to the user 8.Repeat as necessary Client/Server Anatomy

16 16 Client/Server Anatomy Client/Server Interaction (2)

17 17 What is a Network A group of two or more computer systems linked together. There are many types of computer networks, including: Local Area Networks (LANs) : The computers are geographically close together (that is, in the same building). Wide Area Networks (WANs) : The computers are farther apart and are connected by telephone lines or radio waves. Metropolitan Area Networks (MANs): A data network designed for a town or city. Client/Server Anatomy

18 18 LANs, WANs and MANs (1) Client/Server Anatomy A computer network that spans a relatively small area. Most LANs are confined to a single building or group of buildings. Each node (individual computer) in a LAN executes programs, but it also is able to access data and devices anywhere on the LAN. Devices can be connected by twisted-pair wire, coaxial cables, or fiber optic cables. Some networks do without connecting media altogether, communicating instead via radio waves. LANs are capable of transmitting data at very fast rates, but the distances are limited, and there is also a limit on the number of computers that can be attached to a single LAN. LAN

19 19 Client/Server Anatomy LANs, WANs and MANs (2) A computer network that spans a relatively large geographical area. Typically, a WAN consists of two or more local-area networks (LANs). Computers connected to a wide-area network are often connected through public networks, such as the telephone system. They can also be connected through leased lines or satellites. The largest WAN in existence is the Internet. WAN

20 20 Client/Server Anatomy LANs, WANs and MANs (3) Short for Metropolitan Area Network, a data network designed for a town or city. In terms of geographic breadth, MANs are larger than local-area networks (LANs), but smaller than wide-area networks (WANs). MANs are usually characterized by very high-speed connections using fiber optical cable or other digital media. MAN

21 21 Network Hardware and Standards (1) Client/Server Anatomy The following characteristics are also used to categorize different types of networks: Topology Protocol Architecture Computers on a network are sometimes called “ nodes ”. Computers and devices that allocate resources for a network are called “ servers ”.

22 22 Client/Server Anatomy Topology How different nodes in a network are connected to each other and how they communicate are determined by the network's topology. Common topologies include a bus, star, and ring. Network Hardware and Standards (2)

23 23 The protocol defines a common set of rules and signals that computers on the network use to communicate. One of the most popular protocols for LANs is called Ethernet. Another popular LAN protocol is the Token-Ring network. Client/Server Anatomy Protocol Ethernet uses a bus or star topology and supports data transfer rates of 10Mbps, 100Mbps or 1000M(Gigabit)bps. The Ethernet specification served as the basis for the IEEE 802.3 standard, which specifies the physical and lower software layers. Ethernet uses the CSMA/CD access method to handle simultaneous demands. It is one of the most widely implemented LAN standards. Network Hardware and Standards (3)

24 24 Networks can be broadly classified as using either a peer- to-peer or client/server architecture. Client/Server Anatomy Architecture Peer-to-Peer architecture : A type of network in which each workstation has equivalent capabilities and responsibilities. The networks are generally simpler, but they usually do not offer the same performance under heavy loads. Client/Server architecture : Each computer on the network is either a client or a server. Servers are powerful computers dedicated to managing disk drives (file servers), printers (print servers), or network traffic (network servers ). Clients are PCs or workstations on which users run applications. Network Hardware and Standards (4)

25 25 Client/Server Anatomy Enterprise Network Physical Topology

26 26 System Architectures : Functional Layers Client/Server Anatomy Presentation logic or user interface (for example, ATM machines) Business logic (for example software that enables a customer to request an account balance) Data (for example, records of customer accounts) Every client/server application contains three functional units: These functional units can reside on either the client or on one or more servers in your application. Which of the many possible variations you choose depends on how you split the application and which middleware you use to communicate between the tiers.

27 27 System Architectures : Two- tier and Three-tier (1) In 2-tier client/server applications, the business logic is buried inside the user interface on the client or within the database on the server in the form of stored procedures. Alternatively, the business logic can be divided between the client and server. File servers and database servers with stored procedures are examples of 2- tier architecture. 2-Tiers Architecture Client/Server Anatomy

28 28 In 3-tier client/server applications, the business logic resides in the middle tier, separate from the data and user interface. In this way, processes can be managed and deployed separately from the user interface and the database. Also, 3-tier systems can integrate data from multiple sources. System Architectures : Two- tier and Three-tier (2) 3-Tiers Architecture Client/Server Anatomy

29 29 What is a Middleware (1) interoperate Software which allows an application to interoperate with other software No need for programmer/user to understand internal processing Application Program Interface Accomplished via Application Program Interface (API) “glue” The “glue” that holds client/server applications together Client/Server Anatomy

30 30 What is a Middleware (2) Client/Server Anatomy Operating System and Computing Hardware Network ServicesLocal Services Middleware Applications

31 31 Type of Middleware RPC – Remote Procedure Calls (RPC) client makes calls to procedures running on remote computers synchronous and asynchronous Message-Oriented Middleware (MOM) asynchronous calls between the client via message queues Publish/Subscribe push technology  server sends information to client when available Object Request Broker (ORB) Object-oriented management of communications between clients and servers SQL-oriented Data Access Middleware between applications and database servers Client/Server Anatomy

32 32 Database Middleware ODBC – Open Database Connectivity Most DB vendors support this OLE-DB Microsoft enhancement of ODBC JDBC – Java Database Connectivity Special Java classes that allow Java applications/applets to connect to databases Client/Server Anatomy

33 33 Client/Server Architectures (1) File Server Architecture Database Server Architecture Three-tier Architecture Client does extensive processing Client does little processing Client/Server Anatomy

34 34 File Server Architecture All processing is done at the PC that requested the data Entire files are transferred from the server to the client for processing. Problems: Huge amount of data transfer on the network Each client must contain full DBMS Heavy resource demand on clients Client DBMSs must recognize shared locks, integrity checks, etc. FAT CLIENT Client/Server Anatomy Client/Server Architectures (2)

35 35 Client/Server Anatomy File Server Architecture Client/Server Architectures (3)

36 36 Database Server Architecture This is a 2-tiered Approach Client is responsible for I/O processing logic Some business rules logic Server performs all data storage and access processing {DBMS is only on server} Advantages Clients do not have to be as powerful Greatly reduces data traffic on the network Improved data integrity since it is all processed centrally Stored procedures  some business rules done on server Thinner clients Client/Server Anatomy Client/Server Architectures (4)

37 37 Client/Server Anatomy Client/Server Architectures (5) Database Server Architecture

38 38 Three-Tier Architecture Three layers: Client Application server Database server GUI interface (I/O processing) Business rules Data storage Browser Web Server DBMS Thin Client PC is just for user interface and a little application processing. Limited or no data storage (sometimes no hard drive) Thinnest clients Client/Server Anatomy Client/Server Architectures (6)

39 39 Business rules on separate server DBMS only on DB server Client/Server Anatomy Three-Tier Architecture Client/Server Architectures (7)

40 40 Client/Server Security Network environment  complex security issues Security levels: System-level password security for allowing access to the system Database-level password security for determining access privileges to tables; read/update/insert/delete privileges Secure client/server communication via encryption Client/Server Anatomy

41 41 Why Client/Server (1) The client/server software architecture is a versatile, message-based and modular infrastructure that is intended to provide the following benefits: Encapsulation of services Integrity Location transparency Modular, extensible design Platform independence Scalability Shared resources Client/Server Anatomy

42 42 The server is a specialist: when given a message requesting a service, it determines how to get the job done. Servers can be upgraded without affecting clients as long as the published message interface used by both is unchanged. Why Client/Server (2) Encapsulation of services Client/Server Anatomy

43 43 The code and data for a server are centrally maintained, which results in cheaper maintenance and the protection of shared data integrity. At the same time, clients remain personal and independent. Why Client/Server (3) Integrity Client/Server Anatomy

44 44 The server is a process that can reside on the same machine as a client or on a different machine across a network. Client/server software usually hides the location of a server from clients by redirecting service requests. A program can be a client, a server, or both. Why Client/Server (4) Location Transparency Client/Server Anatomy

45 45 The modular design of a client/server application enables that application to be fault-tolerant. In a fault- tolerant system, failures may occur without causing a shutdown of the entire application. In a fault-tolerant client/server application, one or more servers may fail without stopping the whole system as long as the services offered on the failed servers are available on servers that are still active. Another advantage of modularity is that a client/server application can respond automatically to increasing or decreasing system loads by adding or shutting down one or more services or servers. Why Client/Server (5) Modular, Extensible Design Client/Server Anatomy

46 46 The ideal client/server software is independent of hardware or operating system platforms, allowing you to mix client and server platforms. Clients and servers can be deployed on different hardware using different operating systems, optimizing the type of work each performs. Why Client/Server (6) Platform Independence Client/Server Anatomy

47 47 Client/server systems can be scaled horizontally or vertically. Horizontal scaling means adding or removing client workstations with only a slight performance impact. Vertical scaling means migrating to a larger and faster server machine or adding server machines. Why Client/Server (7) Scalability Client/Server Anatomy

48 48 One server can provide services for many clients at the same time, and regulate their access to shared resources. Why Client/Server (8) Shared Resources Client/Server Anatomy

49 49 Client/Server Business Models (1) Client/server architecture can accommodate the needs of each of the following situations: Small Shops Small Businesses and Corporate Departments Large Enterprises Client/Server Anatomy

50 50 Client/Server Business Models (2) The client, the middleware software, and most of the business services operate on the same machine. This approach is suitable for one-person businesses such as a dentist's office, a home office, and a business traveler who frequently works on a laptop computer. Client/Server Anatomy Small Shops

51 51 Client/Server Business Models (3) A LAN-based single-server application is required. Users of this type of application include small businesses, such as a medical practice with several doctors, a multi-department corporation, or a bank with several branch offices. In this type of application, multiple clients talk to a local server. Administration is simple: security is implemented at the machine level and failures are detected easily. Client/Server Anatomy Small Businesses & Corporate Departments

52 52 Client/Server Business Models (4) Client/Server Anatomy Multiple servers that offer diverse functionality are required. Multiple servers can reside on the Internet, intranets, and corporate networks, all of which are highly scalable. Servers can be partitioned by function, resources, or databases, and can be replicated for increased fault tolerance or enhanced performance. This model provides a great amount of power and flexibility. How well you architect your application is critical to this client/server model. You may need to partition work among servers, or design servers to delegate work to other servers. Large Enterprises


Download ppt "1 1.Client/Server Anatomy 2.Client/Server Technologies 3.Client/Server System Standards Understanding Client/Server."

Similar presentations


Ads by Google