Removing the BusinessIT Gap Oliver Sims CTO Agile
Removing the Business/IT Gap Oliver Sims CTO, Agile Enterprise oliver. sims@agile-enterprise. co. uk © Copyright Agile Enterprise Limited
Oliver Sims l l CTO Agile Enterprise Limited (2005) Consultant (1999 - 2005) n n n l Chief Architect (1993 -1999) n n l Component (app server) middleware OMG Architecture Board member Author (1980 - ) n n l Enterprise systems, SOA, component-based development, MDA, distributed system architectures Transitioning to ESOA IT Assessment OMG - UML 2 and MDA IASA Fellow Enterprise Service Oriented Architectures (2005, with Mc. Govern, Jain, & Little) Business Component Factory (2000, with Peter Herzum) Building Business Objects (1998, with Peter Eeles) Business Objects (1994) Systems Engineer (IBM 1969 -1993) n n n © Copyright Agile Enterprise Limited Complex (Enterprise) Systems Support Group Specialist, distributed systems, programming technologies, data communications, system design, manufacturing industry, etc. System designer and implementer Slide 2
Agenda l The Goal l Development Platform Assumptions l l l Business Requirements (a. k. a. Business Model) The IT Application Model Generating the System Model from the Business Requirements Model l Traceability l Conclusion © Copyright Agile Enterprise Limited Slide 3
The Problem Business Requirements System Architecture © Copyright Agile Enterprise Limited ? Deployed App Software Design Slide 4
The Goals/ Constraints Goal Business Requirements Analysis/ Design Implementation Run-time Process Orders Customer Product Process Orders Policy Regulation Customer Product Sims Architectures – reproduced © Copyright Agile Enterprise Limitedhere with permission Slide 5
Agenda l The Goal l Development Platform Assumptions l l l Business Requirements (a. k. a. Business Model) The IT Application Model Generating the System Model from the Business Requirements Model l Traceability l Conclusion © Copyright Agile Enterprise Limited Slide 6
Development Platform Assumptions l Virtual Platform n A. k. a. Product Line, Software Factory, Component Factory … l MDD l SOA l CBSE l 'Active' Architecture n Architectural patterns etc. delivered through tools © Copyright Agile Enterprise Limited Slide 7
Virtual Platform Cost of a new application User Interfaces Business services, processes and entities Tools Architecture Custom Processes Custom Infrastructure Each application needs the same parts. Don’t build them all each time. Dramatically reduce costs Tools Architecture Re-use the Platform Infrastructure and processes Key: New Existing Typical application Today Built mostly from scratch © Copyright Agile Enterprise Limited Cutter Consortium – reproduced here with permission High productivity Tomorrow Built on an existing foundation – a Virtual Platform Slide 8
A Component Is … l A Basic Component is a self-contained software module that: n n n l Has one or more well-defined programmatic interfaces Has deployment and run-time connotation Is built with foreknowledge of a specific component 'socket' Can be autonomously deployed - plugged into a compatible socket Is easily combined and composed with other components to provide useful functionality An Enterprise Component is a Basic Component that: n n n n Specifically addresses the challenges of enterprise distributed systems Represents and encapsulates a single business concept (process or entity) Has one or more service interfaces ('network-style' interfaces) Is of medium to very large granularity Collaborates with other enterprise components to deliver business solutions Exists throughout the development lifecycle Is managed at run-time by a middleware container Sims Architectures – reproduced © Copyright Agile Enterprise Limitedhere with permission Slide 10
UML 2 Component Class Interface * provided Component 0. . 1 * Realisation realisation * required Externals Type Internals Realising Classifier 1 Classifier 'The component concept addresses the area of component-based development and componentbased system structuring, where a component is modelled throughout the development life cycle and successively refined into deployment and run-time. ' [UML 2. 0 Superstructure Specification, OMG Document ptc/03 -08 -02] © Copyright Agile Enterprise Limited Slide 11
UML 2 Component Assembly (example) Store Order. Entry Order «delegate» Order. Entry «focus» Order Collection Person «auxiliary» Order. Header «auxiliary» Line. Item Orderable. Item Person Customer Account «delegate» Account Product © Copyright Sims Architectures LLP – reproduced with permission © Agile Enterprise Limited Slide 12
Architectural Pattern: Dependency Management (2) Distribution Tiers * invokes Workflow Tier BPM Tier * * invokes * User Tier invokes 1 1 event Workspace Tier * * invokes * event Enterprise Tier * invokes Resource Tier 1 event Each Tier consists of 1+ components; hence each tier provides Services Sims Architectures – reproduced © Copyright Agile Enterprise Limitedhere with permission Slide 13
Architectural Pattern: Dependency Management (1) * * Process Component * * invokes Business Function Layering event * * event invokes * invokes Entity Component * * * invokes event * * Utility Component * Sims Architectures – reproduced © Copyright Agile Enterprise Limitedhere with permission * Service Slide 14
Agenda l The Goal l Development Platform Assumptions l l l Business Requirements (a. k. a. Business Model) The IT Application Model Generating the System Model from the Business Requirements Model l Traceability l Conclusion © Copyright Agile Enterprise Limited Slide 15
Business Requirements Modelling - Concepts l l Goals - what the business wants to achieve Policies - how the communities govern and change their behaviour to suit circumstances Communities - organisational entities that achieve the goals Objects - member elements of the organisational entities (includes systems) l Behavior - what has to happen l Role - chunking of behavior into that of objects l Processes - structure of behaviour © Copyright 2006 The Redux Partners –Limited reproduced here with permission © Agile Enterprise Slide 16
Business Modelling Goals of the business * Process Objective 1…* 1 what has to happen 1…* Organisation Community Business Elements * Role 1 Organisations that 1…* achieve the goals * set of Process & Procedure 1…* Business Elements set of 1 Behaviour 1…* 1…* Action 1…* * Object Entity Business Elements Members of the organisations © Copyright 2006 The Redux Partners –Limited reproduced here with permission © Agile Enterprise * govern the way the business works Policy Based on RM-ODP enterprise language Slide 17
(Cross-Business) Process BEs Supply Chain Process Assemble Parts Take Customer Order Produce. Parts Produce Parts Manufacture Parts Validate Request Deliver Parts Process BEs Schedule Shop Order Deliver Shop Order Test Parts Shop Order Mgr Procedure BEs Scheduling Shop Order Bill of Materials Stock Item ©©Copyright Agile Enterprise Sims Architectures LLP – Limited reproduced with permission Workshop Schedule Machines Entity BEs Slide 18
Business Model with Business Elements (example) Delivery Business Element Order Management Customer Request For Service Order Process Procedure Business Element © Copyright Sims Architectures LLP – reproduced with permission © Agile Enterprise Limited Sales Order Entity Business Elements Product Reference: David A. Taylor, Business Engineering with Object technology, Wiley 1995 Richard Hubert, Convergent Architecture, Wiley 2002 Slide 19
UML 2 Business Element Model «Delivery BE» Order Management Service Request «Procedure BE» «Entity BE» Order Process Customer «Entity BE» Sales Order Product © Copyright Sims Architectures LLP – reproduced with permission © Agile Enterprise Limited Slide 20
UI Requirements - 'Naked Objects' © Copyright Agile Enterprise Limited See www. nakedobjects. org Run Demo Slide 21
Agenda l The Goal l Development Platform Assumptions l l l Business Requirements (a. k. a. Business Model) The IT Application Model Generating the System Model from the Business Requirements Model l Traceability l Conclusion © Copyright Agile Enterprise Limited Slide 22
A Viable Goal? Customer Business Concept Isomorphic representation Customer DB Run-time Instance Customer © Copyright Sims Architectures LLP – reproduced with permission © Agile Enterprise Limited Distributed Component Customer Slide 23
The 'Business Component' concept l Represents a business concept n l l Entity or process (or organisational unit) Weaves together distribution aspects Focus for other aspects (e. g. artifact ownership) l References: Peter Herzum & Oliver Sims, 'Business Component Factory', Wiley 2000 Customer q Peter Eeles & Oliver Sims, Customer 'Building Business Objects', Wiley 1998 q © Copyright Sims Architectures LLP – reproduced with permission © Agile Enterprise Limited Slide 24
Component Taxonomy © Copyright Sims Architectures LLP – reproduced with permission © Agile Enterprise Limited Slide 25
Agenda l The Goal l Development Platform Assumptions l l l Business Requirements (a. k. a. Business Model) The IT Application Model Generating the System Model from the Business Requirements Model l Traceability l Conclusion © Copyright Agile Enterprise Limited Slide 26
Seamless Business IT Business Requirements Definition Scope Definition Feature Catalog Use Case Model Delivery Business Element Process Business Element Resource Entity Business Business Element Element IT Component Design Application Component Entity Component Process Component Entity Wrapper Component Entity Component Legacy Entity Component Package Process Wrapper Component David Taylor, 'Business Engineering with Object Technology' 1995 © Copyright Agile Enterprise Limited Slide 27
UML 2 Business Element Model «Delivery BE» Order Management Service Request «Procedure BE» «Entity BE» Order Process Customer «Entity BE» Sales Order Product Sims Architectures – reproduced © Copyright Agile Enterprise Limitedhere with permission Slide 28
UML 2 Application Component Model «Application Component» Order Management Order. Entry «delegate» Party «Procedure BC» Order Process Order. Entry Orderable. Item «Entity BC» Customer Party Orderable. Item «Entity BC» Sales Order Product Sims Architectures – reproduced © Copyright Agile Enterprise Limitedhere with permission Slide 29
System Model Auto-Generation l Delivery BE l Service Composition l Process BE l BPM Process Component n l No 'Human' Steps Workflow BE n l Workflow Process Component n l Procedure BE n l Group Activities by 'focus' Resource BE n n Group classes by 'focus' class Sims Architectures – reproduced © Copyright Agile Enterprise Limitedhere with permission l Generate (e. g. ) WSFL from Activity Procedure Component n l Generate (e. g. ) BPMN from Activity Generate one operation for each Activity Generate one 'focus' class to implement all operations Entity Component n n Generate CRUDLV operations Generate 'focus' and 'auxiliary' classes Slide 30
The Goals/ Constraints Goal Business Requirements Analysis/ Design Implementation Run-time Process Orders Customer Product Process Orders (UML) Process Orders (Code) Process Orders (Instance) Customer (UML) Customer (Code) Customer (Instance) Product (UML) Product (Code) Product (Instance) Policy Regulation (File) Sims Architectures – reproduced © Copyright Agile Enterprise Limitedhere with permission Slide 31
Agenda l The Goal l Development Platform Assumptions l l l Business Requirements (a. k. a. Business Model) The IT Application Model Generating the System Model from the Business Requirements Model l Traceability l Conclusion © Copyright Agile Enterprise Limited Slide 32
Why Traceability? l For example: n n How do evolving business goals and policies impact which parts of the IT landscape? What aspects of which apps need to change to stay legal when a new regulation comes along? © Copyright Agile Enterprise Limited Slide 33
Visualisation Example Business Area X Region A BU 1 Activity 1 Region B BU 2 Tomec Activity 2 BU 3 BU 1 Zitoun Cognos Distribox BU 2 BU 3 Tomec plus Besbox Gargan Activity 3 Gargan Excel Pricers In-House Kanoc Axor . . Common Reference data Webox Datox Comax Pal Bill Repo Master BUY = Strategic application for the business, no limiting business/technical risks HOLD = Not a long term/strategic solution, but no funded retirement in place SELL = Does not meet the business and/or represents unacceptable business or technology risk © Copyright Agile Enterprise Limited Slide 34
The Agile Enterprise Approach l Define the business drivers (business strategy, operations & regulatory, technology) n l l Define the business in terms of ‘business elements’ n Business elements: n Types of Business Element: n n Drivers and Goals map to/from Business Elements Result is a ‘business requirements model’ in terms of business elements l – are services – encapsulate the ‘requirements’ – Service, Procedure, Resource – Organisational Business Element (optional) – NB: Start with relevant part of the business – NOT a 'boil the ocean' approach Define a notional application landscape in terms of ‘business components’ n n l Goals, Context, Vision Each ‘Business Component' is derived from a business element Business Components provide services Define where Business Component function is provided by current Applications Result: traceability from goals through business elements through component services to applications – and back! © Copyright Agile Enterprise Limited Slide 35
Traceability Example Strategy and Key Drivers Business Architecture Business Elements Business Components Application Portfolio © Copyright Agile Enterprise Limited Potential for 'Servicising' Possible Duplication Slide 36
Legacy, Outsourced and COTS l Legacy n What services do we want? – Redux provides answers – Map business components to legacy interfaces n Can we get them? – ? ? ? l Outsourced n n n What services do we want? Do we want composable services? How do we specify this as part of our requirements statement? – Redux provides answers – Define web services based on business components l COTS n n What services do we want? How do we evaluate different products? – Redux provides answers Sims Architectures – reproduced © Copyright Agile Enterprise Limitedhere with permission Slide 37
Agenda l The Goal l Development Platform Assumptions l l l Business Requirements (a. k. a. Business Model) The IT Application Model Generating the System Model from the Business Requirements Model l Traceability l Conclusion © Copyright Agile Enterprise Limited Slide 38
Achieving the Goal is Viable Traceability Business Requirements Application Design Application Code Deployed Application Virtual Platform (Build-Time and Run-Time) Architectural Style © Copyright Agile Enterprise Limited Slide 39
DSLs The Future of Model-Driven Development? MDD by Domain Expert (aided by IT) using DSLs: Create Application Run Application Domain Expert IT Expert Hours / Days Business as Usual: Request Application Build Application Run Application Domain Expert IT Expert Sims Architectures – reproduced © Copyright Agile Enterprise Limitedhere with permission Weeks / Months Slide 40
Removing the Business/IT Gap Oliver Sims CTO, Agile Enterprise oliver. sims@agile-enterprise. co. uk © Copyright Agile Enterprise Limited
- Slides: 40