SlideShare a Scribd company logo
A Guide to the SOA Galaxy:
Strategy, Design and Best Practices


               Dmitri Shiryaev
                 Java Tools
            Sun Microsystems, Inc.
Guide to the SOA Galaxy

                                  3. JBI

You are here        2. BPEL
                                 4. ESB


         1. Intro        5. Java CAPS

               6. . The Answer
               To Everything
Business-IT Context for SOA
• Creating an IT environment to support
  continuous business optimization
• Structures your IT applications in line with
  your business processes
  – Speeds business change
  – Facilitates business connections
  – Enchances business control
• Heavy focus on flexible interconnections
  with carefully managed qualities of service
  (QoS)
Why SOA?
                     Channels
Partners Customers         Internal Users       Suppliers   •   Inflexibility of IT
                                                                Infrastructure
                                                            •   Complexity of
                                                                Integration Projects
              $                        $             $
 $ $$                $ $                                    •   Integration Costs
                         $                  $   $           •   Time to Market
              $                                             •   Limited Partnering
                                                                Flexibility
                       $
                                   $                        •   Limitations of EDI
          $
          $                        $Inventory Provisioning
 Legacy       CRM       Billing
              Information Assets
SOA and Web Services
• Web services are most people's first and only
  exposure to SOA
• Only one manner of service access
   – Message-oriented middleware (MOM)
   – CORBA, RMI, DCOM, raw sockets, Email etc.
• SOA architectures tend to be best implemented
  using web services as the middleware technology
Why Services?
• SOA = an architectural principle for
  structuring systems
• SOA emphasizes the de-coupling of system
  components
• New services are created from existing
  ones in a synergistic fashion
• Strong service definitions are critical
• Services can be subsequently re-composed
  in response to changing business
  requirements
What Are Services?
• A function accessed using XML message
  exchange
• Message exchanges have well known
  exchange patterns
• Services are self-describing, using
  metadata (WSDL)
What Does a Service Do?
•   Transform data
•   Route messages
•   Query databases
•   Orchestrate conversations
•   Apply business logic
•   Apply business policy
•   Handle business exceptions
•   Solicit approvals
•   …
How Is a Service Implemented?
•   XSLT
•   Enterprise JavaBeans™ (EJB™) technology
•   BPEL
•   SQL
•   XQuery
•   Routing table
•   Business rules
•   EDI transform
•   …
Benefits of SOA
• Flexible (Agile) IT
  – Adaptable to changing business needs
• Faster time to market
  – Reuse existing code, minimize new
    development
• Business and process-driven
  – New business opportunities
• Greater ROI
  – Leverage existing IT asset
SOA Layers

 Access Layer
Process Layer
Service Layer
Resource Layer
The “Move” to SOA
        Non-
        Integrated




   Integrated
  and Shared
The Shift

• SOA is a combined effort between
  IT and the business units
             er SOA         Proc
         Lay                     ess
       e                      Defi Layer
   rvic vider
Se ro                              ner
     P

        IT                Biz Units
Pre-SOA Scenario
  Credit                                                     Mortgage
  Card




   Balance     Fraud      Credit          Credit   Balance      Interest
    Check     Detection   Check           Check     Check         Calc




             Back-End       Partner     Partner     Back-End
Customer                                                         Customer
              System      Credit Data   Credit       System
  Data                                                             Data
                                         Data
SOA-Enabled Scenario

            Auto                                                                    Mutual
           Loans Bill Pay                                                    Stocks Funds




                                   Credit Card               Mortgage

                                        Reusable      Services
  Payment                                                                                        Trade
                Credit       Fraud          Access    Interest     Balance       Customer
 Management                                                                                    Execution
                Check       Detection       Service     Calc        Check       Data Service
   Service                                                                                      Service




Internet                                                                                 Increased
                                                                                           Agility

                  Partner Credit        Back-End        Back-End        Customer Data
                      Data               System          System
SOA Architectural Big Rules
 Coarse Grained
Business Services         Document-based           Mostly Async               Conversational




    Reliable              Secure/Identity         Policy Driven        Registered and Retrieved




               WSDL Described        BPEL Orchestrated            JBI-based
n
                                                  esig ed
   SOA Architectural Big Rules                  D
                                                Focu
                                                     s

Coarse Grained Business Services   XML Document-based




         Mostly Async                Conversational
i es
                                     alit ed
SOA Architectural Big Rules       Qu us
                                   Foc

    Reliable          Secure/Identity




  Policy Driven   Registered and Retrieved
ds
                                             n d ar d
SOA Architectural Big Rules               Sta cuse
                                           Fo

  WSDL Described               BPEL Orchestrated




                   JBI-based
Guide to the SOA Galaxy
    You are here

                          3. JBI


             2. BPEL
                         4. ESB


  1. Intro         5.Java CAPS

        6. The Answer
        To Everything
