System Integration Module 3
System Integration Module 3
MID-TERM
LEARNING MODULE 3
IS 412
SYSTEMS INFRASTRUCTURE & INTEGRATION
Prepared by:
Middleware
Source: Next Generation Application Integration
What is Middleware?
Middleware is any type of software that facilitates communication between two or more
software systems
Can be a simple communication connection between applications
Can be as sophisticated as information sharing and logic execution mechanisms
Middleware is a technology that allows us to move information between multiple enterprises
Middleware Models
Point-to-Point Middleware
Point-to-point middleware uses a simple pipe to allow one application to link to another
application
Provides point-to-point connection between a source and a target application
Disadvantages
Inability to bind more than two applications
Lacks the ability to house application logic
Lacks the ability to change messages as they flow through the pipe
Many-to-Many Middleware
Synchronous vs Asynchronous
Communication Models
Connection-oriented communication
Two parties connect, exchange messages, and then disconnect
Typically synchronous process, but it can be asynchronous
Connectionless communication
Calling program does not enter into a connection with the target process
Receiving application simply acts on the request, respond if required
Direct communication
Middleware layer accepts the message from the calling program and passes it directly to
the remote program
Usually synchronous in nature
Fire and forget
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 is ever received
The purpose of this model is to allow a source or target application to broad cast specific
type of messages to multiple recipients
Frees an application from the need to understand anything about the target application
Publisher is the provider of the information about a topic
Publisher sends the information it desires to share to any interested applications (subscribers)
Publisher does not need to understand anything about applications that are interested in the
information
Types of Middleware
RPC
Message-oriented middleware (MOM)
Distributed objects
Database-oriented middleware
Transactional middleware
Integration servers
MOM is queuing software that uses messages as a mechanism to move information from point
to point
MOM uses the notion of messages to communicate between applications,
Direct coupling with the middleware mechanism and the application is not required
MOM relies on an asynchronous paradigm
This allows the application to function independently
i.e., continue processing after making a middleware service request
Message is dispatched to a queue message, which ascertains that message is delivered to
its final destination.
Messages returning to the calling application are handled when the calling application finds
the time
Managers are easy to manage using MOM as it has structure (schema) and content (data)
MOM can be thought of as a one-record database that moves between applications
through message-passing mechanisms
MOM supports two communication models
Point-to-point
Message queuing (MQ)
Distributed Objects
PHILIPPINE STATE COLLEGE OF AERONAUTICS
INSTITUTE OF COMPUTER STUDIES
Learning Module 03: Middleware
Small application programs that use standard interfaces and protocols to communicate with one
another
Provide mechanisms for application development, providing enabling technology for the
enterprise, or enterprise-wide method sharing
There are two types of distributed objects in the market today
1. Common Object Request Broker Architecture (CORBA)
2. Component Object Model (COM)
Database-Oriented Middleware
Transaction-Oriented Middleware
Provides a mechanism for coordination of information movement and method sharing between
many different resources
Provides tightly coupled integration
Requires changes with source and target applications
Based on the concept of transaction
A unit of work with a beginning and an end
Application logic is encapsulated within a transaction
A transaction either completes or is rolled back completely
Two types of transaction-oriented middleware
1. TP monitors
2. Application servers
TP Monitors
Provide a 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
These connections require some application development in order to communicate with
these various resources
Once connected these resources are integrated into the transaction and leveraged as part of the
transaction
As a result, can recover if a failure occurs
Provides two services
Guarantee the integrity of transactions
Resource management and run-time management services
PHILIPPINE STATE COLLEGE OF AERONAUTICS
INSTITUTE OF COMPUTER STUDIES
Learning Module 03: Middleware
TP monitors greatest performance value is in their load-balancing feature
Allows them to respond gracefully to a barrage of transactions
As demand increases, the transaction manager launches more server processes to handle
the load even as it kills processes that are no longer required
Application servers
Provide application logic sharing and processing and for connections to back-end resources
Resources such as databases, ERP applications, and even traditional mainframe applications
Provide user interface mechanisms
To deploy applications to the web platform
Integration Servers
Facilitates information movement between two or more resources and can account for
differences in application semantics and platforms
Without any application necessarily understanding anything about other applications it
shares information with
Can also join many applications by using common rules and routing engines
Can transform the schema and content of the information as it flows between various
applications and databases
Can broker messages between two or more source or target systems
Tough Choices
RPCs are slow, but their blocking nature provides the best data integrity control
Updates are always applied in the correct order
Asynchronous layer to access data may seem to be the best solution, as it does not block
processing
But there is no way to guarantee that an update will occur in a timely manner
Messaging could provide better performance because the queue manager offers sophisticated
performance-enhancing features as such as load balancing
Presence of easy-to-use interface will take the power of middleware and place it in hands of the
business user
PHILIPPINE STATE COLLEGE OF AERONAUTICS
INSTITUTE OF COMPUTER STUDIES
Learning Module 03: Middleware
HONESTY CLAUSE
and uphold standards of intellectual and academic integrity. Philippine State College of
Aeronautics assumes, as a basic and minimum standard of conduct in academic matters, that
students should be honest and that they submit for credit only the output/accomplishment of
______________________
Signature over Printed Name