Arif Umar. In addi- ISBN is today, and where is it headed. In particular, it misses the nents. All in all, they are a good overview of the role of the Internet and intranets in client- subject matter, but Dewire is vague and impre- server computing. Dewire covers intranets cise at several points. For example, she defines almost as an afterthought in the last chapter.
|Country:||Antigua & Barbuda|
|Published (Last):||18 February 2014|
|PDF File Size:||10.34 Mb|
|ePub File Size:||19.78 Mb|
|Price:||Free* [*Free Regsitration Required]|
Module 3 Multitasking Multi programming vs multitasking - Processor - Advantages and draw backs of multiple processor - Child and parent processor - Case study Novell Netware and Windows NT - Developing server applications - Threads - Server communication model. Module 5 Communications Network communication - Inter process communication - Building portable client server applications.
References 1. Schqnk, Novell Press. Developing Client Server Applications - W. Inman, BPB. What is Client-server Computing? Modular programming has as its fundamental assumption that separation of a large piece of software into its constituent parts "modules" creates the possibility for easier development and better maintainability.
With this architecture, the calling module becomes the "client" that which requests a service , and the called module becomes the "server" that which provides the service. The logical extension of this is to have clients and servers running on the appropriate hardware and software platforms for their functions. For example, database management system servers running on platforms specially designed and configured to perform queries, or file servers running on platforms with special elements for managing files.
In other words, the same computer resources can be used by multiple users in the network, regardless of the physical location of the resources. Each computer in a LAN can effectively send and receive any information addressed to it. The standards followed to regularize the transmission of packets, are called LAN standards.
Usually LAN standards differ due to their media access technology and the physical transmission medium. What is a Client process? The client is a process program that sends a message to a server process program , requesting that the server perform a task service. Client programs usually manage the user-interface portion of the application, validate data entered by the user, dispatch requests to server programs, and sometimes execute business logic.
The client-based process is the front- end of the application that the user sees and interacts with. The client process contains solution-specific logic and provides the interface between the user and the rest of the application system. The client process also manages the local resources that the user interacts with such as the monitor, keyboard, workstation CPU and peripherals. One of the key elements of a client workstation is the graphical user interface GUI.
Normally a part of operating system i. What is a Server process? A server process program fulfills the client request by performing the task requested. Server programs generally receive requests from client programs, execute database retrieval and updates, manage data integrity and dispatch responses to client requests.
Sometimes server programs execute common or complex business logic. The server-based process "may" run on another machine on the network.
This server could be the host operating system or network file server; the server is then provided both file system services and application services.
Or in some cases, another desktop machine provides the application services. The server process acts as a software engine that manages shared resources such as databases, printers, communication links, or high powered-processors. The server process performs the back-end tasks that are common to similar applications. What is a Two-Tier Architecture? A two-tier architecture is where a client talks directly to a server, with no intervening server.
It is typically used in small environments less than 50 users. This approach will usually result in an ineffective system, as the server becomes overwhelmed. To properly scale to hundreds or thousands of users, it is usually necessary to move to a three-tier architecture. A simple system can be broken into two layers: a server where data and common processing occurs and a client where user-specific processing occurs.
This kind of architecture is more commonly known as a two-tier architecture. For the types of applications we have discussed, a simple two-tier breakdown works well. What is a Three-Tier Architecture? Business applications-and, increasingly, Internet applications-are generally much more complex than the applications discussed in this chapter.
These kinds of applications can involve relational databases and complex server-side processing. Client machines are becoming increasingly powerful. This trend has led to what is known as the problem of the fat client. If you ever change where that data is stored or how it is stored, you have to do significant rework of your client application.
In Figure below, you can see how the three-tier design divides application work into the following three tasks:? User interface Data processing or business rules Data storage One of the primary advantages of a three-tier architecture is that, as your data storage needs grow, you can change the way data is stored without affecting your clients.
The middle layer of the system, commonly referred to as the application server, can thus concentrate on centralizing business rule processing. Business rule processing is the processing of data going to and from clients in a way that is common to all clients.
What is Middleware? Connectivity allows applications to transparently communicate with other programs or processes, regardless of their location. The key element of connectivity is the network operating system NOS.
NOS provides services such as routing, distribution, messaging, file and print, and network management services. NOS rely on communication protocols to provide specific services. The protocols are divided into three groups: media, transport and client-server protocols. Media protocols determine the type of physical connections used on a network some examples of media protocols are Ethernet, Token Ring, Fiber Distributed Data Interface FDDI , coaxial and twisted-pair.
Once the physical connection has been established and transport protocols chosen, a client-server protocol is required before the user can access the network services. What is Cooperative Processing? Cooperative processing is computing which requires two or more distinct processors to complete a single transaction.
It is a form of distributed computing where two or more distinct processes are required to complete a single business transaction. Usually, these programs interact and execute concurrently on different processors.
What is Distributed Processing? The distribution of applications and business logic across multiple processing platforms. Distributed processing implies that processing will occur on more than one processor in order for a transaction to be completed.
In other words, processing is distributed across two or more machines and the processes are most likely not running at the same time, i. Often the data used in a distributed processing environment is also distributed across platforms. What is an "Intranet"? One key advantage of Web-based intranets is that the problem of managing code on the client is greatly reduced.
Assuming a standard browser on the desktop, all changes to user interface and functionality can be done by changing code on the HTTP server. Compare this with the cost of updating client code on 2, desktops. A second advantage is that if the corporation is already using the Internet, no additional code needs to be licensed or installed on client desktops.
To the user, the internal and external information servers appear integrated. A rapidly-disappearing disadvantage is that there is limited ability to provide custom coding on the client. In the early days of the Web, there were limited ways of interacting with the client.
The hardware platform and operating system of client and server are not usually the same. They 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 multiservers. What are the different types of servers? The simplest form of servers are disk servers and file servers. With a file server, the client passes requests for files or file records over a network to the file server. This form of data service requires large bandwidth and can slow a network with many users down considerably.
The more advanced form of servers are database servers, transaction server and application servers Orfali and Harkey In database servers, clients passes SQL Structured Query Language requests as messages to the server and the results of the query are returned over the network.
The code that processes the SQL request and the data resides on the server allowing it to use its own processing power to find the requested data, rather than pass all the records back to a client and let it find its own data as was the case for the file server.
In transaction servers, clients invoke remote procedures that reside on servers which also contains an SQL database engine. There are procedural statements on the server to execute a group of SQL statements transactions which either all succeed or fail as a unit. Application servers are not necessarily database centered but are used to server user needs, such as.
Basing resources on a server allows users to share data, while security and management services, which are also based in the server, ensure data integrity and security.
Client Server Network Let us see the functions of each. Server: This is one that manages data or information in database. Client: This is the application or in other words called as front end which the user uses to interact. This is the interface through which the user provides data to database or retrieve data from database.
Network: From the above we have seen that client and server are independent. But a link must be there to connect client and server for the application to function as a whole.
Architectural Theories Of Design George S. Salvan