Need for Business Process
• Developing the web services and exposing
  the functionality is not sufficient
• We also need a way to orchestrate these
  functionality in the right order
• Example:
  – Concert ticket purchase Web service has 3
    operations, which need to be performed in the
    following order
     • Getting a price quote
     • Purchase a ticket
     • Confirmation and cancellation
BPEL (Business Process Execution Language)
• XML-based language used to specify business
  processes based on Web Services
• BPEL processes describe
  – Long running, stateful, transactional,
    conversations between two or more partner web
    services
• BPEL is key to implementing SOA Big Rules
  – Conversational
  – Mostly Async
  – XML Document-based
  – Orchestrated
BPEL “Fixes” WSDL
• WSDL: unordered set of operations
    – Operations are message exchanges
•   Need rules for ordering
•   Support for sequencing
•   Support for concurrency
•   Choreography with external entities
BPEL Is a Web Service
      Sequencing Language
• Process defines “conversation” flow chart
  – Conversation consists of only WSDL-described
    message exchanges
  – BPEL provides and consumes WSDL defined
    services
• Process instance is a particular
  conversation following the chart
  – Execution systems can support multiple
    concurrent conversations
BPEL Works With WSDL
• Web services are described in WSDL
  – Operations are message exchanges
  – Each operation represents an individual unit of
    action
• We need a way to orchestrate these
  operations with multiple web services in the
  right order to perform a Business process
  – Sequencing, conditional behavior etc.
• BPEL provides standard-based
  orchestration of these operations
BPEL: Relationship to Partners
               WSDL                       Inventory
                                       Checker Service




                                       Credit checker
                                          Service


Customer Service
               Orchestrating Process   Another Partner
                     (BPEL)                Service
BPEL Document Structure
<process>
   <!– Definition and roles of process participants -->
  <partnerLinks> ... </partnerLinks>
   <!- Data/state used within the process -->
   <variables> ... </variables>
   <!- Properties that enable conversations -->
   <correlationSets> ... </correlationSets>
   <!- Exception handling -->
   <faultHandlers> ... </faultHandlers>
   <!- Error recovery – undoing actions -->
   <compensationHandlers> ... </compensationHandlers>
   <!- Concurrent events with process itself -->
   <eventHandlers> ... </eventHandlers>
   <!- Business process flow -->
   (activities)*
</process>
BPEL Activities
Basic Activities   Structured Activities
• <invoke>         • <sequence>
• <receive>        • <while>
• <reply>          • <pick>
• <assign>         • <flow>
• <throw>          • <scope>
• <wait>           • <compensate>
• <empty>          • <switch>
                   • <link>
BPEL: Basic Activities
• <invoke>
  – To invoke a one-way or request/response
    operation on a portType offered by a partner
• <receive>
  – To do a blocking wait for a matching message to
    arrive
  – Can be the instantiator of the business process
• <reply>
  – To send a message in reply to a message that was
    received through a <receive>
  – The combination of a <receive> and a <reply>
    forms a request-response operation on the WSDL
    portType for the process
BPEL: Basic Activities
• <assign>
  – Can be used to update the values of variables with new data
• <throw>
  – Generates a fault from inside the business process
• <wait>
  – Allows you to wait for a given time period or until a certain
    time has passed
• <empty>
  – Allows you to insert a "no-op" instruction into a business
    process
  – This is useful for synchronization of concurrent activities, for
    instance
BPEL: Structured Activities
• <sequence>
  – Perform activities in sequential order
• <flow>
  – Perform activities in parallel
• <switch>
  – Conditional choice of activities
• <scope>
  – Enclose multiple activities in a single scope
Example Business Process
                      Receive <PO>                        <sequence>




Invoke <InventoryService>        Invoke <CreditService>     <flow>




                     Reply <Invoice>                      </sequence>
Authoring BPEL?

• BPEL is difficult to write
  – Programming in XML: arghhhh!
  – XML Schema
     • Real-world schemas are huge and complex
     • Run the other way if you can
  – WSDL extensions
     • As if WSDL weren’t confusing enough
• BPEL is an execution language only
  – Not a modeling notation
BPMN (Business Process Modeling Notation)
• Notation for business process diagrams
  – Based on flowcharting techniques
  – Has special considerations for Web Services
  – Readily understandable by...
    • Business users
    • Business analysts
    • Software developers
• But, BPMN and BPEL are complimentary
  – BPEL: execution language without a notation
  – BPMN: notation with a comprehensive
    mapping to BPEL
Visual Service Orchestration
Guide to the SOA Galaxy

                       3. JBI


           2. BPEL              You are here
                      4. ESB


  1. SOA        5. Java CAPS

      6. The Answer
      To Everything
