E N D
1. 1 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
2. 2 N-tier architecture More scalable architecture that separates processing to different servers
3. 3 What is Middleware? 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.
4. 4 ODBC primitive 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
5. 5 Types of Middleware Homegrown Middleware Solutions
RPC (Remote Procedure Calls)
Object-Oriented MW - ORB (Object Request Brokers)
MOM (Message Oriented Middleware)
Transaction Processing Monitors
6. 6 Homegrown Middleware Customized to meet specific needs
Needs substantial investments
Pros
Can meet specific needs
Cons
Not cost effective
Lacks scalability
7. 7 Remote Procedure calls Procedure/Function Oriented
Follows the Request/Reply Model
Mode of Communication is synchronous
Provides Location/Platform transparency
Technologies: ONC RPC, DCE/RPC
8. 8 Object Oriented Language Independent
Provides Location and Access transparency
Mode of Communication is Synchronous
Competing Standards (CORBA, DCOM, RMI)
9. 9 Message 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
10. 10 Transaction Processing Monitors 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
11. 11 Property of Transactions Transaction is a collection of operations that should be treated as a single logical operation.
To ensure reliable transactions ACID properties are needed
12. 12 Property of Transactions ACID properties:
A: Atomicity: either the entire set of operations happens or none of it does.
13. 13 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.
14. 14 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.
15. 15 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.
16. 16 Why Web Services? 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
17. 17 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
18. 18 What are Web Services? Web services provide a standard means of interoperating between different software applications, running on a variety of platforms.
19. 19 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
20. 20 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).
21. 21 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
22. 22 Web Services Specifications for Web Services are defined as modules:
SOAP
WSDL
UDDI
Basic platform is XML over HTTP
23. 23 Web Services
24. 24 XML 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
25. 25 SOAP 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)
26. 26 WSDL XML-based language
Defines/describes Web services interfaces, data and message types, interaction patterns and protocol mappings
27. 27 UDDI Web Services Registry (of WSDL documents)
Protocol for discovering and publishing Web Services
UDDI registry is accessed by XML-based SOAP messages