Вы находитесь на странице: 1из 49

Middleware

Introduction
Chevron Uses Middleware to link 3000 Desk Top Systems and World Wide Browsers to geographical, Seismic and historical drilling information stored in database across a diverse range of server Technologies. South-West Airlines, the fourth largest domestic carrier, uses a Middleware Flight Management system that guarantees delivery of Critical data to meet the airlines stringent requirements for efficiency. 50% of all IT Budgets go towards making applications talk to one another.

Lets Learn a Little More about what Middleware is --------------

Introduction - Deals about you what you will learn here. What is Middleware? -Covers the basic concepts of introduces you to the different types of Middleware Focus on Technology. - Explore the different types of Middleware Technologies Available Case Study - Some real world case studies of on the applications of different types of middleware

What is Middleware?
   - a software that is designed to help build large scale distributed systems. - a piece of software that sits between systems.

Strictly speaking in Technical Terms Middleware is transport software that is used to move information from one program to one or more other programs, shielding the developer from dependencies on communication protocols, operating systems, and hardware platforms. Middleware allows your applications to talk to one another. previously isolated

Your Main Frame Legacy Inventory Management System can be integrated with your Accounting System .. which can be integrated with the sales support system which can be integrated with new applications as the business grows. This is depicted pictorially in the next slide.

Inventory

Payroll

Accounting E-Commerce MIDDLE WARE

New Applications Web Site

Sales

How did Middleware evolve ???


Merging of Companies and acquisition of another companies is common now-a-days. Then the systems have to integrate with other companies legacy systems. That is where middleware comes into help. Chronological Evolution Batch Processing Database Technology Email Home Grown Solutions

Modern Middleware
1988 1994 1998 Remote Procedure Calls Peer to peer Networking - Mom Arrives - Real-time Enterprise - Publish/Subscribe - Push - Distributed Objects

Periodic events
1988-With the advent of Remote Procedure calls and peer-to-peer Networking, the first commercially available Middleware has arrived. 1994-Robust, Message-Oriented Middleware became available. Early adapters use Message Queuing. 1998Real-time Enterprise. New Technologies like Publish/Subscribe, Push, and Distributed Objects keep pace with needs of the ebusiness era.

Today Middleware covers a number of products and functions.These are the five categories which are described below : 1. Home Grown(Middleware developed by inhouse teams which focuses on companies specific needs) 2. RPC/ORB(Middleware that focuses on synchronous distributed applications) 3. Pub/Sub(Middleware that focuses on Real Time communications based on messaging) 4. Message Queuing(Middleware that focuses on reliable communications based on messaging) 5. TP Monitors(Middleware that focuses on coordination of processes and highly reliable transactions)

Measurable Qualities of Middleware


Scalability, Performance, and Reliability are three measurable qualities of middleware. Performance TP Monitors Message Queuing Publish/ Subscribe RPC/ORB Homegrown 3 1 4 3 ? Scalability 2 2 4 2 ? Reliability 4 4 4 1 ? * Homegrown s strength depends on builder s focus and abilities. Legend 1 - Indicates less important. 4 Indicates most important.

What is HomeGrown Technology

- Homegrown middleware is a term used to describe custom distributed application solutions built from ground-up. - It is Developed Using a variety of programming tools and low level networking protocols. As these are customized solutions there components can be compromised of many different technologies. - How a customized Homegrown solution works is completely up to the team that builds it. A team of system architects should have to investigate the needs and decide on several critical factors. Some of these are.

Critical Factors involved


Manner of Communication(Synchronous, a synchronous). Network Protocols(UDP, TCP, IPX). Types of Tools to use.(C,C++, Java) Types of information(messages, remote calls). Network or server performance issues(Bandwidth, max clients)

Wrap UP
Homegrown usually takes a team of highly skilled technical personal familiar with networking and client server architectures. The cost of building a Homegrown solution are usually much higher than commercial products with longer project Timelines. Homegrown solutions are best used in situations where needs cannot be met by the current commercial software. The main advantage to use a Homegrown architecture is that it allows for complete customization of the system. Some issues like time, cost and maintenance exists.

Let' us evaluate ourselves what we understood about Home Grown Solutions???????

Home Grown Middleware is a term used to describe a) Commercial Software b) Email Systems c) Custom Distributed application Soutions 2)A Home Grown Solution is best used when a) a standard communication infrastructure is needed b) A low cost solution is needed. c) The needs for a middleware solution cannot be met by a commercial software. 3)The main advantage of Home Grown Solution is a) Simplicity b) It allows for complete customization of system c) It is faster than other methods. 4) The costs of building a Homegrown middleware solution are generally ___________ than commercial products. a)Much Higher than b)About same as c)Much Lower than

RPC/ORB Middleware that focuses on synchronized distributed applications


Distributed applications allow a program on one machine to leverage processign power, memory, or storage on another machine. The basic difference between a RPC and ORB is that RPC uses standard programming procedure methods and ORB uses object oriented methodologies. With RPC/ORB a Client application can transparently invoke a service on a server which can be on same machine or across a network.

