SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
Welcome
to Transformation and Innovation 2007
The Business Transformation Conference

Lloyd Dugan
Senior Project Director/CTO
Information Engineering Services, Inc. (IES)
SessionTitle:
Use of SOA and Web Services Technologies for
EA Migration – Lessons Learned on How To
Sort It All Out


                                                 May 22-24, 2007    1
The Business Transformation Conference   Washington Dulles Hilton
Biographical & Background Information
Speaker:
  – Over 20+ years in IT industry
  – Former Deloitte & Touch, Anteon, American Management Systems, and
    Information Management Consultants; Duke MBA
  – Past speaker for AIIM, ARMA, Delphi Group, National BPR Conference,
    and Mercury Interactive

Company:
  – IT management consulting and systems integration services company
    founded in 1992 by Myles Reid; www.ie-services.com
  – Focused on housing, mortgage banking and insurance, real estate
    management, securities market
  – Certified small disadvantage business, registered minority-owned business
    enterprise; GSA Schedules
  – Headquartered in Alexandria, VA

Case Study Background
  – First project at HUD charged to do EA migration and design using SOA
  – Eventually settled on using Oracle SOA Suite as the SOA software

                                                                   May 22-24, 2007    2
                  The Business Transformation Conference   Washington Dulles Hilton
Outline
Learning Objectives
SOA and Web Services Overview
SOA and Web Services Framework
SOA and Web Services With BPM
SOA and Web Services SDLC Methodology
SOA and Web Services for EA Migration
Final Considerations
References
Questions and Answers
                                                              May 22-24, 2007    3
             The Business Transformation Conference   Washington Dulles Hilton
Learning Objectives

To Learn the Basics of SOA and Web Services
 Within the Context of a Case Study

To Appreciate the Methodological Challenges
 To Doing SOA and Web Services Modeling

To Understand How SOA and Web Services
 Can Facilitate Migration To an EA

                                                            May 22-24, 2007    4
           The Business Transformation Conference   Washington Dulles Hilton
SOA and Web Services Overview
           Web Services – True Reuse and Distributed Computing at Last?!

        Evolution Of Technologies To Support Reusability and Distributed Computing

         Object-                      System                        Enterprise Appli-                  Service-Oriented
         Oriented                   Componentization                cation Integration                 Architecture




• Introduced reusability of   • Supported reuse at the       • Supported reuse of common • Supports reuse at any level
  objects and gave birth to     level of granularity defined   functions (e.g., transactional   of granularity applicable for
  design patterns               by a particular component      integrity) at application server the underlying service
• Inheritance inadvertently   • Data exchange via            • Introduced use of XML as       • Refined use of XML in
  made for more objects         messages needed to             data exchange format for         messaging and based it on
  (not fewer), leading to       integrate disparate            messaging in support of          standards for messaging and
  governance problems           systems as components          system integration               transport
• System integration          • System integration           • System integration achieved • System integration achieved
  achieved via specific         achieved via proprietary       via standard APIs (for using   via Web Services based on
  interface classes that        application programming        the application server’s       standards-based APIs (for
  worked better in more         interfaces (APIs) for          functions) and other,          the application server) and
  homogenous                    heterogeneous                  proprietary APIs (for specific extensible system adapters
  environments                  environments                   systems)                       (rather than specific APIs)


                                                                                                    May 22-24, 2007       5
                                  The Business Transformation Conference                    Washington Dulles Hilton
SOA and Web Services Overview
        Web Services Provisioning – Basic Model

Simple Object Access Protocol (SOAP). An XML-based,
   extensible message envelope format, with quot;bindingsquot; to
   underlying protocols (e.g., HTTP, HTTPS). J2EE
   application server support is via Java API for XML
   Processing (JAXP) and Java API for XML-based RPC
   (JAX-RPC). Microsoft has something similar for .NET.

Web Service Definition Language (WSDL). An XML
   format that allows service interfaces to be described,
   along with the details of their bindings to specific
   protocols. It enables abstraction from the technology.

Universal Description Discovery and Integration (UDDI).
    A protocol for publishing and discovering metadata
    about Web Services, to enable applications to find Web
    Services, either at design time or runtime. Used for
    Public discovery of services, either Internet or intranet.
    Can be bundled with a more robust Service Registry
    that supports a more comprehensive management of
    Web Services.



                                                                              May 22-24, 2007    6
                             The Business Transformation Conference   Washington Dulles Hilton
SOA and Web Services Overview
      XML Schema Document (XSD) – Message Structure Enforcement

 SOAP Message Contains XML Payload for Exchanging Data Between Service Requester and
Service Provider that Must Conform To Format Required By XSD Specified for the Web Service


                                               XSD for
       XSD Can Be Used To Support                                  XSD Should Be Used To Validate
                                           Business Domain
       Construction of the SOAP                                    the XML Payload of Inbound and
       Message and Its XML Payload                                 Outbound Messages Transported
                                               Services
       By the Web Service Requestor                                or Processed By the Web Service




                                                                                                 System
                                            SOAP Message

                     Web
                                                  XML                    Web
   User             Service
                                                 Payload                Service
Or System          Requestor
                                                                                                Database




                                                                                  May 22-24, 2007     7
                          The Business Transformation Conference          Washington Dulles Hilton
SOA and Web Services Overview
   Message Exchange Patterns (MEPs) – Basic Types Supported

 SOA Technologies Utilize Basic MEPs that Support the Simple Object Access Protocol
(SOAP), Generally Over Hypertext Transport Protocol (HTTP) Or Secure HTTP (HTTPS)

                                                                            Simple One-
                         Simple Request/Response
        A    B                                                              Way – aka “Fire
                         – as in a Remote                        A   B
                                                                            and Forget”
                         Procedure Call (RPC)
                                                                     C
                  C      Request/Response                                   One Way
        A    B           Fanned-out Or                                      Fanned-out
                                                                 A   B
                         Routed                                             Or Routed
                  D
                                                                     D



    Primary Supported MEP – Invoked Component               Also Supported MEP – Asynchronous
     Can Respond Immediately In a Synchronous               MEPs Because Process “A” Does Not
   MEP Or On a Delayed Basis In an Asynchronous                Require a Response Or Receipt
   MEP, Which May Or May Not Allow Process “A”                 Acknowledgement To Continue
           To Continue Executing Activities                          Executing Activities

   Note: SOA Technologies Do Not Directly Support Other MEPs (e.g., Publish/Subscribe or Broadcast)


                                                                                      May 22-24, 2007    8
                        The Business Transformation Conference                Washington Dulles Hilton
SOA and Web Services Framework
         Web Service Classifications – Characterization of the Functionality
Domain Directory Service – Provides a single point of access to a “directory” of subordinate services used (e.g.,
    typically Orchestration Services) within a specific Business Domain (e.g., Case Processing), but may be
    unnecessary with the use of a Service Registry/Universal Description Discovery and Integration (UDDI) Server

Orchestration Service – “Orchestrates” the execution of business logic and data access, typically for a core end-to-
    end business process with internal constituents that are more coupled than other services external to the
    orchestration (e.g., another Orchestration Service), and will be system integration-centric (i.e., oriented towards
    integrating systems or data), human/document-centric (i.e., oriented towards human-mediated activities that
    typically involve a document to provide context for the transaction being processed), or some combination

Task-Centric Service – Performs a discrete task or a highly coupled set of tasks that execute compact steps of
    business logic and/or data access with basic functionality and limited responsibilities, likely as a common service
    that is reusable and extensible (e.g., error handling, XML schema management, and business rules engine)

Entity-Centric Service – Performs data-related activities (apart from data access but inclusive of data transformation
    based on mappings from legacy system data representations to standard ones) around a specific business entity
    (taken from an enterprise-wide data model representation of core business entities), typically as a common service
    that is reusable and extensible, which can be as Service Data Objects (SDOs) if the specification standard is
    supported and the data graph transformations (that implement the data mappings) are known

Application Service – Makes legacy system functionality and the data therein available at the invocation of another
    service, but is constrained by the specific context and characteristics of the legacy functionality and data so
    exposed (i.e., the granularity of the service is defined by what the program does), with services being those
    programs that can be invoked as remote procedure calls (RPCs) that can be utilized explicitly with the Service
    Component Architecture (SCA) specification (i.e., using embedded coding) or implicitly (i.e., with SCA imposed via
    the service design and management)

Data Service – Similar to an Application Service, but is a service that is strictly focused on posting to or querying
    against legacy databases and/or new databases out of a common context rather than by going through the legacy
    systems themselves, which allows the data to be accessed and transformed in more flexible ways

Interface Service – Performs specific interface-level activities to bridge disparate system platforms via a system
    adapter (e.g., Database Connector, CICS Transaction, FTP, etc.) that contains the interface-specific information
    needed to enable and support the connection

                                                                                                 May 22-24, 2007        9
                                The Business Transformation Conference                   Washington Dulles Hilton
SOA and Web Services Framework
         Web Service Classifications – General Interaction Pattern [1]


                                                                          Business Process Layer                      System
                                                         User
                                                                          (Users/Uses of Services)
                                                                            Web Services Interface
                                                        Business                                                        Business


                             Service Interface Layer
                                                                           Business
    Supports
                                                        Domain                                                          Domain
                                                                           Domain
Principles of SCA                                                                 Domain Directory
  But Does Not                                                                        Service
Explicitly Rely On
     the SCA
  Specification                                        Task_Centric                                               Entity_Centric
                                                                            Orchestration   Orchestration
                                                         Service                                                     Service
        –                                                                      Service         Service
      Shifts
Architecture from
System-focus To
 Service-focus!
                                                                      Application                      Data
                                                                        Service                       Service
                                                          Interface                                                 Interface
                                                           Service                                                   Service

                                                                      Legacy System or Database Interface

                                                          Legacy                                                    Legacy
                                                          System                                                   Database
                                                                                    Legacy Layer

                                                                                                             May 22-24, 2007       10
                              The Business Transformation Conference                                 Washington Dulles Hilton
SOA and Web Services Framework
         Web Service Types – Implementing Technology on Oracle SOA Suite

                Business Process Execution Language (BPEL) Web Service
Available
With                 –   Is a BPEL process (standard term) that is natively already exposed as a web service, and is
                         best suited for dealing with modestly complex routing logic (e.g., data transformations
Installed
                         together with multiple conditional routing based on that data) and message exchange
Version of               patterns (e.g., asynchronous request/reply communications)
Oracle SOA
Suite and       Adapter Web Service
Used in the          –   Is a system adapter (standard term) for bridging disparate system platforms (e.g., Database
Design                   Connector Adapter) that is natively already exposed as a web service, and further breaks
                         down by the specific type of adapter needed to bridge to a particular system platform.


                Enterprise Java Bean (EJB) Web Service
