Developing the Architectural Framework for SOA Adoption Oliver Sims Enterprise Architect oliver.sims@open-it.co.uk Copyright Open-IT Limited 2005
Agenda Service Orientation just a good technology? The Service Vision The Architectural Framework The way forward Copyright Open-IT Limited 2005 - Slide 2
What is Service Orientation? Web Services Technology? A new paradigm affecting the whole of IT (with Web Services as one necessary condition among many) Copyright Open-IT Limited 2005 - Slide 3
Service Engineering Methodologies BUSINESS PROCESS ENGINEERING These should allow rapid response to business change SERVICE DELIVERY SERVICE CUSTOMIZATION AND SOLUTION ASSEMBLY These should remain relatively stable SERVICE SPECIFICATIONS DETAILED DOMAIN SERVICE MODELS SERVICE PROVISIONING SERVICE DELIVERY INFRASTRUCTURE SERVICE SECURITY INFRASTRUCTURE ENTERPRISE SERVICE BUS INFRASTRUCTURE SERVICE POLICY & GOVERNANCE THE ENTERPRISE SERVICE PORTFOLIO PLAN THE SERVICE BASED BUSINESS MODEL Copyright CBDI Forum Limited, 2005, used Copyright here with Open-IT permission. Limited 2005 - Slide 4
Agenda Service Orientation just a good technology? The Service Vision The Architectural Framework The way forward Copyright Open-IT Limited 2005 - Slide 5
Articulating the SE Vision 1. Identify business drivers for IT E.g. IT must be one order of magnitude more responsive 2. Define IT goals that can meet business drivers E.g. Move to a Service Oriented environment NB: Applies to Outsourced Apps and Bought-In Packages too! 3. Define what this means to stakeholders and to IT Create a vision - scenarios of what life will be like when the IT goal is met E.g. (next slide) 4. Create an architectural style that can deliver the vision A framework of architectural concepts, processes, and organization that is aimed at delivering defined capabilities in a defined timeframe Describes how IT goals can be met without magic! Copyright Open-IT Limited 2005 - Slide 6
Vision Scenario 1 Move to Call-Off Purchasing Elaine goes back to her office, and reminds herself of work items: - Define and test the new process - Allocate a section of the test data to be used in training - Email department heads - Configure SuperERP and define the new Contract. Hmm, ponders Elaine, I ll need to do the last item first, otherwise the tests won t work. So she signs on to the System Modification Service, and starts a change task which she calls Call-Off Purchasing. Then she brings up the Business Configuration Service, and browses the contract templates. She selects one of them, and then asks the system to show how ABC s Supplier data maps onto it. The mapping is fine, but the new business rules may change things. So she brings up the Contract Definition Service. Her authorization switches it to the Purchasing context, and Elaine finds the screen similar to other Definition Services she s used. She selects the SuperERP Contract, adds in the new business rules, and studies the resulting logic flow within the Contract component. It looks OK, and she asks for a validation check, which also gives an OK. Source: CBDI Journal, May 2005 Copyright Open-IT Limited 2005 - Slide 7
Vision Scenario 2 Modify Sales Commission System Jim uses a development environment that is an ABC world standard. He opens his normal development view, which is an enhanced and integrated modeling tool, ideal for design and test. First, he defines a personal task, calling it Commissions. Then he brings up the component s design model and selects the service operations view. This shows him that there are two administrative service operations and several functional ones, including CalcSalesCommission. OK, he thinks, I need to slot in a new service operation let s call it CalcReturnsCommission but not to the salesman, he adds ironically. Jim is conscious that this approach is within corporate architecture guidelines, and he doesn t need to apply for design approval. However he is aware that random peer audits will be carried out on his work. The new service operation needs to be invoked after the existing commission is calculated, and needs to access the Returns component for returned goods history. Jim looks at the Returns Service, and sees that it has an access operation that returns all data over a given date range. Well, I want the value of each return for a given salesman. That s there, but so is loads of stuff I don t want, muses Jim. I know I ll use the component s generic get service. All I have to do is ask for the bits of data I want, and it ll return em. Neat. First time I ll have used it since training. Source: CBDI Journal, May 2005 Copyright Open-IT Limited 2005 - Slide 8
Agenda Service Orientation just a good technology? The Service Vision The Architectural Framework The way forward Copyright Open-IT Limited 2005 - Slide 9
A Service-Engineered Architectural Framework/Style Business Goals Service Engineering Architecture IT Goals: Responsiveness Time to market Agility Business-IT Bridge Composition (CBSE) SOA Vision MDD/DSL Active Architecture Virtual Platform Organization Product Lines Transition Process SE Methodologies Copyright Open-IT Limited 2005 - Slide 10
Active Architecture For each architectural style, the Architecture defines such things as: Distribution tiers, Business function layers Service implementation structure (modularization) Service granularity both interface and implementation, Service, Reusable asset Data type representation including business data types Visibility categories for services Loose Coupling vs Tight Coupling Where different bindings must be used Error management Event management Transaction management Including user units of work Frameworks and Patterns User model(s) UML model structures and model elements to be used Scalability rules Dependency management rules Naming standards Test cases & test data generation Tool scripts, UML Profiles, Generators, Generic and generated run-time code Development processes Project metrics Etc., etc. Active = Delivered to developers through the tools they use and the way they (are constrained to) use them. Copyright Open-IT Limited 2005 - Slide 11
Project-Oriented Development Effort Project A Project B Project C Project D Arch., Design and Technology Choice for A Arch., Design and Technology Choice for B Arch., Design and Technology Choice for C Arch., Design and Technology Choice for D Common COTS Products Copyright Open-IT Limited 2005 - Slide 12
Churn Business Evolution Technology Evolution Impact on System Evolution Copyright Open-IT Limited 2005 - Slide 13
The ilities! Flexibility Agility (time to market, responsiveness) Scalability Availability Usability Maintainability (quality) Recoverability Re-usability Accessibility (as services) Configurability Manageability Do-ability Etc. Simplicity Security Modularity Functionality Integrity Etc. Project A Arch., Design and Technology Choice for A Copyright Open-IT Limited 2005 - Slide 14
Business / Technology Separation Ideal: Business Function COTS Development and Runtime Platform Platform Gap: Business Function COTS Development and Run-Time Platform Wrong Glue: Business Function COTS Development and Run-Time Platform Right Glue: Business Function COTS Development and Run-Time Platform Copyright Open-IT Limited 2005 - Slide 15
The Virtual Platform Business Service profile Business Service A Business Service B Service Common Virtual Platform Mapping / Transformation Virtual Platform model Platform 1 model Glue 1 Glue 2 Platform 1 Platform 2 Platform 2 model Copyright Open-IT Limited 2005 - Slide 16
The Business/IT Gap Business Requirements Definition IT Design Scope Definition Business Process Model Process Entity Entity Business Entity/ Object Model Use Case Model??? Process Entity Entity Wrapper Legacy Feature Calalog Organization Model Entity Process Wrapper Package Copyright Open-IT Limited 2005 - Slide 17
The Business/IT Bridge Business Requirements Definition Scope Definition Delivery Business Element Process IT Design Application Entity Entity Feature Calalog Service Process Business Business Element Element Process Entity Entity Wrapper Legacy Use Case Model Resource Resource Business Business Element Element Entity Process Wrapper Package David Taylor, Business Engineering with Object Technology 1995 Copyright Open-IT Limited 2005 - Slide 18
Business Model with Business Elements (example) Delivery Business Element Order Management Customer Request For Service Order Process Sales Order Resource Business Elements Service Business Element Product Reference: David A. Taylor, Business Engineering with Object technology, Wiley 1995 Richard Hubert, Convergent Architecture, Wiley2002 Copyright Open-IT Limited 2005 - Slide 19
UML2 Business Element Model «Delivery BE» Order Management Service Request «Process BE» Order Process «Resource BE» Customer «Resource BE» Product «Resource BE» Sales Order Copyright Open-IT Limited 2005 - Slide 20
UML2 Application Model OrderEntry «Application» Order Management «delegate» OrderEntry «Process BC» Order Process Party Party «Resource BC» Customer OrderableItem Order Order OrderableItem «Resource BC» Product «Resource BC» Sales Order Copyright Open-IT Limited 2005 - Slide 21
Enterprise IT External Services Commodity or Trusted Partners Cross-Business Process Workflow Business Process Core Systems User Interaction Procedure & Resource Business Events Copyright Open-IT Limited 2005 - Slide 22
Business Units IT SE Organization Virtual Platform IT User Service Environment Architecture (and Process) Group IT Core Service Compositions Virtual Platform Copyright Open-IT Limited 2005 - Slide 23
Agenda Service Orientation just a good technology? The Service Vision The Architectural Framework The way forward Copyright Open-IT Limited 2005 - Slide 24
Summary SO is much more than just a really good technology Service visions have existed for some time, but lacked: Ubiquitous standards for service specification, connection and loose coupling and common terminology! Mainstream tools MDD Also, most concepts in the architectural framework have been around for a time Highly synergistic Today, all the architectural parts are in place, tools are almost mature, and we know how to do it. Open-IT working on Redux Removing the Business-IT Gap in a Service Engineering context We can make Europe the SE world leader Copyright Open-IT Limited 2005 - Slide 25
The Way Forward Create a European lead on the Service Environment NB: Some anecdotal evidence suggests that US companies are already showing more interest in real service engineering than in Europe IST focus on supporting the creation of coordinated prototypes Including a prototype of the whole thing Aim is to support early appearance of at least one commercial service environment product For worldwide application Probably need to use MS and IBM tooling (VS and Eclipse) Identify relevant standards and lead them Part of the IST Service Environment effort? Copyright Open-IT Limited 2005 - Slide 26
Developing the Architectural Framework for SOA Adoption Oliver Sims Enterprise Architect oliver.sims@open-it.co.uk Copyright Open-IT Limited 2005
Web Services International Standard for: Service specification Not complete yet Loose coupling So far, only between service interface and service implementation Carriage of metadata on messages Mainstream tools available Optimization within address space available The Service Composition concept First phase wrapping existing systems Compose existing function Side-effect problem Second phase modularizing apps so that service implementations have minimal dependencies Composition at lower levels than that of the Application Minimal side-effects due to dependency management schemes NB: Concepts have been around for some time Copyright Open-IT Limited 2005 - Slide 28
Modularization OOPL Class no good as a basis too small-grained. ERP system could have around 75,000 classes Need a larger module A perfect module: Provides a programmatic interface Maps to a specific business concept Process, function, entity, Black-box to the outside world Minimum dependencies on other modules Apply design patterns to module composition In principle, pluggable into environment development-time or run-time Such a perfect module is exactly what s defined by mature CBSE a component Nothing to do with off-the-shelf market Such a market would need binary pluggability + other standards none available at the time of promotion! Now in UML (UML2) Copyright Open-IT Limited 2005 - Slide 29
A Definition of Service Run-Time Service Requester Service Interface Service Implementation Design-Time Service Interface Definition Service Implementation Design Service Specification Copyright Open-IT Limited 2005 - Slide 30