0% found this document useful (0 votes)
1K views27 pages

Lecture 6 - Intersystem Communication - Part 1

Middleware is software that connects different computer systems and applications. It provides common services like data management, communication, distribution, and presentation. Examples include CORBA, DCOM, transaction processing monitors, and mobile middleware. Middleware can benefit large enterprises by streamlining business processes, maintaining data integrity, and enabling real-time communication across different systems. However, middleware also faces challenges like high development costs, lack of standards and expertise, and potential lack of benefit for small businesses with minimal system integration needs.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views27 pages

Lecture 6 - Intersystem Communication - Part 1

Middleware is software that connects different computer systems and applications. It provides common services like data management, communication, distribution, and presentation. Examples include CORBA, DCOM, transaction processing monitors, and mobile middleware. Middleware can benefit large enterprises by streamlining business processes, maintaining data integrity, and enabling real-time communication across different systems. However, middleware also faces challenges like high development costs, lack of standards and expertise, and potential lack of benefit for small businesses with minimal system integration needs.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

Intersystem Communication

PART 1 OF LECTURE PRESENTATION


Intersystem Communication
• the communication between set of heterogeneous systems that are
integrated together
Middleware Technologies
• Middleware is the “glue” (aka. software glue) that connects diverse
computer systems.
• Middleware makes it easier for software developers to implement
communication and input/output, for them to focus on the specific
purpose of their application.
• Gained popularity in the 1980’s as a solution to the problem of linking
newer applications to older legacy systems
The term middleware is used in various
contexts, for example:
• As a software driver, an abstraction layer that hides details about
hardware devices or other software from an application
• The android operating system utilizes middleware libraries to implement
device-specific functions, so applications and the application framework
interface smoothly with variations between various Android devices
• Middleware can also refer to the software that separates two or more
APIs and provides services such as rate-limiting, authentication, and
logging
• Game engine software (e.g., Gamebryo and RenderWare) are described
as middleware, they provide many services to simplify game
development
Middleware in distributed applications
• In distributed applications, the middleware can be described as the
dash (“-”) in client-server, or the “-to-” in peer-to-peer
• ObjectWeb defines middleware as: “the software layer that lies between the
operating system and applications on each side of a distributed computing
system in a network”.
• Database access services are characterized as middleware such as
ODBC and JDBC
• Other services that can be regarded as middleware include enterprise
application integration, data integration, message oriented
middleware, object request brokers, and enterprise service bus
Various services provided by Middleware
• Data Management Services (i.e., Database and file system middleware)
• Communication Services (i.e., RPC (Remote Procedure Call) and messaging
middleware)
• Distribution Services (i.e., location, time and security services middleware)
• Object Management Services (i.e., Object Request Brokers)
• Application Co-operation Services (i.e., Transaction-Processing (TP)
monitors, e-mail, etc.)
• Presentation Services (i.e., User Interfaces, printing and multi-media
middleware)
• System Management Services (i.e., Configuration-, change-, operations-,
problem-, and performance-management services)
Database Management Services
• One example of a middleware supporting database management
features is CI-Link from Cornut Informatique in France. CI-Link is a
middleware that connects MS-Windows and Mac applications to SQL
databases under Unix. CI-Link is compatible with the several relational
DBMSs like Oracle, Informix, Ingres and Progress.
• Accessworks from Oracle Corporation – provides a desktop API via
ODBC, SQL services, and read/write access to a wide area of
databases. Accessworks is available for the most common client
desktops such as MS-DOS, MS-Windows, OS/2, Macintosh, Open
VMS, and UNIX systems.
Communication Services
• Middleware supporting the communication services can be divided
into two groups: RPC and messaging systems
• RPCs provide facilities for synchronous procedure calls on remote
systems as if they were local
• DCE (Distributed Computing Environment) from OSF, also available on most
Unix hardware vendors, is the most famous RPC toolset
• Messaging middleware enables distributed applications to send and
receive messages asynchronously using a set of APIs.
• One example of such a middleware API is Communications Integrator from
Covia Technologies
Remote Procedure Call
• One of the basic
forms of middleware
• Passes messages
between components
of a distributed application that are located on different computers on
a network
• In OOP, RPCs have become RMIs (Remote Method Invocations)
• Analogous to a function call. When an RPC is made, the calling
arguments are passed to the remote procedure and the caller waits
for a response to be returned from the remote procedure
Object Management Services
• Tools supporting object management services use ORBs (Object
Request Brokers) to provide transparent communications between
objects on different locations in a network.
• OMG’s CORBA is an example of this technology. IONA’s ORBIX is a
popular implementation of CORBA
• Not only with objects, CORBA also is a middleware that provides
communication with WWW, RDBMs (Relational Database Manager),
and ODBMs (Open Database Manager)
CORBA (Common Object Request Broker
Architecture)
• A middleware platform that supports standardized object-oriented
approach for building and integrating distributed software
applications
• Developed by the Object Management Group (OMG)
• CORBA utilizes a broker:
• an intermediary handling requests in a system
• facilitates communication between clients and server objects
• separates a component’s interface from its implementation
COM/DCOM (Distributed Component Object
Model)
• a proprietary Microsoft technology for communication between
software components on networked computers
• enables inter-process communication object creation in a large range
of programming languages
• DCOM extended the reach of COM from merely supporting a single
user with separate applications communicating on the Windows
desktop, to activating objects running under different security
contexts, and on different machines across the network
• DCOM was a major competitor to CORBA
Distribution Services
• The distribution services can be divided into three categories: location
services, security services, and time services
• Tools supporting location services provide a directory and naming
service
• The directory service allows a client to access a remote file, a remote table ,
or a remote process without having to know where that object is physically
located in the network
Application Co-operation Services:
• Tools supporting application co-operation services are providing
support for large number of concurrent users that access transactions
programs and services (i.e., databases, security, workflows)
• Support local and distributed load balancing to optimise performance
• Synchronize data updates to multiple databases databases during
single transaction using standard protocols
• Tuxedo from Novell is an example of a transaction processing (TP) monitor
that provides the above features. TP monitors enable management of
thousands of users, concurrent database accesses, and large volumes of data
Transaction Processing (TP) Monitors
• One of the oldest and better engineered form of middleware
• The IBM Customer Information and Control Systems (CICS) was one of
the earliest TP monitors developed in the late 60’s
• Modern TPs come in two flavors: TP-Lite and TP-Heavy
Presentation Middleware
• Tools supporting presentation services provide features for mapping
GUIs and transparent printing
• These services are often included in other tools but there are
dedicated tools for mapping character based UIs into GUIs
• X Windows is an example of a toolset that providing presentation
services
Mobile Middleware (MM)
• MM is a software component that can be integrated with any
application to add mobility. It constitutes services that can be
transmitted over the mobile network to clients on the move.
• Example is a Mobile Agent, it is a program that, once it is launched, it
can move autonomously from node to node in the network. A mobile
agent interacts with the local system in a controlled way, through a
set of well-defined interfaces provided by the agent platform.
Middleware and Telephony
• Middleware in computer telephony tends to be a software that sits
right above that part of the operating system that deals with
telephony. That is the Telephone Server Application Programming
Interface (TSAPI) in NetWare and Telephone Application Programming
Interface (TAPI) in Windows.
• TAPI is an evolutionary API providing convergence of both traditional
PSTN telephony and IP Telephony. IP telephony is an emerging set of
technologies enabling voice, data, and video collaboration over
existing LANs, WANs, and the Internet.
TAPI Objective
Advantages of middleware
• Real-time communication/information access among systems despite
differences in platforms and protocols
• Enterprise level scaling - streamlines business processes and helps
raise organizational efficiency
• Maintains information integrity across multiple systems
• Traffic management, both inbound and outbound
Middleware challenges
• Prohibitive development cost
• EAI implementations are time-consuming, and need lots of resources
• Few experienced people in the marketplace
• Relatively few satisfying standards
• Middleware products/tools are less mature
• For small companies with minimal inbound/outbound transaction
traffic, middleware may not provide as much advantage compared to
larger enterprises
EAI/Middleware Leaders
• BEA Systems
• CrossWorlds Software
• IONA Technologies
• Level 8 Systems
• Mercator Software
• NEON
• SeeBeyond
• Software AG
Final note on middleware
• Middleware technologies have become important in the success of
incremental migration of legacy systems into distributed (client-
server) systems. However, it is hard to find the correct tools and
people to perform and accomplish the work.
Answer the following questions…
1) What is middleware (10 pts)?
2) Discuss the different types of middleware (20 pts).
3) When can a middleware become beneficial (10 pts)?
4) Discuss the challenges or disadvantages of middleware (10 pts).

You might also like