Middleware Concepts  «Prev  Next»

Lesson 1

Introduction to Middleware

What is middleware?

Middleware products provide interoperability services for software architectures and applications. Middleware also offers middle-tier services to applications. These services include transaction processing, object management, and message management. Many ecommerce solutions combine multiple solutions and architectures. Therefore, middleware is a particularly important set of technologies in any ecommerce solution.

Next generation of Middleware

Enterprise application integration (EAI) products are higher-order middleware suites used to integrate a wide variety of technologies. Many packaged applications, like ERP and CRM solutions, and application servers, like BEA's WebLogic, IBM's WebSphere, and SilverStream also embed middleware in their solutions. Middleware vendors often original equipment manufacturer (OEM) their products to the packaged application or application server vendors.

Categorizing middleware

Given the vast quantities and types of middleware, it is difficult to clearly segment middleware into distinct functional and/or competitive groups.Nonetheless, for the sake of clarity, we will segment the discussion of middleware into several subgroups. This module will discuss the following subgroups:

1. Distributed Object Middleware Distributed Object Middleware (DOM) is a type of infrastructure that allows remote access to remote objects transparently. It is based on the Remote Procedure Call (RPC) mechanism. Some DOM systems also enable objects on different platforms to interact, for example, CORBA. Other examples of DOM systems include Microsoft's Distributed Component Object Model (DCOM), and Enterprise JavaBeans (EJB) by Sun Microsystems (now Oracle Corporation).
Transaction Processors n computer science, transaction processing is information processing that is divided into individual, indivisible operations called transactions. Each transaction must succeed or fail as a complete unit; it can never be only partially complete.
Data Integration Middleware Data Integration delivers pervasive and continuous access to timely and trusted data across heterogeneous systems. Its comprehensive capabilities include real-time and bulk data movement, transformation, bi-directional replication, metadata management, data services, and data quality for customer and product domains.
Message-Oriented Middleware Message oriented middleware (MOM) is software or hardware infrastructure supporting the sending and receiving of messages between distributed systems. Because businesses, institutions, and technologies change continually, the software systems that serve them must be able to accommodate such changes.
(EAI) Enterprise Application Integration Products Enterprise application integration (EAI) is the use of technologies and services across an enterprise to enable the integration of software applications and hardware systems. Many proprietary and open projects provide EAI solution support. EAI is related to middleware technologies.

Common Middleware Standards include:

  1. Common Object Request Broker Architecture (CORBA): Enables pieces of programs, called objects, to communicate with one another regardless of what operating system they are running on or what programming language they were written in.
    Corba Fundamentals
  2. Distributed interNet Applications Architecture (DNA): The collection of Microsoft technologies that enable the Windows platform and the World Wide Web to work together.
  3. Component Object Model (COM)" Microsoft's language independent component architecture intended to provide general purpose, object oriented means to encapsulate commonly used features and functions.
  4. Distributed Component Object Model (DCOM): An extension of COM that supports objects distributed across a network, similar to IIOP in the world of CORBA objects.
  5. Distributed Computing Environment (DCE): Designed to support distributed applications in heterogeneous hardware and software environments. DCE is a key technology in three of today\'s most important areas of computing: security, the World Wide Web, and distributed objects. DCE implements an organized set of Remote Procedure Calls (RPCs) to effect distributing computing; in that sense DCE is a forerunner to CORBA and COM, but is different from CORBA and COM in that it is not truly object-oriented. DCE
  6. Remote Procedure Calls (RPC): Allows a program on one computer to execute a program or invoke particular functions of another program on a remote computer.
  7. Open Data Base Connectivity (ODBC): Inserts a middle layer, better known as a database driver, making it possible to access any data from any application, regardless of which database management system handles the data. For this to occur, the application must be capable of issuing ODBC commands and the database management system must be capable of responding to them.
  8. Java Database Connectivity (JDBC): Enables Java programs to interact with any SQL-compliant database and execute SQL statements. It is just like ODBC but is designed to work with Java.
  9. MQ Series: IBM's de facto messaging standard .
  10. Remote Method Invocation (RMI): Enables Java objects to communicate remotely with other Java objects.
  11. Internet Inter-ORB Protocol (IIOP): Implements CORBA solutions over the World Wide Web. Unlike the HTTP protocol, which only supports transmission of text, IIOP enables browsers and servers to exchange integers, arrays, and more complex objects.
  12. Java 2 Enterprise Edition (J2EE): A specific implementation of the Java platform that targets higher-order Web/ecommerce solutions. J2EE encompasses most of the Java-based server-side standards, like EJBs, Java Servlets, and JSPs, offers XML interfaces, and possesses compliance suites so that a solution can be J2EE certified. J2EE is a superset of the Java 2 Standard Edition (J2SE), the Java standard platform for client and simple server computing.
  13. Enterprise JavaBeans (EJB): Define how Java objects interact with other objects. It is actually possible to develop Enterprise JavaBeans in other languages, but they must be translated into Java byte codes, and organized as a EJB component. The EJB is executed within the context of a J2EE or J2SE virtual machine.

Has the Object Management Group introduced a successor to CORBA?

Yes, the Object Management Group (OMG) has introduced a successor to CORBA (Common Object Request Broker Architecture). The successor is called the Data Distribution Service (DDS), which is a standard for real-time, scalable, and secure data distribution. DDS is designed to meet the demands of modern distributed systems, such as the Internet of Things (IoT) and Industrial Internet of Things (IIoT), which require high performance and low latency data communication.
DDS provides a publish-subscribe model for data communication, where publishers send data to subscribers who have expressed interest in receiving the data. Unlike CORBA, which is a request-reply model, DDS is optimized for data-centric systems that require high-throughput and low-latency data communication. DDS provides features such as Quality of Service (QoS) policies, which allow applications to specify the requirements for data communication, such as reliability, durability, and security. DDS also provides a flexible and extensible data model, which allows applications to define their own data types and structures. DDS is widely used in industries such as aerospace, defense, automotive, and healthcare, where real-time, scalable, and secure data communication is essential.

SEMrush Software