Top Banner
Middleware Technologies By Sirisha Mandadi
35
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Middlware

Middleware Technologies

By

Sirisha Mandadi

Page 2: Middlware

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

Page 3: Middlware

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.

Page 4: Middlware

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.

Page 5: Middlware
Page 6: Middlware

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

Page 7: Middlware

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

Page 8: Middlware

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)

Page 9: Middlware

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.

Page 10: Middlware

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.

Page 11: Middlware

Remote Procedure call

Page 12: Middlware

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.

Page 13: Middlware

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

Page 14: Middlware
Page 15: Middlware
Page 16: Middlware

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

Page 17: Middlware

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.

Page 18: Middlware
Page 19: Middlware

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.

Page 20: Middlware

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.

Page 21: Middlware
Page 22: Middlware

Middleware service components

The services in our proposed architecture are classified into two broad categories: Application services, and Network services.

Page 23: Middlware

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

Page 24: Middlware

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

Page 25: Middlware

Distribution in COM/DCOM — In-Process

Page 26: Middlware

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.

Page 27: Middlware

TAPI Objective

LANLegacy Phone Switch

*LAN IP-PSTN Bridge

Move from this….

To this….

Page 28: Middlware

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.

Page 29: Middlware

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

Page 30: Middlware

Advantages of Middleware:

Real time information access among systems

Streamlines business processes and helps raise

organizational efficiency.

Maintains information integrity across multiple systems

Page 31: Middlware

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.

Page 32: Middlware

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).

Page 33: Middlware

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.

Page 34: Middlware

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.

Page 35: Middlware

Questions:

What is Middleware technology? Mention different types of Middleware. What are Advantages and Disadvantages of

Middleware?