What are the Two Broad Classes of Middleware in Client Server Environment?
Server: A server is a computer program that provides services, data, information to other computer programs.
Client: A client is a host computer, requests services or information from the server. the client is also called a user. In a computer system, a client is a computer program that asks something from the server and the server gives the information back to the client computer.
Middleware: It is software that helps to connect the operating system and applications. Or it is software that runs between client and server processes. Generally, this software is written in such a way that the user never notices the presence of middleware. It also helps in delivering secure and transparent services to users.
Types of Middleware Services:
The different types of middleware services are RDA, RPC, and MOM.
- RDA: Remote Data Access(RDA), which implements an RDA protocol for sending data manipulation language statements to an appropriate database server for processing and transporting the result back to the invoking process.
- RPC: Remote procedure calls (RPCs). RPC is used in network operating system services.
- MOM: Message-oriented middleware(MOM) is used as a mechanism for storing and forwarding message queuing. It helps when client and server processes communicate asynchronously.
Middleware is Useful For
- Transaction Management
- Message Queues
- Application Server
- Web Server
Types of Middleware:
- Message Oriented Middleware: It is an infrastructure that is helpful in sending and receiving messages over distributed applications / It helps applications to be paid over different platforms and makes the process of creating software applications time many OS and network protocols less complicated.
- Object-Oriented Middleware: This method is also called an Object request broker. Object Middleware gives applications the ability to send objects and request services through an object-oriented system. Object Middleware main use is to manage the communication between objects.
- Remote Procedure Call (RPC) Middleware: RPC is used to perform synchronous or asynchronous interactions between applications by calling procedure remotely and it is utilized within a software application.
- Database Middleware: It allows direct interaction to access the database. In the market there are many database gateways and connectivity options, we can select anyone based on our requirements. It is one of the common types of middleware that includes SQL database software.
Role of Middleware in a Client-Server Architecture:
- In a client-server architecture, the most important entities are the clients and the browsers. A problem in this client-server architecture is that the client can be heterogeneous. For example, consider, our server is set up for a restaurant management case. In that, the client-side request can come from a mobile application, a web browser, or even from other applications. So our server should handle this by serving the client of different types separately.
- Also sometimes the server needs to communicate with other software or entities. In that case to server the data to the client, the server needs to take some help from other applications. This application which helps the server to provide some help is known as middleware. Almost all the client-server architects will be having middleware. In the above example,(restaurant management) the data that the client sends should be stored in the server. For the structured storage and management of that data, we will be using a database. A database management system is another middleware that helps our server to handle the data.
- Likewise, there are multiple middlewares that will perform single operations to help the server.
Two broad classes of middleware in the client-server environment:
1. General middleware:
The general middleware is one of the broad classes of middleware in client-server environments that includes the communication stacks, distributed directories, authentication services, network time, RPC, Queuing services along with the network OS extensions such as the distributed file and print services. The print services and distributed file services also come under this category
For Example, The distributed computing environment is an example of general middleware, where a common set of distributed services are available to the application.
The main services provided by distributed computing environment for supporting distributed applications are security services, RPC, time services, IDL compiler, Threading services, Directory service.
2. Service-specific middleware:
The service-specific middleware is another broad class of middleware in a client-server environment that needs to accomplish a particular Client/Server type of services which includes:
- Database-specific middleware: It allows direct access to data structures and provides interaction with the database directly. For example, ORACLE, SQL, ODBC, etc.
- OLTP specific middleware: It is a type of transaction scheduling, message queuing where a client connects to middleware and in turn connects to the database back end. For example, RPC, ATMI.
- Object-specific middleware: It helps in the reusability and interoperability of distributed objects. For example, CORBA, Microsoft DCOM.
- Workflow management middleware: It focuses on the management of activity flow in client or server systems.
- Internet-specific middleware: It is one type of communication middleware consists of tools like HTTP, S-HTTP, and SSL.
- Message-oriented middleware: It is used as a mechanism for storing and forwarding message queuing. It helps when client and server processes communicate asynchronously.