Visit: www.geocities.com/chinna_chetan05/forfriends.html
MIDDLEWARE TECHNOLOGY
1 Email:
[email protected]
Visit: www.geocities.com/chinna_chetan05/forfriends.html
Abstract A number of technologies are emerging to support this level of configurability and re-configurability, most notably middleware platforms based on the concepts of open implementation and reflection. One problem with this general approach is that widespread changes can often be made to the middleware platform, potentially jeopardizing the integrity of the overall system. This article describes how adaptive and reflective middleware systems (ARMS) are being developed to bridge the gap between military application programs and the underlying operating systems and communication software in order to provide reusable services whose qualities are critical to network-centric combat systems. ARMS software can adapt in response to dynamically changing conditions for the purpose of utilizing the available computer and communication resources to the highest degree possible in support of mission needs. In this presentation, some fundamentals of this MOM-middleware are briefly presented and how Internetworking and growing data security requirements affect to some later mentioned MOM implementations Furthermore, we believe that such platforms will also need to be reconfigurable, for example to enable systems to adapt to changes in the underlying systems infrastructure.
2 Email:
[email protected]
Visit: www.geocities.com/chinna_chetan05/forfriends.html
CONTENTS INTRODUCTION. WHAT IS MIDDLEWARE ?
TYPES OF MIDDLEWARE.
MIDDLEWARE – EMERGING TECHNOLOGIES
MESSAGE ORIENTED MIDDLEWARE (MOM).
SOME COMMON PROPERTIES OF MOM.
MOM ACROSS INTERNET.
ADVANTAGES OF MOM.
DISADVANTAGES OF MOM. 3 Email:
[email protected]
Visit: www.geocities.com/chinna_chetan05/forfriends.html
CONCLUSION.
REFERENCES.
INTRODUCTION. Middleware is the enabling technology of Enterprise Application Integration ((EAI )is defined as the uses of software and computer systems architectural principles to integrate a set of enterprise computer applications.) It describes a piece of software that connects two or more software applications so that they can exchange
4 Email:
[email protected]
Visit: www.geocities.com/chinna_chetan05/forfriends.html
data.
WHAT IS MIDDLEWARE? 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.
5 Email:
[email protected]
Visit: www.geocities.com/chinna_chetan05/forfriends.html Middleware is a very vague term and there are lots of definitions which try to define the concept. The shortest definition is that middleware is the "/" (in client/server ) A little bit more precise definitions define middleware as all that software that help heterogeneous clients to connect to a common server.
TYPES OF MIDDLEWARE. Hurwitz's classification system that organizes the many types of middleware that are currently available. These classifications are based on scalability and recoverability : Remote Procedure Call (RPCs) — Client makes calls to procedures running on remote systems. Can be asynchronous or synchronous. Message Oriented Middleware (MOM) — Messages sent to the client are collected and stored until they are acted upon, while the client continues with other processing. Object Request Broker (ORB) — This type of middleware makes it possible for applications to send objects and request services in an objectoriented system. SQL-oriented Data Access — middleware between applications and database servers.
Other sources include these additional classifications:
6 Email:
[email protected]
Visit: www.geocities.com/chinna_chetan05/forfriends.html Transaction processing (TP) monitors — Provides tools and an environment for developing and deploying distributed applications. Application servers — software installed on a computer to facilitate the serving (running) of other applications. Enterprise Service Bus — An abstraction layer on top of an Enterprise Messaging System.
MIDDLEWARE –EMERGING TECHNOLOGIES.
ActiveM for Windows is Message-Oriented Middleware (MOM) that can quickly unlock the power of distributed applications. 1. 2. 3.
Drop the ActiveM adapter onto your application. Register (or subscribe) a Topic for publication. Sit back - you're done... but don't tell your management just yet.
That's all there is to it! -- Your application is immediately ready to send and receive messages. No additional setup is required. You don't have to supply additional code. And you don't have to learn an Interface Definition Language (IDL). No more long learning curves. No more reduced productivity while you sort out communications problems. And no more big-buck "solutions" that just don't work very well. The possibilities are limitless! From games, to tracking and control systems, to inventory management; over any network -- LAN, WAN, or the Internet -- ActiveM provides low-cost, intuitive, messaging and data transfer... networking without the pain! We've made messaging easy... real easy! ActiveM uses a register (produce) and subscribe (consume) system for message data transfer. ActiveM-aware applications connect transparently to an ActiveM Router running on each network node to send and receive data. An ActiveM Server running on a single network node handles topic subscriptions and registrations. Multiple ActiveM subnets can run concurrently on the same network. Minimized bandwidth consumption avoids bottlenecks... ActiveM Routers are smart! They communicate directly with one another, not merely through the server. ActiveM-aware applications
7 Email:
[email protected]
Visit: www.geocities.com/chinna_chetan05/forfriends.html don't publish data when there are no active subscribers for their topics -- and subscribing applications are notified if there is an available active data supplier.
Till 1980 s most of computing was based on central host computers equippedwith powerful processors and memory. Users interact with the host through the terminals that captures keystrokes and sends the information to host. A major bottleneck for this architecture was that the processing power was limited to that of central host system, over dependence on the vendor for application software, lack of support for GUI and access to multiple databases. The mainframes prevalent at that time were based on this architecture. With advent of PC s the files were downloaded from the shared location, processed and uploaded back to file server. This had major drawback as it generated too much of network traffic. However with emergence of client /server architecture, the computing power or process management was distributed between the client and server. For example client could query database server using relational database management system (DBMS) through standard query language (SQL). The results of query are sent to the client, which then manipulates and processes the data. This two-tier client/server architecture has limitation as the number of users grows beyond certain limit, due to the fact that server has to maintain a dialog of connection even when client is idle. Moreover any changes in application or parameter would entail changes at all clients like a change in VAT rate would need update on all the users workstation. To overcome these limitations middle-tier was added between the user system interface client environment and database management server environment. The middle tier or middleware is now one of the emerging technologies in client server paradigm. It provides for connectivity across heterogenous platform and for more generalization of Application Programming Interface (API) than operating system or network services as shown in Figure.
.It further raises the level of abstraction of programming of distributed applications, as developer need not worry about the platform or operating systems. It can have various implementations such as transaction processing monitors, message servers, remote procedure calls, Object Request Broker or application servers.Let us have examine each of the implementations in detail. The most basic type of three tier architecture is used in Online Transaction Processing Technologies (OLTP) applications using middle layer consisting of Transaction Processing (TP) monitor technology. This is a type of message queuing, transaction scheduling and prioritization service where the client connects to the middle tier viz. TP monitor which in turn connects to the back end database. The transaction is accepted by the monitor, which queues it and then takes responsibility for managing thus relieving the client. It has ability to connect to different DBMS s in single 8 Email:
[email protected]
Visit: www.geocities.com/chinna_chetan05/forfriends.html transactions irrespective of whether it is flat file or non-relational DBMS. This architecture is considerably more scalable than a two tier. . Message Servers: This implementation, also known as Message-oriented middleware (MOM), provides program-to-program data exchange with intelligent messages sent asynchronously. It is similar to email exchanged between the programs. It requires recipient programs to interpret these messages and take appropriate action. MOM increases flexibility of architecture by enabling applications to exchange messages with each other without need to bother about the underlying operating system or the processors. MOM is most appropriate for event-driven applications. For an airline, for example, passenger ticket reservation and cargo bookings events are source for load factor, flight arrival and departure events through ground operations, is source for aircraft movement. All this information moves using MOM. The executive staff can know the effective aircraft utilization. Remote Procedure Call (RPCs): enables the logic of application to be distributed across the network. Program logic on remote systems can be executed by simply calling a routine. For example network printer or shared folder can be located across the network as locally attached resource Application Servers: There is a shared host on which business logic,computation and data retrieval engine resides. The GUI component resides on the front-end client making this architecture highly scalable, secure and lends itself to changes easily. For example in banking scenario in which interest rates change frequently. This would entail changing a parameter only on shared host without change at teller end or at database end. The fig 2 below shows clients accessing the web server which optimized to serve web pages while application server based on the inputs from clients and business decision logic residing on it,queries the database. The results are pushed on the web server for serving to end user browser.
. Object Request Broker Architecture: This refers to specification and implementation framework for interoperability and reusability of distributed objects. These initiatives are driven by two rival camps - Microsoft with COM/DCOM technology and Object Management Group (OMG) with CommonObject Request Broker Architecture (CORBA). These defines application program interface (API) through which various components interact independent of language or platform.
9 Email:
[email protected]
Visit: www.geocities.com/chinna_chetan05/forfriends.html
Business Considerations in selecting Middleware: While middleware increases the level of abstraction, developers need to be prudent enough in their choice of services in deciding which components are to placed on which tier. Though the middleware implementations are suppose to be platform independent, many of these are vendor specific like COM/DCOM from Microsoft. Thus they need to be compiled for a specific platform or need an interpreter. The availability of development tools like C++, Visual Basic, Java are key for customized development middleware services. The components in general and those that involve business logic should be easily replaceable.Another consideration is that a good middleware should not be visible to client. It should seamlessly connect the client to back end. While these are technical and aesthetic considerations, there are also strategic business factors to be considered. Normally in an enterprise there are islands of application developed over period of time. They reside on heterogeneous platform across various functional units of an organization. As businesses become competitive, there is crucial need by business owners to have information on state of business at any moment. Moreover the need for better customer service demands integration of these applications. This is where middleware has to play an important role in Enterprise Integration.
10 Email:
[email protected]
Visit: www.geocities.com/chinna_chetan05/forfriends.html
Controls & Security Considerations The scope of middleware deployment is broad and as such should be tackled from business perspective rather than from only technical one. When middleware deployment should focus on these issues:-The selection of middleware is a crucial decision. While legacy systems are web enabled leveraging the power of middleware, certain controls existent may not be relevant or has to be reengineered. Data, which hitherto was accessible only to select few in an enterprise, there is a risk of it being available to malicious hackers. Authentication and Authorization: In message oriented middleware (MOM), as programs communicate with other programs, messages need to be authenticated, encrypted and authorized by MOM managers. As various applications publish their messages, due care has to be taken as which recipient applications can subscribe to these messages. Similarly in application servers communication with front end web server and back-end database server need to protected from unauthorized access and network eavesdropping as shown in Figure
Similarly in TP monitors, transaction context type in database need to be secured. In this, the context or permissions to select, insert, update, delete and execute needs to be controlled.
Auditing: Middleware deployments irrespective of type of implementation should be auditable through logs and reporting tools. This includes unauthorized access, enhancing the privilege attempts and application warning messages. Besides middleware code-review should be done through assistance of expert application programmers.
11 Email:
[email protected]
Visit: www.geocities.com/chinna_chetan05/forfriends.html
The inside/rear of a Dell PowerEdge web server, which is using the Apache web server software
MESSAGE ORIENTED MIDDLEWARE (MOM) There are also many ways how Middleware products can be categorized. One division is as follows: database middleware, remote procedure call (RPC), object request broker (ORB), transaction processing (TP) monitors and message-oriented middleware (MOM). These categories are not always clearly isolated from each other as we'll see later. 12 Email:
[email protected]
Visit: www.geocities.com/chinna_chetan05/forfriends.html Previous reference describes these terms shortly as follows: Database middleware performs only database access and it does not transfer calls or objects. RPC is a method that allows a machine to request service from another machine and ORB "is a tool that passes requests from clients to the object implementations on which they are invoked". TP monitors middleware supports queues that enforce message delivery and finally MOM middleware is an event-driven, asynchronous, non-blocking and message-based communication method that guarantees message delivery. The term "messaging" most often refers to electronic mail systems. MOM message movers, however, differ radically from mail systems, because they are high-speed, generally connectionless and are usually deployed for concurrently executing applications with a nonblocking sender. Message-queuing middleware (MQM) is a type of MOM that combines a high-speed message mover and a queuing (message storage) service . All MOM products introduced in this presentation are actually MQM products. However term MOM is used here to cover both MQM and MOM terms.
SOME COMMON PROPERTIES OF MOM. Messaging is an asynchronous method of passing information between programs. Many MOM products can support also the synchronous style of program-to-program communication, but this type of MOM feature is not covered in this presentation. Synchronous communication means e.g. that sender process, before it can continue, has to wait an acknowledgment from the responder. Queuing is a method of passing information indirectly through message queues. Messages are stored in queues until the recipient is ready to read it. Queuing frees the communicating parties from establishing connections with one another and other complexities of communicating directly. Online messaging is in real time, with message delivery typically occurring in seconds or even sub-seconds. MOM products guarantee delivery of high-value messages. Applications are isolated from communication networks which makes applications simpler, shields them from network changes, and provides greater network independence. Message Fairness Tuning (MFT) -- Occasionally, a network node will firehose its subscribers, generating messages at a rate so high that it overwhelms the system. This can cause a receiving node to bogart the over-producing message source, concentrating on that resource at the expense of other, lower-rate sources. Queue based processing makes it easy to transparently add servers as the workload increases, providing better load balancing. Asynchronous communication provides also time independence so that programs do not have to execute serially and take turns waiting on each other (non-blocking). Looser coupling between application elements are ideal for C/S and object-oriented computing, raising new application design possibilities. Fewer communication channels between computer systems are easier to manage and more efficient.
Messages can be persistent and non-persistent. Valuable messages can be defined as persistent that mean that they are written to non-volatile storage, from where they can be reinstated after a system restart. Non-persistent messages are stored only in memory. The latter method can be sufficient e.g. if the message queue is used only for monitoring purposes.
13 Email:
[email protected]
Visit: www.geocities.com/chinna_chetan05/forfriends.html Message queues can be read as FIFO or priority basis. Queues can be read at the same time they are updated that reduces the concept of batch window time.Contents of messages can automatically be translated according to recipients needs.
MOM ACROSS INTERNET. "With MQSeries Internet Gateway, any Web server machine that supports CGI, such as IBM Internet Connection Server, can provide any Internet-connected Web browser, such as Netscape Navigator, with transparent access to MQSeries applications (picture below). Because the Gateway uses the standard Common Gateway Interface it should also work with other well-
known Web servers that support CGI".The Gateway provides a number of services to the Internet Connection Server. These include: management of multiple concurrent users Data conversion, e.g. ASCII-EBCDIC
a timely response service to the Web browser client. This provides information about the progress of the asynchronous MQSeries application running locally, or on a remote machine connected to the Web server via the Internet or another network. No other application software is required on the server, but the MQSeries application must interpret HTML-type data requests from the Web browser and generate HTML pages in reply. Existing MQ applications can use the MQSeries Internet gateway if a customized, Web-aware application component is placed on the application server. This converts between the Web browser's hypertext request and replies, and the application's internal message structure. A server 14 Email:
[email protected]
Visit: www.geocities.com/chinna_chetan05/forfriends.html component can coordinate requests to several MQSeries applications and a response to the Web browser. It can also act as a request broker coordinating access to multiple legacy environments. In BEA's architecture Internet connections are established via product called BEA Jolt.
ADVANTAGES OF MOM.
Streamlines business processes and helps raise organizational efficiency. Real time information access among systems. Maintains information integrity across multiple systems.
DISADVANTAGES OF MOM. 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. 15 Email:
[email protected]
Visit: www.geocities.com/chinna_chetan05/forfriends.html 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.
CONCLUSION:
Middleware technologies are very important to succeed with an incremental migration of legancy systems into client/server systems. While functional units across the enterprisemay operate independently, middleware technology can be leveraged to provide integrated solution for better customer service and enhanced management information services.
REFERENCES: •
CLIENT/SERVER PROGRAMMING WITH JAVA AND CORBA.
AUTHORS: (ROBERT ORFAIL AND DAN HARKEY, JOHN WILEY & SONS). •
CLIENT/SERVER COMPUTING . AUTHORS:(DT DEWIRE,TMH).
16 Email:
[email protected]