• Save
SOA Training
Upcoming SlideShare
Loading in...5
×
 

SOA Training

on

  • 2,594 views

http://www.Intertech.com

http://www.Intertech.com

This slide deck is from an Intertech presentation on SOA.

Statistics

Views

Total Views
2,594
Views on SlideShare
2,576
Embed Views
18

Actions

Likes
5
Downloads
18
Comments
0

5 Embeds 18

http://www.techgig.com 10
http://www.slideshare.net 4
http://techgig.in 2
http://localhost 1
http://115.112.206.131 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

SOA Training SOA Training Presentation Transcript

  • Getting Started Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 2
  • Dominic Selly Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 3
  • Getting the Slides Slides are available on the Intertech Training Web site: www.IntertechTraining.com Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 4
  • Overview Definitions of SO What SO can do for you Comparison to traditional RPC SO Manifest Pieces and Parts of Web Services Interoperating around common requirements Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 5
  • What is Service Orientation? The W3C defines SO as “A set of components which can be invoked, and whose interface descriptions can be published and discovered” Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 6
  • What is Service Orientation? From Hao He publishing for O’Reilly we get: “SOA is an architectural style whose goal is to achieve loose coupling among interacting software agents.” Source: http://www.xml.com/pub/a/ws/2003/09/30/soa.html Preston Gralla’s definition written for the Web Services Advisor: “SOA is kind of an IT manager's holy grail, in which software components can be exposed as services on the network, and so can be re-used time and time again for different applications and purposes” Source: http://searchwebservices.techtarget.com Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 7
  • What is Service Orientation? CBDI definition of SOA: “The policies, practices, frameworks that enable application functionality to be provided and consumed as sets of services published at a granularity relevant to the service consumer. Services can be invoked, published and discovered, and are abstracted away from the implementation using a single, standards-based form of interface.” Source: http://msdn.microsoft.com/architecture/soa/default.aspx?pull=/library/en-us/dnmaj/html/aj1soa.asp#aj1soa_topic3 Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 8
  • What is Service Orientation? From Microsoft: “Rather than explicitly declaring how systems will interact through low-level protocols and object-oriented architectures, SOA provides an abstract interface through which a service can interact with other services or applications through a loosely coupled (often asynchronous), message-based communication model. It can be imagined as an interconnected process-based enterprise that exposes a set of loosely coupled, coarse- grained services.” Source: Soumen Chatterjee Cap Gemini Ernst & Young Messaging Patterns in Service-Oriented Architecture Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 9
  • SO What are the Themes? A service provider can publish their service A service consumer can discover the services they need Loose coupling of providers from consumers Interoperable Separation of interface from implementation Interface is standards-based Coarse grained (as distinct from a fine grained OO model) Aggregated in a way that meets the needs of a service consumer Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 10
  • SO Benefits Facilitates reuse of software assets Interoperability between languages, platforms, OSes Eases integration of different packages, data, and business logic Software assets discovered, bound to, and executed in a technology neutral, standards based way Complete layer of abstraction between interface and implementation Standard means of publishing and discovering services Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 11
  • But isn’t it just like RPC? RPC is generally a binary format with tight coupling of components Does not facilitate interoperability between platforms Is not as good a model of reuse in an environment with heterogeneous technologies RPC does provide type fidelity between tiers – A “Customer” marshaled across the wire is still a “Customer” when it gets to the remote machine RPC uses method invocation whereas SO uses message passing – Not so different at runtime, but can make a radical difference at design time Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 12
  • Web Services : SOA Implementation Web Services is not the only instance of an SOA, it’s just the one with most momentum at the moment SO has been around for decades The resurgence, or “buzz”, around SOA in the industry today, is really on account of Web Services – Everything is finally in place to do a proper implementation of SOA that is truly interoperable. – This has been attempted before. These attempts have been met with limited success Web Services has a chance of success – Piggy-backing on the success of the Web – Lots of support from standards bodies and industry heavies – Lots of effort going into WS-* initiatives Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 13
  • Web Service Pieces and Parts XML – Under-pinning of all the structures in use in Web Services XML Schema – Used for message format definition, providing the common type system WSDL – XML Document used for service description SOAP – XML Document used for passing messages UDDI – Repository of XML used for publishing and discovery SOAP Stacks – Platform specific implementation of a Web Service infrastructure Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 14
  • The Web Service Interoperability Org The WS-I (www.WS-I.org) organization further refines this stack of specifications to increase interoperability The WS-I Basic Profile 1.0 defines a version of each specification to use at each level in the Web Services stack XML 1.0 XML Schema 1.0 WSDL 1.1 SOAP 1.1 UDDI 3.0 The WS-* specifications set out to address other common functional areas (more on these later) Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 15
  • XML and XML Schema XML used as document structure throughout entire Web Service Stack XML Schema used for description of structure of XML documents – Schema describing a SOAP document – Schema describing a WSDL document – Schema used to describe the structure of the messages passed in the payload of SOAP messages The W3C owns the XML Schema spec The Basic Profile mandates the use of XML Schema V1.0 Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 16
  • WSDL Web Service Description Language Used for describing message payloads Think of a COM type library Think of .NET metadata Think of Java deployment descriptor The W3C owns the WSDL spec The Basic Profile mandates the use of WSDL V1.1 WSDL 2.0 is a working draft in the W3C work group Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 17
  • WSDL Structure WSDL defines structures using XML Schema Schema can be defined inline, although it is commonly imported from stand-alone XSD documents Structures are used in Messages Messages are paired into Operations Operations are aggregated into Ports Ports are aggregated into Services Two main schools of thought exist on the use of WSDL – WSDL First creates WSDL and uses a tool to generate the stubs of a server side implementation of the service described by the WSDL – Otherwise WSDL can be generated from an existing class – Different SOAP Stacks take different approaches – You should expect your SOAP Stack to support both approaches Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 18
  • OO Analogies A Message is like a Method Invocation – The return value of a method call is also a Message – Void methods are called “One-Way” messages An Operation is then like a Method – In OO a method defines a typed argument list and a return type – In SO these are two messages, each conforming to the structure defined by an XML Schema A PortType is like an OO Interface – PortTypes logically aggregation Operations Finally, a Service is akin to an OO Class – The Service is a logical aggregation of PortTypes, like a class implementing interfaces – A Service can (and usually does) have only one PortType Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 19
  • SOAP SOAP is the structure of XML used to transport messages across the wire at runtime SOAP has a simple structure, consisting of an <Envelope> that has an optional <Header> and a required <Body> WSDL defines the payload within the envelope for specific messages SOAP used to stand for Simple Object Access Protocol The W3C has renamed the spec to XML Protocol and says that SOAP is not an acronym any longer The W3C owns the XML Protocol spec The Basic Profile mandates the use of SOAP V1.1 Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 20
  • UDDI Universal Description and Discovery Interface Acts as a registry for services Registries can be public or company specific Includes XML Schema for storing service metadata Standard WSDL defined to update and query the registry Typically not used at run time – Used for discovery at design and development time www.UDDI.org Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 21
  • UDDI Tools Vendors use the specs to implement tools Some packages have complete registry implementation with Web-based front end – Entire UDDI specification can be transparent behind these tools Some interfaces are integrated into IDEs – Browse a registry, add a reference to a Web Service found in it Can query by service provider or use keywords Contains links to WSDL or other discovery documents on the servers of specific service providers Contains additional documentation OASIS owns the UDDI spec Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 22
  • SOAP Stacks Open Source/ vendor supplied implementation of SOAP processing Listens to network endpoints Deserializes incoming SOAP messages Creates instance of underlying type that provides service implementation Calls the service and retrieves the response Serializes response back to sender as new SOAP message Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 23
  • SOAP Stacks Prepares SOAP message and returns SOAP Fault when exception occurs deserializing incoming message Provide tools for the generation of – WSDL on the server – Server side skeleton of a service when using WSDL first approach – Client side proxies to automate the creation of SOAP messages SOAP stacks exist for a variety of underlying protocols – Most common are HTTP and HTTPS – Can use message queuing, FTP, SMTP, TCP, JMS, RMI, others Provides out-of-band processing for operational requirements Provide points of extensibility for implementation of custom out-of-band processing Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 24
  • Where the Message Meets the Wire Queries UDDI Points To Server Registry Retrieves WSDL Developer Describes Creates & Service Deploys (Java, .NET, others) Client Serializes Calls Returns Client Application Returns SOAP Converts Response Invokes SOAP Stack Client Deserializes Proxy Posts SOAP Request Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 25
  • Available SOAP Stacks .NET Ships with a Web Service Handler for ASP.NET – Aspect based system for exposing types via IIS and SOAP – Any .NET type can expose methods as Web Services Operations – Client side proxy generation accomplished with command-line tool or from within Visual Studio.NET IDE – No current support for a WSDL first approach Axis is an Open Source Stack for Apache – Tools to expose Java types at Network endpoints – Generate server side stubs from WSDL – Generate client side proxies from WSDL – Generate WSDL from existing types Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 26
  • Available SOAP Stacks Axis is also available for C++ SOAP toolkit available for COM W2K3 allows direct exposure of COM+ methods as Web Service Operations SQLXML allows direct exposure of SQL Server stored procedures as Web Service Operations Microsoft is working on a unified out-of-process call stack that will interoperate seamlessly with Web Services called “Indigo” Vendor Stacks available for Java – Systinet – AmberPoint Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 27
  • Operational Requirements Passing messages on the wire using a standards based approach is just the beginning There are many common requirements in Enterprise application development Things like: – Authentication and Authorization – Message routing – Event notification – Transactions – Guaranteed delivery Different groups are creating specs to deal with these non-functional requirements – The following specs are but a small sampling of what’s out there Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 28
  • Web Service Extensions These operational requirements are being addressed by standards that define common SOAP headers that can be added to message payloads You can implement out-of-band processing of these header elements via the extensibility layer of your SOAP stack to meet your own Enterprise requirements -OR- Different vendors are providing canned implementations of these specs as SOAP stack extensions so you don’t have to roll it on your own Consult the documentation of your own SOAP stack for information about support of specific extensions Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 29
  • WS-Security Standards for authentication and authorization Owned by OASIS Different specs for SOAP and X.509 certificates Provides extensible mechanism for associating security tokens with messages WS-Trust defines extensions to issue tokens and manage trust relationships WS-Federation defines mechanism for authentication and authorization across trust domains Different vendors are supplying their own extensions to the spec – ie Microsoft has a spec for WS-Security for Kerebos Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 30
  • WS-Addressing Enables message transmission in a transport-neutral manner Supports processing nodes such as – Endpoint managers – Firewalls – Gateways Virtualizes network to support different underlying protocols Created by BEA, IBM, Microsoft, SAP, and Sun Replaces WS-Routing Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 31
  • WS-Eventing Allows Web Service clients to subscribe to event occurrences Describes standard way for clients to subscribe to events Event messages sent to all subscribers when event occurs Delivery mechanism is not expressly limited by the spec, so different publishers can send events via the means that meets their needs Spec is more focused on creating, deleting, and setting expirations for event subscriptions Created by BEA, CA, IBM, Microsoft, Sun, and Tibco Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 32
  • Transactions WS-Coordination – Defines standard elements for coordinating work in a distributed environment – Participants must reach agreement on outcome of work that can occur an many different machines WS-AtomicTransaction – Refines WS-Coordination with specifics for completion, volatile two-phase, or durable two-phase commit models WS-BusinessActivity – Extends WS-Coordination for different protocols to use for the coordination of long running business activities Created by BEA, IBM, and Microsoft Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 33
  • WS-ReliableMessaging Used for guaranteed delivery Builds on WS-Addressing and WS-Policy Supports positive and negative acknowledgements Explicitly create and terminate sequences Guarantee modes supported include: – At least once – At most once – Exactly once – Can be used to ensure an ordered delivery of a sequence of messages From BEA, IBM, Microsoft, and Tibco Competes with WS-Reliability from Fujitsu, Oracle, and Sun Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 34
  • Summary Service Orientation provides a platform neutral means of interoperating to maximize the reuse of your software assets Services are published in UDDI repositories and described using WSDL SOAP Stacks are used for generating WSDL, server side stubs, and client side proxies The specifications involved are still evolving The WS-I organization provides additional guidance to maximize interoperability Industry heavies are creating specs of their own to deal with common operational requirements Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 35
  • Reminder: Getting the Slides Slides are available on the Intertech Training Web site: www.IntertechTraining.com Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 36
  • Wrap Up! Intertech offers .NET, Java, XML and Web Services training. Traditional Instructor Lead & Now Offering Instructor Lead Virtual Training! Questions? Comments? dselly@IntertechTraining.com Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 37
  • Question and Answer To ask a question press * on your phone Copyright © Intertech Training 2004 • www.intertechtraining.com • 800-966-9884 • Slide 38