SOA
  – Decouples service consumers from providers
  – Separates business logic from services
  – Enables dynamic service discovery/use
  – Appealing to large enterprises
    (flexible/scalable)
Business integration
  – Application to application (A2A)
  – Business to business (B2B)
  – Business process management (BPM)
  – Many architectures, technologies, vendors
What is JBI (JSR-208)?
●   One of the biggest motivation for SOA is to
    reduce the cost of application integration
●   Standard-based, pluggable infrastructure
    – Service Engines: Provides business logic
      and integration services
    – Binding Components: Provides
      communications protocols
• Composite, event-driven services
• Extensible administration
• Loose coupling via WSDL message exchanges
JBI (JSR-208)
  – Standardizes:
    • A Java technology-based Extensible Meta-container
    • Installable components (binding components and
      service engines)
    • Packaging/deployment (service units and service
      assemblies)
    • Normalized message routing (WSDL-2.0 based)
    • Component/deployment management (Ant and
      JMX™ API)
    • And more
Runtime: Java EE Platform
     and Java Business Integration
• Java Business Integration serves as messaging
  infrastructure
   – Java EE web services interact through Java
     Business Integration
   – Java Business Integration bindings allow
     remote consumers and providers
   – Add other service technologies as Java
     Business Integration components
• Transparent to programmer using Java EE
  technology
   – Reuse without re-coding
JBI Architecture
JBI—Service Engine

• Hosts business logic implementing services
• Exposes service endpoints
  – Agnostic of protocol and transport
• Engages in Message Exchange Patterns
  – Normalized messages—target remote service
• Is a target for deployment—a container
  – Engine-specific artifacts
  – May cause endpoint activation
JBI—Binding Component
• Handles protocol-specific message re-
  formatting
  – Deals with wire transport of messages
  – E.g. SOAP/HTTP, FTP, SMTP, JMS, ebMS,
    AS2, etc.
• Should contain no business logic
• Exposes proxy endpoints for remote
  services
• Proxies JBI services to remote consumers
• (Re)Used by multiple service engines
JBI Administration

• Standard installation of components
  – Portable archive format
• Service Assembly (SA)
  – Portable package of a composite service
• Service Unit (SU)
  – Each deployed to one component type
• Lifecycle Management
  – Start/stop/shutdown
JBI—Service Assembly
        Deployment
SA=Proxy Service
                             BPEL
                             Engine
     JBI.xml


    SU     activity.xml
    1                        XSLT
                             Engine

          transform.xslt
    SU
    2
                           SOAP/HTTP
          endpoint.xml       Binding
    SU
    3
Guide to the SOA Galaxy

                         3. JBI
                                  You are here

             2. BPEL
                        4. ESB


  1. Intro        5. Java CAPS

        6. The Answer
        to Everything
Enterprise Service Bus
• Distributed services architecture
• Enterprise-grade communications
  backbone for reliable messaging
• Intelligent routing and content-based
  routing
• Process coordination
• Flexible security framework
• XML transformation
• Management
Project Open ESB
• Open source, based on the JSR-208 RI
• + Multiple JBI instances (+ synchronization)
• + Distributed normalized message
  routing/proxying
• + Central administration (+ CLI and Web
  Console)
• And more
JBI and Project Open ESB
• Java Business Integration
  – Service Unit
  – Component
  – Service Assembly
  – Standardized MBeans

• Project Open ESB
  – Distributed JBI
  – Centralized Management
Guide to the SOA Galaxy

                         3. JBI


             2. BPEL
                        4. ESB
                                  You are here

  1. Intro        5 Java CAPS.

        6. Answer
        to Everything
Composite Applications
• A composite application is a collection of existing
  and independently developed applications and
  new business logic, orchestrated together into a
  brand new solution of a business problem that
  none alone can solve
• Such an application looks to the user like a
  regular new interactive application, yet in reality it
  may be only 10 percent new and 90 percent an
  assembly of pre-existing components or data; the
  “glue” that brings a composite application
  together is integration technology
Sun's Vision for the SOA Platform
Sun's SOA Platform
Java ES and Suites
                                                                               Over 1 Million
                                   TM
                      Java Enterprise System                                     Java ES
                                                                                Subscribers

                       Composite




                                                           Communications
                                              Management
                   Application Platform




                                                                            Availability

                                                                                           Management Tools
                                                Identity
Developer Tools




                   Application
                    Platform            B2B

                       Web              ESB
                  Infrastructure




                                                                  Storage + STK
Java Composite Application Platform Suite
Positioning
   Java CAPS

Unique Combination of:
   ●   Unified
   ●   Comprehensive
   ●   Agile

Value Proposition:

   The industry's most complete, secure, unified and scalable
   platform for the development, deployment and management
   of enterprise integration and composite applications
Open ESB and Java CAPS
        Open ESB                    Java CAPS Suites
