Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Middleware: Enabling Distributed Applications and Communication Across Networks, Study Guides, Projects, Research of Architecture

An overview of middleware, its purpose, origin, and technical details. Middleware is software that allows multiple processes to interact across a network, essential for migrating mainframe applications to client/server and heterogeneous platforms. It includes services for application programming interfaces (API), transaction processing, messaging, and distributed processing.

What you will learn

  • What are the most widely-used middleware initiatives?
  • What services does middleware provide for distributed applications?
  • What is middleware and what is its purpose?
  • How does middleware enable communication across heterogeneous platforms?
  • How does messaging middleware facilitate communication between applications?

Typology: Study Guides, Projects, Research

2021/2022

Uploaded on 09/12/2022

jannine
jannine 🇺🇸

4.9

(14)

240 documents

1 / 33

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
AP 04/03
What is Middleware?
Software that functions as a conversion or translation layer.
It is also a consolidator and integrator.
Custom-programmed middleware solutions have been developed for
decades to enable one application to communicate with another that
either runs on a different platform or comes from a different vendor or
both.
Today, there is a diverse group of products that offer
packaged middleware solutions.
Application
Middleware
Operating System
Application
Middleware
Operating System
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21

Partial preview of the text

Download Middleware: Enabling Distributed Applications and Communication Across Networks and more Study Guides, Projects, Research Architecture in PDF only on Docsity!

What is Middleware?

Software that functions as a conversion or translation layer.

  • It is also a consolidator and integrator.
    • Custom-programmed middleware solutions have been developed for decades to enable one application to communicate with another that either runs on a different platform or comes from a different vendor or both.
  • Today, there is a diverse group of products that offer

packaged middleware solutions.

Application Middleware Operating System Application Middleware Operating System

The Middleware Layer

Distributed Application Middleware API Middleware Operating System API Operating System (Proceses, Communication, Memory Management) Distributed Application Middleware API Middleware Operating System API Operating System (Proceses, Communication, Memory Management) Network

Technical Detail

  • Middleware services are sets of distributed software

that exist between the application and the operating

system and network services on a system node in the

network.

Middleware Services

  • provide a more functional set of Application

Programming Interfaces (API) than the operating

system and network services to allow an application to

  • locate transparently across the network, providing interaction with another application or service
  • be independent from network services
  • be reliable and available
  • scale up in capacity without losing function

TP Monitors‘ Characteristics

  • Tend to do far more than coordinate and monitor transactions across multiple data resources. - Enhance the performance, reliability, and scalability of server-side systems. - TP monitors establish a framework for creating server-side applications. - A TP monitor can reliably and efficiently manage the resources needed by applications that conform to the TP monitor’s rules.
  • CICS (Customer Information Control System) and IMS/TM (a message-based transaction manager) are the transaction processing workhorses of the mainframe environment.
  • On UNIX systems, BEA’s TUXEDO, BEA’s TOP END, and IBM’s Encina are the most widely used TP monitors.

Messaging Middleware

Common interface and

transport between applications.

  • Stores the data in a message queue if the target machine is down or overloaded
  • May contain business logic that routes messages to the appropriate destinations and reformats the data as well.
  • Similar to an e-mail messaging system, except that it is used to send data between applications.

Distributed Processing

  • Distributed object systems such as CORBA, DCOM and EJB enable processes to be run anywhere in the network.
  • They differ from messaging middleware in that they cause processes (components/objects) to be executed in a synchronous fashion rather than sending data asynchronously.

Remote Procedure Calls

  • Remote Procedure Calls (RPCs) enable the logic of an

application to be distributed across the network.

  • Most prominent examples:
    • SUN RPC, introduced with the network file system (SUN NFS),
    • DCE RPC, served as technical foundation of Microsoft’s COM.
  • Object Request Brokers (ORBs) enable the objects that

comprise an object-oriented application to be

distributed and shared across heterogeneous networks.

  • Extending the procedural programming model of RPC,
  • Distributed object systems such as CORBA, DCOM, .NET, and EJB enable processes to be run anywhere in the network.

Common Interfaces

  • Common programming interfaces between applications

are considered middleware.

  • Open Database Connectivity (ODBC) enables applications to make a standard call to all the databases that support the ODBC interface.

Application Server Middleware

  • A Web-based application

server that provides

interfaces to a wide variety of

applications is used as

middleware between the

browser and legacy systems.

  • The browser can be used at desktops or on laptops when travelling.
  • A wide range of server-side processing has been supported by appservers (i.e.;J2EE).

Usage Considerations

  • The main purpose of middleware services is to help solve many application connectivity and interoperability problems. However, middleware services are not a panacea: - There is a gap between principles and practice. Many popular middleware services use proprietary implementations (making applications dependent on a single vendor's product). - The sheer number of middleware services is a barrier to using them. To keep their computing environment manageably simple, developers have to select a small number of services that meet their needs for functionality and platform coverage. - While middleware services raise the level of abstraction of programming distributed applications, they still leave the application developer with hard design choices. For example, the developer must still decide what functionality to put on the client and server sides of a distributed application.

Types of Middleware Services

1. Distributed system services,

  • Critical communications, program-to-program, and data management services.
  • This type of service includes RPCs, MOMs and ORBs.

2. Application enabling services,

  • Access to distributed services and the underlying network.
  • This type of services includes transaction processing monitors and database services such as Structured Query Language (SQL).

3. Middleware management services,

  • Which enable applications and system functions to be continuously monitored to ensure optimum performance of the distributed environment.

Remoting Architectures

  • Open Software Foundation’s (OSF) Distributed

Computing Environment (DCE)

  • which actually is a distributed processing environment based on the Remote Procedure Call (RPC) paradigm (purely procedural)
  • Object Management Group’s (OMG) Common Object

Request Broker Architecture (CORBA).

  • The notion of component packaging and deployment has only recently been added to CORBA 3.0.

Component Architectures

  • Microsoft’s Component Object Model (COM)
    • addresses packaging and deployment of binary component as well as cross- language interoperability
  • JavaBeans and Enterprise Java Beans (EJB) component models introduced by SUN Microsystems.
  • Both, COM and EJB address remoting to some extend:
    • the COM model has been extended to Distributed COM (DCOM) using an extended version of DCE RPC as transport.
    • EJB supports client/server communication based on Java Remote Method Invocation (RMI).
    • RMI is special as it integrates closely with the Java language without requiring a special Interface Definition Language (IDL) to describe component interfaces accessible for remote invocations.
  • In an evolutionary sense, Microsoft’s .NET is the newest and most advanced component architecture available in the market today.