SlideShare a Scribd company logo
Service Oriented Architecture
           (SOA)


                                             Gabriel Orce
                                             June 2010



         © Accenture 2010. All Rights Reserved.
Centra Tools

Raise Hand                 Audio/Connectivity Tips
                           •   Run the Audio Wizard
Yes / No                         •   Choose Tools/Audio Wizard from the
                                     menu at top of screen

Applause                   •   Close all network based
                               applications
                                 •   Outlook, MSN/AOL, other websites,
                                     Office Communicator, etc
Laugh
                           •   Connect via an Accenture LAN or
                               high speed internet connection
                                 •   If using a wireless connection, ensure
Text Chat                            your signal is as strong as possible

                           •   Monitor the Network Connectivity
Centra Volume Control          Bar
                                 •   Contact Learning Product Support if
                                     issues continue

Network Connectivity Bar
Asking Questions
Two 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.
Agenda
•Introduction

•SOA architectural principles

•Web enabled technologies for SOA

•SOA and Java

•Case study

•Q & A

                   © Accenture 2010. All Rights Reserved.   4
Introduction



To better understand what Service Oriented
Architecture is, we must first understand what
Service is, and what we mean by Architecture.




                 © Accenture 2010. All Rights Reserved.   5
Services

From a SOA perspective, a service is an abstracted, logical
view of a well-defined business functionality, which could be
consumed by clients in different applications or business
processes.

Services can be new software modules or can wrap around
existing 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
Architecture

Software Architecture is the logical design of
interconnected software components that work towards
the objective of an existing or potential system given the
required resources.




                       © Accenture 2010. All Rights Reserved.   7
Service Oriented Architecture (SOA)

Service Oriented Architecture is a logical way of
designing a software system consisting of a collection of
loosely coupled services (components) that communicate
with each other via standard message exchanging
protocols and through standard interfaces. These service
components may provide services either to end-user
applications or other services distributed in a network.




                     © Accenture 2010. All Rights Reserved.   8
Related Concepts

Service Oriented Integration (SOI): It is the act of
adapting applications and protocols to a SOA environment.
SOI addresses the integration of an IT legacy systems as
reusable services for a SOA environment from an IT
organization. As such, the problems of integrating legacy
and inflexible heterogeneous systems are addressed by
enabling IT organizations to offer the functionality locked in
existing applications as reusable services.

Service Oriented Computing (SOC): It refers to the
paradigm that represents computation in SOA.



                      © Accenture 2010. All Rights Reserved.     9
Agenda
•Introduction

•SOA architectural principles

•Web enabled technologies for SOA

•SOA and Java

•Case study

•Q & A

                   © Accenture 2010. All Rights Reserved.   10
Key Characteristics for Services in SOA
•Loose coupling — Services should be connected to
clients and other services using standard, decoupled
message-based methods. XML document exchanging is
most common.

•Interface-based design — Services implement separately
defined interfaces. The benefit of this is that multiple
services can implement a common interface and a service
can implement multiple interfaces.

•Discoverable — Services need to be found at both design
time and run time, not only by unique identity but also by
interface identity and by service kind.

                     © Accenture 2010. All Rights Reserved.   11
Key Characteristics for Services in SOA

•Coarse-grained — Operations on services are frequently
implemented to encompass more functionality and operate
on larger data sets, compared with component-interface
design.

•Single instance — Unlike component-based development,
which instantiates components as needed, each service is
a single, always running instance that a number of clients
communicate with.




                     © Accenture 2010. All Rights Reserved.   12
Service Types in SOA
Service provider — The software entity that implements a service specification.
Service requester — The software entity that calls a service provider. Note that a
Service requester can be an end-user application or another service.
Service broker — The software entity responsible for linking a requester to a
service provider. A service broker hosts a registry of service descriptions.

Service providers publish services to a service broker. Service requesters find
required 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
Composition and Orchestration

Service orchestration represents the mechanism for
composing services into larger ones to perform a specific
business process. This includes the business logic and
execution order of the interactions between the services
and 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
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
Agenda
•Introduction

•SOA architectural principles

•Web enabled technologies for SOA

•SOA and Java

•Case study

•Q & A

                   © Accenture 2010. All Rights Reserved.   16
Technologies used in SOA

