Unit 4 – 2 Mark Question and answer
- What are the Advantages of three-tier architectures?
Scalability – middle tier can be used to reduce the load on a database server by using a transaction processing (TP) monitor to reduce the number of connections to a server, and additional application servers can be added to distribute application processing
Technological flexibility – easier to change DBMS engines – middle tier can be moved to a different platform. Simplified presentation interfaces make it easier to implement new interfaces
Long-term cost reduction – use of off-the-shelf components or services in the middle tier can reduce costs, as can substitution of modules within an application rather than a whole application
- What are the Challenges of three-tier architectures?
High short-term costs – presentation component must be split from process component – this requires more programming
Tools, training and experience– currently lack of development tools and training programs, and people experienced in the technology
Incompatible standards – few standards yet proposed
Lack of compatible end-user tools – many end-user tools such as spreadsheets and report generators do not yet work through middle-tier services (see later discussion on middleware)
- What are Middleware Characteristics?
Simplifies partitioning of application processing among clients and servers
Manages distributed transactions among multiple databases
Communicates with heterogeneous database products within a single application.
Supports application scalability
Supports service requests prioritization, load-balancing, data dependant routing and queuing.
- Benefits of Database-oriented middleware
- An interface to an application;
- The ability to convert the application language into something understandable by the target database (e.g., SQL);
- The ability to send a query to a database over a network;
- The ability to process a query on the target database;
- The ability to move a response set (the results of the query) back over the network to the requesting application; and
- The ability to convert a response set into a format understandable by the requesting application.
- Define object servers.
In an object server, the client/server application is written as a set of communicating objects. Client objects communicate with server objects using an ORB (Object Request Broker)
- Define ORB.
ORB-Object Request Broker.
In an object server, client objects communicate with server objects using an ORB (Object Request Broker).The ORB locates an instance of that object server class, invokes the requested method, and returns the result to the client object. Server object must provide support for concurrency and sharing. The ORB brings it all together.
This model of client/server consists of thin, portable,”universal” clients that talk to super fat servers. A web server returns documents when clients ask them by name. Here the clients and servers communicate using an RPC-like protocol called HTTP.
- Define middleware.
Middleware is software that acts as an interface between client server communications.
- What are the types of middleware
- General Middleware
- Service-specific Middleware
General Middleware:
General Middleware is the substrate for client/server interactions. It includes communication stacks, distributed directories, authentication services, network time, remote procedure calls and queuing services.
Example: DCE, ONC+, Netware Service –specific middleware:
Service-specific middleware is needed to accomplish a particular client/server type of service. Example: Database specific middleware such as ODBC, DRDA, EDA/SQL.
- Define fat server model.
The fat server model places more function on the server. The examples of fat server are groupware, transaction, and web servers.
- Define fat client model.
The fat client model does the reverse of fat server. The examples of fat clients are database and file servers.
- Define fat clients.
Fat clients are the most traditional form of client/server. The bulk of application runs on the client side of equation. Fat clients are used for decision support and personal software. They provide flexibility and opportunities for creating front end tools that let end users create their own applications.
12. Define fat servers.
Fat servers applications are easier to manage and deploy on the network because most of the code runs on the servers. Fat servers try to minimize network interchanges by creating abstract levels of service.
13. Define 2-Tier client/server architecture.
In 2- tier client/server systems, the application logic is buried inside the user interface on the client or within the database on the server(or both).examples of 2-tier client/server systems are file servers and database servers with stored procedures.
14. Define 3-Tier client/server
In 3-tier client/server systems, the application logic(or process) lives in the middle-tier; it is separated from the data and user interface.3-tier client/server systems are
4
more scalable, robust and flexible. Examples of 3 tier client/server systems are TP monitors, distributed objects and the web.
15. Define intergalactic client/server.
Intergalactic client/server is a new threshold of client/server applications and this is because of,The exponential increase of low-cost bandwidth on Wide Area Networks - for example, the Internet and CompuServe. A new generation of network-enabled, multi-threaded desktop operating systems - for example, OS/2 Warp Connect and Windows 95.
- What are the basic building blocks of client/server based on situations?
The building blocks of client and server arrangements based on situations are:
·Client/server for tiny shops and nomadic tribes.
·Client/server for small shops and departments.
·Client/server for intergalactic enterprises.
·Client/server for a post-scarcity world.
- Explain about the thin client
The Thin Client is based on the client/server concept, providing block mode transmission between the windows and the Unix components of the Thin Client. The utilization of the Thin Client eliminates the key strokes transmissions between the windows application and the host. Most emulation programs that perform such processing are highly sensitive to the network performance and this is highly noticeable on dial up connections. With such an approach, the network performance normally degrades on peak times due to the high demand and the numerous small packets being transmitted back and forth because of the echoing of the keystrokes performed on individual clients.
- Objective of the thin client
The main objective of the Thin Client is to eliminate this sensitivity to the network performance and utilization, to provide comfort and efficiency to the end users at all times, regardless of the type of connection. With the increase demand Vs mobile computing, it is imperative to provide the users with a predictable response time regardless of the network topology and bandwidth, the Thin Client is highly optimized for all kinds of connections, there are no third party involved, its windows component interact directly with its Unix components to deliver the best possible response time at all times.
- Database Gateways
Database gateways (also known as SQL gateways) are APIs that use a single interface to provide access to most databases residing on many different types of platforms (see Figure 5). They are like virtual database middleware products, providing developers with access to any number of databases, residing in environments typically not easily accessible, such as a mainframe. For example, using an ODBC interface and a database gateway, it is possible to access data residing in a DB2 on a mainframe, Oracle running on a minicomputer and Sybase running on a UNIX server. The developer simply makes an API call, and the database gateway does all the work.
- What are the features of OS/2 warp server?
- OS/2 is an excellent application server.
32-bit Operating system incubates leading edge server software including
- LotusNotes and CORBA services.
- Auto detects hardware, easier to find and configure network adapters.
- Provides disk mirroring, remote administration, remote software distribution, a back server, software metering.
- Define IDL.
IDL-Interface Definition Language
IDL (Interface Definition Language) describes the functions and parameters that a server exports to its clients. An IDL complier takes these descriptions and produces source code stubs (and header files) for both client and server.
- Define HTTP
HTTP-Hypertext Transfer Protocol
The web provides an RPC like protocol called the HTTP for accessing resources that live in URL space. HTTP stateless RPC that
1)Establishes a client/server connection
2)Transmits and receives parameters including a returned file
3)Breaks the client/connection
- Why web browsers are referred as ‘Universal clients’?
- web browser is a minimalist client that interprets information it receives from a server, and displays it graphically to user. The client is simply there to interpret the server’s commands and render the contents of an HTML page to an user.
- What are the steps involved in client/server interaction?
- Select a target URL
- Browser sends an HTPP request to server
- Server comes to life and processes the request
Browser interprets the HTML commands and displays the page
- Define BLOBs with examples.
BLOBs-Binary Large Objects. Images, video, graphics, intelligent documents, databasesnapshots are BLOBS. BLOBs are used to test the capabilities of OS, databases and network.Network must transport BLOBs at astronomic speeds.
16 Mark question and hints
- Explain Middleware and types
Functions of Middleware
In all of the above situations, applications use intermediate software that resides on top of the operating systems and communication protocols to perform the following functions:
- Hiding distribution, i.e. the fact that an application is usually made up of many interconnected parts running in distributed locations;
- Hiding the heterogeneity of the various hardware components, operating systems and communication protocols;
- Providing uniform, standard, high-level interfaces to the application developers and integrators, so that applications can be easily composed, reused, ported, and made to interoperate;
- Supplying a set of common services to perform various general purpose functions, in order to avoid duplicating efforts and to facilitate collaboration between applications.
Middleware Characteristics:
Simplifies partitioning of application processing among clients and servers
Manages distributed transactions among multiple databases
Communicates with heterogeneous database products within a single application.
Supports application scalability
Supports service requests prioritization, load-balancing, data dependant routing and queuing.
Middleware is software that acts as an interface between client and server. This is implemented in 3-tier Architecture of client/server system. This Middleware provides a way to interact the server for the client. Depends upon the service of Middleware, it classified as
- General Middleware
- Service-specific Middleware
General Middleware:
General Middleware is subtracting for most client/server interactions. It includes the Communication stacks, distributed directories, authentication Services, Network time, RPC and queuing services. This type also includes the network OS extensions such as distributed file and print services.
Eg: NetBIOS, LAN Server, LAN manager, TCP/IP, APPC, DCE, ONC+, NetWare, Named Pipes.
Service-Specific Middleware:
Service-specific middleware is needed to accomplish a particular client/server type of service.
This includes:
- Database-specific Middleware (ODBC, EDA/SQL)
- OLTP-specific Middleware (RPC, X/Open’s TxRPC)
- Groupware-specific Middleware (SMTP, Lotus Notes Calls)
- Object-specific Middleware (CORBA, DCOM)
- Internet-specific Middleware (HTTP, S-HTTP, SSL)
- System Management Specific Middleware (SNMP, ORB)
Explanation
- Asynchronous Remote Procedure Calls (RPC) - client makes calls to procedures running on remote computers but does not wait for a response. If connection is lost, client must re-establish the connection and send request again. High scalability but low recovery, largely replaced by type 2
- Synchronous RPC – distributed program using this may call services available on different computers – makes it possible to achieve this without undertaking detailed coding (e.g. RMI in Java)
- Publish/Subscribe – often called push technology, here server monitors activity and sends information to client when available. It is asynchronous, the clients (subscribers) perform other activities between notifications from the server. Useful for monitoring situations where actions need to be taken when particular events occur.
- Message-Oriented Middleware (MOM) - asynchronous – sends messages that are collected and stored until they are acted upon, while the client continues with other processing.
- Object Request Broker (ORB) - object-oriented management of communications between clients and servers. ORB tracks the location of each object and routes requests to each object.
- SQL-oriented Data Access - middleware between applications and database servers. Has the capability to translate generic SQL into the SQL specific to the database
- Explain N-Tier architecture
1. Presentation Layer
2. Application Logic Tier
3. Data Layer
4. Web server
- The technology on Web server plays a crucial role in interfacing front end with data warehouse. The action points of interface between web browser and web server is provided through several methods which make the web pages interactive.
- Explain about the apache and IIS server
- Explain thin client model
- Explain about the GUI
- Explain the presentation model
- And explain about the characteristics of thin client
- Comparison of 2-Tier and 3-Tier system
Comparison between 2-Tiers and 3-Tier Architecture
2-tier
Security :low
Performance :poor
Scale :poor
Application reuse :poor
Ease of development :high
Server to server infrastructure :no
Legacy application :no
Internet support :poor
System administrations :complex
3-tier
Security :high
Performance :high
Scale :good
Application reuse :good
Ease of development :low
Server to server infrastructure :yes
Legacy application :yes
Internet support :good
System administrations :less complex
- Advantages of n-tier system
Advantages of three-tier architectures
Scalability – middle tier can be used to reduce the load on a database sever by using a transaction processing (TP) monitor to reduce the number of connections to a server, and additional application servers can be added to distribute application processing
Technological flexibility – easier to change DBMS engines – middle tier can be moved to a different platform. Simplified presentation interfaces make it easier to implement new interfaces
Long-term cost reduction – use of off-the-shelf components or services in the middle tier can reduce costs, as can substitution of modules within an application rather than a whole application
Better match of systems to business needs – new modules can be built to support specific business needs rather than building more general, complete applications
Improved customer service – multiple interfaces on different clients can access the same business process
Competitive advantage – ability to react to business changes quickly by changing small modules of code rather than entire applications
RPC calls provide greater overall system flexibility than SQL calls in 2-tier architectures
3-tier presentation client is not required to understand SQL. This allows firms to access legacy data, and simplifies the introduction of new data base technologies
Modularly designed middle-tier code modules can be reused by several applications
3-tier systems such as Open Software Foundation's Distributed Computing Environment (OSF/DCE) offers additional features to support distributed applications development
As more users access applications remotely for business-critical functions, the ability of servers to scale becomes the key determinant of end-to-end performance. There are several ways to address this ever-increasing load on servers. Three techniques are widely used:
Upsizing the servers
Deploying clustered servers
Partitioning server functions into a "tiered" arrangement