Entry Level, Standards-Based ESB   Fifth-generation, ESB-based
         JBI Architecture            Integration Suite with full
        Available: 1H 2006                 functionality
                                          Available NOW




      Use: For                     Use: Run Your
      Develop                      Enterprise on
        ers                             this.
Guide to the SOA Galaxy

                         3. JBI


             2. BPEL
                        4. ESB


  1. Intro        5 Java CAPS.
                            You are here
        6. The Answer         (finally)
        To Everything
The Answer to Everything...



            Tools
SOA Tool
NetBeans Enterprise
Pack 5.5
Rapid Architecture and Design of Services
Overview
• Will focus on higher level features that are
  important to building enterprise
  applications..for example....
  – SOA
     •   Composite Application Building
     •   Business Process Orchestration
     •   Integration
     •   Rich Visual XML Tools
  – Application Lifecycle Management
     • UML Modeling
     • Project Management
     • Automatic Project Wiki Documentation
Enterprise Customer Need
Design of Composite Services
Rapid Architecture and Design of Services
                                                   SOA
•

                  Enterprise
                   Platform           J2EE
                                       1.5
                               Sun Java System
                              Application Server




                       XML            Data
                     web Services
                                    Portability
    Application       Sun Web Services
    Portability        Developer Pack
Visual Service Orchestration
• Service Orchestrations
  – Model Business process in the Orchestration
    Designer
  – Generate deployable BPEL based
    orchestrations
  – Round trip engineering between visual Web
    service model and BPEL process
  – Import and export BPEL
Visual Service Orchestration
Summary
• SOA enables flexible and agile enterprise
  application architecture
• JBI provides standard based SOA
  framework
• BPEL enables standard based
  orchestration of services
• NetBeans Enterprise Pack is the tool to
  use for building SOA-enabled enterprise
  applications
Call For Action
• Try “free” Java Studio Enterprise for
  building industry strength Web services
• Try Technology Preview version of
  NetBeans Enterprise Pack 5.5 for
  integrating SOA-enabled services
• Join Sun Developer Network (SDN) for up-
  to-date SOA information
Resources
• SDN (Sun Developer Network)
  SOA/WebServices
  – http://java.sun.com/reference/soawebservices/
• Java Studio Enterprise
  – http://developers.sun.com/prodtech/javatools/j
    senterprise/
• NetBeans Enterprise Pack 5.5
  – http://enterprise.netbeans.org
Sun Developer Network
Empowering the Developer

Increasing developer
productivity with:
    Technical articles
   Tutorials and sample codes
    Monitored forum
    support
   Community involvement
   through user groups, events,
   and conferences
   And more...                    http://developer.sun.com

More Related Content

PDF
Composite Applications with SOA, BPEL and Java EE
PDF
Introduction to SOA &amp; its Open Source Framework
PDF
Paul Butterworth Policy Based Approach
PDF
Service Oriented Architecture (SOA) [1/5] : Introduction to SOA
PPT
Enhancing The Role Of A Large Us Federal Agency As An Intermediary In The Fed...
PPTX
Kuali update v4 - mw
PPTX
SOA - Enabling Interoperability And Business Agility March 2009
PDF
Service Oriented Architecture (SOA) [5/5] : SOA Best Practices
Composite Applications with SOA, BPEL and Java EE
Introduction to SOA &amp; its Open Source Framework
Paul Butterworth Policy Based Approach
Service Oriented Architecture (SOA) [1/5] : Introduction to SOA
Enhancing The Role Of A Large Us Federal Agency As An Intermediary In The Fed...
Kuali update v4 - mw
SOA - Enabling Interoperability And Business Agility March 2009
Service Oriented Architecture (SOA) [5/5] : SOA Best Practices

What's hot (20)

