2010 06-18 service oriented architecture (soa) v4


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • The Centra tools displayed on this slide are the tools you can use to interact with the participants during this session. The RAISE YOUR HAND icon is used to ask questions or make comments. Once a participant “raises their hand”, the presenter or moderator will then call on them to speak. In order to speak, you must be given a microphone. Once the microphone is granted, you can speak by holding down the control key on your keyboard. Go ahead and click this icon now. The YES/NO icons are used to answer simple yes/no or true/false questions. Please go ahead and click these icons now. Feel free to indicate APPLAUSE or LAUGHTER during the session by choosing the applicable icons. “ The CHAT icon is an important icon. It will be used to communicate with the participants as well as the presenters. Please click on it now and resize it and move to the right side of the screen to see the Centra presentation and the chat room at the same time. There are several options on how to send your Text Chat message. We will focus on selecting “ALL” in the dropdown list. “All” is an open public forum where all messages will be displayed to both participants and presenters. Please enter your location today. [Pause: wait for participants to type messages into the chat room.] “ If you experience volume issues, you can use the Centra Volume Control. We recommend setting the bar to mid point or less for optimal audio.” “ There is also a Network Connectivity Bar at the lower right hand side of your screen. Since Centra is a real-time stream over the network, it is impacted by your network connection. This bar indicates the quality of your network connection. To ensure the best experience possible, please review the listed Audio/Connectivity Tips.
  • You have two options today to ask questions. To ask questions live and speak via VOIP you should Press the Raise Hand icon to get the faculty’s attention. Once called up, you would hold down the Talk icon or the CTRL key and then release when done. Or you can post your question into the Text Chat at any time.
  • “ Thank you very much for your participation in the session today. I’d also like to thank our presenters for their time and expertise.” “ When you log out you’ll be taken to a session evaluation – please take a few minutes to fill it out. Your feedback is appreciated. Thanks again for joining us. Have a good day.”
  • 2010 06-18 service oriented architecture (soa) v4

    1. 1. Service Oriented Architecture (SOA) Gabriel Orce June 2010 © Accenture 2010. All Rights Reserved.
    2. 2. Centra ToolsRaise Hand Audio/Connectivity Tips • Run the Audio WizardYes / No • Choose Tools/Audio Wizard from the menu at top of screenApplause • Close all network based applications • Outlook, MSN/AOL, other websites, Office Communicator, etcLaugh • Connect via an Accenture LAN or high speed internet connection • If using a wireless connection, ensureText Chat your signal is as strong as possible • Monitor the Network ConnectivityCentra Volume Control Bar • Contact Learning Product Support if issues continueNetwork Connectivity Bar
    3. 3. Asking QuestionsTwo Options:1. Ask live questions during the designated Q&A sessions:  Press Raise Hand icon to get faculty’s attention  Once called upon, there are two options to speak: - Click the Talk button or - Press the Ctrl key When done speaking, unselect the Talk button or release the Ctrl Key.2. Post questions at any time in the chat room.
    4. 4. Agenda•Introduction•SOA architectural principles•Web enabled technologies for SOA•SOA and Java•Case study•Q & A © Accenture 2010. All Rights Reserved. 4
    5. 5. IntroductionTo better understand what Service OrientedArchitecture is, we must first understand whatService is, and what we mean by Architecture. © Accenture 2010. All Rights Reserved. 5
    6. 6. ServicesFrom a SOA perspective, a service is an abstracted, logicalview of a well-defined business functionality, which could beconsumed by clients in different applications or businessprocesses.Services can be new software modules or can wrap aroundexisting legacy software to give them “service interfaces”.Examples of typical services:GetOrderStatus (input: order number, order type.Returned: the status of the order).SearchByAuthor (input: Name of author, type of product.Returned: Titles of the products written by this author). © Accenture 2010. All Rights Reserved. 6
    7. 7. ArchitectureSoftware Architecture is the logical design ofinterconnected software components that work towardsthe objective of an existing or potential system given therequired resources. © Accenture 2010. All Rights Reserved. 7
    8. 8. Service Oriented Architecture (SOA)Service Oriented Architecture is a logical way ofdesigning a software system consisting of a collection ofloosely coupled services (components) that communicatewith each other via standard message exchangingprotocols and through standard interfaces. These servicecomponents may provide services either to end-userapplications or other services distributed in a network. © Accenture 2010. All Rights Reserved. 8
    9. 9. Related ConceptsService Oriented Integration (SOI): It is the act ofadapting applications and protocols to a SOA environment.SOI addresses the integration of an IT legacy systems asreusable services for a SOA environment from an ITorganization. As such, the problems of integrating legacyand inflexible heterogeneous systems are addressed byenabling IT organizations to offer the functionality locked inexisting applications as reusable services.Service Oriented Computing (SOC): It refers to theparadigm that represents computation in SOA. © Accenture 2010. All Rights Reserved. 9
    10. 10. Agenda•Introduction•SOA architectural principles•Web enabled technologies for SOA•SOA and Java•Case study•Q & A © Accenture 2010. All Rights Reserved. 10
    11. 11. Key Characteristics for Services in SOA•Loose coupling — Services should be connected toclients and other services using standard, decoupledmessage-based methods. XML document exchanging ismost common.•Interface-based design — Services implement separatelydefined interfaces. The benefit of this is that multipleservices can implement a common interface and a servicecan implement multiple interfaces.•Discoverable — Services need to be found at both designtime and run time, not only by unique identity but also byinterface identity and by service kind. © Accenture 2010. All Rights Reserved. 11
    12. 12. Key Characteristics for Services in SOA•Coarse-grained — Operations on services are frequentlyimplemented to encompass more functionality and operateon larger data sets, compared with component-interfacedesign.•Single instance — Unlike component-based development,which instantiates components as needed, each service isa single, always running instance that a number of clientscommunicate with. © Accenture 2010. All Rights Reserved. 12
    13. 13. Service Types in SOAService provider — The software entity that implements a service specification.Service requester — The software entity that calls a service provider. Note that aService requester can be an end-user application or another service.Service broker — The software entity responsible for linking a requester to aservice provider. A service broker hosts a registry of service descriptions.Service providers publish services to a service broker. Service requesters findrequired services using a service broker and bind to them. Service Broker h is fin bl d pu Service Service Provide bind Client r © Accenture 2010. All Rights Reserved. 13
    14. 14. Composition and OrchestrationService orchestration represents the mechanism forcomposing services into larger ones to perform a specificbusiness process. This includes the business logic andexecution order of the interactions between the servicesand end clients.The same services can be reused via recomposition (e.g.,use a subset of them, but orchestrate them differently) © Accenture 2010. All Rights Reserved. 14
    15. 15. Composition and Orchestration Relocation Process Retrieve employee name Employee Name Company employee Given employee ID information web Employee ID service Confirmation Book flight on date Airline booking web service Book Book employee in hotel on arrival Confirmation Hotel booking web date service Book © Accenture 2010. All Rights Reserved. 15
    16. 16. Agenda•Introduction•SOA architectural principles•Web enabled technologies for SOA•SOA and Java•Case study•Q & A © Accenture 2010. All Rights Reserved. 16
    17. 17. Technologies used in SOAWeb services: are software systems designed to supportinteroperable machine-to-machine interaction over a network. Thisinteroperability is gained through a set of XML-based openstandards, such as WSDL, SOAP, and UDDI. These standardsprovide a common approach for defining, publishing, and usingweb services. (1)XML: is a text-based markup language specification from theWWW Consortium (W3C). In SOA it is widely used for representingarbitrary data structures and messaging protocols.WSDL (Web Services Description Language): is a XML-basedlanguage that provides a simple way for service providers todescribe the format of requests and response messages. Ingeneral, WSDL provides an abstract language for defining thepublished operations of a service with their respective parametersand data types. The language also addresses the definition of thelocation and binding details of the service. © Accenture 2010. All Rights Reserved. 17
    18. 18. Technologies used in SOA UDDI (Universal Description, Discovery, and Integration): Thisspecification provides a common set of SOAP APIs that enable theimplementation of a service broker. It helps facilitate the creation,description, discovery, and integration of Web-based services.SOAP (Simple Object Access Protocol): is a lightweight messagingXML-based protocol for the exchange of information in a distributedenvironment. It is completely vendor neutral. SOAP defines a protocolbetween requester and provider objects, such that the requestingobjects can perform a remote method invocation on the providingobjects. SOAP is also basically independent of the transport protocol(http, smtp, jms, etc.). SOAP’s main criticism is usually on theoverhead of the XML processing it implies.REST (Representational State Transfer): is a web architectural style,which bases itself on the full exploitation of the http protocol. Itattempts to reuse the http methods making an equivalence betweenyour semantic operation and the http methods (get, post, put, delete);it is not based upon "message" concepts as is SOAP. 18
    19. 19. WSDL 1.1 Format definitions Root element of the WSDL document. Defines thedefinitions name of the web service and declares multiple namespaces used throughout the remainder of the types document . message types Describes all the data types used between the client and server (not required if the service uses only XML Schema built-in simple types). portType operations message Describes a single one-way message, whether a input messages message request or message response. output messages portType Abstract set of operations supported by one or more endpoints (commonly known as an interface); operations are defined by an exchange of messages. binding binding Concrete protocol and data format specification for a particular portType. service service The service element defines the address for invoking port the specified service. Most commonly, this includes a URL for invoking the SOAP service (the “port”). © Accenture 2010. All Rights Reserved. 19
    20. 20. SOAP 1.2 Format Envelope Mandatory. Top element of the XML documentEnvelope representing a SOAP message. Header (optional) Header Optional. Contains information that might influence payload processing and that would be Body subject to processing by intermediate SOAP nodes. For example: Authentication information. Body Mandatory. Contains the payload of the message. The Body is a container for mandatory information intended for the ultimate recipient of the message. © Accenture 2010. All Rights Reserved. 20
    21. 21. Enterprise Service Bus - ESBESB is an open standards, message-based, distributed, integration solutionthat provides routing, invocation, and mediation services to facilitate theinteractions of disparate distributed information technology resources(applications, services, information, platforms) in a reliable manner. (BrendaMichelson, Elemental Links) (2) ESB Service Manageme Orchestrati nt on Adapter Adapter Adapter Adapter .NET J2EE Legacy Applicat Applicati Applicati ion on on Legacy Databases © Accenture 2010. All Rights Reserved. 21
    22. 22. Enterprise Service Bus - ESBCharacteristics: • Uses XML as the standard communication language • Usually does not depend on an OS or a programming language • Supports web services standards • Includes support for orchestration • Includes intelligent content-based routing • Supports messaging (e.g., web services messaging standards or JMS) • Includes standard adaptersESB can assist in giving a SOA solution (but using ESB does not imply aSOA solution) © Accenture 2010. All Rights Reserved. 22
    23. 23. Agenda•Introduction•SOA architectural principles•Web enabled technologies for SOA•SOA and Java•Case study•Q & A © Accenture 2010. All Rights Reserved. 23
    24. 24. SOA and JavaWeb Services can be implemented with Java. Some WebServices Frameworks that can be used to facilitate this are: • XFire/CXF • Apache Axis • Spring-WSFirst let us view the invocation process to understand how webservices work. © Accenture 2010. All Rights Reserved. 24
    25. 25. Service Invocation Process Client Server Create Receive Request Request SOAP SOAP Java codestartsproces Java s Object Create Receive Response Response SOAP SOAP © Accenture 2010. All Rights Reserved. 25
    26. 26. Service Invocation ProcessExample: Server-side Service Invocation (after client creates SOAPmessage with request and sends it to server)1.SOAP message is received from transport (e.g., http).2.Invoking handlers preprocess the message. E.g., determine target service(since service may have more than one)3.Dispatch – given the WSDL operation, determine which Javaclass/method to invoke4.Deserialization – SOAP message content is deserialized into the Javaclasses.5.Java classes do the data processing.6.Serialize object into an appropriate XML.7.Wrap this XML into a SOAP message.8.Respond - place response SOAP on transport. © Accenture 2010. All Rights Reserved. 26
    27. 27. Web Service Code GenerationJava or WSDL code can be generated automatically depending on theapproach.Two basic approaches:1.Bottom-up: Write the code and generate the WSDL from it (e.g., withAxis2, use the Java2WSDL tool).2.Top-Down: Create WSDL and generate the code based on it (e.g. withAxis2, use the WSDL2Java tool). © Accenture 2010. All Rights Reserved. 27
    28. 28. Java examplesLet’s go over some practical examples on:1.Accessing existing Web Services using a WebService Testing Tool (SoapUI)2.Creating a Web service © Accenture 2010. All Rights Reserved. 28
    29. 29. Agenda•Introduction•SOA architectural principles•Web enabled technologies for SOA•SOA and Java•Case study•Q & A © Accenture 2010. All Rights Reserved. 29
    30. 30. Example SOA Case StudyCase study of a SOA implementation © Accenture 2010. All Rights Reserved. 30
    31. 31. Questions & CommentsTwo options to ask a question or add your comments to the discussion:  Use Raise Hand and then hold down the TALK icon or press the CTRL key; release when done  Post your question in the Chat Room © Accenture 2010. All Rights Reserved.
    32. 32. References1. Service Oriented Architecture (SOA) and Web Services: The Road to Enterprise Application Integration(EAI) - http://java.sun.com/developer/technicalArticles/WebServices/soa/2. Service Oriented Integration With Apache ServiceMix - http://servicemix.apache.org/articles.data/SOIWithSMX.pdf3. SOA Using Java Web Services – Mark D. Hansen – 2007 Prentice Hall4. Service Oriented Architecture with Java – Binildas CA, Malhar Barai, Vincenzo Caselli – 2008 Packt Publishing5. Services-based enterprise integration patterns made easy, Part 4: Enterprise service bus - http://www.ibm.com/developerworks/webservices/library/ws- intpatterns4/ © Accenture 2010. All Rights Reserved. 32
    33. 33. Thank you for participating!