270 likes | 297 Views
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.
E N D
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
N-tier architecture • More scalable architecture that separates processing to different servers
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?
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?
Homegrown Middleware Solutions RPC (Remote Procedure Calls) Object-Oriented MW - ORB (Object Request Brokers) MOM (Message Oriented Middleware) Transaction Processing Monitors Types of Middleware
Customized to meet specific needs Needs substantial investments Pros Can meet specific needs Cons Not cost effective Lacks scalability Homegrown Middleware
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
Language Independent Provides Location and Access transparency Mode of Communication is Synchronous Competing Standards (CORBA, DCOM, RMI) Object Oriented
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
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
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
ACID properties: A: Atomicity: either the entire set of operations happens or none of it does. Property of Transactions
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
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
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
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?
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?
Web services provide a standard means of interoperating between different software applications, running on a variety of platforms. What are Web Services?
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
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
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
Specifications for Web Services are defined as modules: SOAP WSDL UDDI Basic platform is XML over HTTP Web Services
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
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
XML-based language Defines/describes Web services interfaces, data and message types, interaction patterns and protocol mappings WSDL
Web Services Registry (of WSDL documents) Protocol for discovering and publishing Web Services UDDI registry is accessed by XML-based SOAP messages UDDI