PDF
Scaling MySQL: Benefits of Automatic Data Distribution
PDF
SOA an architecture on the Desktop
PDF
Business Process Optimization with Enterprise SOA and AIA
PDF
IBSolution Bulgaria at SAP World tour 2011
PPT
Session 1928 Semantic SOA Gvernance Deck
PDF
Enterprise Security Architecture: From Access to Audit
PPTX
SAP Explorer Visual Intelligence
PDF
Reporting _ Paul Vella _ OBI Analytics for JDE.pdf
PPTX
Make Your Business More Flexible with Scalable Business Process Management So...
PPTX
Endava Career Days Jan 2012 - Customer profile - large investment bank
PPT
Sematic SOA Governance Demo screen shots
PPTX
Function Point Analysis: Size Matters - No Matter What You Have Been Told!
PPTX
Experience This... Counting an Apple iPhone Application
PPTX
Kuali OLE @ LITA Forum 2012
PDF
OW2 Petals Dragon SOA Linuxtag09
PDF
Moving Beyond Project Level SOA
PDF
2008 11 18_contracts _oaug-sig
PPTX
Tagging Up - MMS and Taxonomy In SharePoint 2010
PDF
Innovative Marriage of Security and Performance in SOA Based Dynamic Enterprises
PDF
Anthony Carrato S O A Business Architecture
Scaling MySQL: Benefits of Automatic Data Distribution
SOA an architecture on the Desktop
Business Process Optimization with Enterprise SOA and AIA
IBSolution Bulgaria at SAP World tour 2011
Session 1928 Semantic SOA Gvernance Deck
Enterprise Security Architecture: From Access to Audit
SAP Explorer Visual Intelligence
Reporting _ Paul Vella _ OBI Analytics for JDE.pdf
Make Your Business More Flexible with Scalable Business Process Management So...
Endava Career Days Jan 2012 - Customer profile - large investment bank
Sematic SOA Governance Demo screen shots
Function Point Analysis: Size Matters - No Matter What You Have Been Told!
Experience This... Counting an Apple iPhone Application
Kuali OLE @ LITA Forum 2012
OW2 Petals Dragon SOA Linuxtag09
Moving Beyond Project Level SOA
2008 11 18_contracts _oaug-sig
Tagging Up - MMS and Taxonomy In SharePoint 2010
Innovative Marriage of Security and Performance in SOA Based Dynamic Enterprises
Anthony Carrato S O A Business Architecture
Ad

Similar to A Guide to the SOA Galaxy: Strategy, Design and Best Practices (20)

PPT
Refactoring J2EE Application for a JBI-based ESB
PPSX
ESB Overview
PDF
TH e-GIF on SOA Using Open Enterprise Architecture
PDF
Oracle: Como apalancar los nuevos modelos de negocios con tecnología Oracle d...
PPT
Soa role in telco industry
PPT
4.4.2013 Software, System, & IT Architecture - Good Design is Good Business:...
PDF
Developer and Fusion Middleware 2 _Alex Peattie _ An introduction to Oracle S...
PPTX
SOA & BPM in Cloud Readiness
PDF
Mohamad Afshar Moving Beyond Project Level S O A V1
PDF
Mohamad Afshar Moving Beyond Project Level S O A
PDF
Oracle SOA Suite Overview - Integration in a Service-Oriented World
PDF
Oracle tech fmw-02-soa-suite-11g-neum-15.04.2010
PDF
2007: Achieving Interoperability In Systems Architecture - SOA Vision And Rea...
PPTX
Concepts integrationandbiztalksoa andbpm
PDF
21st Century Service Oriented Architecture
PDF
Security, Governance & Integration in a Cloud Connected World
PDF
Soa con8642 pdf_8642_0001
PDF
Radovan Janecek Avoiding S O A Pitfalls
PPTX
Refactoring J2EE Application for a JBI-based ESB
ESB Overview
TH e-GIF on SOA Using Open Enterprise Architecture
Oracle: Como apalancar los nuevos modelos de negocios con tecnología Oracle d...
Soa role in telco industry
4.4.2013 Software, System, & IT Architecture - Good Design is Good Business:...
Developer and Fusion Middleware 2 _Alex Peattie _ An introduction to Oracle S...
SOA & BPM in Cloud Readiness
Mohamad Afshar Moving Beyond Project Level S O A V1
Mohamad Afshar Moving Beyond Project Level S O A
Oracle SOA Suite Overview - Integration in a Service-Oriented World
Oracle tech fmw-02-soa-suite-11g-neum-15.04.2010
2007: Achieving Interoperability In Systems Architecture - SOA Vision And Rea...
Concepts integrationandbiztalksoa andbpm
21st Century Service Oriented Architecture
Security, Governance & Integration in a Cloud Connected World
Soa con8642 pdf_8642_0001
Radovan Janecek Avoiding S O A Pitfalls
Ad

Recently uploaded (20)

PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
Cloud computing and distributed systems.
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Approach and Philosophy of On baking technology
PDF
cuic standard and advanced reporting.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Empathic Computing: Creating Shared Understanding
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Cloud computing and distributed systems.
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
GamePlan Trading System Review: Professional Trader's Honest Take
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Mobile App Security Testing_ A Comprehensive Guide.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Approach and Philosophy of On baking technology
cuic standard and advanced reporting.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
20250228 LYD VKU AI Blended-Learning.pptx
Empathic Computing: Creating Shared Understanding
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Chapter 3 Spatial Domain Image Processing.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Big Data Technologies - Introduction.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