Web services: are software systems designed to support
interoperable machine-to-machine interaction over a network. This
interoperability is gained through a set of XML-based open
standards, such as WSDL, SOAP, and UDDI. These standards
provide a common approach for defining, publishing, and using
web services. (1)
XML: is a text-based markup language specification from the
WWW Consortium (W3C). In SOA it is widely used for representing
arbitrary data structures and messaging protocols.
WSDL (Web Services Description Language): is a XML-based
language that provides a simple way for service providers to
describe the format of requests and response messages. In
general, WSDL provides an abstract language for defining the
published operations of a service with their respective parameters
and data types. The language also addresses the definition of the
location and binding details of the service.
                       © Accenture 2010. All Rights Reserved.        17
Technologies used in SOA
 UDDI (Universal Description, Discovery, and Integration): This
specification provides a common set of SOAP APIs that enable the
implementation 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 messaging
XML-based protocol for the exchange of information in a distributed
environment. It is completely vendor neutral. SOAP defines a protocol
between requester and provider objects, such that the requesting
objects can perform a remote method invocation on the providing
objects. SOAP is also basically independent of the transport protocol
(http, smtp, jms, etc.). SOAP’s main criticism is usually on the
overhead 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. It
attempts to reuse the http methods making an equivalence between
your semantic operation and the http methods (get, post, put, delete);
it is not based upon "message" concepts as is SOAP.                      18
WSDL 1.1 Format
                              definitions Root element of the WSDL document. Defines the
definitions                               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
SOAP 1.2 Format


                          Envelope       Mandatory. Top element of the XML document
