distributed systems
play

Distributed Systems Architectures Loose Coupling Web Services - PowerPoint PPT Presentation

Distributed Systems SOA & Web Services Today Service Oriented Distributed Systems Architectures Loose Coupling Web Services WSDL SOAP Related SOA & Web Services Technologies Best Practices Next Time 2008-09-16 Distributed


  1. Distributed Systems SOA & Web Services Today Service Oriented Distributed Systems Architectures Loose Coupling Web Services WSDL SOAP Related SOA & Web Services Technologies Best Practices Next Time 2008-09-16

  2. Distributed Systems SOA & Web Services Today 1 Service Oriented Architectures Service Loose Coupling Oriented Architectures Loose Coupling Web Services WSDL SOAP 2 Web Services Related Technologies Best Practices WSDL Next Time SOAP Related Technologies Best Practices

  3. Distributed Systems Service Oriented Architectures SOA & Web Services (SOA) Today Service Oriented Architectures Loose Coupling Web Services • A style of building distributed systems where functionality WSDL SOAP is provided by modular services Related Technologies • Focuses on loose coupling between interacting services Best Practices Next Time (i.e., minimizing formal knowledge between components) • Services are virtualized as much as possible (i.e., focus is placed on interfaces, not implementations) • Usually built on Web Services (today)

  4. Distributed Systems SOA Characteristics SOA & Web Services Today Service Oriented Architectures Loose Coupling Web Services • Logical view - No implementation details are revealed WSDL SOAP Related • Coarse-grained - few operations, large messages Technologies Best Practices • Platform- (and language-) neutral Next Time • Wide-spread technology base (XML, HTTP, TCP/IP)

  5. Distributed Systems SOA Service Characteristics SOA & Web Services Today Service Oriented Architectures • Message-oriented - communicate by exchanging messages Loose Coupling Web Services - abstract - interface defined in terms of messages WSDL - encapsulated - implementation details hidden SOAP Related Technologies - technology independent (platform, OS, API etc) Best Practices Next Time • Self-describing: provides machine-readable metadata (advertises capabilities, service interface, protocols etc) • Discoverable: dynamic ”on-demand” service discovery (includes service location, service interface, protocols etc)

  6. Distributed Systems SOA Service Characteristics SOA & Web Services Today Service Oriented Architectures • Modular: solves one well-defined task Loose Coupling Web Services - used individually (by different services / applications) WSDL SOAP - can be composed (by other services) Related Technologies - facilitates reusability Best Practices Next Time - self-contained or dependent on other services / resources • Interoperable: standardized service access - standardized protocols - standardized data formats

  7. Distributed Systems Interactions SOA & Web Services Today Service Oriented Architectures Loose Coupling Web Services WSDL SOAP Related Technologies Best Practices Next Time

  8. Distributed Systems Loose Coupling SOA & Web Services Today Service Oriented Architectures Loose Coupling • Components minimize built-in knowledge of each other Web Services WSDL (focus placed on interfaces, not implementations) SOAP Related Technologies • Services are dynamically discovered when needed Best Practices (includes interfaces, supported protocols, location etc) Next Time • Ideal: zero-coupling (”frictionless”) (services used without providing any information)

  9. Distributed Systems Benefits Of Loose Coupling SOA & Web Services Today Service Oriented Architectures Loose Coupling • Flexibility: services can be (re)located on any server Web Services • Scalability: services can be added / removed on demand WSDL SOAP Related (load balancing) Technologies Best Practices • Replacability: service implementations can be replaced Next Time (without user disruptions) • Fault tolerance: upon failures, clients can query registries for alternative services offering the same functionality

  10. Distributed Systems Publish, Find, Bind SOA & Web Services Today Service Oriented Architectures Loose Coupling Web Services WSDL 1 Advertisement: service publishes information in a registry SOAP Related 2 Discovery: client queries registry for services Technologies Best Practices 3 Connection establishment: client contacts service Next Time 4 Interaction: client and service interact

  11. Distributed Systems Publish, Find, Bind SOA & Web Services Today Service Oriented Architectures Loose Coupling Web Services WSDL SOAP Related Technologies Best Practices Next Time

  12. Distributed Systems SOA vs Distributed Object SOA & Web Services Systems Today Service Oriented • Distributed object systems (e.g. CORBA, JavaRMI) Architectures Loose Coupling typically characterized by: Web Services - objects maintaining a fairly complex internal state WSDL SOAP - fine-grained or ”chatty” interaction Related Technologies - shared type system and interface hierarchy Best Practices Next Time - special-purpose protocols • Service Oriented Architecture (SOA) typically characterized by: - logical view: no implementation details are revealed - coarse-grained: few operations, large messages - platform and language-neutral - widespread technology base (XML, HTTP, TCP/IP)

  13. Distributed Systems Web Service SOA & Web Services Today Service Oriented Architectures W3C Definition: Loose Coupling Web Services WSDL ”A Web service is a software system designed to support SOAP Related interoperable machine-to-machine interaction over a network. Technologies Best Practices It has an interface described in a machine-processable format Next Time (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.”

  14. Distributed Systems Web Services SOA & Web Services Today • Characterized by: Service Oriented - interoperable application-to-application communication Architectures Loose Coupling - abstract interface: implementation details are hidden Web Services - platform and language neutral, wrapping technology WSDL SOAP - use of widespread and open standards / technology bases Related Technologies Best Practices (e.g. XML, HTTP, TCP/IP) Next Time - facilitates loose coupling (particularly relevant for Grid) • Key specifications (all based on XML): - standard means of representing data (XML) - standard means of defining service interfaces (WSDL) - standard means of invoking services (SOAP) - standard means of discovering services (e.g. UDDI)

  15. Distributed Systems Web Service SOA & Web Services Today • Service : A software component accessed over a network Service Oriented that provides functionality to a service requester Architectures Loose Coupling • Web Service : A service which publishes a service interface Web Services in WSDL and uses a message-driven protocol WSDL SOAP (usually via SOAP / HTTP) Related Technologies Best Practices • Built on a host of XML-based technologies Next Time - XML (data representation) - XML Schema (data validation) - SOAP (XML-serialized data transfer protocol) - WSDL (Web Service interface description, XML Schema) • Uses a deployment descriptor to configure service (XML-based configuration file for the service container)

  16. Distributed Systems Web Service Infrastructure SOA & Web Services Today Service Oriented Architectures Loose Coupling Web Services WSDL SOAP Related Technologies Best Practices Next Time

  17. Distributed Systems Developing Web Services SOA & Web Services Today Service Oriented Architectures • Two main approaches Loose Coupling - generate WSDL from code Web Services WSDL - generate code (stubs) from WSDL SOAP Related Technologies • Generated WSDL tend to be platform / tool-dependent Best Practices (quick and easy, but incompatibility issues may arise) Next Time • Generating stubs from WSDL ensures compatibility (but require more work from all parties involved) • GOAL: interoperability (favor the WSDL approach)

  18. Distributed Systems Calling a Web Service SOA & Web Services Today Service Oriented Architectures Loose Coupling Web Services WSDL 1 Locate Web Service (discovery) SOAP Related 2 Obtain WSDL description Technologies Best Practices 3 Generate stubs from WSDL description Next Time 4 Use stubs to invoke Web Service methods

  19. Distributed Systems WSDL SOA & Web Services Today Service Oriented Architectures Loose Coupling • XML Schema-based language for describing Web Services Web Services • Completely describes the Web Service interface WSDL SOAP Related • Constitutes a ”contract” between the client and the service Technologies Best Practices • Can be generated from code, or vice versa Next Time • Two major parts - abstract: interface (types, operations and messages) - concrete: deployment (encodings, protocols, bindings)

  20. Distributed Systems WSDL Structure SOA & Web Services Today Service Oriented Architectures Loose Coupling Web Services WSDL SOAP Related Technologies Best Practices Next Time

Recommend


More recommend