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.
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 ratings0% 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.
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).