100% found this document useful (1 vote)
502 views3 pages

Types of Middleware Explained

Middleware facilitates communication between software systems and applications. There are two main types of middleware models: logical, which depicts conceptual information flow, and physical, which depicts actual information movement and technologies. Middleware can be point-to-point, connecting two applications, or many-to-many, connecting multiple applications with more flexibility. Asynchronous middleware moves information without dependencies between applications, allowing them to continue processing, while synchronous middleware tightly couples applications that must wait for responses. Common middleware types include RPC, message-oriented middleware using queues, distributed objects, database integration, and transaction processing.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
502 views3 pages

Types of Middleware Explained

Middleware facilitates communication between software systems and applications. There are two main types of middleware models: logical, which depicts conceptual information flow, and physical, which depicts actual information movement and technologies. Middleware can be point-to-point, connecting two applications, or many-to-many, connecting multiple applications with more flexibility. Asynchronous middleware moves information without dependencies between applications, allowing them to continue processing, while synchronous middleware tightly couples applications that must wait for responses. Common middleware types include RPC, message-oriented middleware using queues, distributed objects, database integration, and transaction processing.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

MIDDLEWARES  The applications are dependent on the

middleware to process one or more functions


 Middleware is any type of software that facilitates calls at a remote application.
communication between two or more software  Calling application must halt processing to
systems. wait for the remote application to respond.
o Can be simple communication connection Asynchronous is preferred over synchronous
between applications. application integration solution.
o Can be as sophisticated as information
sharing and logic execution mechanisms. Synchronous middleware faces problems
 Middleware is a technology that allows us to move such as network or remote server problems.
information between multiple enterprises. o Therefore, application has to stop
Middleware Models processing.
 Synchronous middleware eats up bandwidth
There two types of middleware models: because several calls must be made across the
1. Logical network in support of a synchronous function
o Depicts how information moves throughout call.
the enterprise conceptually. Communication Models
2. Physical  Connection-oriented communication
o Depicts both the actual method of o Two parties connect, exchange messages
information movement and the technology and then disconnect.
employed. o Typically, synchronous process, but it can
Point-to-Point Middleware be asynchronous.
 Connectionless communication
Point-to-point middleware uses a simple pipe to allow one o Calling program does not enter into a
application to link to another application. connection with the target process.
o Receiving application simply acts on the
 Provides point-to-point connection between a source
request, respond if required.
and a target application.
 Direct communication
Disadvantages
o Middleware layer accepts the message
 Inability to bind more than two applications from the calling program and passes it
 Lacks ability to house application logic directly to the remote program.
 Lacks ability to change messages as they  Usually synchronous in nature
flow through the pipe  Fire and forget
o This model allows the middleware user to
“fire off” a message and then “forget”
about it,
 Without worrying about who
receives it or even if the message
Many-to-Many Middleware is ever received.
o The purpose of this model is to allow a
Links many applications to many other applications. source or target application to broad cast
specific type of messages to multiple
Can deal with more than two source or recipients.
target applications.
 This capability makes it the best option for Communication Model: Queued communication
application integration.  Generally, requires a queue manager to place a
 It provides flexibility and applicability to the message in a queue.
application integration problem domain.  The remote application then retrieves the message,
Synchronous vs Asynchronous either shortly after it has been sent, or at any time in
Asynchronous middleware moves information between one the future.
or many applications in an asynchronous mode.  Receiving application need not to be active when
calling application sends the message
● i.e., the middleware software is decoupled from the  Does not block neither remote nor calling application
source or target applications from proceeding with processing.
● Applications are not dependent on other connected
applications for processing.
● Application can always continue processing,
regardless of the state of the other applications.
Synchronous middleware is tightly coupled to
applications.
o Direct coupling with the middleware
mechanism and the application is not
 required
 MOM relies on asynchronous paradigm
Communication Model: Publish/Subscribe o This allows application to function
 Frees an application from the need to understand independently
anything about the target application.  i.e., continue processing after
 Publisher is the provider of the information about a making a middleware service
topic. request.
 Publisher sends information it desires to share to any o Message is dispatched to a queue message,
