Q. What are different models of middleware ? (May 16) (10 Marks)
Ans -
RPCs (Remote Procedure Call) Middleware
RPC exists
since the 1970s and are the oldest type of middleware and it is
client/server based. One client can request a service from a program
located in another computer in a network without having to understand
network details. RPCs are synchronous; they are labelled as
“blocking middleware” because the requesting program is suspended until
the results of the remote procedure are returned. As the RPC’s use a
point-to-point communication, they are not scalable and consume a vast
amount of resources during they processing . Despite the simplicity,
the complexity of their maintenance and performance issues, make this
middleware not a viable solution in scenarios where there are many
applications requiring integration.
MOM (Message Oriented Middleware)
MOM
is a type of middleware that uses messages as the method of integration. In MOM the applications are decoupled. Sender and receivers are
never aware of each other; instead they send and receive the messages
from the messaging system. It is the responsibility of the MOM to get
the messages to their destinations . The messaging system uses
channels that the applications can recognize and the messages can be
sent and received asynchronously. The asynchronous paradigm allows the
application to continue functioning after sending a request, so if the
message is taking too much time it is possible to process other messages
while is waiting, they can deal with down connections and queue
messages until it’s viable to deliver them . One established standard
is the JMS (Java Message Service), which provides an API and a set of
rules that govern message delivery.
Distributed Objects
Distributed
objects are small applications that use standard interfaces and
protocols to communicate with one another. Because they are built over
standards, two compliant objects should be able to exchange information
and carry out application functions by invoking each other methods.Two important distributed objects specifications exist, CORBA (Common
Object Request Broker Architecture) and DCOM (Distributed Component
Object Model). CORBA is an architecture and specification for creating,
distributing, and managing distributed objects in a network. It allows
different objects at different locations to communicate through an
interface broker. CORBA uses the ORB (Object Request Broker). ORB allows
an object to request services from other object without having to learn
his location in a distributed network using the CORBA Interface
repository to locate and communicate with a requested object. To enable
interoperability between different ORBs, the GIOP (General Inter-ORB
Protocol) and for the Internet, the IIOP Internet Inter-ORB Protocol)
were implemented, both over TCP/IP .DCOM (Distributed Component
Object Model) is the Microsoft equivalent to CORBA. It is based on the
DOM (Component Object Model) and provides a set of concepts and
interfaces that allows client objects request services from server
objects in a network. DCOM allows bridging with CORBA, mapping COM
objects to appear as CORBA objects.
Database Middleware
Database
middleware allows communications with a database from an application or
between databases. It is used to extract information from either local
or remote databases. It works with two database types, CLIs (Call level
interfaces) and at-native database middleware. CLIs provide access
to any number of relational databases through a common interface. On the
other way, native database middleware uses the features and functions
of a particular data base, using only native mechanisms. Although only
communicate with one database, it has as advantages, improved
performance and access to all low features of a particular type of
databases.
Transaction Processing Monitors
They
are a type of middleware that preserves the integrity of a transaction.
TP Monitors support features such rollback, failover, auto restart,
error logging and replication to eliminate single points of failure.
They provide a location for application logic in addition to
communication between two or more applications.
Message Brokers
Message
Brokers allow the information flow between applications. They can,
regardless the type of application, join them using common rules and
routing engines.
No comments:
Post a Comment