Middleware Technologies

Download Report

Transcript Middleware Technologies

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
Stock Inventory
Customer Billing
Sales Order Processing
Mainframe
C/C++
Customer Database
ERP
RDBMS
Legacy Application
Mainframe
WWW
WWW
Supply Chain Mgmt
E-Commerce
Middleware/ EAI Enterprise Solution
Stock Inventory
Customer Billing
Sales Order Processing
Mainframe
C/C++
Customer Database
ERP
EAI Infrastructure Services
RDBMS
Legacy Application
Mainframe
WWW
WWW
Supply Chain Mgmt
E-Commerce
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, email, 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 providing
these 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 ways
similar to CORBA
Defines a binary standard for component
interoperability
programming language independence
Platform independent
Windows (95, 98, NT)
Mac
Unix
Distribution transparency
does 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 another
some components’ locations are fixed
inverse 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
Move from this….
To this….
LAN
*LAN
Legacy Phone
Switch
IP-PSTN Bridge
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?