Specific Middleware Solutions
You have already read about the connectivity architectures provided by Microsoft, Oracle, and IBM. However, many different applications exist to implement these architectures. These are called application servers. Some are relatively dedicated Java servlets, whereas others are multifunctional services and daemons you can use in many different ways. Application servers connect directly with back-end services, such as databases and legacy systems. Generally, a Web server passes information from the user to an application server, which then communicates with the database or legacy systems.
In such an arrangement, the Web server does not interact directly with the database or the legacy system. This is why it is often called middleware.
Which Middleware Systems are currently used in Fortune 500 Companies?
Fortune 500 companies use a variety of middleware systems to manage their complex IT infrastructure and support their business operations. Here are some examples of middleware systems that are commonly used in Fortune 500 companies:
- Enterprise Service Bus (ESB): ESB is a middleware system that enables communication between different applications and services. ESB provides a central point for managing connections and message routing between applications and services, making it easier to integrate different systems and services.
- Application Servers: Application servers provide a runtime environment for hosting and managing web applications. They handle tasks such as session management, security, and database access, making it easier to build and deploy enterprise-level web applications.
- Message Queueing Systems: Message queueing systems enable applications and services to communicate asynchronously, by sending messages to a queue for processing. This helps to improve system scalability and reliability, as message queues can handle large volumes of messages and ensure reliable message delivery.
- API Management Systems: API management systems provide a centralized platform for managing and monitoring APIs (Application Programming Interfaces) that enable different software applications to communicate with each other. API management systems provide features such as API documentation, security, and analytics, making it easier to manage and secure enterprise-level APIs.
- Data Integration Systems: Data integration systems enable the integration and transformation of data from multiple sources into a unified format. These systems help to ensure data consistency and accuracy, which is important for large enterprises that need to manage and process large volumes of data.
These are just a few examples of the middleware systems that are commonly used in Fortune 500 companies. The specific systems used by each company may vary depending on their specific needs and requirements.
Distributed Networks: Intelligence
Heterogeneous hardware, network, and Operating System Platforms
Client-server architectures require the use of heterogeneous hardware, network, and operating system platforms.
Application programmers do not want to rewrite their code for each type of platform. A middleware layer hides the complexity of the underlying platform by providing a standard programming interface and abstraction (such as
CORBA) of platform-dependent system services.
Examples of a system service include open a file, close a file, read data from a file, write data into a file.
The ability to access a common set of system services allows programmers to focus more of their attention on application development. These concepts have also led to the development of network operating systems (NOS), which allow users to access remote OS-level resources directly, and distributed operating systems, which provide the same level of functionality in a fully transparent way .
Integrated, Enterprise-wide Computing
Another factor that led to the development of middleware systems was the need for integrated, enterprise-wide computing. This is the enterprise integration problem. An example of how this problem came into being is from the history of PC-based file and printer sharing.
A company or organization could buy several PCs, connect them together with a LAN, and then allow files and printers to be shared electronically, perhaps through a local file server. As the popularity of these systems grew it became desirable for users to access files, printers, and programs on different servers supported by different LANs. In practice, even within a single organization or department, the servers and the supporting LANs ran different hardware or software. Sometimes the LANs themselves were isolated from a wide area network (WAN) that could be used to provide cross LAN connectivity.
This made sharing files and resources difficult to do, complex to program, and expensive to develop. To address these problems of heterogeneity, developers needed software to solve interoperability and portability issues that was scalable and that was independent from specific network and operating system technologies. Specifically, programs running on one type of system must be able to access programs and data on another type of system in a way that maintains reasonably good performance levels, thus providing the illusion of locality.