Middleware Concepts  «Prev  Next»

Lesson 1

Introduction to 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
  1. Microsoft's Distributed Component Object Model (DCOM), and
  2. 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.

Object Management Group Successor to CORBA

The Object Management Group (OMG) has not introduced a direct successor to the Common Object Request Broker Architecture (CORBA). Instead, OMG has developed additional specifications to address evolving technological needs and to complement CORBA's capabilities. Notable among these are:
  1. Data Distribution Service (DDS):
    • Introduced in 2004, DDS is a standard for data-centric publish-subscribe communication, designed to provide high-performance, scalable, and real-time data exchange. It is particularly suited for applications requiring efficient and reliable data distribution, such as aerospace, defense, and industrial automation.
  2. REST for CORBA Specification:
    • Published in 2021, this specification defines a standard mechanism that enables CORBA objects to be exposed as RESTful services. This allows for integration with web-based systems and services that utilize the REST architectural style, thereby extending CORBA's applicability in modern web environments.
While these developments enhance and expand the interoperability and functionality of CORBA in contemporary computing environments, they do not replace CORBA. Instead, they provide complementary solutions to meet specific requirements in distributed systems.

SEMrush Software 1 SEMrush Banner 1