interested applications (subscribers). which ascertains that message is delivered to
 Publisher does not need to understand anything about its final destination.
applications that are interested in the information. o Messages returning to the calling application
Communication Model: Request response are handled when the calling application
 As name implies, a request is made to an application finds the time.
using request response middleware, and it responds to  Managing are easy to manage using MOM as it has
the request. structure (schema) and content (data).
 Includes any middleware that can facilitate a response o MOM can be thought as one-record database
from a request between applications, such as integration that move between applications through
servers or application servers. message-passing mechanisms.
 MOM supports two communication models
o Point-to-point
o Message queuing (MQ)
3. Distributed Objects
 Small application programs that use standard
interfaces and protocols to communicate with one
Types of Middleware another.
1. RPC
 Provide mechanisms for application development,
2. Message-oriented middleware (MOM)
providing enabling technology for enterprise, or
3. Distributed objects
enterprise wide method sharing.
4. Database-oriented middleware
 There are two types of distributed objects in market
5. Transactional middleware
today.
6. Integration servers
o Common Object Request Broker
1. Remote Procedure Calls (RPC) Architecture (CORBA)
o Component Object Model (COM)
 Oldest type of middleware
 Provide ability to invoke a function within one program
and have that function execute within another program
on a remote machine.
 RPC is synchronous
o i.e., RPC must stop the execution of the
program
 They also require more bandwidth than other types of
middleware. 4. Database-Oriented Middleware
 Advantage of RPC is its simplicity for mechanism and  Facilitates communication with a database, whether from
programming. an application or between databases.
 Disadvantage is are its huge performance cost and  Can be used as mechanism to extract information to
inability to scale. extract from either local or remote databases.
 Works with two basic database types
o Call-level interfaces (CLI)
 Common APIs that span several types of databases,
providing access to any number of databases through a
well-defined common interface.
 Open Database Connectivity (ODBC)
o Native database middleware
2. Message-Oriented Middleware (MOM)
 MOM is queuing software that uses is message as a
mechanism to move information from point to point.
 MOM uses the notion of messages to communicate
between applications,
5. Transaction-Oriented Middleware  Facilitates information movement between two or more
 Provides mechanism for coordination information resources and can account for differences in application
movement and method sharing between many different semantics and platforms.
resources. o Without any application necessarily understand
o Provides tightly coupled integration anything about other.
 Requires changes with source and target  applications it shares information with
applications  Can also join many applications by using common rules
 Based on concept of transaction and routing engines.
o A unit of work with a beginning and an end o Can transform the schema and content of the
o Application logic is encapsulated within a information as it flows between various
transaction applications and databases
 Transaction either completes or is rolled  Can broker messages between two or more source or
back completely target systems.
 Two types of transaction-oriented middleware
o TP monitors
o Application servers
TP Monitors
● Provide mechanism to facilitate the communication
between two or more applications as well as a
location for application logic.
● Provides scalability by sharing and processing
transactions among other connected TP monitors.
● Provide connectors to databases, other applications
and queues.
o These connectors require some application
● Once connected these resources are integrated into
the transaction and leveraged as part of the
transaction.
o As a result, can recover, if failure occurs
● Provides two services Tough Choices
o Guarantee the integrity of transactions  RPCs are slow, but their blocking nature provides best
o Resource management and run-time data integrity control.
management services. o Updates are always applied in the correct order
● TP monitors greatest performance value is in their  Asynchronous layer to access data may seem to be the
load-balancing feature. best solution, as it does not block processing.
o Allows them to respond gracefully to a o But there is no way to guarantee that an
barrage of transactions. update will occur in a timely manner.
o As demand increases, the transaction  Messaging could provide better performance because
manager launches more server processes to the queue manager offers sophisticated performance-
handle the load even as it kills processes that enhancing features as such as load balancing.
are no longer required.  Presence of easy-to-use interface will take the power of
middleware and place it in hands of the business user.

Application servers
 Provide application logic sharing and processing and for
connections to back-end resources.
o Resources such as databases, ERP applications
and even traditional mainframe applications
o Provide user interface mechanisms
o To deploy applications to the web platform
6. Integration Servers