Available but
Not Used in          –   Is an EJB class (standard term) that has been explicitly exposed as a web service, and is
                         best suited for dealing with highly complex business logic and message exchange patterns
Design


                Enterprise Service Bus (ESB) Web Service
Not                  –   Is an ESB project (Oracle term) that is natively already exposed as a web service, and is
                         best suited for dealing with simple routing logic (e.g., single conditional routing based on
Available
                         data only) and message exchange patterns (e.g., synchronous request/reply
With
                         communications)
Installed
Version of      Business Rules Engine (BRE) Web Service
Oracle SOA
                     –   Is a BRE dictionary (Oracle term) of one or more sets of business rules (e.g., testing a
Suite                    business value against regulatory limit) that is natively already exposed as a web service
                         (called the Decision Service), and is best suited for dealing with straightforward business
                         rules that govern how specific functions occur and/or how specific data is treated


                                                                                             May 22-24, 2007     11
                           The Business Transformation Conference                    Washington Dulles Hilton
SOA and Web Services With BPM
            Workflow Patterns (WPs) – Basic Types Supported


              SOA Technologies Can Support Basic WPs that Support Work Activities,
             Typically With Compatible Business Process Management (BPM) Tools [2]

                                                                                      Merge – Separate Threads
              Sequence – One Activity Leads To Another
A       B
                                                                                      Converge Into Single Next Activity
              (Process “A” Finishes and then Starts Process “B”)          C
                                                                                      Without Synchronization (Process
                                                                              E
                                                                                      “C” or “D” Must Finish Before
                                                                          D
              Parallel – One Activity Splits Into Separate                            Process “E” Can Start)
        C
              Threads that Continue (Process “B” Splits Into
B
        D     Processes “C” and “D” that Execute Together)
                                                                                      Choice – Single Exclusive
                                                                                      Thread Is Launched Or Multiple
                                                                                  F
              Synchronization – One Activity Begins After                             Threads Are Launched
C
                                                                          E
        E     Feeder Threads Complete (Processes “C” and “D”                          (Processes “F” and/or “G” Start
                                                                                  G
D
              Must Both Finish Before Process “E” Can Start)                          Based On a Decision About
                                                                                      Data Addressed In Process “E”)


    Note: SOA Technologies Do Not Directly Support Other WPs (e.g., Arbitrary Cycles Used for Collaborative Activities)



                                                                                                  May 22-24, 2007    12
                                 The Business Transformation Conference                   Washington Dulles Hilton
SOA and Web Services With BPM
         Different BPM – Technology Focus for Business Solution

 More System Integration-Centric BPM                        More Human/Document-Centric BPM

     A       B          A              B                              E                                   E
O                                           N           O                                                          N
L                               S           E           L             F                         P         F        E
D                                           W           D                                                          W
     C       D          C              D                              G                                   G

Shift multiple bi-lateral system-to-system               Shift multiple disparate user-mediated
communications to centralized hub-and-                   activities to use a single user interface and
spoke                                                    engine

Generally MEP-oriented system                            Generally WP-oriented process integration
integration with middleware services                     of back-office systems

Usually data-oriented (data                              Usually process-oriented (process
flow/synchronization)                                    flow/synchronization)



                                                                                       May 22-24, 2007        13
                            The Business Transformation Conference             Washington Dulles Hilton
SOA and Web Services With BPM
         Business Process Modeling and Management – BPEL
