337 16mbeca2 2020052512015754
337 16mbeca2 2020052512015754
Client/server computing is the most effective source for the tools that empower
employees with authority and responsibility.
Main frame
Terminals
Network
Minicomputers
Workstations
Server
The clients and the servers are the logical entities that work together over a
network to accomplish a task.
2. Shared Resources: A server can service many clients at the same time
and regulate their access to shared resources.
Servers are passively awaiting request from the clients. In some cases a client
may pass a reference to a callback object when it invokes a service. This lets the
server call back the client. So the client becomes a server.
9. Integrity:The server code and server data is centrally managed, which results
in cheaper maintenance and the guarding of shared data integrity. At the same time,
the clients remain personal and independent.
Data that is collected as part of the normal business process and maintained on
a server is immediately available to all authorized users.
The use of Structured Query Language (SQL) to define and manipulate the data
provides support for open access from all client processors and software.
SQL grants all authorized users access to the information through a view that is
consistent with their business need. Transparent network services ensure that the
same data is available with the same currency to all designated users.
Integrated Services
In the client/server model, all information that the client is entitled to use is
available at the desktop. There is no need to change into terminal mode or log into
another processor to access information.
All authorized information and processes are directly available from the
desktop interface. The desktop tools—e-mail, spreadsheet, presentation graphics,
and word processing—are available and can be used to deal with information
provided by application and database server’s resident on the network.
Desktop users can use their desktop tools in conjunction with information made
available from the corporate systems to produce new and useful information.
Thus, users may obtain client services and transparent access to the services
provided by database, communications, and applications servers.
Operating systems software and platform hardware are independent of the
application and masked by the development tools used to build the application.
Network services provide transparent connectivity between the client and local
or remote servers. With some database products, such as Ingres Star, a user or
application can define a consolidated view of data that is actually distributed
between heterogeneous, multiple platforms.
We are moving from the machine-centered computing era of the 1970s and
1980s to a new era in which PC-familiar users demand systems that are user-
centered. Previously, a user logged into a mainframe, mini-, or micro application.
The syntax of access was unique in each platform. Function keys, error messages,
navigation methods, security, performance, and editing were all very visible. Today's
users expect a standard "look and feel." Users log into an application from the
desktop with no concern for the location or technology of the processors involved.
This creates an additional advantage to this architecture: greater ease of
maintenance. For example, it is possible to replace, repair, upgrade, or even relocate
a server while its clients remain both unaware and unaffected by that change. This
independence from change is also referred to as encapsulation.
Types of Server
File Server
· File Servers are useful for sharing information across the network
· The client passes a request for file records over a network to the file server.
· This is the most primitive type of data service used for exchanging messages
over the network to find the requested data.
· The file servers provide access to the remote server processors. In the typical
implementation the software, shared data, databases and backups are stored on disk,
tape and optical storage devices that are managed by the file server.
Application
Application
File Server
Database Server
· The client passes the SQL requests as messages to the database server; the
result of each SQL command is returned over the network.
· The code, which processes the SQL request and the data, reside in the same
machine, the server uses its own processing power to find the requested data back to
the client, instead of passing all the records back to the client. This results in a much
more efficient use of the distributed processing power.
· Note that the application code resides on the client; thus you must either
write code for the client or you can buy a shrink-wrap query tool.
· The database servers provide the foundation for decision-support systems
and also provide key role in data warehousing.
Transaction Servers
The client can invoke remote procedure or services that reside on the server
with an SQL database engine using the transaction server.
· The network exchange consists of a single request/ reply. The SQL statements
either all succeeded or fail as a unit.
· The OLTP are mission-critical applications that require a very less response
time (1-3 sec).
· The OLTP applications also require tight controls over the security and
integrity of the database.
Application
TRANSACTIONS
Application
DBMS
TP Monitor
Groupware Servers
· The ORB locates an instance of that object server class, invokes the
requested method and returns the results to the client object.
· The server objects must support the concurrency and sharing aspects. The
ORB and a new generation of CORBA application servers bring it all together.
· The commercial ORB’s that comply with the Object Management Group’s
CORBA standard include Iona’s Orbix, Inprise’s VisiBroker, ICL’s DAIS,
JavaSoft’s Java IDL , BEA’s ObjectBroker, IBM’s SOM and Expersoft’s
PowerBroker.
The knowledge about the Fat Servers and the Fat Clients
We know that the client/server models can be distinguished by the service they
provide and how the distributed application is split between the client and the server.
The gurus of the client/server architecture do not use the terms fat client and the
fat servers on the contrary they refer to them are 2-tier, 3-tier and N-tier client/server
architecture. This is the means by which they are functionally split. The functional
units comprise of user interface, business logic and the shared data.
Two tier software architectures were developed in the 1980s from the file server
software architecture design. The two-tier architecture is intended to improve
usability by supporting a forms-based, user-friendly interface.
The two-tier architecture improves scalability by accommodating up to 100
users (file server architectures only accommodate a dozen users). It also proves
flexibility by allowing data to be shared, usually within a homogeneous environment.
1. User System Interface (such as session, text input, dialog, and display
management services)
2. Processing Management (such as process development, process enactment,
process monitoring, and process resource services)
3. Database Management (such as data and file services)
The two-tier design allocates the user system interface exclusively to the client.
It places database management on the server and splits the processing management
between client and server, creating two layers.
The application logic may be present at the client side within a user interface or
it may be present within the database on the server or on the both. It is most popular
because of its simplicity.
These applications can be quickly built by using and visual builder tools; which
can be used for developing applications for decision support system of small-scale
groupware or you may build a simple web publishing applications.
But the real problem arises only when you deploy them beyond the
departmental LAN. Typically the applications that worked perfectly well in
prototypes and small installations failed for large-scale productions. It actually went
through a transition phase, where it grew beyond the departmental LAN’s.Thus the
complex world is now faced by the 3-tier and the N-tier applications.
They are also easy to manage and deploy the network and most of the code runs
on the server. The protocol of interaction between the client and the server is as
follows:
The client calls for the business logic on the server, the business logic on the
behalf of the client accesses the database.
The 3-tier substitutes a few server calls for many SQL queries and updates so it
performs much better than 2-tier. A three tier distributed client/server architecture
includes a user system where user services (such as session, text input, dialog, and
display management) reside.
Tier 2
DBMS, Legacy
and other resource
managers
Tier 3
In the 3-tier applications, the middle tier is generally not a monolithic program
but is implemented as a collection of components that are initiated by several client-
initiated business transaction.
One component can call other components to help it implement a request; also
some components may act as gateways which may encapsulate legacy applications
running on mainframe.
According to Gartner Group’s for the smaller projects – 2-tier applications are
easier to develop than 3-tier, however as the application becomes more complex, 2-
tier applications become exponentially harder to develop.
According to Gartner Group, if your application has any of the following
characteristics then you may choose 3-tier architecture:
1. Many applications services/classes (around or more than 60)
2. Application programmed in different languages or written by different
organizations
3. An application life longer than 3 years.
4. If there are more than 60,000 transactions per day or more than 300
concurrent users on the same system accessing the same database.
5. Two or more heterogeneous data sources like two DBMS or a DBMS and
a file system.