Envelope                                 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
Enterprise Service Bus - ESB
ESB is an open standards, message-based, distributed, integration solution
that provides routing, invocation, and mediation services to facilitate the
interactions of disparate distributed information technology resources
(applications, services, information, platforms) in a reliable manner. (Brenda
Michelson, 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
Enterprise Service Bus - ESB

Characteristics:
   • 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 adapters

ESB can assist in giving a SOA solution (but using ESB does not imply a
SOA solution)




                         © Accenture 2010. All Rights Reserved.           22
Agenda
•Introduction

•SOA architectural principles

•Web enabled technologies for SOA

•SOA and Java

•Case study

•Q & A

                   © Accenture 2010. All Rights Reserved.   23
SOA and Java

Web Services can be implemented with Java. Some Web
Services Frameworks that can be used to facilitate this are:

   • XFire/CXF
   • Apache Axis
   • Spring-WS

First let us view the invocation process to understand how web
services work.




                     © Accenture 2010. All Rights Reserved.    24
Service Invocation Process



          Client                                         Server


                    Create                      Receive
                   Request                      Request
                    SOAP                         SOAP
 Java
 code
starts
proces
                                                                   Java
   s                                                              Object
                                                Create
                Receive                        Response
               Response                         SOAP
                 SOAP




                      © Accenture 2010. All Rights Reserved.         25
Service Invocation Process

Example: Server-side Service Invocation (after client creates SOAP
message 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 Java
class/method to invoke
4.Deserialization – SOAP message content is deserialized into the Java
classes.
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
Web Service Code Generation

Java or WSDL code can be generated automatically depending on the
approach.

Two basic approaches:

1.Bottom-up: Write the code and generate the WSDL from it (e.g., with
Axis2, use the Java2WSDL tool).

2.Top-Down: Create WSDL and generate the code based on it (e.g. with
Axis2, use the WSDL2Java tool).




                        © Accenture 2010. All Rights Reserved.          27
Java examples


Let’s go over some practical examples on:

1.Accessing existing Web Services using a Web
Service Testing Tool (SoapUI)

2.Creating a Web service




                 © Accenture 2010. All Rights Reserved.   28
Agenda
•Introduction

•SOA architectural principles

•Web enabled technologies for SOA

•SOA and Java

•Case study

•Q & A

                   © Accenture 2010. All Rights Reserved.   29
Example SOA Case Study


Case study of a SOA implementation




                © Accenture 2010. All Rights Reserved.   30
Questions & Comments




Two 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.
References

1. 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.pdf

3. SOA Using Java Web Services – Mark D. Hansen – 2007 Prentice Hall

4. Service Oriented Architecture with Java – Binildas CA, Malhar Barai,
   Vincenzo Caselli – 2008 Packt Publishing

5. 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
Thank you for
 participating!

More Related Content

PDF
SURFnetRelatiedagen Microsoft Online Strategie 15 5 2008 V1.0
PDF
Building tomorrow's web with today's tools
PDF
What is Semantic Service provisioning
PDF
2007: Achieving Interoperability In Systems Architecture - SOA Vision And Rea...
PPTX
Enterprise 2.0 Musings
PDF
Heavy Metal PowerPivot Remastered SPTechCon
PPT
Session 1928 Semantic SOA Gvernance Deck
PDF
Viestintäaamupäivä exchange 2013
SURFnetRelatiedagen Microsoft Online Strategie 15 5 2008 V1.0
Building tomorrow's web with today's tools
What is Semantic Service provisioning
2007: Achieving Interoperability In Systems Architecture - SOA Vision And Rea...
Enterprise 2.0 Musings
Heavy Metal PowerPivot Remastered SPTechCon
Session 1928 Semantic SOA Gvernance Deck
Viestintäaamupäivä exchange 2013

What's hot (17)

PPTX
Open Group Presentation Iterative Approach To Build An Ea For Hix Final
PPTX
Viestinnän seminaari 8.11.2012 / Exchange
PDF
S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...
PPTX
Hugues Treguier is the Director of Products for Europe at Arkadin - Moving to...
PDF
An Execution Engine For Semantic Business Processes
PDF
Belgian public sector interoperability
PDF
Nuno Godinho
PPTX
Openbravo for retail presentation en(1)
PDF
Enterprise domain sisus 1709
PDF
Oracle Self Service Webcenter Soa Telco V 5
PDF
A comparative study of soap vs rest web services provisioning techniques for ...
PPT
PDF
Imaginea product-support-offering
PDF
Ria2010 workshop dev mobile
PPTX
Cloud 101 & BPOS - Microsoft Webinar
PDF
Soft Solvers Technologies Corporate Presentation
Open Group Presentation Iterative Approach To Build An Ea For Hix Final
Viestinnän seminaari 8.11.2012 / Exchange
S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...
Hugues Treguier is the Director of Products for Europe at Arkadin - Moving to...
An Execution Engine For Semantic Business Processes
Belgian public sector interoperability
Nuno Godinho
Openbravo for retail presentation en(1)
Enterprise domain sisus 1709
Oracle Self Service Webcenter Soa Telco V 5
A comparative study of soap vs rest web services provisioning techniques for ...
Imaginea product-support-offering
Ria2010 workshop dev mobile
Cloud 101 & BPOS - Microsoft Webinar
Soft Solvers Technologies Corporate Presentation
Ad

Viewers also liked (7)

PPS
Lighteninginajar
PPTX
Anzca presentation 7 july 2011
PPTX
"The Super Building"
TXT
Chris miller
PPTX
Traditional green building
PPTX
Blaz Mihelic, Ministry of Defence of Slovenia
PDF
Barça reialsocietat(semis-anada)
Lighteninginajar
Anzca presentation 7 july 2011
"The Super Building"
Chris miller
Traditional green building
Blaz Mihelic, Ministry of Defence of Slovenia
Barça reialsocietat(semis-anada)
Ad

Similar to 2010 06-18 service oriented architecture (soa) v4 (20)

PPT
Soa role in telco industry
PDF
Keynote-Service Orientation – Why is it good for your business
PDF
SOA and DevOps v0.1
PDF
Service Integration Goes Social with EasySOA - OpenWorldForum 2011
PPT
Soa Overview
PPTX
Practical soa for business and researchers
PPT
Soa Test Methodology
PPT
SOA1-Background.ppt SOFTWARE ORIENTED SERVICES AND ARCHITECTURE
PDF
Soa Next Generation
PPTX
The Intricacies Of Enterprise Integration Soa Vs Esb
PDF
SOA with NET and Windows Azure Realizing Service Orientation with the Microso...
PDF
Practical SOA for the Solution Architect
PPT
Cloud computing v2final
PPTX
SOA - Unit 2 - Service Oriented Architecture
PPTX
Introduction to SOA
PPTX
Service Oriented Architecture (SOA)
PDF
Cc unit 2 updated
PPTX
Building Innovative Mobile, Cloud, & Process Applications using SOA
PPT
Service Analysis And Design
Soa role in telco industry
Keynote-Service Orientation – Why is it good for your business
SOA and DevOps v0.1
Service Integration Goes Social with EasySOA - OpenWorldForum 2011
Soa Overview
Practical soa for business and researchers
Soa Test Methodology
SOA1-Background.ppt SOFTWARE ORIENTED SERVICES AND ARCHITECTURE
Soa Next Generation
The Intricacies Of Enterprise Integration Soa Vs Esb
SOA with NET and Windows Azure Realizing Service Orientation with the Microso...
Practical SOA for the Solution Architect
Cloud computing v2final
SOA - Unit 2 - Service Oriented Architecture
Introduction to SOA
Service Oriented Architecture (SOA)
Cc unit 2 updated
Building Innovative Mobile, Cloud, & Process Applications using SOA
Service Analysis And Design

More from alvaro alcocer sotil (20)

PPTX
Clase ciencia - Huesos
PPTX
Rm rompecabeza
PPTX
Locomocion en animales
PPTX
Presentacion comuniccaion
DOCX
El trabajo académico chomsky
PPTX
PPT
Catedral de-lima-historia-nc2ba-51-pps
PPT
Proceso de ventas 2013
PPTX
PPTX
Plan de marketing
PPT
Intercambio de publicidad
PPT
Producto marca
PPT
Plan de mk tcompleto (3)
PPTX
La marca debe ser humana
PPTX
3º sesion la competencia
PPT
2ºsesion beneficios de la planeacion de marketing
PPT
1º sesion planeamiento estratégico de marketing
PPT
Aprendiendo publicidad ppt final paola
PPT
Agencia de publicidad la campaña publicitaria -tipos
Clase ciencia - Huesos
Rm rompecabeza
Locomocion en animales
Presentacion comuniccaion
El trabajo académico chomsky
Catedral de-lima-historia-nc2ba-51-pps
Proceso de ventas 2013
Plan de marketing
Intercambio de publicidad
Producto marca
Plan de mk tcompleto (3)
La marca debe ser humana
3º sesion la competencia
2ºsesion beneficios de la planeacion de marketing
1º sesion planeamiento estratégico de marketing
Aprendiendo publicidad ppt final paola
Agencia de publicidad la campaña publicitaria -tipos

2010 06-18 service oriented architecture (soa) v4

  • 1. Service Oriented Architecture (SOA) Gabriel Orce June 2010 © Accenture 2010. All Rights Reserved.
  • 2. Centra Tools Raise Hand Audio/Connectivity Tips • Run the Audio Wizard Yes / No • Choose Tools/Audio Wizard from the menu at top of screen Applause • Close all network based applications • Outlook, MSN/AOL, other websites, Office Communicator, etc Laugh • Connect via an Accenture LAN or high speed internet connection • If using a wireless connection, ensure Text Chat your signal is as strong as possible • Monitor the Network Connectivity Centra Volume Control Bar • Contact Learning Product Support if issues continue Network Connectivity Bar
  • 3. Asking Questions Two 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. Agenda •Introduction •SOA architectural principles •Web enabled technologies for SOA •SOA and Java •Case study •Q & A © Accenture 2010. All Rights Reserved. 4
  • 5. Introduction To better understand what Service Oriented Architecture is, we must first understand what Service is, and what we mean by Architecture. © Accenture 2010. All Rights Reserved. 5
  • 6. Services From a SOA perspective, a service is an abstracted, logical view of a well-defined business functionality, which could be consumed by clients in different applications or business processes. Services can be new software modules or can wrap around existing 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. Architecture Software Architecture is the logical design of interconnected software components that work towards the objective of an existing or potential system given the required resources. © Accenture 2010. All Rights Reserved. 7
  • 8. Service Oriented Architecture (SOA) Service Oriented Architecture is a logical way of designing a software system consisting of a collection of loosely coupled services (components) that communicate with each other via standard message exchanging protocols and through standard interfaces. These service components may provide services either to end-user applications or other services distributed in a network. © Accenture 2010. All Rights Reserved. 8
  • 9. Related Concepts Service Oriented Integration (SOI): It is the act of adapting applications and protocols to a SOA environment. SOI addresses the integration of an IT legacy systems as reusable services for a SOA environment from an IT organization. As such, the problems of integrating legacy and inflexible heterogeneous systems are addressed by enabling IT organizations to offer the functionality locked in existing applications as reusable services. Service Oriented Computing (SOC): It refers to the paradigm that represents computation in SOA. © Accenture 2010. All Rights Reserved. 9
  • 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. Key Characteristics for Services in SOA •Loose coupling — Services should be connected to clients and other services using standard, decoupled message-based methods. XML document exchanging is most common. •Interface-based design — Services implement separately defined interfaces. The benefit of this is that multiple services can implement a common interface and a service can implement multiple interfaces. •Discoverable — Services need to be found at both design time and run time, not only by unique identity but also by interface identity and by service kind. © Accenture 2010. All Rights Reserved. 11
  • 12. Key Characteristics for Services in SOA •Coarse-grained — Operations on services are frequently implemented to encompass more functionality and operate on larger data sets, compared with component-interface design. •Single instance — Unlike component-based development, which instantiates components as needed, each service is a single, always running instance that a number of clients communicate with. © Accenture 2010. All Rights Reserved. 12
  • 13. Service Types in SOA Service provider — The software entity that implements a service specification. Service requester — The software entity that calls a service provider. Note that a Service requester can be an end-user application or another service. Service broker — The software entity responsible for linking a requester to a service provider. A service broker hosts a registry of service descriptions. Service providers publish services to a service broker. Service requesters find required 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. Composition and Orchestration Service orchestration represents the mechanism for composing services into larger ones to perform a specific business process. This includes the business logic and execution order of the interactions between the services and 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. 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. Agenda •Introduction •SOA architectural principles •Web enabled technologies for SOA •SOA and Java •Case study •Q & A © Accenture 2010. All Rights Reserved. 16
  • 17. Technologies used in SOA Web services: are software systems designed to support interoperable machine-to-machine interaction over a network. This interoperability is gained through a set of XML-based open standards, such as WSDL, SOAP, and UDDI. These standards provide a common approach for defining, publishing, and using web services. (1) XML: is a text-based markup language specification from the WWW Consortium (W3C). In SOA it is widely used for representing arbitrary data structures and messaging protocols. WSDL (Web Services Description Language): is a XML-based language that provides a simple way for service providers to describe the format of requests and response messages. In general, WSDL provides an abstract language for defining the published operations of a service with their respective parameters and data types. The language also addresses the definition of the location and binding details of the service. © Accenture 2010. All Rights Reserved. 17
  • 18. Technologies used in SOA UDDI (Universal Description, Discovery, and Integration): This specification provides a common set of SOAP APIs that enable the implementation 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 messaging XML-based protocol for the exchange of information in a distributed environment. It is completely vendor neutral. SOAP defines a protocol between requester and provider objects, such that the requesting objects can perform a remote method invocation on the providing objects. SOAP is also basically independent of the transport protocol (http, smtp, jms, etc.). SOAP’s main criticism is usually on the overhead 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. It attempts to reuse the http methods making an equivalence between your semantic operation and the http methods (get, post, put, delete); it is not based upon "message" concepts as is SOAP. 18
  • 19. WSDL 1.1 Format definitions Root element of the WSDL document. Defines the definitions 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. SOAP 1.2 Format Envelope Mandatory. Top element of the XML document Envelope 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. Enterprise Service Bus - ESB ESB is an open standards, message-based, distributed, integration solution that provides routing, invocation, and mediation services to facilitate the interactions of disparate distributed information technology resources (applications, services, information, platforms) in a reliable manner. (Brenda Michelson, 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. Enterprise Service Bus - ESB Characteristics: • 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 adapters ESB can assist in giving a SOA solution (but using ESB does not imply a SOA solution) © Accenture 2010. All Rights Reserved. 22
  • 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. SOA and Java Web Services can be implemented with Java. Some Web Services Frameworks that can be used to facilitate this are: • XFire/CXF • Apache Axis • Spring-WS First let us view the invocation process to understand how web services work. © Accenture 2010. All Rights Reserved. 24
  • 25. Service Invocation Process Client Server Create Receive Request Request SOAP SOAP Java code starts proces Java s Object Create Receive Response Response SOAP SOAP © Accenture 2010. All Rights Reserved. 25
  • 26. Service Invocation Process Example: Server-side Service Invocation (after client creates SOAP message 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 Java class/method to invoke 4.Deserialization – SOAP message content is deserialized into the Java classes. 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. Web Service Code Generation Java or WSDL code can be generated automatically depending on the approach. Two basic approaches: 1.Bottom-up: Write the code and generate the WSDL from it (e.g., with Axis2, use the Java2WSDL tool). 2.Top-Down: Create WSDL and generate the code based on it (e.g. with Axis2, use the WSDL2Java tool). © Accenture 2010. All Rights Reserved. 27
  • 28. Java examples Let’s go over some practical examples on: 1.Accessing existing Web Services using a Web Service Testing Tool (SoapUI) 2.Creating a Web service © Accenture 2010. All Rights Reserved. 28
  • 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. Example SOA Case Study Case study of a SOA implementation © Accenture 2010. All Rights Reserved. 30
  • 31. Questions & Comments Two 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. References 1. 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.pdf 3. SOA Using Java Web Services – Mark D. Hansen – 2007 Prentice Hall 4. Service Oriented Architecture with Java – Binildas CA, Malhar Barai, Vincenzo Caselli – 2008 Packt Publishing 5. 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. Thank you for participating!

Editor's Notes

  • #3: 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.
  • #4: 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.
  • #34: “ 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.”