Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Published byModified over 7 years ago
Presentation on theme: "Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang."— Presentation transcript:
1 Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang
2 Outline What is Interprocess communication Message oriented communicationWeb ServicesWCF
3 Inter-Process Communication Inter-Process Communication (IPC) is a set of techniques for the exchange of data among two or more threads in one or more processes. Processes may be running on one or more computers connected by a network.
4 Distributed System Communication  Remote procedure calla protocol that allows one application to execute another application or module on another computerMessage-oriented communicationMessages exchange between systemsStream-oriented communication and multicast communication
5 Advantages of Using Messaging  Cross platform integration: Messages can be the “universal translator” between various platforms and languages, allowing each platform to work with their respective native data typeAsynchronous communications: both the sender and receiver can be running flat out and not be constrained by waiting on each other
6 Advantages of Using Messaging Remote communication: messages replace the need for the serializing and deserializing that occurs when one application makes a remote call to another application.End-to-end security: messages can transfer the complete security context to the consumer using a combination of headers and tokens
7 Web servicessoftware system designed to support interoperable machine-to-machine interaction over a network.web services are the standards-based way to realize Service-Oriented Architecture (SOA)
8 SOA  SOA is an example of the composite computing model The composite computing model is an architecture that uses distributed, discovery-based execution to expose and manage a collection of service-oriented software assets.At the fundamental level, an SOA is a collection of service on a network that communicate with each other, the services are loosely coupled, have well-defined interfaces and are reusable. An SOA therefore has a higher-level view of coarse-grained application development that uses standard interfaces to hide the underlying technical complexity
9 SOA + Internet protocols The basic building blocks for using web services are the SOA and Internet protocols.Web services can be represented, advertised, discovered and communicated within a dynamic environment.Web services are based on standards and standards-based technologies, which ensure that applications are compliant, thereby enabling program-to-program interoperability.
10 Main componentsWeb services protocol stack is based on standardized XML technologies. There are three main components:Simple Object Access Protocol (SOAP)Web Services Description Language (WSDL)Universal Description, Discovery, and Integration (UDDI)
11 SOAP SOAP is a lightweight communication protocol for web services.It is used to exchange structured and typed information between systems.SOAP allows users to invoke methods on remote machines without knowing specific detail of the platform or software running on those machines.XML is used to represent the data, while the data is structured according to the SOAP schema.
12 SOAP The characteristics of a SOAP message are: It is extensible: it allows various features such as reliability, security, to be layered via SOAP extensions.It works across a number of standardized underlying network protocols.It is independent of the underlying language or platform or programming model.
13 SOAP messageA SOAP message is an ordinary XML document containing the following elements:A required Envelope element that identifies the XML document as a SOAP messageAn optional Header element that contains header informationA required Body element that contains call and response informationAn optional Fault element that provides information about errors that occurred while processing the message
14 SOAP message example:the following SOAP message represents a request to transfer funds between bank accounts:<soap:Envelope xmlns:soap="<soap:Body><x:TransferFunds xmlns:x="urn:examples-org:banking"><from> </from><to> </to><amount>100.00</amount></x:TransferFunds></soap:Body></soap:Envelope>
15 WSDL WSDL is a specification defining how to describe web services in a common XML grammar. WSDL describes four critical pieces of data:Interface information describing all publicly available functionsData type information for all message requests and message responsesBinding information about the transport protocol to be usedAddress information for locating the specified service
16 UDDI UDDI is a platform-independent directory protocol for describing services and discovering and integrating services via the Internet. It describes the details of the services using WSDL and communicates via SOAP
17 Implementing Web Services A service provider creates a Web serviceThe service provider uses WSDL to describe the service to a UDDI registryThe service provider registers the service in a UDDI registryAnother service or consumer locates and requests the registered service by querying UDDI.The requesting service or user writes an application to bind the registered service using SOAPData and messages are exchanged as XML over HTTP
19 Window Communication Foundation (WCF)  WCF is a programming framework used to build distributed applications that inter-communicate. WCF is the part of the .NET Framework dedicated to communications.Three main design goals of WCF:Unification of existing technologiesInteroperability across platformService-oriented development
20 Interoperability across platform  WCF’s fundamental communication mechanism is SOAP-based web services.WCF use SOAP messages to interact with any other application which supports standard web service.when a WCF process communicates with another WCF process, the SOAP messages can be encoded in an optimized binary format.
21 Interoperability across platform To allow more than just basic communication, WCF implements Web services technologies defined by the WS-* specifications to achieve seamless Interoperability across platform. Those specifications covers:Messaging: WS-Addressing defines additions to the SOAP header for addressing SOAP messages, which frees SOAP from relying on the underlying transport protocol, such as HTTP, to carry addressing information. Message Transmission Optimization Mechanism (MTOM) defines an optimized transmission format for SOAP messages with large binary data contents based on the XML-binary Optimized Packaging (XOP) specification.
22 Interoperability across platform Metadata: WS-Policy allows specification of more dynamic aspects of a service’s behavior that cannot be expressed in WSDL, such as a preferred security option. WS-MetadataExchange allows a client to directly request descriptive information about a service, such as its WSDL and its policies, using SOAP.Security: WS-Security, WS-SecureConversation, WS-Trust, and WS-Federation all define additions to SOAP messages for providing authentication, data integrity, data privacy, and other security features.Reliability: WS-Reliable Messaging defines additions to the SOAP header that allow reliable end-to-end communication, even when one or more Web services intermediaries must be traversed.
23 References “Distributed Systems: Principles and Paradigms”, Andrew S. Tanenbaum and Maarten Van Steen, Prentice Hall, 2007 “Pro WCF : practical Microsoft SOA implementation”, Chris Peiris, Springer, 2007“From P2P TO Web Services and Grids”, Ian J. Taylor, Springer, 2005What is Windows Communication Foundation?,