Middleware Technologies
By
Sirisha Mandadi
Overview
Introduction Brief History of EAI/Middleware Middleware Categories CORBA Middleware and Computer Telephony Middleware Usage Considerations Middleware costs Advantages and Disadvantages of Middleware Conclusion
Introduction
Middleware is the "glue" that connects diverse computer systems. Typically, legacy systems store information in proprietary formats, use propriety protocols to communicate, and may even be running on hardware that's no longer manufactured or supported.
Brief History of EAI/Middleware
Enterprise applications, from as early as the 1960s through the late 1970s, were simple in design and functionality, developed largely in part to end repetitive tasks.
By the 1980s, several corporations were beginning to understand the value and necessity for application integration.
Enterprise Resource Planning (ERP)
As ERP applications became much more prevalent in the 1990s, there was a need for corporations to be able to leverage already existing applications and data within the ERP system; this could only be done by introducing EAI.
Legacy Enterprise Situation
Mainframe
Stock Inventory
C/C++
Sales Order Processing
ERP
Customer Billing
Mainframe
Legacy Application
WWW
E-Commerce
WWW
Supply Chain Mgmt
RDBMS
Customer Database
Middleware/ EAI Enterprise Solution
Mainframe
Stock Inventory
C/C++
Sales Order Processing
ERP
Customer Billing
Mainframe
Legacy Application
WWW
E-Commerce
WWW
Supply Chain Mgmt
RDBMS
Customer Database
EAI Infrastructure Services
Middleware can be divided in to 7 categories of services:
Data Management Services (i.e. Database and file system middleware).
Communication Services (i.e. RPC (Remote Procedure Call) and messaging middleware).
Distribution Services (i.e. location, time and security services).
Object Management Services (i.e. by using Object Request Brokers (ORBs)).
Application Co-operation Services (i.e. Transaction-Processing (TP) monitors, e-mail, etc.).
Presentation Services (i.e. User Interfaces, printing and multi-media middleware).
System Management Services (i.e. Configuration-, change-, operations-, problem-, and performance-management services)
Data Management Services
One example of a middleware supporting these features are CI-Link from Cornut Informatique in France. CI-Link is a middleware that connects MS-Windows and Macintosh applications to SQL databases under UNIX. It comes with a high-level built-in development language which lets you centralise tasks on the server. CI-Link is compatible with the several relational DBMSs like Oracle, Informix, Ingres and Progress.
Another database middleware candidate is Accessworks from Oracle Corporation, in co-operation with Digital. Accessworks provides a desktop API via ODBC, SQL services, and read/write access to a wide area of databases, etc. Accessworks is available for the most common client desktops such as MS-DOS, MS-Windows, OS/2, Macintosh, Open VMS, and UNIX systems.
Communication Services
Middleware supporting the communication services can be divided into two different groups: RPC and messaging systems. RPCs provide facilities for synchronous procedure calls on remote systems as if they were local.
The most famous RPC toolset is DCE (Distributed Computing Environment) from OSF, but also available from most UNIX
hardware vendors.
Messaging middleware enables distributed applications to send and receive messages asynchronously using a set of APIs. One example of a such a middleware API is Communications
Integrator from Covia Technologies.
Remote Procedure call
Object Management Services
Tools supporting object management services use Object Request Brokers (ORBs) to provide transparent communications between objects sited on different locations in a network.
OMG’s CORBA is an example of this technology. IONA’s ORBIX is the most famous implementation of CORBA.
In addition to provide communication between objects, CORBA middleware also provide communication with the WWW, RDBMs
and ODBMs.
CORBA
A middleware platform that supports a standardized OO architecture for software applications
- Common Object Request Broker Architecture
- Open standard - developed by the Object Management Group
- CORBA is a component of OMG’s Object Management Architecture
CORBA supports distributed object computing CORBA uses a broker
- an intermediary handling requests in a system
- facilitates communication between clients and server objects
- separates a component’s interface from its implementation
Distribution Services:
The distribution services can be divided into three categories: location services, security services, and time services. Tools supporting location services provide a directory and naming service.
The directory service allows a client to access a remote file, a remote table, or a remote process without having to know where that object is physically located in the network
Application Co-operation Services:
Tools supporting application co-operation services are providing support for a large number of concurrent users that access transactions programs and services (i.e. databases, security, workflows), local and distributed load balancing to optimise performance, and efficiently synchronising data updates to multiple databases during a single transaction using standard protocols.
Tuxedo from Novell is an example of a TP monitor providingthese features plus several others. The advantage by using TP monitors are their ability to manage several thousands of users, concurrent database accesses, and large volumes of data.
Presentation Middleware
Tools supporting presentation services provide features for mapping GUIs and transparent printing.
These services are often included in other tools. But there exists dedicated tools for mapping character based UIs intoGUIs.
X Windows is an example of a toolset providing presentation services.
Mobile Middleware
MM is the software component that can be integrated with any application to add mobility. It constitutes services that can be transmitted over the mobile network to the clients on move. Also enables to add new features to an existing system quite easily.
Mobile Agent (MA) is a software component that operates autonomously. MA allows codes to move freely around the network, thus enabling us to have much more flexible architecture with better network performance. These code snippets executed on top of a runtime platform, interact with the local system in a controlled way, through a set of well-defined interfaces provided by the agent
platform.
Middleware service components
The services in our proposed architecture are classified into two broad categories: Application services, and Network services.
COM/DCOM
Microsoft’s middleware infrastructure in many wayssimilar to CORBA
Defines a binary standard for component interoperability programming language independence
Platform independentWindows (95, 98, NT)MacUnix
Distribution transparencydoes exploit operational characteristics
Dynamic component loading and unloading
DCOM
DCOM = COM binary standard+
runtime infrastructure for communicating across distributed address spaces initially only on Windows
recently adding Mac and Unix Uses OSF’s DCE RPC as a basis for remote interaction
proxy/stub mechanism Attempts to address challenges of distributed computing
interacting components should be “close” to one anothersome components’ locations are fixedinverse relationship between component size and flexibility
Distribution in COM/DCOM — In-Process
Middleware and Computer Telephony
Middleware in computer telephony tends to be software that sits right above that part of the operating system that deals with
telephony. This is the Telephone Server Application Programming Interface (TSAPI) in NetWare and the Telephone Application
Programming Interface (TAPI) in Windows.
TAPI is an evolutionary API providing convergence of both traditional PSTN telephony and IP Telephony. IP Telephony is an emerging set of technologies which enables voice, data, and video collaboration over existing LANs, WANs, and the Internet.
TAPI Objective
LANLegacy Phone Switch
*LAN IP-PSTN Bridge
Move from this….
To this….
Middleware Usage Considerations
There is a gap between principles and practice. Many popular middleware services use proprietary implementations.
The sheer number of middleware services is a barrier to using them. To keep their computing environment manageably simple, developers have to select a small number of services that meet their needs for functionality and platform coverage.
While middleware services raise the level of abstraction of programming distributed applications, they still leave the application developer with hard design choices.
Middleware costs
A technology may impose an otherwise unnecessary interface standard, it might require investment in other technologies (see bullets below), it might require investment of time or money, or it may directly conflict with security or real – time requirements.
As an example, at a start-up telecommunications carrier-of-carriers service provider, AFN Communications, there were approximately $20 million dollars expended just to implement operational and business support systems that were fully integrated across a client/server middleware information “bus”, which indicates that all applications are integrated via a common path
Advantages of Middleware:
Real time information access among systems
Streamlines business processes and helps raise
organizational efficiency.
Maintains information integrity across multiple systems
Disadvantages of Middleware
Prohibitively high development costs. EAI implementations are very time consuming, and need a lot of
resources. There are few people with experience in the market place. There exists relatively few satisfying standards. The tools are not good enough. Too many platforms to be covered. Middleware often threatens the real-time performance of a system. Middleware products are not very mature.
EAI / Middleware Leaders
BEA Systems (worldwide locations). CrossWorlds Software (Australia). IONA Technologies (Ireland, Scotland, California). Level 8 Systems (North Carolina, California, New Jersey, Virgina,
London, Milan, and Paris).
Mercator Software (England, Massachusetts). NEON (purchased in 2001 by Sybase) (California). SeeBeyond (California, multiple U.S. States, Australia, Korea,
Japan, Singapore, Cyprus, multiple European locations). Software AG (Germany).
Conclusion:
Middleware technologies are very important to succeed with an incremental migration of legacy systems into client/server systems, but that it is hard to find the correct tools and people to accomplish the work.
References:
http://www.infosecwriters.com/text_resources/pdf/Middleware.pdf http://www.infoweblinks.com/content/middleware.htm http://www.dis.uniroma1.it/~tucci/corsi/SD06/SD06-middleware.pdf http://sunset.usc.edu/~neno/cs477_2003/April8.pdf http://www.comp.lancs.ac.uk/projects/RenaissanceWeb/project/Acro
bat/Middleware.pdf http://www.comsware.org/Comsware2006/index.html
“Mobile middleware service architecture for EMS application”, Janet Light and Bhuvaneswari Arunachalan, COSMOWARE 2006.
Questions:
What is Middleware technology? Mention different types of Middleware. What are Advantages and Disadvantages of
Middleware?