Business Process Execution Language (BPEL) is a standards-based language that is defined and
   maintained by OASIS (http://www.oasis-open.org/home/index.php)
     –    Version 1.1 has widespread deployment, especially among platform vendors
     –    Version 2.0 is well underway
XML-variant that “executes” like script in the BPEL engine (on the J2EE application server) as it is
   interpreted
     –    Runs as a first class citizen in the Java container of the J2EE application server
     –    Supports Web Services, XPath, XSLT, and XQuery technologies
     –    Was a synthesis of predecessor languages (IBM’s WSFL and Microsoft’s XLANG), but has evolved
          significantly beyond its beginning
Provides a standards-based, abstract process programming language for expressing business
    processes
     –    Independent of the underlying applications that support those activities (as with any Web Service, the
          WSDL file hides the interface implementation details)
     –    Generalist, jack-of-all-trades type of BPM product that runs on the J2EE application server
     –    Simple monitoring and management controls embedded with the application server
     –    Wizard-based configuration/scripting via diagramming on an integrated development environment (IDE)
          tool to model and create BPEL script
     –    Functionality is implemented more by way of implemented design pattern rather than stand-alone
          technology
          Requires custom-developed or 3rd party web client user interface if human mediation is required
     –
     –    Relies on adapters and Web Services, and focuses more on system integration problems
     –    Exchanges between pure BPM modelers (those using Business Process Management Notation (BPMN)
          are lossy
BPEL processes (BPEL, XSD, and WSDL files) are (theoretically) transferable from one BPEL
   engine to another – though worries about underlying differences in the adapters and J2EE
   application server Java persist (with me anyway!)

                                                                                             May 22-24, 2007       14
                             The Business Transformation Conference                  Washington Dulles Hilton
SOA and Web Services With BPM
           BPEL Process – Simple Example
    Partner Links                                                                                                                                  Partner Links
BPEL Process To Do a
  Database Lookup

                                                                                                                                                   Partner Link is To an
                                                                                      ReceiveInput

                                                                                                                                                     External Service
                                                                                                                             BPEL Process        Provider (e.g., Database)
                                                                                                                          Invokes an Interface
                                                                               Assign_TransactionInfoQuery

                                                                                                                              Web Service
        client

                                                                                                                                                 OracleDatabase
                                                                               Invoke_TransactionInfoQuery

                                                                                                                                           Corresponds to a
                                                                                                                                           WSDL File for
                                                                                      ReplyInput
                                                                                                                                           the Web Service


  <process name=quot;Interface_Controllerquot; targetNamespace=quot;http://xmlns.oracle.com/Interface_Controllerquot;
   xmlns=quot;http://schemas.xmlsoap.org/ws/2003/03/business-process/quot; ... >
    <partnerLinks>
     <partnerLink name=quot;clientquot; partnerLinkType=quot;client:Interface_Controllerquot;
             myRole=quot;Interface_ControllerProviderquot;/>
     <partnerLink name=quot;OracleDatabasequot; partnerRole=quot;oracleDatabaseAdapter_rolequot;
             partnerLinkType=quot; ns7:oracleDatabaseAdapter_plt            quot;/>
                                                                                                                                  BPEL Process is an XML
    </partnerLinks>
                                                                                                                                  Variant that Needs the
    <variables>
                                           Oracle Database Adapter
     <variable name= ... >
                                                                                                                                  Runtime BPEL Engine (e.g.,
     ...
                                           Invoked as a Web Service
                                                                                                                                  Oracle BPEL Process
    </variables>
    <sequence name=quot;mainquot;>
                                                                                                                                  Manager) To Interpret and
     ...
                                                                                                                                  “Execute” the Script
     <invoke name=quot;Invoke_TransactionInfoQueryquot; partnerLink=quot;OracleDatabasequot;
             portType=quot; ns7:oracleDatabaseAdapter_ptt          quot; operation=quot;oracleDatabaseAdapterSelect_transaction_idquot;
             inputVariable=quot;Invoke_TransactionInfoQuery_Inputquot;
             outputVariable=quot;Invoke_TransactionInfoQuery_Outputquot;/>
     ...
    </sequence>
  </process>


                                                                                                                                                May 22-24, 2007     15
                                                 The Business Transformation Conference                                                 Washington Dulles Hilton
SOA and Web Services SDLC Methodology
         Business Domain as Scope for Web Services Modeling

Utilize Comprehensive Business Process
Model Or Proxy for Such a Model
                                                                       Top-Down Approach:
                          Line of                  • Localize Business Domain To a Realistic Set for First SOA
Single Family Housing
                          Business                • Preserve Fit Within Larger Context To Facilitate Extensibility
                            Major Function
       Loan Origination
                            or Module                                                                             Larger
                                  Sub-                                                                            Grained
                                                           Business Domain Level (Case Processing)
              Case Processing
                                  Function                                                                        Services
                                                              Business                  Business
                                                              Processes                 Processes
    Combine Top-Down with Bottom-Up [3]                                                                           Smaller
                                                                           Business
                                                                                                                  Grained
                                                                           Processes
                                                                                                                  Services
                                                               Business                 Business
                                                               Processes                Processes
Reverse Engineer Core Systems From
Source Code and Other Documentation

    Portal Level          Back-Office
                                                                      Bottom-Up Approach:
    Functionality           System
                                                  • Examine Legacy System for System Functionality and Data
    and Screens           Functionality
                                                  • Review Utilized Components for Use as Candidate Services
       Cold                 Unisys
      Fusion              Mainframe
     Front-end            Back-Office


                                                                                               May 22-24, 2007        16
                                The Business Transformation Conference                 Washington Dulles Hilton
SOA and Web Services SDLC Methodology
        Assumptions and SOA-Based Modeling Principles
Assumptions:
    –   Minimize Or Avoid Changes Made To the Invocations of Legacy Systems As a Result of Changes Made
        To the Calling Service Clients (screens/other systems)
    –   Anticipate Future Security Issues With Respect To Web Services As Best As Possible By Honoring
        Existing Protocol for System Accounts and Passwords
    –   Design for Web Services To Be By HTTP Behind the Firewall for System-To-System Exchanges and by
        HTTPS (with Transport Layer Security or Secure Socket Layer) Across the Firewall for External Users

SOA-Based Modeling Principles:
    –   Model Web Services As a Stereotype Classes with UML Class Diagrams and Sequence Diagrams,
        Incorporating Descriptive Attributes for the Web Services
    –   Model Web Services To Function In Support of Any Type of Service Requester Interface To Promote
        Reusability and Extensibility Across the Enterprise
    –   Adapt Design Patterns for Use With BPEL Processes and Adapters Where Appropriate To Help To
        Ensure Sound and Extensible System Design [4]
    –   Optimize Connections Between Services In Order To Balance Manageability of Services Against the
        Reusability of Services, and To Minimize Overhead
    –   Keep Common Services at a Basic Level of Functionality With a Limited Set of Responsibilities To Best
        Leverage Common Usage By Other Services
    –   Model and Utilize Common Data Structures and Validation Service Where Feasible for Web Service
        XML Payloads To Minimize Data Structure Management Burden

                                                                                       May 22-24, 2007    17
                            The Business Transformation Conference             Washington Dulles Hilton
SOA and Web Services SDLC Methodology
        Web Services as Modeled and Configuration Managed SDLC Artifacts

                                   Adapted UML Treats Web Services With Class Diagrams as a Superclass that Decomposes
                                      By Web Service Type (for the Technology) and Classification (for the Functionality)


                                                 • Web Service Type
        Web Service                              • Web Service Classification
                                                 • Web Service Name
   Basic Level Attributes
                                                 • Web Service Version Number
                                                 • WSDL Name
  Basic Level Operations
                                                 • Etc.
  Specializes To

     Web Service Type
                                                                      • Adapter Type
                                      • BPEL Process Name
   Type Level Attributes
                                                                      • Adapter Version Number
                                      • BPEL Engine Version Number
   Type Level Operations

  Specializes To

 Web Service Classification

Classification Lvl Attributes         • Application RPC Name          • Legacy System Interface Information

Classification Lvl Operations
                                    Specific Web Service Operations Are Defined At This Level – In the Case of a BPEL
                                    Process, Operations Correspond To a BPEL Process Diagram and Executable Script



                                                                                                  May 22-24, 2007       18
                                The Business Transformation Conference                    Washington Dulles Hilton
SOA and Web Services SDLC Methodology
            Web Services Modeled To Fit Basic Common Interaction Design Pattern

 Service       Service     Domain           Process             Schema       Application   Database      System         Legacy
Requester     Interface    Directory      Orchestration         Checker         RPC         Query        Adapter       Interface
RequestService
                  InvokeService                                                                                 Typical
                                                                                                              Synchronous
                                  InvokeXMLCheck
   Adapted
                                                                                                               MEPs With
     UML
                                                                                                              Services and
  Diagrams
                                                                                                                Systems
                                  AssignOrchestration
  Model the
  Processes       Applicable      InvokeOrchestration
                 Orchestration
                    Option                              AssignProcess

                                          Applicable    InvokeRPC
                                                                                            InvokeAdapter
                                           Process                                                          SubmitRequest
                                           Option
   Common
  Basic WPs
     for
                                          Applicable
   Process                                              InvokeQuery
                                                                                            InvokeAdapter
                                           Process
  Activities
                                                                                                            SubmitRequest
                                           Option




                                                                                                    May 22-24, 2007      19
                                    The Business Transformation Conference                  Washington Dulles Hilton
SOA and Web Services SDLC Methodology
             XSD Modeling – Simple Data Dictionary Example and Key Concepts
                                                                                                               Hierarchy: Means that the XSD file
                                                                                                               (like any XML file) contains nested
                                                                                                               tagged items, and tagged items can
                                                                                                               be subordinate XSD files or
                                                                                                               elements or a mix, which requires
                                                                                                               modeling of the XSDs
 diagram
                                                                                Low-Level XSDs Consist
                                                                                                               Usage: Means that child XSDs may
                                                                                of Tagged Elements Only
                                                                                                               be used as constituent components
                                                                                                               in more than one parent, which the
namespace    http://www.hud.gov (placeholder)                                                                  XSD model must capture/manage

                                                                                                               Mapping: Referencing of XSDs in
  children   caseNumber caseType
                                                                                                               specific Web Services can be
                                                                                                               mapped, including referencing how
  used by
                                                                                                               the XML payload must look
                element       requestCAIVRSAuthorization/caseInfo


   source    <xsd:name=quot;CAIVRSBorrowerAuthorizationCaseInfoquot;>
             <xsd:sequence>                                                                                    Optionality: Means that the
              <xsd:element name=quot;caseNumberquot; type=quot;xsd:stringquot; nillable=quot;truequot; minOccurs=quot;0“ maxOccurs=quot;1quot;/>   instance of an element (i.e., a
              <xsd:element name=quot;caseTypequot; type=quot;xsd:stringquot; nillable=quot;truequot; minOccurs=quot;0“ maxOccurs=quot;1quot;/>     tagged item) or set of elements in
             </xsd:sequence>                                                                                   an XML file referencing a specific
             </xsd:complexType>                                                                                XSD only appears if there is an
                                                                                                               actual value
properties
                                                                                                               Cardinality: Sets the number of
                      isRef      0
                                                                                                               instances of an element or set of
                                                                                                               elements in an XML file referencing
                    minOcc       0
                                                                                                               a specific XSD
                   maxOcc        unbounded
                                                                                                               Nillability: Means that the instance
                    content      complex
                                                                                                               of an element or set of elements in
                                                                                                               an XML file referencing a specific
                                                                                                               XSD can appear without a value


                                                                                                                       May 22-24, 2007        20
                                             The Business Transformation Conference                            Washington Dulles Hilton
SOA and Web Services SDLC Methodology
           XSD Modeling - Modeling XML Payload Characteristics

   Optionality: Tagged item corresponding to an XSD element only appears in the XML file if the
      value “john” is actually present
<xsd:element name=“firstNamequot; type=quot;xsd:stringquot; nillable=“falsequot; minOccurs=“1“ maxOccurs=“1quot;/>   <firstName>john</firstName>

                                                                                                 <firstName>john</firstName>
<xsd:element name=“firstNamequot; type=quot;xsd:stringquot; nillable=“falsequot; minOccurs=“0“ maxOccurs=“1quot;/>
                                                                                                              Or
                                                                                                 No Element Appears At All



   Cardinality: Tagged item corresponding to an XSD element means that up to the specified limit
      can appear in the XML file (but it could be less)
                                                                                                 <firstName>john</firstName>
<xsd:element name=“firstNamequot; type=quot;xsd:stringquot; nillable=“falsequot; minOccurs=“1“ maxOccurs=“2quot;/>
                                                                                                              Or
                                                                                                 <firstName>john</firstName>
                                                                                                 <firstName>bob</firstName>



   Nillability: Tagged item corresponding to a nillable XSD element means that it may appear in
        the XML file without any actual value present if none existed
                                                                                                 <firstName>john</firstName>
<xsd:element name=“firstNamequot; type=quot;xsd:stringquot; nillable=“truequot; minOccurs=“1“ maxOccurs=“1quot;/>
                                                                                                              Or
                                                                                                 <firstName></firstName>


                                                                                                   May 22-24, 2007     21
                                  The Business Transformation Conference                   Washington Dulles Hilton
SOA and Web Services for EA Migration
            Initial Highly Coupled Interfaces Between Front-End and Back-Office Systems

User Front-End System (Cold Fusion)                     Back-Office System (Unisys)   Hitachi Mainframe System

                                                                                             ce File
                                                                                      Interfa




                                                        U
                                                        N
                                                        I
                                                        A
                                                        C
                                                        C                              Key:
                Red Functional Thread =
                     Update Case                        E                                     = Cold Fusion/JavaScript/HTML
                Blue Functional Thread =                S                                     = Mainframe COBOL programs
                     Perform Query
                                                        S                                     = Control or data flow
                Gold Functional Thread =
                                                                                              = Query flow
                   Submit Application                   *
                                                                                              = Data record types or tables
* UniAcesss is a type of middleware for Unisys that
permits a relational database type of connection                                              = JSPs/HTML/EJBs
between a calling client (the Cold Fusion server) and
                                                                                              = BPEL (or ESB) and Adapters
the mainframe applications (COBOL programs as
stored procedures) and database (as RDMS tables)


                                                                                              May 22-24, 2007          22
                                       The Business Transformation Conference         Washington Dulles Hilton
SOA and Web Services for EA Migration
            Loosely Coupled Interfaces Between New Portal and Back-Office System

User New Portal (JSP/EJB+BPEL) **                          Back-Office System (Unisys)     Hitachi Mainframe System

                                                                                                   ile
                                                                                                 eF
                                                                                             rfac
                                                                                         Inte




                                                            U
                                                            N
                                                            I
                                                            A
                                                            C
                                                            C                               Key:
                                                            E                                      = Cold Fusion/JavaScript/HTML
                                                            S                                      = Mainframe COBOL programs
                                                            S                                      = Control or data flow
** New portal replaces the front-end Cold Fusion
system (as the calling client) to the back-office Unisys                                           = Query flow
mainframe system (as the server), using JSP/EJB and
                                                                                                   = Data record types or tables
BPEL code, and continues to invoke the stored
procedures as RPCs and queries of the RDMS tables
                                                                                                   = JSPs/HTML/EJBs
now exposed via Web Services rather than direct calls
                                                                                                   = BPEL (or ESB) and Adapters


                                                                                                  May 22-24, 2007           23
                                        The Business Transformation Conference            Washington Dulles Hilton
SOA and Web Services for EA Migration
           Partial Replacement of Back-Office System During Parallel Operation/Testing

User New Portal (JSP/EJB+BPEL) Back-Office Database (Unisys) *** Hitachi Mainframe System

                                                                                            ile
                                                                                          eF
                                                                                      rfac
                                                                                  Inte




                                                         U
                                                         N
                                                         I
                                                         A
                                                         C
                                                         C                        Key:

                                                         E                               = Cold Fusion/JavaScript/HTML

                                                         S                               = Mainframe COBOL programs

                                                         S                               = Control or data flow

                                                                                         = Query flow

                                                                                         = Data record types or tables
*** Business logic previously in COBOL programs now                                      = JSPs/HTML/EJBs
resides in new J2EE platform as JSP/EJB+BPEL code,
but dual database posting (new and old) preserves                                        = BPEL (or ESB) and Adapters
data integrity during transition to full replacement


                                                                                         May 22-24, 2007          24
                                     The Business Transformation Conference      Washington Dulles Hilton
SOA and Web Services for EA Migration
            Full Replacement of Back-Office System and Standalone Operation
User                    New Portal and System (JSP/EJB+BPEL) ****                           Hitachi Mainframe System

                                                                                          ile
                                                                                        eF
                                                                                       c
                                                                                    rfa
                                                                                  te
                                                                                In




                                                                                                 Key:

                                                                                                        = Cold Fusion/JavaScript/HTML

                                                                                                        = Mainframe COBOL programs

                                                                                                        = Control or data flow

                                                                                                        = Query flow

                                                                                                        = Data record types or tables

                                                                                                        = JSPs/HTML/EJBs
 **** New portal and system now fully provide the functionality of
 former legacy systems, which have now been architected as
                                                                                                        = BPEL (or ESB) and Adapters
 constructs of extensible and reusable Web Services


                                                                                                        May 22-24, 2007          25
                                       The Business Transformation Conference                   Washington Dulles Hilton
Final Considerations
SOA and Web Services – Methodological Considerations for EA Migration:
   –   Waterfall-based SDLC is ill-suited for object-oriented modeling and UML for J2EE design, iterative
       development (e.g., RUP), and modeling and migrating to Web Services, but adaptation is possible
   –   XSD element naming is problematic because of tension between application-level needs (local
       specificity and brevity) and enterprise-level standards needs (global specificity and verbosity)
   –   Must balance EA priorities and objectives with system design priorities and objectives by “architecting
       globally” for the Web Services while “designing locally” for the desired interim/replacement systems

SOA and Web Services – Technical Considerations for EA Migration:
   –   Oracle BPEL will work, but full Oracle SOA would be better, including ESB, BRE, Web Service
       Manager, and UDDI/Service Registry, but governance issues grow larger
   –   Newness of XML messaging is challenging because of likely network consumption intensity and lack
       of UDDI/Service Registry support (for finding Web Services) – may need isolated network segment
   –   Security considerations do not yet account for Web Services, including encryption for the XML
       payload in the SOAP messages, but system accounts and passwords with SSL or TLS is still okay

SOA and Web Services – Transition Role Considerations for EA Migration:
   –   Alignment between Client’s vision and LOB EA Migration sometimes can be lacking actionable steps
       because of contractual and funding dimensions to modernization activities
   –   Combining Project Management Support Office services and SDLC responsibilities is problematic
       because of competing focuses and constituencies, and overlapping EA migration concerns
   –   Reverse engineering legacy systems is often burdened by inadequate and incomplete system
       documentation, and incumbent and system owner resistance to (unfunded?!) cooperation
   –   Legacy system operation and maintenance contracts can inhibit transition because of the number of
       legacy systems and the many different timetables and activities that are driven by parochial interests

                                                                                        May 22-24, 2007    26
                           The Business Transformation Conference               Washington Dulles Hilton
References

[1] Many elements of the methodology trace back to principles advocated and suggestions made by a leading SOA
expert, Thomas Erl, in his seminal work titled Service-Oriented Architecture: Concepts, Technology and Design, 2005



[2] (A) For a dated but fascinating comparison of Workflow Patterns and Communication Patterns with BPEL and
selected workflow products, see “Pattern Based Analysis of BPEL4WS” (Technical Report FIT-TR-2002-04,
Queensland University of Technology) by Petia Wohed (Department of Computer and Systems Sciences, Stockholm
University/The Royal Institute of Technology, Sweden, petia@dsv.su.se), Wil M.P. van der Aalst (Department of
Technology Management Eindhoven University of Technology, The Netherlands, w.m.p.v.d.aalst@tm.tue.nl), and
Marlon Dumas and Arthur H.M. ter Hofstede (Centre for Information Technology Innovation Queensland University of
Technology (QUT), Australia, m.dumas@qut.edu.aul and a.terhofstede@qut.edu.au), 2003; (B) For a comparison of
process modeling notations with respect to Workflow Patterns, see “Process Modeling Notations and Workflow
Patterns” by Stephen A. White - IBM, February 2005 at
http://www.bpmn.org/Documents/Notations%20and%20Workflow%20Patterns.pdf; (C) For a different treatment, see
“Toward Workflow Block Activity Patterns for Reuse in Workflow Design” by Lucineia Heloisa Thom and Cirano
Iochepe (Federal University of Rio Grande do Sul, Brazil) and Vinicius Amaral and Daniel Viero (iProcess, Brazil) in
2006 Workflow Handbook, Workflow Management Coalition and Future Strategies Inc., ISBN 0-9777527-0-4


[3] See “How To Identify, Specific, and Realize Services for Your SOA” in WebSphere Journal by Ali Arsanjani at
http://websphere.sys-con.com/read/48879.htm.


[4] See Design Patterns – Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph
Johnson, John Vlissides, 1995 Edition



                                                                                              May 22-24, 2007     27
                              The Business Transformation Conference                  Washington Dulles Hilton
Questions and Answers




                                                        May 22-24, 2007    28
       The Business Transformation Conference   Washington Dulles Hilton
Thank
You
Lloyd Dugan
Senior Project Director/CTO
Information Engineering Services, Inc. (IES)
Contact Information:
(O) 703-562-0040; (C) 703-864-9646
lloyd.dugan@ie-services.com


                                                 May 22-24, 2007    29
The Business Transformation Conference   Washington Dulles Hilton

Mais conteúdo relacionado

Mais procurados

The Societal and Business Application Perspective
The Societal and Business Application Perspective The Societal and Business Application Perspective
The Societal and Business Application Perspective
ictseserv
 
Multiservice Delivery in Wireless Networks Management
Multiservice Delivery in Wireless Networks ManagementMultiservice Delivery in Wireless Networks Management
Multiservice Delivery in Wireless Networks Management
rahulmonikasharma
 
ESWC SS 2012 - Tuesday Keynote John Domingue: Services, Semantics and Linked ...
ESWC SS 2012 - Tuesday Keynote John Domingue: Services, Semantics and Linked ...ESWC SS 2012 - Tuesday Keynote John Domingue: Services, Semantics and Linked ...
ESWC SS 2012 - Tuesday Keynote John Domingue: Services, Semantics and Linked ...
eswcsummerschool
 
ServiceOne-Integrated Service Delivery a paradigm shift
ServiceOne-Integrated Service Delivery a paradigm shiftServiceOne-Integrated Service Delivery a paradigm shift
ServiceOne-Integrated Service Delivery a paradigm shift
Jury Konga
 
Www.eecis.udel.edu ~cshen 367_papers_survey_mcc
Www.eecis.udel.edu ~cshen 367_papers_survey_mccWww.eecis.udel.edu ~cshen 367_papers_survey_mcc
Www.eecis.udel.edu ~cshen 367_papers_survey_mcc
Yashank Pratap Singh
 
Webinar: How MongoDB is making Government Better, Faster, Smarter
Webinar: How MongoDB is making Government Better, Faster, SmarterWebinar: How MongoDB is making Government Better, Faster, Smarter
Webinar: How MongoDB is making Government Better, Faster, Smarter
MongoDB
 

Mais procurados (15)

E services
E servicesE services
E services
 
Core vocabularies and Metadata Sets for Governments
Core vocabularies and Metadata Sets for GovernmentsCore vocabularies and Metadata Sets for Governments
Core vocabularies and Metadata Sets for Governments
 
Silicon Valley Semantic Web Meet Up
Silicon Valley Semantic Web Meet UpSilicon Valley Semantic Web Meet Up
Silicon Valley Semantic Web Meet Up
 
Survey on Semantic Web Services and its Composition Algorithm
Survey on Semantic Web Services and its Composition AlgorithmSurvey on Semantic Web Services and its Composition Algorithm
Survey on Semantic Web Services and its Composition Algorithm
 
Hva er SOA og Web services?
Hva er SOA og Web services?Hva er SOA og Web services?
Hva er SOA og Web services?
 
The Societal and Business Application Perspective
The Societal and Business Application Perspective The Societal and Business Application Perspective
The Societal and Business Application Perspective
 
Multiservice Delivery in Wireless Networks Management
Multiservice Delivery in Wireless Networks ManagementMultiservice Delivery in Wireless Networks Management
Multiservice Delivery in Wireless Networks Management
 
3 fia activities
3 fia activities3 fia activities
3 fia activities
 
ESWC SS 2012 - Tuesday Keynote John Domingue: Services, Semantics and Linked ...
ESWC SS 2012 - Tuesday Keynote John Domingue: Services, Semantics and Linked ...ESWC SS 2012 - Tuesday Keynote John Domingue: Services, Semantics and Linked ...
ESWC SS 2012 - Tuesday Keynote John Domingue: Services, Semantics and Linked ...
 
ServiceOne-Integrated Service Delivery a paradigm shift
ServiceOne-Integrated Service Delivery a paradigm shiftServiceOne-Integrated Service Delivery a paradigm shift
ServiceOne-Integrated Service Delivery a paradigm shift
 
Www.eecis.udel.edu ~cshen 367_papers_survey_mcc
Www.eecis.udel.edu ~cshen 367_papers_survey_mccWww.eecis.udel.edu ~cshen 367_papers_survey_mcc
Www.eecis.udel.edu ~cshen 367_papers_survey_mcc
 
A Survey of Mobile Cloud Computing: Architecture, Applications, and Approaches
A Survey of Mobile Cloud Computing: Architecture, Applications, and ApproachesA Survey of Mobile Cloud Computing: Architecture, Applications, and Approaches
A Survey of Mobile Cloud Computing: Architecture, Applications, and Approaches
 
Webinar: How MongoDB is making Government Better, Faster, Smarter
Webinar: How MongoDB is making Government Better, Faster, SmarterWebinar: How MongoDB is making Government Better, Faster, Smarter
Webinar: How MongoDB is making Government Better, Faster, Smarter
 
Socitm Supplier Briefing London
Socitm Supplier Briefing LondonSocitm Supplier Briefing London
Socitm Supplier Briefing London
 
Into The Cloud
Into The CloudInto The Cloud
Into The Cloud
 

Destaque

Web Services - A brief overview
Web Services -  A brief overviewWeb Services -  A brief overview
Web Services - A brief overview
Raveendra Bhat
 

Destaque (8)

Web Service Presentation
Web Service PresentationWeb Service Presentation
Web Service Presentation
 
The Evolution of Web 3.0
The Evolution of Web 3.0The Evolution of Web 3.0
The Evolution of Web 3.0
 
Basic introduction to SOA
Basic introduction to SOABasic introduction to SOA
Basic introduction to SOA
 
Technology in Service
Technology in ServiceTechnology in Service
Technology in Service
 
Web Services - A brief overview
Web Services -  A brief overviewWeb Services -  A brief overview
Web Services - A brief overview
 
Web services - A Practical Approach
Web services - A Practical ApproachWeb services - A Practical Approach
Web services - A Practical Approach
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)
 
Web service introduction
Web service introductionWeb service introduction
Web service introduction
 

Semelhante a Use of SOA and Web Services Technologies for EA Migration - Lessons Learned on How to Sort it All Out

Keynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your businessKeynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your business
WSO2
 
Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecture
rahmed_sct
 
Soa role in telco industry
Soa   role in telco industrySoa   role in telco industry
Soa role in telco industry
Pavan K
 

Semelhante a Use of SOA and Web Services Technologies for EA Migration - Lessons Learned on How to Sort it All Out (20)

Introduction to Service Oriented Architecture
Introduction to Service Oriented ArchitectureIntroduction to Service Oriented Architecture
Introduction to Service Oriented Architecture
 
Soa limitations
Soa limitationsSoa limitations
Soa limitations
 
2010 Future Distributed Computing Architectures and SOA
2010 Future Distributed Computing Architectures and SOA2010 Future Distributed Computing Architectures and SOA
2010 Future Distributed Computing Architectures and SOA
 
Keynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your businessKeynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your business
 
Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecture
 
Introduction to webservices
Introduction to webservicesIntroduction to webservices
Introduction to webservices
 
Service Oriented Architecture
Service Oriented Architecture Service Oriented Architecture
Service Oriented Architecture
 
Nuno Godinho
Nuno GodinhoNuno Godinho
Nuno Godinho
 
Web Services Foundation Technologies
Web Services Foundation TechnologiesWeb Services Foundation Technologies
Web Services Foundation Technologies
 
Presentation
PresentationPresentation
Presentation
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 
Presentation
PresentationPresentation
Presentation
 
Introducing SQL Server Data Services
Introducing SQL Server Data ServicesIntroducing SQL Server Data Services
Introducing SQL Server Data Services
 
Introducing SQL Server Data Services
Introducing SQL Server Data ServicesIntroducing SQL Server Data Services
Introducing SQL Server Data Services
 
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns FrameworksMike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
 
Soa role in telco industry
Soa   role in telco industrySoa   role in telco industry
Soa role in telco industry
 
Unit 3-SOA Technologies
Unit 3-SOA TechnologiesUnit 3-SOA Technologies
Unit 3-SOA Technologies
 
Real world integration using mule
Real world integration using muleReal world integration using mule
Real world integration using mule
 
Library Web Services for Discovery and Delivery of Scientific Information
Library Web Services for Discovery and Delivery of Scientific InformationLibrary Web Services for Discovery and Delivery of Scientific Information
Library Web Services for Discovery and Delivery of Scientific Information
 
Soa web pres new
Soa web pres newSoa web pres new
Soa web pres new
 

Mais de Nathaniel Palmer

Is there a Role for Patterns in Enterprise Architecture?
Is there a Role for Patterns in Enterprise Architecture?Is there a Role for Patterns in Enterprise Architecture?
Is there a Role for Patterns in Enterprise Architecture?
Nathaniel Palmer
 
The Future Of Bpm Six Trends Shaping Process Management
The Future Of Bpm Six Trends Shaping Process ManagementThe Future Of Bpm Six Trends Shaping Process Management
The Future Of Bpm Six Trends Shaping Process Management
Nathaniel Palmer
 
Open Philosophies for Associative Autopoietic Digital Ecosystems
Open Philosophies for Associative Autopoietic Digital EcosystemsOpen Philosophies for Associative Autopoietic Digital Ecosystems
Open Philosophies for Associative Autopoietic Digital Ecosystems
Nathaniel Palmer
 
Is there a Role for Patterns in Enterprise Architecture?
Is there a Role for Patterns in Enterprise Architecture?Is there a Role for Patterns in Enterprise Architecture?
Is there a Role for Patterns in Enterprise Architecture?
Nathaniel Palmer
 
Improving Enterprise Performance using a Business Process Improvement Discipline
Improving Enterprise Performance using a Business Process Improvement DisciplineImproving Enterprise Performance using a Business Process Improvement Discipline
Improving Enterprise Performance using a Business Process Improvement Discipline
Nathaniel Palmer
 
Understanding Business Process Architecture to Enable Operational Efficiency
Understanding Business Process Architecture to Enable Operational EfficiencyUnderstanding Business Process Architecture to Enable Operational Efficiency
Understanding Business Process Architecture to Enable Operational Efficiency
Nathaniel Palmer
 
Applying Agile Development Strategies to BPM Initiatives
Applying Agile Development Strategies to BPM InitiativesApplying Agile Development Strategies to BPM Initiatives
Applying Agile Development Strategies to BPM Initiatives
Nathaniel Palmer
 
Governance and Business Participation: The Key Requirements for Effective SOA...
Governance and Business Participation: The Key Requirements for Effective SOA...Governance and Business Participation: The Key Requirements for Effective SOA...
Governance and Business Participation: The Key Requirements for Effective SOA...
Nathaniel Palmer
 
Workforce Management & BPM Integration
Workforce Management & BPM IntegrationWorkforce Management & BPM Integration
Workforce Management & BPM Integration
Nathaniel Palmer
 
Delivering Process-Driven, Dynamic Applications
Delivering Process-Driven, Dynamic ApplicationsDelivering Process-Driven, Dynamic Applications
Delivering Process-Driven, Dynamic Applications
Nathaniel Palmer
 
Realizing Successful Transformation Within Politically Charged Environments
Realizing Successful Transformation Within Politically Charged EnvironmentsRealizing Successful Transformation Within Politically Charged Environments
Realizing Successful Transformation Within Politically Charged Environments
Nathaniel Palmer
 
Understanding and Applying The Open Group Architecture Framework (TOGAF)
Understanding and Applying The Open Group Architecture Framework (TOGAF)Understanding and Applying The Open Group Architecture Framework (TOGAF)
Understanding and Applying The Open Group Architecture Framework (TOGAF)
Nathaniel Palmer
 
Why Enterprises Should Invest Money in EA Transformation Frameworks
Why Enterprises Should Invest Money in EA Transformation FrameworksWhy Enterprises Should Invest Money in EA Transformation Frameworks
Why Enterprises Should Invest Money in EA Transformation Frameworks
Nathaniel Palmer
 
Transitioning Enterprise Architectures to Service Oriented Architectures
Transitioning Enterprise Architectures to Service Oriented ArchitecturesTransitioning Enterprise Architectures to Service Oriented Architectures
Transitioning Enterprise Architectures to Service Oriented Architectures
Nathaniel Palmer
 
BPM & Workflow in the New Enterprise Architecture
BPM & Workflow in the New Enterprise ArchitectureBPM & Workflow in the New Enterprise Architecture
BPM & Workflow in the New Enterprise Architecture
Nathaniel Palmer
 
What is Possible vs What is Useful: Finding the Right Balance in Process Mode...
What is Possible vs What is Useful: Finding the Right Balance in Process Mode...What is Possible vs What is Useful: Finding the Right Balance in Process Mode...
What is Possible vs What is Useful: Finding the Right Balance in Process Mode...
Nathaniel Palmer
 
What Every Enterprise Architect Needs to Know About BPM
What Every Enterprise Architect Needs to Know About BPMWhat Every Enterprise Architect Needs to Know About BPM
What Every Enterprise Architect Needs to Know About BPM
Nathaniel Palmer
 
Department of the Interior’s Methodology for Business Transformation (MBT)
Department of the Interior’s Methodology for Business Transformation (MBT)Department of the Interior’s Methodology for Business Transformation (MBT)
Department of the Interior’s Methodology for Business Transformation (MBT)
Nathaniel Palmer
 
The Construction of Emergency Interoperable Communications Architecture
The Construction of Emergency Interoperable Communications ArchitectureThe Construction of Emergency Interoperable Communications Architecture
The Construction of Emergency Interoperable Communications Architecture
Nathaniel Palmer
 
Getting From Understanding to Execution: Making Implicit Processes Actionable...
Getting From Understanding to Execution: Making Implicit Processes Actionable...Getting From Understanding to Execution: Making Implicit Processes Actionable...
Getting From Understanding to Execution: Making Implicit Processes Actionable...
Nathaniel Palmer
 

Mais de Nathaniel Palmer (20)

Is there a Role for Patterns in Enterprise Architecture?
Is there a Role for Patterns in Enterprise Architecture?Is there a Role for Patterns in Enterprise Architecture?
Is there a Role for Patterns in Enterprise Architecture?
 
The Future Of Bpm Six Trends Shaping Process Management
The Future Of Bpm Six Trends Shaping Process ManagementThe Future Of Bpm Six Trends Shaping Process Management
The Future Of Bpm Six Trends Shaping Process Management
 
Open Philosophies for Associative Autopoietic Digital Ecosystems
Open Philosophies for Associative Autopoietic Digital EcosystemsOpen Philosophies for Associative Autopoietic Digital Ecosystems
Open Philosophies for Associative Autopoietic Digital Ecosystems
 
Is there a Role for Patterns in Enterprise Architecture?
Is there a Role for Patterns in Enterprise Architecture?Is there a Role for Patterns in Enterprise Architecture?
Is there a Role for Patterns in Enterprise Architecture?
 
Improving Enterprise Performance using a Business Process Improvement Discipline
Improving Enterprise Performance using a Business Process Improvement DisciplineImproving Enterprise Performance using a Business Process Improvement Discipline
Improving Enterprise Performance using a Business Process Improvement Discipline
 
Understanding Business Process Architecture to Enable Operational Efficiency
Understanding Business Process Architecture to Enable Operational EfficiencyUnderstanding Business Process Architecture to Enable Operational Efficiency
Understanding Business Process Architecture to Enable Operational Efficiency
 
Applying Agile Development Strategies to BPM Initiatives
Applying Agile Development Strategies to BPM InitiativesApplying Agile Development Strategies to BPM Initiatives
Applying Agile Development Strategies to BPM Initiatives
 
Governance and Business Participation: The Key Requirements for Effective SOA...
Governance and Business Participation: The Key Requirements for Effective SOA...Governance and Business Participation: The Key Requirements for Effective SOA...
Governance and Business Participation: The Key Requirements for Effective SOA...
 
Workforce Management & BPM Integration
Workforce Management & BPM IntegrationWorkforce Management & BPM Integration
Workforce Management & BPM Integration
 
Delivering Process-Driven, Dynamic Applications
Delivering Process-Driven, Dynamic ApplicationsDelivering Process-Driven, Dynamic Applications
Delivering Process-Driven, Dynamic Applications
 
Realizing Successful Transformation Within Politically Charged Environments
Realizing Successful Transformation Within Politically Charged EnvironmentsRealizing Successful Transformation Within Politically Charged Environments
Realizing Successful Transformation Within Politically Charged Environments
 
Understanding and Applying The Open Group Architecture Framework (TOGAF)
Understanding and Applying The Open Group Architecture Framework (TOGAF)Understanding and Applying The Open Group Architecture Framework (TOGAF)
Understanding and Applying The Open Group Architecture Framework (TOGAF)
 
Why Enterprises Should Invest Money in EA Transformation Frameworks
Why Enterprises Should Invest Money in EA Transformation FrameworksWhy Enterprises Should Invest Money in EA Transformation Frameworks
Why Enterprises Should Invest Money in EA Transformation Frameworks
 
Transitioning Enterprise Architectures to Service Oriented Architectures
Transitioning Enterprise Architectures to Service Oriented ArchitecturesTransitioning Enterprise Architectures to Service Oriented Architectures
Transitioning Enterprise Architectures to Service Oriented Architectures
 
BPM & Workflow in the New Enterprise Architecture
BPM & Workflow in the New Enterprise ArchitectureBPM & Workflow in the New Enterprise Architecture
BPM & Workflow in the New Enterprise Architecture
 
What is Possible vs What is Useful: Finding the Right Balance in Process Mode...
What is Possible vs What is Useful: Finding the Right Balance in Process Mode...What is Possible vs What is Useful: Finding the Right Balance in Process Mode...
What is Possible vs What is Useful: Finding the Right Balance in Process Mode...
 
What Every Enterprise Architect Needs to Know About BPM
What Every Enterprise Architect Needs to Know About BPMWhat Every Enterprise Architect Needs to Know About BPM
What Every Enterprise Architect Needs to Know About BPM
 
Department of the Interior’s Methodology for Business Transformation (MBT)
Department of the Interior’s Methodology for Business Transformation (MBT)Department of the Interior’s Methodology for Business Transformation (MBT)
Department of the Interior’s Methodology for Business Transformation (MBT)
 
The Construction of Emergency Interoperable Communications Architecture
The Construction of Emergency Interoperable Communications ArchitectureThe Construction of Emergency Interoperable Communications Architecture
The Construction of Emergency Interoperable Communications Architecture
 
Getting From Understanding to Execution: Making Implicit Processes Actionable...
Getting From Understanding to Execution: Making Implicit Processes Actionable...Getting From Understanding to Execution: Making Implicit Processes Actionable...
Getting From Understanding to Execution: Making Implicit Processes Actionable...
 

Último

Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
amitlee9823
 
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
amitlee9823
 
Call Girls In Majnu Ka Tilla 959961~3876 Shot 2000 Night 8000
Call Girls In Majnu Ka Tilla 959961~3876 Shot 2000 Night 8000Call Girls In Majnu Ka Tilla 959961~3876 Shot 2000 Night 8000
Call Girls In Majnu Ka Tilla 959961~3876 Shot 2000 Night 8000
dlhescort
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
dollysharma2066
 
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service NoidaCall Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
dlhescort
 
Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...
Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...
Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...
Sheetaleventcompany
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
amitlee9823
 
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
amitlee9823
 

Último (20)

Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptx
 
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
 
Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1
 
JAYNAGAR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
JAYNAGAR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRLJAYNAGAR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
JAYNAGAR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
 
Call Girls In Majnu Ka Tilla 959961~3876 Shot 2000 Night 8000
Call Girls In Majnu Ka Tilla 959961~3876 Shot 2000 Night 8000Call Girls In Majnu Ka Tilla 959961~3876 Shot 2000 Night 8000
Call Girls In Majnu Ka Tilla 959961~3876 Shot 2000 Night 8000
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
 
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRLBAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
 
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service NoidaCall Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
 
RSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors DataRSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors Data
 
Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...
Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...
Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...
 
Famous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st CenturyFamous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st Century
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
 
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
 
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
 
Marel Q1 2024 Investor Presentation from May 8, 2024
Marel Q1 2024 Investor Presentation from May 8, 2024Marel Q1 2024 Investor Presentation from May 8, 2024
Marel Q1 2024 Investor Presentation from May 8, 2024
 
Falcon's Invoice Discounting: Your Path to Prosperity
Falcon's Invoice Discounting: Your Path to ProsperityFalcon's Invoice Discounting: Your Path to Prosperity
Falcon's Invoice Discounting: Your Path to Prosperity
 
Phases of Negotiation .pptx
 Phases of Negotiation .pptx Phases of Negotiation .pptx
Phases of Negotiation .pptx
 

Use of SOA and Web Services Technologies for EA Migration - Lessons Learned on How to Sort it All Out

  • 1. Welcome to Transformation and Innovation 2007 The Business Transformation Conference Lloyd Dugan Senior Project Director/CTO Information Engineering Services, Inc. (IES) SessionTitle: Use of SOA and Web Services Technologies for EA Migration – Lessons Learned on How To Sort It All Out May 22-24, 2007 1 The Business Transformation Conference Washington Dulles Hilton
  • 2. Biographical & Background Information Speaker: – Over 20+ years in IT industry – Former Deloitte & Touch, Anteon, American Management Systems, and Information Management Consultants; Duke MBA – Past speaker for AIIM, ARMA, Delphi Group, National BPR Conference, and Mercury Interactive Company: – IT management consulting and systems integration services company founded in 1992 by Myles Reid; www.ie-services.com – Focused on housing, mortgage banking and insurance, real estate management, securities market – Certified small disadvantage business, registered minority-owned business enterprise; GSA Schedules – Headquartered in Alexandria, VA Case Study Background – First project at HUD charged to do EA migration and design using SOA – Eventually settled on using Oracle SOA Suite as the SOA software May 22-24, 2007 2 The Business Transformation Conference Washington Dulles Hilton
  • 3. Outline Learning Objectives SOA and Web Services Overview SOA and Web Services Framework SOA and Web Services With BPM SOA and Web Services SDLC Methodology SOA and Web Services for EA Migration Final Considerations References Questions and Answers May 22-24, 2007 3 The Business Transformation Conference Washington Dulles Hilton
  • 4. Learning Objectives To Learn the Basics of SOA and Web Services Within the Context of a Case Study To Appreciate the Methodological Challenges To Doing SOA and Web Services Modeling To Understand How SOA and Web Services Can Facilitate Migration To an EA May 22-24, 2007 4 The Business Transformation Conference Washington Dulles Hilton
  • 5. SOA and Web Services Overview Web Services – True Reuse and Distributed Computing at Last?! Evolution Of Technologies To Support Reusability and Distributed Computing Object- System Enterprise Appli- Service-Oriented Oriented Componentization cation Integration Architecture • Introduced reusability of • Supported reuse at the • Supported reuse of common • Supports reuse at any level objects and gave birth to level of granularity defined functions (e.g., transactional of granularity applicable for design patterns by a particular component integrity) at application server the underlying service • Inheritance inadvertently • Data exchange via • Introduced use of XML as • Refined use of XML in made for more objects messages needed to data exchange format for messaging and based it on (not fewer), leading to integrate disparate messaging in support of standards for messaging and governance problems systems as components system integration transport • System integration • System integration • System integration achieved • System integration achieved achieved via specific achieved via proprietary via standard APIs (for using via Web Services based on interface classes that application programming the application server’s standards-based APIs (for worked better in more interfaces (APIs) for functions) and other, the application server) and homogenous heterogeneous proprietary APIs (for specific extensible system adapters environments environments systems) (rather than specific APIs) May 22-24, 2007 5 The Business Transformation Conference Washington Dulles Hilton
  • 6. SOA and Web Services Overview Web Services Provisioning – Basic Model Simple Object Access Protocol (SOAP). An XML-based, extensible message envelope format, with quot;bindingsquot; to underlying protocols (e.g., HTTP, HTTPS). J2EE application server support is via Java API for XML Processing (JAXP) and Java API for XML-based RPC (JAX-RPC). Microsoft has something similar for .NET. Web Service Definition Language (WSDL). An XML format that allows service interfaces to be described, along with the details of their bindings to specific protocols. It enables abstraction from the technology. Universal Description Discovery and Integration (UDDI). A protocol for publishing and discovering metadata about Web Services, to enable applications to find Web Services, either at design time or runtime. Used for Public discovery of services, either Internet or intranet. Can be bundled with a more robust Service Registry that supports a more comprehensive management of Web Services. May 22-24, 2007 6 The Business Transformation Conference Washington Dulles Hilton
  • 7. SOA and Web Services Overview XML Schema Document (XSD) – Message Structure Enforcement SOAP Message Contains XML Payload for Exchanging Data Between Service Requester and Service Provider that Must Conform To Format Required By XSD Specified for the Web Service XSD for XSD Can Be Used To Support XSD Should Be Used To Validate Business Domain Construction of the SOAP the XML Payload of Inbound and Message and Its XML Payload Outbound Messages Transported Services By the Web Service Requestor or Processed By the Web Service System SOAP Message Web XML Web User Service Payload Service Or System Requestor Database May 22-24, 2007 7 The Business Transformation Conference Washington Dulles Hilton
  • 8. SOA and Web Services Overview Message Exchange Patterns (MEPs) – Basic Types Supported SOA Technologies Utilize Basic MEPs that Support the Simple Object Access Protocol (SOAP), Generally Over Hypertext Transport Protocol (HTTP) Or Secure HTTP (HTTPS) Simple One- Simple Request/Response A B Way – aka “Fire – as in a Remote A B and Forget” Procedure Call (RPC) C C Request/Response One Way A B Fanned-out Or Fanned-out A B Routed Or Routed D D Primary Supported MEP – Invoked Component Also Supported MEP – Asynchronous Can Respond Immediately In a Synchronous MEPs Because Process “A” Does Not MEP Or On a Delayed Basis In an Asynchronous Require a Response Or Receipt MEP, Which May Or May Not Allow Process “A” Acknowledgement To Continue To Continue Executing Activities Executing Activities Note: SOA Technologies Do Not Directly Support Other MEPs (e.g., Publish/Subscribe or Broadcast) May 22-24, 2007 8 The Business Transformation Conference Washington Dulles Hilton
  • 9. SOA and Web Services Framework Web Service Classifications – Characterization of the Functionality Domain Directory Service – Provides a single point of access to a “directory” of subordinate services used (e.g., typically Orchestration Services) within a specific Business Domain (e.g., Case Processing), but may be unnecessary with the use of a Service Registry/Universal Description Discovery and Integration (UDDI) Server Orchestration Service – “Orchestrates” the execution of business logic and data access, typically for a core end-to- end business process with internal constituents that are more coupled than other services external to the orchestration (e.g., another Orchestration Service), and will be system integration-centric (i.e., oriented towards integrating systems or data), human/document-centric (i.e., oriented towards human-mediated activities that typically involve a document to provide context for the transaction being processed), or some combination Task-Centric Service – Performs a discrete task or a highly coupled set of tasks that execute compact steps of business logic and/or data access with basic functionality and limited responsibilities, likely as a common service that is reusable and extensible (e.g., error handling, XML schema management, and business rules engine) Entity-Centric Service – Performs data-related activities (apart from data access but inclusive of data transformation based on mappings from legacy system data representations to standard ones) around a specific business entity (taken from an enterprise-wide data model representation of core business entities), typically as a common service that is reusable and extensible, which can be as Service Data Objects (SDOs) if the specification standard is supported and the data graph transformations (that implement the data mappings) are known Application Service – Makes legacy system functionality and the data therein available at the invocation of another service, but is constrained by the specific context and characteristics of the legacy functionality and data so exposed (i.e., the granularity of the service is defined by what the program does), with services being those programs that can be invoked as remote procedure calls (RPCs) that can be utilized explicitly with the Service Component Architecture (SCA) specification (i.e., using embedded coding) or implicitly (i.e., with SCA imposed via the service design and management) Data Service – Similar to an Application Service, but is a service that is strictly focused on posting to or querying against legacy databases and/or new databases out of a common context rather than by going through the legacy systems themselves, which allows the data to be accessed and transformed in more flexible ways Interface Service – Performs specific interface-level activities to bridge disparate system platforms via a system adapter (e.g., Database Connector, CICS Transaction, FTP, etc.) that contains the interface-specific information needed to enable and support the connection May 22-24, 2007 9 The Business Transformation Conference Washington Dulles Hilton
  • 10. SOA and Web Services Framework Web Service Classifications – General Interaction Pattern [1] Business Process Layer System User (Users/Uses of Services) Web Services Interface Business Business Service Interface Layer Business Supports Domain Domain Domain Principles of SCA Domain Directory But Does Not Service Explicitly Rely On the SCA Specification Task_Centric Entity_Centric Orchestration Orchestration Service Service – Service Service Shifts Architecture from System-focus To Service-focus! Application Data Service Service Interface Interface Service Service Legacy System or Database Interface Legacy Legacy System Database Legacy Layer May 22-24, 2007 10 The Business Transformation Conference Washington Dulles Hilton
  • 11. SOA and Web Services Framework Web Service Types – Implementing Technology on Oracle SOA Suite Business Process Execution Language (BPEL) Web Service Available With – Is a BPEL process (standard term) that is natively already exposed as a web service, and is best suited for dealing with modestly complex routing logic (e.g., data transformations Installed together with multiple conditional routing based on that data) and message exchange Version of patterns (e.g., asynchronous request/reply communications) Oracle SOA Suite and Adapter Web Service Used in the – Is a system adapter (standard term) for bridging disparate system platforms (e.g., Database Design Connector Adapter) that is natively already exposed as a web service, and further breaks down by the specific type of adapter needed to bridge to a particular system platform. Enterprise Java Bean (EJB) Web Service Available but Not Used in – Is an EJB class (standard term) that has been explicitly exposed as a web service, and is best suited for dealing with highly complex business logic and message exchange patterns Design Enterprise Service Bus (ESB) Web Service Not – Is an ESB project (Oracle term) that is natively already exposed as a web service, and is best suited for dealing with simple routing logic (e.g., single conditional routing based on Available data only) and message exchange patterns (e.g., synchronous request/reply With communications) Installed Version of Business Rules Engine (BRE) Web Service Oracle SOA – Is a BRE dictionary (Oracle term) of one or more sets of business rules (e.g., testing a Suite business value against regulatory limit) that is natively already exposed as a web service (called the Decision Service), and is best suited for dealing with straightforward business rules that govern how specific functions occur and/or how specific data is treated May 22-24, 2007 11 The Business Transformation Conference Washington Dulles Hilton
  • 12. SOA and Web Services With BPM Workflow Patterns (WPs) – Basic Types Supported SOA Technologies Can Support Basic WPs that Support Work Activities, Typically With Compatible Business Process Management (BPM) Tools [2] Merge – Separate Threads Sequence – One Activity Leads To Another A B Converge Into Single Next Activity (Process “A” Finishes and then Starts Process “B”) C Without Synchronization (Process E “C” or “D” Must Finish Before D Parallel – One Activity Splits Into Separate Process “E” Can Start) C Threads that Continue (Process “B” Splits Into B D Processes “C” and “D” that Execute Together) Choice – Single Exclusive Thread Is Launched Or Multiple F Synchronization – One Activity Begins After Threads Are Launched C E E Feeder Threads Complete (Processes “C” and “D” (Processes “F” and/or “G” Start G D Must Both Finish Before Process “E” Can Start) Based On a Decision About Data Addressed In Process “E”) Note: SOA Technologies Do Not Directly Support Other WPs (e.g., Arbitrary Cycles Used for Collaborative Activities) May 22-24, 2007 12 The Business Transformation Conference Washington Dulles Hilton
  • 13. SOA and Web Services With BPM Different BPM – Technology Focus for Business Solution More System Integration-Centric BPM More Human/Document-Centric BPM A B A B E E O N O N L S E L F P F E D W D W C D C D G G Shift multiple bi-lateral system-to-system Shift multiple disparate user-mediated communications to centralized hub-and- activities to use a single user interface and spoke engine Generally MEP-oriented system Generally WP-oriented process integration integration with middleware services of back-office systems Usually data-oriented (data Usually process-oriented (process flow/synchronization) flow/synchronization) May 22-24, 2007 13 The Business Transformation Conference Washington Dulles Hilton
  • 14. SOA and Web Services With BPM Business Process Modeling and Management – BPEL Business Process Execution Language (BPEL) is a standards-based language that is defined and maintained by OASIS (http://www.oasis-open.org/home/index.php) – Version 1.1 has widespread deployment, especially among platform vendors – Version 2.0 is well underway XML-variant that “executes” like script in the BPEL engine (on the J2EE application server) as it is interpreted – Runs as a first class citizen in the Java container of the J2EE application server – Supports Web Services, XPath, XSLT, and XQuery technologies – Was a synthesis of predecessor languages (IBM’s WSFL and Microsoft’s XLANG), but has evolved significantly beyond its beginning Provides a standards-based, abstract process programming language for expressing business processes – Independent of the underlying applications that support those activities (as with any Web Service, the WSDL file hides the interface implementation details) – Generalist, jack-of-all-trades type of BPM product that runs on the J2EE application server – Simple monitoring and management controls embedded with the application server – Wizard-based configuration/scripting via diagramming on an integrated development environment (IDE) tool to model and create BPEL script – Functionality is implemented more by way of implemented design pattern rather than stand-alone technology Requires custom-developed or 3rd party web client user interface if human mediation is required – – Relies on adapters and Web Services, and focuses more on system integration problems – Exchanges between pure BPM modelers (those using Business Process Management Notation (BPMN) are lossy BPEL processes (BPEL, XSD, and WSDL files) are (theoretically) transferable from one BPEL engine to another – though worries about underlying differences in the adapters and J2EE application server Java persist (with me anyway!) May 22-24, 2007 14 The Business Transformation Conference Washington Dulles Hilton
  • 15. SOA and Web Services With BPM BPEL Process – Simple Example Partner Links Partner Links BPEL Process To Do a Database Lookup Partner Link is To an ReceiveInput External Service BPEL Process Provider (e.g., Database) Invokes an Interface Assign_TransactionInfoQuery Web Service client OracleDatabase Invoke_TransactionInfoQuery Corresponds to a WSDL File for ReplyInput the Web Service <process name=quot;Interface_Controllerquot; targetNamespace=quot;http://xmlns.oracle.com/Interface_Controllerquot; xmlns=quot;http://schemas.xmlsoap.org/ws/2003/03/business-process/quot; ... > <partnerLinks> <partnerLink name=quot;clientquot; partnerLinkType=quot;client:Interface_Controllerquot; myRole=quot;Interface_ControllerProviderquot;/> <partnerLink name=quot;OracleDatabasequot; partnerRole=quot;oracleDatabaseAdapter_rolequot; partnerLinkType=quot; ns7:oracleDatabaseAdapter_plt quot;/> BPEL Process is an XML </partnerLinks> Variant that Needs the <variables> Oracle Database Adapter <variable name= ... > Runtime BPEL Engine (e.g., ... Invoked as a Web Service Oracle BPEL Process </variables> <sequence name=quot;mainquot;> Manager) To Interpret and ... “Execute” the Script <invoke name=quot;Invoke_TransactionInfoQueryquot; partnerLink=quot;OracleDatabasequot; portType=quot; ns7:oracleDatabaseAdapter_ptt quot; operation=quot;oracleDatabaseAdapterSelect_transaction_idquot; inputVariable=quot;Invoke_TransactionInfoQuery_Inputquot; outputVariable=quot;Invoke_TransactionInfoQuery_Outputquot;/> ... </sequence> </process> May 22-24, 2007 15 The Business Transformation Conference Washington Dulles Hilton
  • 16. SOA and Web Services SDLC Methodology Business Domain as Scope for Web Services Modeling Utilize Comprehensive Business Process Model Or Proxy for Such a Model Top-Down Approach: Line of • Localize Business Domain To a Realistic Set for First SOA Single Family Housing Business • Preserve Fit Within Larger Context To Facilitate Extensibility Major Function Loan Origination or Module Larger Sub- Grained Business Domain Level (Case Processing) Case Processing Function Services Business Business Processes Processes Combine Top-Down with Bottom-Up [3] Smaller Business Grained Processes Services Business Business Processes Processes Reverse Engineer Core Systems From Source Code and Other Documentation Portal Level Back-Office Bottom-Up Approach: Functionality System • Examine Legacy System for System Functionality and Data and Screens Functionality • Review Utilized Components for Use as Candidate Services Cold Unisys Fusion Mainframe Front-end Back-Office May 22-24, 2007 16 The Business Transformation Conference Washington Dulles Hilton
  • 17. SOA and Web Services SDLC Methodology Assumptions and SOA-Based Modeling Principles Assumptions: – Minimize Or Avoid Changes Made To the Invocations of Legacy Systems As a Result of Changes Made To the Calling Service Clients (screens/other systems) – Anticipate Future Security Issues With Respect To Web Services As Best As Possible By Honoring Existing Protocol for System Accounts and Passwords – Design for Web Services To Be By HTTP Behind the Firewall for System-To-System Exchanges and by HTTPS (with Transport Layer Security or Secure Socket Layer) Across the Firewall for External Users SOA-Based Modeling Principles: – Model Web Services As a Stereotype Classes with UML Class Diagrams and Sequence Diagrams, Incorporating Descriptive Attributes for the Web Services – Model Web Services To Function In Support of Any Type of Service Requester Interface To Promote Reusability and Extensibility Across the Enterprise – Adapt Design Patterns for Use With BPEL Processes and Adapters Where Appropriate To Help To Ensure Sound and Extensible System Design [4] – Optimize Connections Between Services In Order To Balance Manageability of Services Against the Reusability of Services, and To Minimize Overhead – Keep Common Services at a Basic Level of Functionality With a Limited Set of Responsibilities To Best Leverage Common Usage By Other Services – Model and Utilize Common Data Structures and Validation Service Where Feasible for Web Service XML Payloads To Minimize Data Structure Management Burden May 22-24, 2007 17 The Business Transformation Conference Washington Dulles Hilton
  • 18. SOA and Web Services SDLC Methodology Web Services as Modeled and Configuration Managed SDLC Artifacts Adapted UML Treats Web Services With Class Diagrams as a Superclass that Decomposes By Web Service Type (for the Technology) and Classification (for the Functionality) • Web Service Type Web Service • Web Service Classification • Web Service Name Basic Level Attributes • Web Service Version Number • WSDL Name Basic Level Operations • Etc. Specializes To Web Service Type • Adapter Type • BPEL Process Name Type Level Attributes • Adapter Version Number • BPEL Engine Version Number Type Level Operations Specializes To Web Service Classification Classification Lvl Attributes • Application RPC Name • Legacy System Interface Information Classification Lvl Operations Specific Web Service Operations Are Defined At This Level – In the Case of a BPEL Process, Operations Correspond To a BPEL Process Diagram and Executable Script May 22-24, 2007 18 The Business Transformation Conference Washington Dulles Hilton
  • 19. SOA and Web Services SDLC Methodology Web Services Modeled To Fit Basic Common Interaction Design Pattern Service Service Domain Process Schema Application Database System Legacy Requester Interface Directory Orchestration Checker RPC Query Adapter Interface RequestService InvokeService Typical Synchronous InvokeXMLCheck Adapted MEPs With UML Services and Diagrams Systems AssignOrchestration Model the Processes Applicable InvokeOrchestration Orchestration Option AssignProcess Applicable InvokeRPC InvokeAdapter Process SubmitRequest Option Common Basic WPs for Applicable Process InvokeQuery InvokeAdapter Process Activities SubmitRequest Option May 22-24, 2007 19 The Business Transformation Conference Washington Dulles Hilton
  • 20. SOA and Web Services SDLC Methodology XSD Modeling – Simple Data Dictionary Example and Key Concepts Hierarchy: Means that the XSD file (like any XML file) contains nested tagged items, and tagged items can be subordinate XSD files or elements or a mix, which requires modeling of the XSDs diagram Low-Level XSDs Consist Usage: Means that child XSDs may of Tagged Elements Only be used as constituent components in more than one parent, which the namespace http://www.hud.gov (placeholder) XSD model must capture/manage Mapping: Referencing of XSDs in children caseNumber caseType specific Web Services can be mapped, including referencing how used by the XML payload must look element requestCAIVRSAuthorization/caseInfo source <xsd:name=quot;CAIVRSBorrowerAuthorizationCaseInfoquot;> <xsd:sequence> Optionality: Means that the <xsd:element name=quot;caseNumberquot; type=quot;xsd:stringquot; nillable=quot;truequot; minOccurs=quot;0“ maxOccurs=quot;1quot;/> instance of an element (i.e., a <xsd:element name=quot;caseTypequot; type=quot;xsd:stringquot; nillable=quot;truequot; minOccurs=quot;0“ maxOccurs=quot;1quot;/> tagged item) or set of elements in </xsd:sequence> an XML file referencing a specific </xsd:complexType> XSD only appears if there is an actual value properties Cardinality: Sets the number of isRef 0 instances of an element or set of elements in an XML file referencing minOcc 0 a specific XSD maxOcc unbounded Nillability: Means that the instance content complex of an element or set of elements in an XML file referencing a specific XSD can appear without a value May 22-24, 2007 20 The Business Transformation Conference Washington Dulles Hilton
  • 21. SOA and Web Services SDLC Methodology XSD Modeling - Modeling XML Payload Characteristics Optionality: Tagged item corresponding to an XSD element only appears in the XML file if the value “john” is actually present <xsd:element name=“firstNamequot; type=quot;xsd:stringquot; nillable=“falsequot; minOccurs=“1“ maxOccurs=“1quot;/> <firstName>john</firstName> <firstName>john</firstName> <xsd:element name=“firstNamequot; type=quot;xsd:stringquot; nillable=“falsequot; minOccurs=“0“ maxOccurs=“1quot;/> Or No Element Appears At All Cardinality: Tagged item corresponding to an XSD element means that up to the specified limit can appear in the XML file (but it could be less) <firstName>john</firstName> <xsd:element name=“firstNamequot; type=quot;xsd:stringquot; nillable=“falsequot; minOccurs=“1“ maxOccurs=“2quot;/> Or <firstName>john</firstName> <firstName>bob</firstName> Nillability: Tagged item corresponding to a nillable XSD element means that it may appear in the XML file without any actual value present if none existed <firstName>john</firstName> <xsd:element name=“firstNamequot; type=quot;xsd:stringquot; nillable=“truequot; minOccurs=“1“ maxOccurs=“1quot;/> Or <firstName></firstName> May 22-24, 2007 21 The Business Transformation Conference Washington Dulles Hilton
  • 22. SOA and Web Services for EA Migration Initial Highly Coupled Interfaces Between Front-End and Back-Office Systems User Front-End System (Cold Fusion) Back-Office System (Unisys) Hitachi Mainframe System ce File Interfa U N I A C C Key: Red Functional Thread = Update Case E = Cold Fusion/JavaScript/HTML Blue Functional Thread = S = Mainframe COBOL programs Perform Query S = Control or data flow Gold Functional Thread = = Query flow Submit Application * = Data record types or tables * UniAcesss is a type of middleware for Unisys that permits a relational database type of connection = JSPs/HTML/EJBs between a calling client (the Cold Fusion server) and = BPEL (or ESB) and Adapters the mainframe applications (COBOL programs as stored procedures) and database (as RDMS tables) May 22-24, 2007 22 The Business Transformation Conference Washington Dulles Hilton
  • 23. SOA and Web Services for EA Migration Loosely Coupled Interfaces Between New Portal and Back-Office System User New Portal (JSP/EJB+BPEL) ** Back-Office System (Unisys) Hitachi Mainframe System ile eF rfac Inte U N I A C C Key: E = Cold Fusion/JavaScript/HTML S = Mainframe COBOL programs S = Control or data flow ** New portal replaces the front-end Cold Fusion system (as the calling client) to the back-office Unisys = Query flow mainframe system (as the server), using JSP/EJB and = Data record types or tables BPEL code, and continues to invoke the stored procedures as RPCs and queries of the RDMS tables = JSPs/HTML/EJBs now exposed via Web Services rather than direct calls = BPEL (or ESB) and Adapters May 22-24, 2007 23 The Business Transformation Conference Washington Dulles Hilton
  • 24. SOA and Web Services for EA Migration Partial Replacement of Back-Office System During Parallel Operation/Testing User New Portal (JSP/EJB+BPEL) Back-Office Database (Unisys) *** Hitachi Mainframe System ile eF rfac Inte U N I A C C Key: E = Cold Fusion/JavaScript/HTML S = Mainframe COBOL programs S = Control or data flow = Query flow = Data record types or tables *** Business logic previously in COBOL programs now = JSPs/HTML/EJBs resides in new J2EE platform as JSP/EJB+BPEL code, but dual database posting (new and old) preserves = BPEL (or ESB) and Adapters data integrity during transition to full replacement May 22-24, 2007 24 The Business Transformation Conference Washington Dulles Hilton
  • 25. SOA and Web Services for EA Migration Full Replacement of Back-Office System and Standalone Operation User New Portal and System (JSP/EJB+BPEL) **** Hitachi Mainframe System ile eF c rfa te In Key: = Cold Fusion/JavaScript/HTML = Mainframe COBOL programs = Control or data flow = Query flow = Data record types or tables = JSPs/HTML/EJBs **** New portal and system now fully provide the functionality of former legacy systems, which have now been architected as = BPEL (or ESB) and Adapters constructs of extensible and reusable Web Services May 22-24, 2007 25 The Business Transformation Conference Washington Dulles Hilton
  • 26. Final Considerations SOA and Web Services – Methodological Considerations for EA Migration: – Waterfall-based SDLC is ill-suited for object-oriented modeling and UML for J2EE design, iterative development (e.g., RUP), and modeling and migrating to Web Services, but adaptation is possible – XSD element naming is problematic because of tension between application-level needs (local specificity and brevity) and enterprise-level standards needs (global specificity and verbosity) – Must balance EA priorities and objectives with system design priorities and objectives by “architecting globally” for the Web Services while “designing locally” for the desired interim/replacement systems SOA and Web Services – Technical Considerations for EA Migration: – Oracle BPEL will work, but full Oracle SOA would be better, including ESB, BRE, Web Service Manager, and UDDI/Service Registry, but governance issues grow larger – Newness of XML messaging is challenging because of likely network consumption intensity and lack of UDDI/Service Registry support (for finding Web Services) – may need isolated network segment – Security considerations do not yet account for Web Services, including encryption for the XML payload in the SOAP messages, but system accounts and passwords with SSL or TLS is still okay SOA and Web Services – Transition Role Considerations for EA Migration: – Alignment between Client’s vision and LOB EA Migration sometimes can be lacking actionable steps because of contractual and funding dimensions to modernization activities – Combining Project Management Support Office services and SDLC responsibilities is problematic because of competing focuses and constituencies, and overlapping EA migration concerns – Reverse engineering legacy systems is often burdened by inadequate and incomplete system documentation, and incumbent and system owner resistance to (unfunded?!) cooperation – Legacy system operation and maintenance contracts can inhibit transition because of the number of legacy systems and the many different timetables and activities that are driven by parochial interests May 22-24, 2007 26 The Business Transformation Conference Washington Dulles Hilton
  • 27. References [1] Many elements of the methodology trace back to principles advocated and suggestions made by a leading SOA expert, Thomas Erl, in his seminal work titled Service-Oriented Architecture: Concepts, Technology and Design, 2005 [2] (A) For a dated but fascinating comparison of Workflow Patterns and Communication Patterns with BPEL and selected workflow products, see “Pattern Based Analysis of BPEL4WS” (Technical Report FIT-TR-2002-04, Queensland University of Technology) by Petia Wohed (Department of Computer and Systems Sciences, Stockholm University/The Royal Institute of Technology, Sweden, petia@dsv.su.se), Wil M.P. van der Aalst (Department of Technology Management Eindhoven University of Technology, The Netherlands, w.m.p.v.d.aalst@tm.tue.nl), and Marlon Dumas and Arthur H.M. ter Hofstede (Centre for Information Technology Innovation Queensland University of Technology (QUT), Australia, m.dumas@qut.edu.aul and a.terhofstede@qut.edu.au), 2003; (B) For a comparison of process modeling notations with respect to Workflow Patterns, see “Process Modeling Notations and Workflow Patterns” by Stephen A. White - IBM, February 2005 at http://www.bpmn.org/Documents/Notations%20and%20Workflow%20Patterns.pdf; (C) For a different treatment, see “Toward Workflow Block Activity Patterns for Reuse in Workflow Design” by Lucineia Heloisa Thom and Cirano Iochepe (Federal University of Rio Grande do Sul, Brazil) and Vinicius Amaral and Daniel Viero (iProcess, Brazil) in 2006 Workflow Handbook, Workflow Management Coalition and Future Strategies Inc., ISBN 0-9777527-0-4 [3] See “How To Identify, Specific, and Realize Services for Your SOA” in WebSphere Journal by Ali Arsanjani at http://websphere.sys-con.com/read/48879.htm. [4] See Design Patterns – Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, 1995 Edition May 22-24, 2007 27 The Business Transformation Conference Washington Dulles Hilton
  • 28. Questions and Answers May 22-24, 2007 28 The Business Transformation Conference Washington Dulles Hilton
  • 29. Thank You Lloyd Dugan Senior Project Director/CTO Information Engineering Services, Inc. (IES) Contact Information: (O) 703-562-0040; (C) 703-864-9646 lloyd.dugan@ie-services.com May 22-24, 2007 29 The Business Transformation Conference Washington Dulles Hilton