Presentation on theme: "Middleware Technologies By Sirisha Mandadi. Overview Introduction Brief History of EAI/Middleware Middleware Categories CORBA Middleware and Computer."— Presentation transcript:
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.
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.
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
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 LAN Legacy 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.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?