The RPC/ORB mechanism: Intercepts the call. Finds requested procedure/Object. Passes parameters. Invokes its methods. Returns results to the clients

RPC/ORB is best used in situations when applications use a request/reply model of communicating. Some of the example of this are A Help desk support application. A web application that front ends a legacy application. The fundamental ORB technologies supported now today are CORBA (www.omg.org), DCOM (www.microsoft.com)and RMI(www.java.sun.com).

Pros and Con s of RPC/ORB


Pro s:
Power of Distributed Computing. Reduces application maintenance by centralizing key functions. Takes advantage of Object oriented features. Can web enable legacy applications.

Con s:
Scaling applications to a large user base is problematic. Complexity in architecture requires sophisticated developers. Interoperability between platforms is a big issue. Difficult to debug and administer.

Publish/Subscribe
Works by passing information in a message from one program to one or more other programs asynchronously. This is like sending an email opposed to making a phone call. The basic components that make a PUB/SUB system are messages, a publishing service, and subscribers.

What is a Publishing Service :


The publishing service is where messages are sent and routed to subscribing applications. A Publishing service is similar to a radio broadcast, where messages will be published or broadcast to all applications that have registered(subscribed) for certain types of messages(called subjects) PUB/SUB is best used in situations with applications that send time sensitive information, speak to multiple applications at once, and/or exist in a very volatile network environment.

Communication in Pub/Sub
A message is a piece of information that is sent between two or more applications .The publishing service acts as a message distribution center that receives and sends messages to registered subscribers. Applications using PUB/SUB communicate asynchronously. In asynchronous communications, a sending application sends a message to a receiving application without waiting for a reply. The key advantage to asynchronous communications is that sending applications can continue on with other tasks once the message has been sent. What makes the asynchronous communications work in a PUB/SUB system is the publishing service.

How messages are sent in a Pub/Sub


 The publishing service is where messages are sent and routed to subscribing applications.  A publishing service is similar to a radio broadcast, where messages will be published or broadcast to all applications that have registered(subscribed) for certain types of messages(called subjects).  Messages are sent to a centralized publisher instead of each individual subscriber, the subscription list can be modified on the fly, providing a highly flexible communication system that can run across different networks and systems.  This one-to-one many-to-many broadcasting makes PUB/SUB a high performance scalable architecture.  PUB/SUB systems can also transform messages( act as an interpreter) enabling applications never designed to work together to communicate.

 Some examples of applications using PUB/SUB are : Real time quoting service that must provide stock information to many applications at once. Meteorological services that must transfer information to different weather systems all over the world. Centralized network alerting systems that must communicate with distributed nodes that change significantly over time.

Companies Promoting Middleware


Business Integration Group(www.biggroup.org) Open Group(www.opengroup.org) Vendors Support: IBM(www.ibm.com) Talarian(www.talarian.com) Tibco(www.tibco.com) Vitria(www.vitria.com)

Message Queuing
The two basic components of a MQ system are Message and Queue. A message is a piece of information that is sent between two or more applications. The Queue is a container that can hold and distribute these messages.

Communication in Message Queuing


Applications using Message Queuing communicate asynchronously . The key advantage in Asynchronous communications is that sending applications can continue on with other tasks once the message has been sent.What makes Asynchronous communications work in a MQ system is a Queue. The Message Queue is where messages are sent and held until they are picked up by a receiving application. A Message Queue is similar to a Post Office Box, where messages will wait until asked for. As Messages are not lost it is highly reliable. Applications that communicate via a MQ are called Loosely Coupled applications because they never speak directly to each other .Each can continue to function when the other is busy or Even Off-Line. The Queue will manage messages so that they are not lost, or not delivered out of sequence or duplicated until the application is ready to retrieve them.

Some examples of these types of applications are :


Sales automation applications that must communicate with a disconnected mobile sales force. Back end transaction applications where connection or service disruptions must not result in transaction loss. New Web order entry applications that must communicate with one or more legacy systems to process an order.

Pros and Cons of Message Queuing


 Pro s : When we need highly reliable communications across unreliable networks. Need asynchronous communications for mobile workforces. Need emerging and legacy applications to speak to one another.  Con s: Initial setup and administration can be very complex. Asynchronous communications between applications can be slow if Queue is overloaded. Many to Many Communications can be difficult to implement.

TP Monitors (Transaction Processing Monitors)


They are not used for a program-to-program communication.Rather they provide a complete environment for transaction applications that access relational databases. They tend to be mission-critical applications that require a rapid response 100% of the time and tight controls over the security and integrity of database. TP Monitors should be considered when transactions need to be coordinated and synchronized over multiple databases. TP Monitors tend to be heavyweight and expensive, and they require a great deal of expertise to implement properly.

Well let us again go through what we learnt about the previous technologies in Middleware

