Vous êtes sur la page 1sur 16

Visit: www.geocities.com/chinna_chetan05/forfriends.

html

MIDDLEWARE TECHNOLOGY

1 Email: chinna_chetan05@yahoo.com
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: chinna_chetan05@yahoo.com
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: chinna_chetan05@yahoo.com
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: chinna_chetan05@yahoo.com
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: chinna_chetan05@yahoo.com
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 object-
oriented system.
 SQL-oriented Data Access — middleware between applications and
database servers.

Other sources include these additional classifications:

6 Email: chinna_chetan05@yahoo.com
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. Drop the ActiveM adapter onto your application.


2. Register (or subscribe) a Topic for publication.
3. 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: chinna_chetan05@yahoo.com
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: chinna_chetan05@yahoo.com
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: chinna_chetan05@yahoo.com
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: chinna_chetan05@yahoo.com
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: chinna_chetan05@yahoo.com
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: chinna_chetan05@yahoo.com
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 non-
blocking 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: chinna_chetan05@yahoo.com
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: chinna_chetan05@yahoo.com
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: chinna_chetan05@yahoo.com
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: chinna_chetan05@yahoo.com

Vous aimerez peut-être aussi