How to increase Business Agility by aligning SOA
How to increase Business Agility by aligning SOA with your « Business Architecture » ? To visualize presentation slides, please use the full screen mode and click to progress … © 2011 / 2012 Birol Berkem - Goo. Biz. com Note : The BMM (Business Motivation Model) , MDA (Model Driven Architecture) and Soa. ML referenced here are trademarks of the Object Management Group (OMG) This work by Birol Berkem (Goo. Biz. com) is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3. 0 Unported License. Permissions beyond the scope of this license may be available by e-mail to info@goobiz. com
The Pros and Cons of the «Use Case Driven Development » for an Agile Enterprise Advantages q Efficient techniques to capture requirements on the basis of usage scenarios of the users q q Inconvenience q Lack of traceability with the business goals ! gap between business requirements and end-user ones ! Focus on actor / system interactions depending on the choices of the users q Lack of visibility on the business rules that control these interactions Prepares a good basis for test cases q Important maintenance efforts in face of changes on the business decisions and their supporting rules ! Difficult adaptation of IT applications to the changes on the business decisions high level cost weak business reactivity ! © Goo. Biz. com How to remedy to these agility issues ? 2 2
Align IT with the Business Architecture Views [cf. OMG’s BAWG] Goal-Driven Alignment 1. Business Strategy view : captures the tactical and strategic goals that drive an organization forward 2. Business Capability view : describes the primary business activities of an enterprise and the pieces of the organization that perform those functions 3. Business Process view : defines the set of strategic, core and support processes that transcend functional and organizational boundaries 4. Business Knowledge view : establishes the shared semantics (e. g. , customer, order, supplier) that the organization relies upon to communicate and structure the understanding of the areas they operate within 5. Organizational view : captures the relationships among roles, capabilities and business units, the decomposition of those business units into subunits, and the internal or external management of those units IT Systems © Goo. Biz. com How to align coherently IT system components with these views ? 3
Start by the OMG’s Business Motivation Model that defines traceability links from Business Goals until. . . Business Processes GOAL : A state of the enterprise sustained throug appropriate means Example : To build a Beneficial Web. Sale System OBJECTIVE : Increase Web. Sales by 15 % this year STRATEGY : Turn visitors into buyers TACTIC 1 : Motivate Visitors to Register {100 reg. / week} Process 1: CONSULT PRODUCTS {incite to register} Process 2: REGISTER VISITORS {mot. Ivate to complete} - How to propagate changes in coherence using an end-to-end traceability ? Business Rule 1 : Enhanced product consultation time Req. 1 : if the abandon rate is > 50 % after 2 mn, the Mktg must be alerted to enhance presentation Business Rule 2 : Less abandon rate Req. 2 : if the abandon rate is > 30% during © registration, Goo. Biz. com the Mktg must be invited to 4 improve this process 4
Goals are « propagated » from the Enterprise Vision ‘Strategy View’ toward Business Processes ‘Process View’ Business Process 5 : : : Business Capabilities impacted by Changing Tactics control execution of the Business Processes <<Biz. Capability>> {Tactic n} : G: Goal_G Strategy S << Biz. Capability >> : {Tactic 1} : : : << Biz. Capability >> {Tactic 4} Business Process 4 G : Goal_G_Strategy_S : VISION : : Business Process 1 G: Goal_G_Strategy_S G : Goal_G_Strategy_S << Biz. Capability >> {Tactic 2} {Tactic 3} : : Business Process 3 : : : Business Process 2 © Goo. Biz. com Q : How to align IT System Components to changes of these high-level goals ? 5
Apply the following steps to align IT components to changing business decisions 1. CAPITALIZE ON THE BUSINESS CAPABILITIES THAT ARE TO BE IDENTIFIED ON THE BASIS OF BUSINESS GOALS 2. MODEL SERVICES AND USE CASES THAT PARTICIPATE TO BUSINESS CAPABILITIES IN ORDER TO PREPARE « IT ALIGNMENT » 3. DESCRIBE BUSINESS PROCESSES THAT REALIZE CAPABILITIES 4. DRAFT THE BACKBONE OF THE « GOAL-DRIVEN SOA » 5. DESCRIBE BEHAVIOURS OF THE ARCHITECTURE COMPONENTS 6. INTEGRATE THESE COMPONENT BEHAVIOURS INTO THE SOA BACKBONE Let’s look at each step on a case study… © Goo. Biz. com 6 6
Capitalize on the Business Capabilities on the basis of the « Enterprise Vision » Example with a Web Sale Company Vision : To be a profitable, customer focused web sale company BUSINESS CAPABILITIES : Stable Structures that explain “What" the organization does ; are expressed using STATES OF THE ENTERPRISE BUSINESS OBJECTS SUPPORT CAPABILITIES THROUGH BUSINESS PROCESSES (“How" the organization executes its capabilities) BUSINESS CAPABILITIES FOR THE WEBSALE COMPANY NEW CONSTRAINTS ARE FREQUENTLY APPLIED ON THESE CAPABILITIES TO SUPPORT CHANGING STRATEGIES (cf. next slides) © Goo. Biz. com Q : How to identify business capabilities on the basis of high-level goals ? 7
1. 1 - Model dependencies between Goals, Strategies, Tactics and Business Processes © Goo. Biz. com Q : What’s the second step ? 8
1. 2 – Identify Front-End Business Capabilities by looking for states of Business Objects that « create value for customers » CAPABILITY *BUSINESS CAPABILITY « PRODUCT [PRESENTATION] » to be impacted by tactical constraints CAPABILITY *BUSINESS CAPABILITY « VISITOR [REGISTRATION]» to be impacted by tactical constraints CAPABILITY *BUSINESS CAPABILITY « ORDER [REGISTRATION] » to be impacted by tactical constraints (*) A business capability defines “what” a business does (outcomes and service levels) that creates value for customers © Goo. Biz. com (Ulrich Homann – Microsoft) 9 We also need to capitalize on all these strategic structures against changes… © Birol Berkem Goo. Biz 2011/2012
1. 3– Propagate Changes reusing Objects and States with new Constraints New Constraint on the Business Goal Impact on Strategy Tactical Impact on the Business Capability IMPACT on this PROCESS IMPACT on this second PROCESS Potential IMPACT on this third PROCESS Capabilities need to be structured to support assigned responsibilities … © Goo. Biz. com 10
2 – STRUCTURE BUSINESS CAPABILITIES WITH SERVICES AND USE CASES THAT PARTICIPATE TO THEIR REALIZATION q Business Capabilities : Capacities that a company should possess or exchange to support its vision. q A business capability describes what the business does (outcomes and service levels) that creates value for customers [Microsoft - Ulrich Homann] q A business capability defines “what” a business does at its core. Business capabilities are the core of the business architecture [BPMInstitute. org - William Ulrich March 2011] q 2. 1 – Stable business structures to capitalize on the business knowledge in face of changes q 2. 2 – Need to be « orchestrated » to achieve their Goal : the value they have to return to customers © Goo. Biz. com Q : So, how to structure business capabilities to return the requested value ? 11 11
Business Capabilities need to be «orchestrated» to realize their corresponding Value An orchestrator object defines functional boundaries for requirements that it has to execute to realize the « value » of the Business Capability « B. C. O » © Goo. Biz. com Also need to assign service level expectations to a business capability ? (see next…) 12
Service Level Expectations are assigned to ‘Service Points’ that are controled by the Capability orchestrator « B. C. O » © Goo. Biz. com Service points allow capabilities to interact with their environment (cf next…) 13
Services of a Business Capability may require interactions with other Participants (actors, UC, other capabilities) for their realization « B. C. O » © Goo. Biz. com A capability may also « invoke » services from another capability 14
3 - DESCRIBE BUSINESS PROCESSES THAT REALIZE BUSINESS CAPABILITIES q 3. 1 – Describe actions of business processes according to impacts of tactical changes q Actions of the orchestrator service « makes call » to its service point behaviors q 3. 2 – Describe detailed realization of these service point activities Let’s look at these micro-steps on our case study… © Goo. Biz. com 16 16
Adapt Process Descriptions to support ‘Changes’ « B. C. O » Process Actions are to be reconfigured by considering new contraints to apply Changes are expressed using {constraints} on the Business Capability Orchestrator © Goo. Biz. com Business processes realize business capabilities being supervized by their « orchestator » to bring required outcomes and service levels 17
Actions of the « Business Capability Orchestrator » makes call to the Service Point Activities « B. C. O » Makes call to the « Enter Visitor » activity of the Service Point : Visitor [Entry] (implemented by a web service - see next slide) © Goo. Biz. com Q : How are service point activities described ? 18
Service Point describe. UC required IT behaviours Service Pointactivities Activities describe and Service behaviours to implement at the IT System Layer « B. C. O » Actions that will be implemented by the Use Case component at the IT system level Actions that will be implemented by the Service component (for instance using a web service port) at the IT system level © Goo. Biz. com Q : How can such behaviours be distributed on the architecture layers ? 19
UC and Service Behaviours on the Architecture Layers BUSINESS LAYER I_Entry <<SRV-P>> « GOAL-DRIVEN Visitor [Entry] <<UC-Comp>> Enter Visitor <<REALIZE>> Visitor <<SRV-P>> Visitor [Notification] [Registration] FUNCTIONAL LAYER UI « B. C. O » » SERVICE VISITOR [REGISTRATION] BUSINESS & DATA LAYER <<REALIZE>> <<ENTITY>> Visitor <<ENTITY>> Question naire DATA SERVICES Form UNCTIONAL LAYER « Service » and « UC-Comp » interactions may be implemented by a couple of (web service and its client) port components © Goo. Biz. com 20
4 – DRAFT THE BACKBONE OF THE GOAL-DRIVEN SOA q 4. 1 – Generate Services and Use Cases at the IT System level with required and provided interfaces § All the internal structures of Business Capabilities previously described are kept with traceability ! Let’s look at how to apply this step on our case study… © Goo. Biz. com 21 21
4 - Build the « SOA Backbone » of the system at the application layer « B. C. O » BUSINESS CAPABILITY USE CASE (UC) Service/Request Point (UC Comp) BUSINESS CAPABILITY « B. C. O » Service/Request Point (Gd. S Comp) « B. C. O » RULE assigned to a Service Point © Goo. Biz. com Internal Structures of Business Capabilities are kept as previously described 22
5 – GENERATE COMPONENT BEHAVIOURS TO INTEGRATE INTO THE SOA BACKBONE q 5. 1 – Generate Use Case and Service component behaviours at the Application layer from previous specifications q Actions of Service and Use Case specifications become contextual methods of the corresponding components q Preconditions of these operations are generated according to guard-conditions of actions q At run time, on the basis of its current state, the orchestrator operation of each component invokes its contextual operations after having evaluated their preconditions Let’s look at how to apply this step on our case study… © Goo. Biz. com 23 23
5 - From UC and Service Behaviors to SOA Components USE CASE COMP REALISATION (Application Logic) GUI (Presentation) GUI SERVICE COMP REALISATION (Business Logic) ENTITY OBJECTS with REQUESTED States SRV-Cmp UC-Cmp «Gd. S_Comp» Visitor_Registration: : Visitor_Entry «UC_Comp» Visitor_Registration: : Visitor_Entry - complete_fields: boolean form_incomplete: boolean visitor_entered: boolean + enter_visitor() : void - complete_fields() : void - fill_form() : void {pre : form_found} - thanks_for_entry() : void - entry_processed: boolean entry_requested: boolean form_registered: boolean form_validated: boolean + - enter_visitor() : void process_entry() : void {pre: entry_requested} register_form() : void validate_form() : void - 24 © Goo. Biz. com
6 – INTEGRATE COMPONENT BEHAVIOURS INTO THE ARCHITECTURE BACKBONE q 6. 1 – INTEGRATE Services and Use Cases previously discovered into the IT System level Components q Use Case and Service behaviours are respectively integrated into the Use Case and Service ports Let’s look at how to apply this step on our case study… © Goo. Biz. com 25 25
6 - Plug tested components into the « Goal-Driven Service Oriented Architecture » backbone « B. C. O » Service/Request Point (UC Comp) Service/Request Point (Gd. S Comp) BUSINESS CAPABILITY « B. C. O » <<Trace>> SRV-Cmp UC-Cmp «Gd. S_Comp» Visitor_Registration: : Visitor_Entry «UC_Comp» Visitor_Registration: : Visitor_Entry complete_fields: boolean form_incomplete: boolean visitor_entered: boolean + enter_visitor() : void complete_fields() : void fill_form() : void {pre : form_found} thanks_for_entry() : void - entry_processed: boolean entry_requested: boolean form_registered: boolean form_validated: boolean + enter_visitor() : void - process_entry() : void {pre: entry_requested} - register_form() : void - validate_form() : void « B. C. O » © Goo. Biz. com 26
Steps for a Coherent SOA Governance using the Business Architecture Views 2. Link Goals, 1. Specify Governance Strategies toward business processes 3. Structure ‘Business Perspectives Capabilities’ to capitalize on for a coherent evolution 4. Establish governance 6. Adapt Organization links using ‘Business Capabilities’ Process Descriptions to support requested ‘Changes’ 5. Evaluate Impacts of the Changes on the Existing Processes © Birol Berkem Goo. Biz 2011/2012 www. goobiz. com 27
More complete Agile Enterprise Modeling and SOA Trainings with BMM, BPMN, UML, Sys. ML and Soa. ML standards… © 2011 / 2012– Goo. Biz. com • Increasing Business Agility with the Goal-Driven SOA (1 day) • goobiz. com/GD-SOA-Extended. htm • Goal-Driven Agile Business Modeling with BMM, BPMN and SOAML using EA (3 days on site) • Efficient Requirement Analysis with UML 2 using EA (3 days on site) • Component Based System Design with UML 2 using EA (2 days on site) • Embedded System Design with UML 2 and Sys. ML using EA (3 days on site) • IS Urbanization (2 days on site) e-Mail to : birol. berkem@goobiz. com © Goo. Biz. com 28
- Slides: 27