160 likes | 169 Views
Explore various types of middleware applications, such as Distributed Objects, Messaging, and Application Server Middleware, and understand the architecture and functions of these services in Operating Systems and Distributed Systems.
E N D
Middleware-Based OS Application Application Application Distributed Operating System Services Distributed OS Networked OS Application Application Application Network OS Network OS Network OS MEIT
Middleware-based OS Application Application Application Middleware Operating System Services Networked OS Networked OS Networked OS MEIT
Generic Middleware • Communication stacks for c/s communication • Distributed directories for location • Authentication services for security • RPCs for accessing remote functionalities • Queuing services for synchronous & loosely coupled communications. MEIT
Key services • Remote Procedure Call • Directory service • Security service • Time service • Threading service • Distributed File service • IDL Compiler • Diskless service MEIT
Directory service • Cell Directory Service (CDS) • Global Directory Service (GDS) • Global Directory Agent (GDA) • Directory Service Programming Interface MEIT
Global Directory Agent (GDA) GDS GDA CDS MEIT
Directory Service Programming Interface Server Machine Client Machine RPC Server Client application Server Machine Clearing house CDS clerk Cache CDS Server MEIT
Service-Specific Middleware • Needs to accomplish a particular c/s type of service • OLTP middleware • Communication middleware • Object-specific middleware • Workflow management middleware • Internet-specific middleware MEIT
Database Middleware • Database Middleware provides a common interface between a query and multiple, distributed databases. • Using either a hub and spoke architecture or a distributed architecture it enables data to be consolidated from a variety of disparate data sources MEIT
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. MEIT
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). MEIT
Types of Middleware Services • Distributed system services, • Critical communications, program-to-program, and data management services. • This type of service includes RPCs, MOMs and ORBs. • 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). • Middleware management services, • Which enable applications and system functions to be continuously monitored to ensure optimum performance of the distributed environment. MEIT
Distributed Objects and Distributed Processing • Distributed objects have the biggest potential to solve a wide range of challenges faced by designers of large software systems. • Some of these challenges include • component packaging, • cross-language interoperability, • interprocess communication, and • intermachine communication. • We separate distributed object architectures into two categories: • component architectures and • remoting architectures. • Component architectures focus primarily on component packaging and cross-language interoperability. • Remoting architectures focus primarily on support for remote method invocation on distributed objects. MEIT
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. MEIT
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. MEIT