A Guide to the SOA Galaxy: Strategy, Design and Best Practices

  • 1. A Guide to the SOA Galaxy: Strategy, Design and Best Practices Dmitri Shiryaev Java Tools Sun Microsystems, Inc.
  • 2. Guide to the SOA Galaxy 3. JBI You are here 2. BPEL 4. ESB 1. Intro 5. Java CAPS 6. . The Answer To Everything
  • 3. Business-IT Context for SOA • Creating an IT environment to support continuous business optimization • Structures your IT applications in line with your business processes – Speeds business change – Facilitates business connections – Enchances business control • Heavy focus on flexible interconnections with carefully managed qualities of service (QoS)
  • 4. Why SOA? Channels Partners Customers Internal Users Suppliers • Inflexibility of IT Infrastructure • Complexity of Integration Projects $ $ $ $ $$ $ $ • Integration Costs $ $ $ • Time to Market $ • Limited Partnering Flexibility $ $ • Limitations of EDI $ $ $Inventory Provisioning Legacy CRM Billing Information Assets
  • 5. SOA and Web Services • Web services are most people's first and only exposure to SOA • Only one manner of service access – Message-oriented middleware (MOM) – CORBA, RMI, DCOM, raw sockets, Email etc. • SOA architectures tend to be best implemented using web services as the middleware technology
  • 6. Why Services? • SOA = an architectural principle for structuring systems • SOA emphasizes the de-coupling of system components • New services are created from existing ones in a synergistic fashion • Strong service definitions are critical • Services can be subsequently re-composed in response to changing business requirements
  • 7. What Are Services? • A function accessed using XML message exchange • Message exchanges have well known exchange patterns • Services are self-describing, using metadata (WSDL)
  • 8. What Does a Service Do? • Transform data • Route messages • Query databases • Orchestrate conversations • Apply business logic • Apply business policy • Handle business exceptions • Solicit approvals • …
  • 9. How Is a Service Implemented? • XSLT • Enterprise JavaBeans™ (EJB™) technology • BPEL • SQL • XQuery • Routing table • Business rules • EDI transform • …
  • 10. Benefits of SOA • Flexible (Agile) IT – Adaptable to changing business needs • Faster time to market – Reuse existing code, minimize new development • Business and process-driven – New business opportunities • Greater ROI – Leverage existing IT asset
  • 11. SOA Layers Access Layer Process Layer Service Layer Resource Layer
  • 12. The “Move” to SOA Non- Integrated Integrated and Shared
  • 13. The Shift • SOA is a combined effort between IT and the business units er SOA Proc Lay ess e Defi Layer rvic vider Se ro ner P IT Biz Units
  • 14. Pre-SOA Scenario Credit Mortgage Card Balance Fraud Credit Credit Balance Interest Check Detection Check Check Check Calc Back-End Partner Partner Back-End Customer Customer System Credit Data Credit System Data Data Data
  • 15. SOA-Enabled Scenario Auto Mutual Loans Bill Pay Stocks Funds Credit Card Mortgage Reusable Services Payment Trade Credit Fraud Access Interest Balance Customer Management Execution Check Detection Service Calc Check Data Service Service Service Internet Increased Agility Partner Credit Back-End Back-End Customer Data Data System System
  • 16. SOA Architectural Big Rules Coarse Grained Business Services Document-based Mostly Async Conversational Reliable Secure/Identity Policy Driven Registered and Retrieved WSDL Described BPEL Orchestrated JBI-based
  • 17. n esig ed SOA Architectural Big Rules D Focu s Coarse Grained Business Services XML Document-based Mostly Async Conversational
  • 18. i es alit ed SOA Architectural Big Rules Qu us Foc Reliable Secure/Identity Policy Driven Registered and Retrieved
  • 19. ds n d ar d SOA Architectural Big Rules Sta cuse Fo WSDL Described BPEL Orchestrated JBI-based
  • 20. Guide to the SOA Galaxy You are here 3. JBI 2. BPEL 4. ESB 1. Intro 5.Java CAPS 6. The Answer To Everything
  • 21. Need for Business Process • Developing the web services and exposing the functionality is not sufficient • We also need a way to orchestrate these functionality in the right order • Example: – Concert ticket purchase Web service has 3 operations, which need to be performed in the following order • Getting a price quote • Purchase a ticket • Confirmation and cancellation
  • 22. BPEL (Business Process Execution Language) • XML-based language used to specify business processes based on Web Services • BPEL processes describe – Long running, stateful, transactional, conversations between two or more partner web services • BPEL is key to implementing SOA Big Rules – Conversational – Mostly Async – XML Document-based – Orchestrated
  • 23. BPEL “Fixes” WSDL • WSDL: unordered set of operations – Operations are message exchanges • Need rules for ordering • Support for sequencing • Support for concurrency • Choreography with external entities
  • 24. BPEL Is a Web Service Sequencing Language • Process defines “conversation” flow chart – Conversation consists of only WSDL-described message exchanges – BPEL provides and consumes WSDL defined services • Process instance is a particular conversation following the chart – Execution systems can support multiple concurrent conversations
  • 25. BPEL Works With WSDL • Web services are described in WSDL – Operations are message exchanges – Each operation represents an individual unit of action • We need a way to orchestrate these operations with multiple web services in the right order to perform a Business process – Sequencing, conditional behavior etc. • BPEL provides standard-based orchestration of these operations
  • 26. BPEL: Relationship to Partners WSDL Inventory Checker Service Credit checker Service Customer Service Orchestrating Process Another Partner (BPEL) Service
  • 27. BPEL Document Structure <process> <!– Definition and roles of process participants --> <partnerLinks> ... </partnerLinks> <!- Data/state used within the process --> <variables> ... </variables> <!- Properties that enable conversations --> <correlationSets> ... </correlationSets> <!- Exception handling --> <faultHandlers> ... </faultHandlers> <!- Error recovery – undoing actions --> <compensationHandlers> ... </compensationHandlers> <!- Concurrent events with process itself --> <eventHandlers> ... </eventHandlers> <!- Business process flow --> (activities)* </process>
  • 28. BPEL Activities Basic Activities Structured Activities • <invoke> • <sequence> • <receive> • <while> • <reply> • <pick> • <assign> • <flow> • <throw> • <scope> • <wait> • <compensate> • <empty> • <switch> • <link>
  • 29. BPEL: Basic Activities • <invoke> – To invoke a one-way or request/response operation on a portType offered by a partner • <receive> – To do a blocking wait for a matching message to arrive – Can be the instantiator of the business process • <reply> – To send a message in reply to a message that was received through a <receive> – The combination of a <receive> and a <reply> forms a request-response operation on the WSDL portType for the process
  • 30. BPEL: Basic Activities • <assign> – Can be used to update the values of variables with new data • <throw> – Generates a fault from inside the business process • <wait> – Allows you to wait for a given time period or until a certain time has passed • <empty> – Allows you to insert a "no-op" instruction into a business process – This is useful for synchronization of concurrent activities, for instance
  • 31. BPEL: Structured Activities • <sequence> – Perform activities in sequential order • <flow> – Perform activities in parallel • <switch> – Conditional choice of activities • <scope> – Enclose multiple activities in a single scope
  • 32. Example Business Process Receive <PO> <sequence> Invoke <InventoryService> Invoke <CreditService> <flow> Reply <Invoice> </sequence>
  • 33. Authoring BPEL? • BPEL is difficult to write – Programming in XML: arghhhh! – XML Schema • Real-world schemas are huge and complex • Run the other way if you can – WSDL extensions • As if WSDL weren’t confusing enough • BPEL is an execution language only – Not a modeling notation
  • 34. BPMN (Business Process Modeling Notation) • Notation for business process diagrams – Based on flowcharting techniques – Has special considerations for Web Services – Readily understandable by... • Business users • Business analysts • Software developers • But, BPMN and BPEL are complimentary – BPEL: execution language without a notation – BPMN: notation with a comprehensive mapping to BPEL
  • 36. Guide to the SOA Galaxy 3. JBI 2. BPEL You are here 4. ESB 1. SOA 5. Java CAPS 6. The Answer To Everything
  • 37. SOA – Decouples service consumers from providers – Separates business logic from services – Enables dynamic service discovery/use – Appealing to large enterprises (flexible/scalable) Business integration – Application to application (A2A) – Business to business (B2B) – Business process management (BPM) – Many architectures, technologies, vendors
  • 38. What is JBI (JSR-208)? ● One of the biggest motivation for SOA is to reduce the cost of application integration ● Standard-based, pluggable infrastructure – Service Engines: Provides business logic and integration services – Binding Components: Provides communications protocols • Composite, event-driven services • Extensible administration • Loose coupling via WSDL message exchanges
  • 39. JBI (JSR-208) – Standardizes: • A Java technology-based Extensible Meta-container • Installable components (binding components and service engines) • Packaging/deployment (service units and service assemblies) • Normalized message routing (WSDL-2.0 based) • Component/deployment management (Ant and JMX™ API) • And more
  • 40. Runtime: Java EE Platform and Java Business Integration • Java Business Integration serves as messaging infrastructure – Java EE web services interact through Java Business Integration – Java Business Integration bindings allow remote consumers and providers – Add other service technologies as Java Business Integration components • Transparent to programmer using Java EE technology – Reuse without re-coding
  • 42. JBI—Service Engine • Hosts business logic implementing services • Exposes service endpoints – Agnostic of protocol and transport • Engages in Message Exchange Patterns – Normalized messages—target remote service • Is a target for deployment—a container – Engine-specific artifacts – May cause endpoint activation
  • 43. JBI—Binding Component • Handles protocol-specific message re- formatting – Deals with wire transport of messages – E.g. SOAP/HTTP, FTP, SMTP, JMS, ebMS, AS2, etc. • Should contain no business logic • Exposes proxy endpoints for remote services • Proxies JBI services to remote consumers • (Re)Used by multiple service engines
  • 44. JBI Administration • Standard installation of components – Portable archive format • Service Assembly (SA) – Portable package of a composite service • Service Unit (SU) – Each deployed to one component type • Lifecycle Management – Start/stop/shutdown
  • 45. JBI—Service Assembly Deployment SA=Proxy Service BPEL Engine JBI.xml SU activity.xml 1 XSLT Engine transform.xslt SU 2 SOAP/HTTP endpoint.xml Binding SU 3
  • 46. Guide to the SOA Galaxy 3. JBI You are here 2. BPEL 4. ESB 1. Intro 5. Java CAPS 6. The Answer to Everything
  • 47. Enterprise Service Bus • Distributed services architecture • Enterprise-grade communications backbone for reliable messaging • Intelligent routing and content-based routing • Process coordination • Flexible security framework • XML transformation • Management
  • 48. Project Open ESB • Open source, based on the JSR-208 RI • + Multiple JBI instances (+ synchronization) • + Distributed normalized message routing/proxying • + Central administration (+ CLI and Web Console) • And more
  • 49. JBI and Project Open ESB • Java Business Integration – Service Unit – Component – Service Assembly – Standardized MBeans • Project Open ESB – Distributed JBI – Centralized Management
  • 50. Guide to the SOA Galaxy 3. JBI 2. BPEL 4. ESB You are here 1. Intro 5 Java CAPS. 6. Answer to Everything
  • 51. Composite Applications • A composite application is a collection of existing and independently developed applications and new business logic, orchestrated together into a brand new solution of a business problem that none alone can solve • Such an application looks to the user like a regular new interactive application, yet in reality it may be only 10 percent new and 90 percent an assembly of pre-existing components or data; the “glue” that brings a composite application together is integration technology
  • 52. Sun's Vision for the SOA Platform
  • 54. Java ES and Suites Over 1 Million TM Java Enterprise System Java ES Subscribers Composite Communications Management Application Platform Availability Management Tools Identity Developer Tools Application Platform B2B Web ESB Infrastructure Storage + STK
  • 55. Java Composite Application Platform Suite
  • 56. Positioning Java CAPS Unique Combination of: ● Unified ● Comprehensive ● Agile Value Proposition: The industry's most complete, secure, unified and scalable platform for the development, deployment and management of enterprise integration and composite applications
  • 57. Open ESB and Java CAPS Open ESB Java CAPS Suites Entry Level, Standards-Based ESB Fifth-generation, ESB-based JBI Architecture Integration Suite with full Available: 1H 2006 functionality Available NOW Use: For Use: Run Your Develop Enterprise on ers this.
  • 58. Guide to the SOA Galaxy 3. JBI 2. BPEL 4. ESB 1. Intro 5 Java CAPS. You are here 6. The Answer (finally) To Everything
  • 59. The Answer to Everything... Tools
  • 60. SOA Tool NetBeans Enterprise Pack 5.5 Rapid Architecture and Design of Services
  • 61. Overview • Will focus on higher level features that are important to building enterprise applications..for example.... – SOA • Composite Application Building • Business Process Orchestration • Integration • Rich Visual XML Tools – Application Lifecycle Management • UML Modeling • Project Management • Automatic Project Wiki Documentation
  • 62. Enterprise Customer Need Design of Composite Services
  • 63. Rapid Architecture and Design of Services SOA • Enterprise Platform J2EE 1.5 Sun Java System Application Server XML Data web Services Portability Application Sun Web Services Portability Developer Pack
  • 64. Visual Service Orchestration • Service Orchestrations – Model Business process in the Orchestration Designer – Generate deployable BPEL based orchestrations – Round trip engineering between visual Web service model and BPEL process – Import and export BPEL
  • 66. Summary • SOA enables flexible and agile enterprise application architecture • JBI provides standard based SOA framework • BPEL enables standard based orchestration of services • NetBeans Enterprise Pack is the tool to use for building SOA-enabled enterprise applications
  • 67. Call For Action • Try “free” Java Studio Enterprise for building industry strength Web services • Try Technology Preview version of NetBeans Enterprise Pack 5.5 for integrating SOA-enabled services • Join Sun Developer Network (SDN) for up- to-date SOA information
  • 68. Resources • SDN (Sun Developer Network) SOA/WebServices – http://java.sun.com/reference/soawebservices/ • Java Studio Enterprise – http://developers.sun.com/prodtech/javatools/j senterprise/ • NetBeans Enterprise Pack 5.5 – http://enterprise.netbeans.org
  • 69. Sun Developer Network Empowering the Developer Increasing developer productivity with: Technical articles Tutorials and sample codes Monitored forum support Community involvement through user groups, events, and conferences And more... http://developer.sun.com