Common questions

Powered by AI

The publish/subscribe model simplifies interactions by eliminating the need for applications to have detailed knowledge of each other . A publisher sends information, which any interested subscribers can receive without publishers having to know about potential recipients . This contrasts with direct communication models, where the sending application must specifically direct messages to known receivers, necessitating understanding between entities . This decouples the publishing process from subscription, enabling more scalable and flexible message distribution across systems .

RPCs are synchronous, requiring the calling application to pause until the procedure is executed on a remote machine, which incurs a large performance cost and demands significant bandwidth, making RPCs less suitable for scaling . They are best in scenarios requiring strict data integrity control, ensuring updates occur in order . On the other hand, MOM operates asynchronously, allowing applications to continue processing without waiting on a message response, thereby enhancing performance and scalability by decoupling applications from the middleware mechanism . MOM is ideal for asynchronous operations where message queuing ensures reliable message delivery without affecting application processing .

The 'fire and forget' model supports application independence because the middleware user can send a message without concern for who receives it or even if it is received . It allows a source application to broadcast messages freely without expecting immediate responses. Meanwhile, 'queued communication' enhances message delivery certainty by using a queue manager to store messages until the receiving application retrieves them . This ensures that messages can be processed even if the receiving application is not active at the time of sending, thus providing both applications the freedom to operate independently .

CLI provides access to various databases through common APIs, allowing enterprise applications to connect with multiple database systems without needing to accommodate each database’s specific communication methods . This makes CLI preferable in heterogeneous environments where interoperability is critical . Native database middleware, while sometimes offering performance benefits through direct, optimized access, sacrifices this broader reach and flexibility, potentially complicating integration with diverse database systems .

Asynchronous middleware is preferred because it decouples the middleware software from the source or target applications, allowing applications to continue processing regardless of the state of other connected applications . This architecture avoids the necessity for applications to halt operations due to network or remote server issues, hence avoiding the bandwidth consumption associated with synchronous communication, which results from multiple network calls required for synchronous function execution .

Point-to-point middleware provides a direct connection between a source and a target application, making it unsuitable for more complex interaction without additional work because it cannot bind more than two applications, lacks application logic, and cannot modify messages in transit . In contrast, many-to-many middleware can connect multiple source and target applications, offering greater flexibility and applicability for application integration . This model is better suited for complex environments requiring robust integration capabilities .

MOM is advantageous in scenarios requiring high scalability and resilience, such as distributed enterprise applications where asynchronous communication is beneficial . MOM allows applications to operate independently, ensuring message delivery without necessitating real-time acknowledgement, which is crucial in environments where network conditions fluctuate . Traditional function calls, which rely on synchronous, blocking mechanisms, may impose delays or dependency issues in such environments . Thus, in applications demanding robust message routing and lower bandwidth use, MOM proves significantly beneficial .

Integration servers manage information movement by using common rules and routing engines, which allow them to transform the schema and content of information as it flows between different applications and databases . They broker messages between multiple source or target systems, facilitating communication without requiring individual applications to understand each other’s semantics or platforms . This flexibility helps in seamlessly integrating heterogeneous systems within enterprises .

An asynchronous layer provides a performance advantage by allowing applications to continue processing after a data access request without blocking, which increases system efficiency and throughput . This model excels in environments prone to network latency or where data retrieval times are unpredictable. However, the main trade-off involves data integrity and ordering, as updates through asynchronous operations may not occur in the expected sequence, potentially leading to state inconsistencies . Synchronous models, by pausing processing until a data operation completes, ensure operations occur in a precise, expected order, thus offering higher integrity, though at the cost of increased latency and reduced performance .

Transaction-Oriented Middleware with TP monitors offers benefits such as facilitating communication and processing transactions across multiple applications, ensuring transaction integrity, providing resource management, and supporting scalability through load-balancing as demand rises . However, the tightly coupled nature of this middleware requires both source and target applications to change for integration, which can be a significant drawback in terms of flexibility and ease of deployment . This tight integration also defines a specific transaction unit, potentially limiting how applications interact without modifying their structure .

You might also like