1 / 27

Middleware emergence

Distributed computing evolved from single-tier (terminal/mainframe) to 2-tier (client-server) to n-tier architecture To support heterogeneous environments open networking standards were introduced (i.e. OSI) How do we build/connect applications over a network? Answer: middleware.

davidj
Download Presentation

Middleware emergence

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. Distributed computing evolved from single-tier (terminal/mainframe) to 2-tier (client-server)to n-tier architecture To support heterogeneous environments open networking standards were introduced (i.e. OSI) How do we build/connect applications over a network? Answer: middleware Middleware emergence

  2. N-tier architecture • More scalable architecture that separates processing to different servers

  3. Middleware enables applications running across multiple platforms to communicate with each other . Middleware shields the developer from dependencies on Network Protocols, OS and hardware platforms. Middleware is a software layer that lies between the operating system and the applications on each site of the system. What is Middleware?

  4. Example of primitive middleware: ODBC Client application is shielded from the details of the database implementation Not true middleware: defines client side software only ODBC – primitive middleware?

  5. Homegrown Middleware Solutions RPC (Remote Procedure Calls) Object-Oriented MW - ORB (Object Request Brokers) MOM (Message Oriented Middleware) Transaction Processing Monitors Types of Middleware

  6. Customized to meet specific needs Needs substantial investments Pros Can meet specific needs Cons Not cost effective Lacks scalability Homegrown Middleware

  7. Procedure/Function Oriented Follows the Request/Reply Model Mode of Communication is synchronous Provides Location/Platform transparency Technologies: ONC RPC, DCE/RPC Remote Procedure calls

  8. Language Independent Provides Location and Access transparency Mode of Communication is Synchronous Competing Standards (CORBA, DCOM, RMI) Object Oriented

  9. Data is transferred between applications as a message Mode Of Communication :- Asynchronous Basic Components of MOM 1.Message (Information that needs to be transferred) 2.Queue (A container used to store and distribute messages) Types Of MOM 1. Message Queuing (Store and Forward) 2. Publish / Subscribe Products: IBM WebSphere MQ, TIBCO Rendezvous Message Oriented App-2 App-1 Queue

  10. Transaction Processing Monitors are used for coordinating and monitoring the efforts of various application in a distributed environment. Products: Tuxedo, IBM CICS, Microsoft Transaction Server Transaction Processing Monitors Client App App1 TPM App2 App3

  11. Transaction is a collection of operations that should be treated as a single logical operation. To ensure reliable transactions ACID properties are needed Property of Transactions

  12. ACID properties: A: Atomicity: either the entire set of operations happens or none of it does. Property of Transactions

  13. ACID properties: A: Atomicity: either the entire set of operations happens or none of it does. C: Consistency: the set of operations taken together should move the system from one consistent state to another. Property of Transactions

  14. ACID properties: A: Atomicity: either the entire set of operations happens or none of it does. C: Consistency: the set of operations taken together should move the system from one consistent state to another. I: Isolation: even though multiple transactions may operate concurrently, there is a total order on all transactions. Stated another way: each transaction perceives the system as if no other transactions were running concurrently. Property of Transactions

  15. Transaction is a collection of operations that should be treated as a single logical operation. ACID properties: A: Atomicity: either the entire set of operations happens or none of it does. C: Consistency: the set of operations taken together should move the system from one consistent state to another. I: Isolation: even though multiple transactions may operate concurrently, there is a total order on all transactions. Stated another way: each transaction perceives the system as if no other transactions were running concurrently. D: Durability: even the face of a crash, once the system has said that a transaction completed, the results of the transaction must be permanent. Property of Transactions

  16. Lack of standardization in middleware Web services basic platform is available everywhere (XML, HTTP) Can serve as an integration tool for different business applications across organization boundaries without regards to what each business uses as the internal platform Why Web Services?

  17. Can serve as an integration tool for different business applications across organization boundaries without regards to what each business uses as the internal platform Why Web Services?

  18. Web services provide a standard means of interoperating between different software applications, running on a variety of platforms. What are Web Services?

  19. Web services provide a standard means of interoperating between different software applications, running on a variety of platforms. W3C Working Group definition:A Web service is a software system designed to support interoperable machine-to-machine interaction over a network… Web Services

  20. Web services provide a standard means of interoperating between different software applications, running on a variety of platforms. W3C Working Group definition:A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Web Services

  21. Web services provide a standard means of interoperating between different software applications, running on a variety of platforms. W3C Working Group definition:A Web service is a software system designed to support interoperable machine-to-machine interaction over a network.It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards Web Services

  22. Specifications for Web Services are defined as modules: SOAP WSDL UDDI Basic platform is XML over HTTP Web Services

  23. Web Services

  24. Simple markup, data description language(based on SGML) Human-readable Customizable schema can be used to define atributes and elements XML can be used to created custom XML-based languages and services XML-based messages transported over HTTP serve as the basic platform for Web Services XML

  25. XML-based protocol defining message format One-way asynchronous technology Can use a variety of message passing styles: RPC, publish/subscribe Primary underlying protocol is HTTP, but others can be used (SMTP) SOAP

  26. XML-based language Defines/describes Web services interfaces, data and message types, interaction patterns and protocol mappings WSDL

  27. Web Services Registry (of WSDL documents) Protocol for discovering and publishing Web Services UDDI registry is accessed by XML-based SOAP messages UDDI

More Related