* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download RDBMS AND CLIENT SERVER COMPUTING
Survey
Document related concepts
Transcript
CLIENT SERVER COMPUTING Definition: A simple definition of CS is “ server software accepts requests for data from client software and returns the results to the client” CLIENT SERVER COMPUTING Client-Server computing is the logical extension of modular programming with fundamental assumption that separation of a huge program into its constituent parts ("modules") can create the possibility for further modification, easier development and better maintainability. The main emphasis of Client-Server Architecture is to allow large application to be split into smaller tasks and to perform the tasks among host (server machine) and desktops (client machine) in the network Elements of C-S Computing a client, a server, and network Client Server Network Client machine Server machine Where Operations are Done In CS Relationship “most of the application processing is done on a computer (client side), which obtains application services (such as database services) from another computer (server side) in a master slave configuration GOAL OF THE CLIENT SERVER The goals of Client-Server Computing are to allow every networked workstation (Client) and host (Server) to be accessible, as needed by an application, and to allow all existing software and hardware components from various vendors to work together. When these two conditions are met, the benefits of client/server computing, such as cost savings, increased productivity , flexibility, and resource utilization, can be realized. FUNCTIONS OF CLIENT 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. FUNCTIONS OF SERVER The server's functions include: Listen for a client's query. Process that query. Return the results back to the client A typical client/server interaction goes like this: The user runs client software to create a query. The client connects to the server. The client sends the query to the server. The server analyzes the query. The server computes the results of the query. The server sends the results to the client. The client presents the results to the user. Repeat as necessary. Typical Client/Server Interaction AND Butler Pyramid Model of Client-Server Computing Layer 1 - Infrastructure Layer: The infrastructure layer is composed of all the components which are passive and do not perform a business function. Examples are computer operating systems, networks, user interfaces and database management systems Layer 2 - Middleware : Middleware allows applications to transparently communicate with other programs or processes regardless of location. It is the means of mapping applications to the resources they use. It is the key to integrate heterogeneous hardware and system software environments, providing the level of integration Layer 3 – Applications: Applications are the active components which execute work for the organization. Layer 4 – Repository: Role of repository is to isolate a business model/specification from the tools technology which is used to implement it (client-server strategy). Layer 5 - Business Models: Business model should be independent to all the technologies that are used to implement it, and be transportable to whichever hardware and software environment is most appropriate. It will increasingly be based on object oriented methods CHARACTERISTICS OF A CLIENT: Request sender is known as client Initiates requests Waits for and receives replies. Usually connects to a small number of servers at one time Typically interacts directly with end-users using a grapical user interface CHARACTERISTICS OF A SERVER: Receiver of request which is sent by client is known as server Passive (slave) Waits for requests from clients Upon receipt of requests, processes them and then serves replies Usually accepts connections from a large number of clients Typically does not interact directly with end-users ADVANTAGES OF CLIENT SERVER COMPUTING Centralization –access, resources, and data security are controlled through the server. Scalability –any element can be upgraded when needed. Flexibility – new technology can be easily integrated into the system. Interoperability- all components (clients, network, servers) work together. Accessibility- server can be accessed remotely and across multiple platforms Ease of application development. Lower total cost & User friendly. DISADVANTAGES OF CLIENT SERVER COMPUTING Dependability – when the server goes down, operations cease. Lack of mature tool – it is a relatively new technology and needed tools are lack. e.g. Automated client software distribution. Lack of scalability – network operating system ( e.g.. Novell Netware, Windows NT server) are not very scalable. Higher than anticipated costs. Can cause network congestion EXAMPLES OF CLIENT-SERVER Clients are most often web browsers. Servers typically include web servers, database servers and mail servers. Online gaming is usually client-server too. Most transactions that occur on the Internet are client/server based. Some examples include: FTP (file transfer protocol), WWW (World Wide Web) and E-MAIL Categories of Servers File Server Data Server Compute Server Database Server Communication Server Video Server File Server File Servers manage a work group’s application and data files, so that they may be shared by the group. Very I/O oriented Pull large amount of data off the storage subsystem and pass the data over the network Requires many slots for network connections and a large-capacity, fast hard disk subsystem. Compute Server Performs Application logic processing Compute Servers requires processors with high performance capabilities large amounts of memory relatively low disk subsystems By separating data from the computation processing, the compute server’s processing capabilities can be optimized Cluster as Compute Server Data Server Data-oriented; used only for data storage and management Since a data server can serve more than one compute server, compute-intensive applications can be spread among multiple severs Does not prefer any application logic processing Performs processes such as data validation, required as part of the data management function. Requires fast processor, large amount of memory and substantial Hard disk capacity. Data Server Compute Server Cluster as High Availablity Data Server Data Server Compute Server Database Server Most typical use of technology in client-server Accepts requests for data, retrieves the data from its database(or requests data from another node)and passes the results back. Compute server with data server provides the same functionality. The server requirement depends on the size of database, speed with which the database must be updated, number of users and type of network used. Communication Server Provides gateway to other Computers E-mail Server & internet server Modest system requirements multiple slots fast processor to translate networking protocols LANs, networks & Internet Server PC client Internet Server Local Area Network UNIX workstations Distributed processing application connects to remote database SQ L* Forms SQL *Net TCP/IP Distributed database application connects to local database which connects to remote database UNIX Server SQL *Net TCP/IP SQL * Forms ORACL E SQL *Net TCP/IP ORACLE Database Configurations Intergalactic era client/server Ethernet era client/server First Wave Second Wave Third Wave Database servers File servers Distributed objects 1982 1986 1990 1994 1998 Front-end and Back-end For software applications, front end is the same as user interface In client/server applications, the client part of the program is often called the front end and the server part is called the back end