Quiz on RPC/ORB
1)RPC and ORB are technologies used for: a)Managing operating systems b)Building distributed applications c)Stand alone applications 2)RPC/ORB is best used in situations when applications use the_______ model of communicating. a)Request/Reply b) Message c)Callback/Event 3)Three major ORB technologies now being supported are : a)CORBA,DCOM and RMI b)CORBA, SQL and HTTP c)ICP,SQL and DCOM. 4)Some advantages of using an RPC/ORB architecture are : a)Simple to use, Distributed computing power,and Reduced application maintenance. b)Interoperability guaranteed, Code reuse, Distributed computing power c)Code reuse, Distributed computing power,and Reduced application maintenance.

PUB/SUB
1)PUB/SUB is a technology used for: a)Voice Communications b)Building distributed applications c)Magazine processing 2) PUB/SUB is best used in ____ model of communicating a)Request/Reply b) Asynchronous c)Send/Resend 3)The three components that make up a PUB/SUB system are: a)Queue s, Publications service and ISP s. b)Messages, Publications service and subscribers c)PDA s Publications service and subscribers 4) Some advantages using PUB/SUB are a)Scalability, Real-Time, Asynchronous communications. b)Standards based, Asynchronous communications and easy to use. c)Simple to use, Scalability, and Real-Time communications.

Message Queues and TP Monitors


1) a) b) 2) a) b) c) 3) a) c) 4) a) b) The components that make up a MQ system are : Queues and broad band access ISP s and Clients. C) Messages and Queues Some advantages to using a MQ architecture are : Reliability, Application Integration and Async Communications. Simple to use, Application Integration and and ALL MQ is a standard Async Communications, Reliability and Simple to use. A TP Monitor is technology used for : Message Queuing. B)Message Broadcasting Building OLTP applications. A TP Monitor is best used when ________ is needed. A general communication infrastructure is needed Transaction Coordinator c)Asynchronous Messaging

Case Study :

A Large bank for eg. will have mainframe based core accounting systems, Foreign exchange(FX) and treasury packages , interface to payment networks and clearing systems, branch systems, call centers and customer centers such as web banking.Typically these will include mainframe legacy systems, two-tier client server applications, and a variety of off the shelf packages.

Complexities : Systems incompatible Data Formats differ Connectivity issues complex. What a middleware does here?? Simplifies access to multiple databases. Integrate existing systems. Integrates any platforms- Windows ,UNIX, etc.

Integrated payments using a Middleware Hub


The Middleware rationalizes access to the services as shown in the figure.This provides for each application to have only one interface to the middleware Hub. The middleware uses the existing interfaces of the systems because of its communications connectivity, interface dialogue, and data presentation required.These allows reuse of existing interfaces. To make new services available, only the the interface to the middleware needs to be considered. New services can be connected to the hub and integrated as required to other systems. Using the hub as the system integrator, all services can be provided to all corporate clients.

Case : Schedule, pick-up and deliver packages. Locate shipments at any point along their journey About the Company : A subsidiary of CNF Transportation Inc., Emery Worldwide is a $2.3 billion diversified company with seven decades of experience in the transportation industry. The company provides a variety of services, from global freight transportation to customs brokerage to worldwide logistics management

Technicalities in Detail
The information system that enables Emery to schedule, pick-up and deliver packages, called EMCON 2000, comprises detailed customer data and more than ten front-end applications. Emery relies on EMCON 2000 to enable its customer service staff to locate shipments at any point along their journey. The system also supports the handheld computers used by Emery's delivery personnel to confirm deliveries and is even accessible to Emery's customers over the Internet.

Software Used
Emery relies on IBM MQSeries message queuing middleware to ensure that its worldwide operations run smoothly. Software IBM MQSeries for OS/390 Version 2.1 IBM MQSeries for Solaris(tm) Version 5.0 IBM MQSeries for Windows NT Version 5.0 IBM DB2 for OS/390

Data for EMCOM 2000 is stored on a single IBM S/390 Parallel Enterprise Server running IBM DB2 for OS/390 Version 5.0. The individual applications of EMCON 2000 run on two middle-tier servers running Sun Solaris Operating Environment. MQSeries for OS/390 and MQSeries for Solaris are used to feed data from the backend database to the applications on the middle-tier servers and update the database with new information.

Emery had run the applications on a variety of systems, including IBM AIX and Microsoft Windows NT servers. The cross-platform flexibility of MQSeries allowed Emery to leverage its investment in technology when it ported the applications to Solaris Operating Environment. Embedding MQSeries APIs within the application development tools used to build EMCON 2000, Emery was able to regenerate new code for its target platform instantly from its existing MQSeries code for the Windows NT and AIX platforms. "We were able to port our system to MQSeries for Solaris without rewriting any code, saving us multiple man-years in development costs,"

References
http://www-4.ibm.com/software/ts/ mqseries/ http://www.tibco.com/products/tours/in dex.html# http://talarian.com/industry/middleware /whitepaper.pdf. http://www.openvms.compaq.com/ope nvms/whitepapers/middleware/isgmidw are.html

Application Areas For Middleware


EBusiness EPortals EAI(Enterprise Application Integration) EDI(Enterprise Data Interchange)

Вам также может понравиться