1 / 200

Introduction to Middleware Technologies

Introduction to Middleware Technologies. Introduction. The integration of applications within and between business is made possible using middleware technology. . Learning Objectives. Need for Middleware Client/Server Building Blocks Generic Middleware Service-Specific Middleware

terah
Download Presentation

Introduction to Middleware Technologies

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Middleware Technologies

  2. Introduction • The integration of applications within and between business is made possible using middleware technology.

  3. Learning Objectives • Need for Middleware • Client/Server Building Blocks • Generic Middleware • Service-Specific Middleware • RPC Middleware • Message-oriented Middleware (MOM) • Java RMI

  4. Need For Middleware

  5. Middleware • Till 1980s most of computing was based on central host computers equipped with powerful processors and memory • Users interact with the host through the terminals that capture keystrokes and send the information to the host • Bottlenecks of this architecture are: • Processing power is limited to that of central host system. • Over dependence on the vendor for application software. • Lack of support for GUI and access to multiple dBs • Mainframes are an example of this architecture

  6. Middleware • With the advent of PCs the files are downloaded from the shared location, processed and uploaded back to the file server. • The file server approach had a major drawback as it generated too much n/w traffic. • However, with the emergence of the client/server architecture the computing power for process management was distributed between file and server • For example, the client could query database server using relational database management systems through SQL • The results of the query are send to the client which then manipulates and processes the data.

  7. Middleware • This 2 tier client/server architecture has a scalability limitation as the server is unable to contain the load when the number of users grows beyond a certain limit. • Moreover, any changes in applications or parameters would entail changes at all clients. • To overcome these limitations, middle tier was added between the user system interface client environment and dB management server environment • This middleware provides for connectivity across the heterogeneous platform. • A middleware is in some way analogous to a middleman who acts as a translator between a 2 people speaking different languages.

  8. Middleware • Some of the design constraints of a good client/server system are as follows: • Facility to hide communication details • Language and platform independency • Enable processing on client or server or both • Middleware has emerged as a solution to satisfy these constraints. • Middleware is a distributed s/w that aids in transparent communication between client and server. • It runs on both the client and the server as shown in the following figure

  9. Middleware Middleware Logical View Physical View Middleware Middleware

  10. Middleware • In the client/server model, the client requests for a service to be provided by the server. • A proper s/w glue between client and server system is essential to support all interactions between them. • Middleware serves this purpose. • It plumbs 2 sides of an application and passes information between them. • It is a software that seamlessly integrates two disparate entities – the client and the server. • It includes all software needed to support interactions between the client and the server. • It starts with the client API that invokes the service, covers the transmission of request over the n/w and the resulting response

  11. Middleware • Middleware thus manages the interaction between disparate applications across the heterogeneous computing platforms • Middleware aids in business process integration, application integration, data integration, standards integration and platform integration. • Middleware exists between the application and the OS and network services on a system node in the n/w • Middleware services are sets of distributed software that provide an extension to the functional APIs provided by the OS and n/w services

  12. Middleware(advantages) • This increased functionality allows an application to: • Locate transparently across the n/w, provide interaction with another application or service. • Be independent from n/w services • Be reliable and available • Scale up in capacity w/o losing functionality • Be OS & PL transparent

  13. Middleware-Based Operating System • The OS for distributed computing can be networked OS, distributed OS or middleware-based OS. • Distributed OS • A distributed OS performs the same function as a uni-proccessor OS, but it runs on multiple CPUs • The goal of distributed OS is to hide and manage hardware resources. • It is manages as a single system. • Distributed OS may be multi-processor based or multi-computer based. • Multiple computers are homogenous or heterogeneous is nature.

  14. Middleware-Based Operating System • Distributed OS • Structure Application Application Application Distributed Operating System Services

  15. Middleware-Based Operating System • Networked OS • Distributed OS try to realize full system transparency, whereas in networked OS multiple computers are connected in a network. • The systems can be heterogeneous in nature • The user explicitly maintains an account in each machine • As nodes are independent of each other, they are easily extensible.

  16. Middleware-Based Operating System • Networked OS • Structure Application Application Application Network OS Network OS Network OS

  17. Middleware-Based Operating System • Network OS • The basic difference between a network OS and a distributed OS is that the network OS does not attempt to provide a single image view for any of its services. • Its main goal is to offer local services to remote clients. • The following are the characteristics of networked OS. • The individual nodes are highly autonomous • All distribution of tasks is explicit to the user • It includes software for providing remote access services and file transfer • Data/ device sharing is provided using networks • The advantage of networked OS is its scalability and of distributed OS is its transparency and ease of use

  18. Middleware-Based Operating System • Middleware-Based OS • Distributed OS does not have independent computers and network OS does not have a single coherent view. • Hence a middleware is added on top of network OS to combine the advantages of both distributed and network OS.

  19. Middleware-Based Operating System • Networked OS • Structure Application Application Application Middleware Operating System Services Network OS Network OS Network OS

  20. Middleware-Based Operating System Comparison of distributed, network and middleware-based OSs

  21. Middleware-Based Operating System • Middleware-Based OS (ORBExpress) • Middleware further raises the level of programming of distributed applications, as developers need not worry about the platform or operating systems. • Middleware is classified broadly as general middleware and service specific middleware based in whether it is generic or specifically provides a particular service • Middleware services can be implemented in transaction-processing monitors, message servers, RPCs and Object Request Broker (ORB) or application servers.

  22. Generic Middleware • It acts as a substrate for all client/server interactions. • It is analogous to a common translator who translated from Chinese, Spanish, French and Russian to English. • Such a middleware includes • the communication stacks for client/server communication, • distributed directories for location, • Authentication services for security, • RPCs for accessing remote functionalities & • Queuing services for asynchronous and loosely coupled communication. • Distributed file services and print services fall under this category. • Distributed Computing Environment is an example of generic middleware.

  23. Distributed Computing Environment • In a heterogeneous distributed environment, a common set of distributed services should be available to the applications. • The Open Software Foundation’s DCE is a rich s/w technology that enables the development of distributed applications across heterogeneous systems, taking advantage of open, distributed computing. • DCE is a suite of integrated services available from a vendor neutral source that enables organizations to develop, use an maintain distributed applications across heterogeneous networks. • It is used in WWW, stock markets, telecom services

  24. Distributed Computing Environment Applications Time Service CDS Security Service DFS Diskless Support Remote Procedure Call Thread Service Local Operating System & Transport Service

  25. Distributed Computing Environment • The key services required for supporting distributed applications provided by DCE are • Remote Procedure Call (RPC) • Directory Service • Security Service • Time Service • Threading Service • Distributed File Service • IDL Compiler • Diskless Support

  26. Distributed Computing Environment • Remote Procedure Call (RPC) • RPC between clients and servers facilitates efficient access of resources distributed across the network. • It provides portability and network independence. • At-most-once semantics over a connectionless protocol such as UDP is the default semantics of DCE RPC • The protocol is as follows: • Client sends request packet to server • Server sends response packet to client which acknowledges to the client the receipt of the request packet by the server • Client sends acknowledgement to server indication receipt of the response request

  27. Distributed Computing Environment • Remote Procedure Call (RPC) • Like ONC RPC, DCE RPC solves the problem of different data representations on different systems by translating the local data representations into a common data representation called NDR (Network Data Representation). • This is done using stubs generated by the interface definition language (IDL) compiler using IDL of the objects.

  28. Distributed Computing Environment • Directory Service • It allows clients to identify and locate servers by name. • The DCE directory service is a central repository for information about resources in the distributed system. • It provides a single naming model using X.500 • The information consists of the name of the resource and its associated attributes. • A DCE cell is a group of systems that share a namespace under a common administration. • The DCE directory service consists of 3 parts

  29. Distributed Computing Environment • Directory Service • Cell Directory Service (CDS) • Manages a database of information about the resources in a group of machines called a DCE cell. • It is a high performance distributed service that provides a consistent location-independent method for naming and using resources inside a cell. • Can also be used for communication between cells. • Enables DCE clients to locate compatible servers.

  30. Distributed Computing Environment • Directory Service • Cell Directory Service (CDS) • The directory services supports a hierarchical namespace structure similar to that found in common file systems • It consists of a root directory and a number of sub-directories. • Within each directory, there can reside zero or more leaf entries. • These entries contain structured information about the servers in the cell. • Each directory in the CDS namespace can hold 4 types of entries: • Directories, soft-links, clearinghouses & objects

  31. Distributed Computing Environment • Directory Service • Global Directory Service (GDS) • Implements an international standard directory service and provides a global namespace that connects the local DCE cells into a universal hierarchy. • The GDS client and server are based on the X.500 standard

  32. Distributed Computing Environment • Directory Service • Global Directory Agent (GDA) • The GDA is between the cell and the GDS. • It facilitates inter-operability between cells. • CDS needs to be able to contact at least on GDA to participate in the global naming environment. • GDA helps CDS access names outside a cell. • When CDS determines that a name is not in its own cell, it passes the name to a GDA, which searches the appropriate naming environment (DNS etc.) • The GDA then returns information that enables the original CDS server to contact the CDS server in whose cell the name resides

  33. Distributed Computing Environment • Directory Service • Global Directory Agent (GDA) GDS GDA CDS

  34. Distributed Computing Environment • Directory Service • A directory service programming interface • Both CDS and GDS are accesses using a single directory service API

  35. Distributed Computing Environment • Security Service • It ensures access between clients & servers. • It guarantees authenticity, integrity and privacy in communications. • Its authentication service is based on Kerberos. • Kerberos is a trusted service that validates the identity of a user or service. • After a user is authenticated he must be authorized to use the system resources. • The authorization service provides a simple, consistent way to manage access control information.

  36. Distributed Computing Environment • Time Service • Different components can obtain clocks from different computers. • This service facilitates precise, fault-tolerant synchronization of the system clocks throughout the n/w and reduces the load on the system administrator

  37. Distributed Computing Environment • Threading Service • It provides multiple threads of execution capability • It includes operations to create and control multiple threads of execution in a single process and to synchronize the access to global data within an application • It thus facilitates multiple servers to access multiple clients simultaneously.

  38. Distributed Computing Environment • Distributed File Service • It provides access to files across the n/w in a scalable, transparent, reliable, secure and efficient manner. • As it provides a client/server model, it is easy to use and efficient. • The benefits of the DFS are: • Capability to interoperate with Sun’s Network File System (NFS) • Improvement in performance due to caching of files • Support for small and large group of users • Secure RPC facilitates secure access to user files and directories

  39. Distributed Computing Environment • IDL Compiler • It is a compiler for converting high level interface descriptions of the remote procedures into portable C-language source codes. • Diskless Service • It allows low-cost workstations to use disks on servers.

  40. Service Specific Middleware • It is needed to accomplish a particular client/server type of service. • Some of the service-specific middleware are listed as follows: • Database Middleware: • It allows direct access to data structures and provides interaction directly with databases. • There are database gateways that provide a single system view of heterogeneous dBs. • ETLC packages come under this middleware category • Other examples are ODBC, ORACLE Glue, SQL etc.

  41. Service Specific Middleware • continued • Some of the service-specific middleware are listed as follows: • OLTP Middleware: • Transaction processing monitors provide tools and an environment for developing and deploying distributed applications that have to manage transactions. • This is a type of message queuing, transaction scheduling and prioritization service where the client connects to the middle tier which in turn connects to the back-end dB • The transaction is accepted by the monitor which queues it and then takes responsibility for managing it, thus relieving the client. • It has the ability to connect to different DBMS in a single transaction irrespective of whether it is a flat file or non-relational DBMS. • Examples are:? ATMI, Transactional RPC

  42. Service Specific Middleware • continued • Some of the service-specific middleware are listed as follows: • Communication Middleware • Sun RPC, ONC (Open N/W Connectivity) RPC • RPCs enable the logic of an application to be distributed across the n/w • The distributed program logic on remote systems can be executed like calling a local routine

  43. Service Specific Middleware • continued • Some of the service-specific middleware are listed as follows: • MOM – Message Oriented Middleware • Provides program-to-program data exchange enabling the creation of distributed applications. • MOM in analogous to email in the sense it is asynchronous and requires the recipients of messages to interpret their meaning and to take appropriate action • It increases flexibility of architecture by enabling applications to exchange messages with each other without the need to bother about underlying OS etc. • It is most appropriate for event driven applications • Examples are PEERLOGIC and IBM’s MOM

  44. Service Specific Middleware • continued • Some of the service-specific middleware are listed as follows: • Object-Specific Middleware • CORBA, Microsoft’s DCOM • These include ORBs which enable the objects that comprise an application to be distributed and shared across heterogeneous n/ws. • It facilitates reusability and interoperability of distributed objects

  45. Service Specific Middleware • continued • Some of the service-specific middleware are listed as follows: • Workflow Management Middleware • Can track transactions from launch to landing • Primarily focuses on the management of activity flow in a client/server system

  46. Service Specific Middleware • continued • Some of the service-specific middleware are listed as follows: • Portals • Front end integration through portals facilitates transactions between user’s desktops and back-end systems. • Portals integrate portlets which can work independently

  47. Service Specific Middleware • continued • Some of the service-specific middleware are listed as follows: • Internet-Specific Middleware • It is a type of communication middleware • It includes tools for communication such as HTTP, S-HTTP and SSL.

  48. Client Server Building Blocks

  49. Client Server Building Blocks • Clients • Thin Clients+ • Fat Clients+ • Runs the client side of the application • It runs on the OS that provides a GUI or an OOUI and that can access distributed services, wherever they may be. • The client also runs a component of the Distributed System Management (DSM) element.

  50. Client Server Building Blocks • Servers • Runs the server side of the application • The server application typically runs on top of some shrink-wrapped server software package. • The five contending server platforms for creating the next generation of client/server applications are SQL database severs, TP Monitors, groupware servers, Object servers and the Web server. • The server side depends on the OS to interface with the middleware building block. • The server also runs DSM component • It may be a simple agent or a shared object database etc.

More Related