Better Application Life-cycle Management with MDA. Andrew Watson VP & Technical Director, OMG



Similar documents
Visual Modelling: past, present and future

Who Is The OMG? Object Management Group factoids:

Business Process Management. and the Service Oriented Enterprise. Richard Mark Soley, Ph.D. Chairman and CEO

The leading platform for Model Driven Architecture (MDA) Content:

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

BUSINESS RULES MANAGEMENT AND BPM

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Enterprise Integration Architectures for the Financial Services and Insurance Industries

A Software Development Platform for SOA

What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process

All you need are models Anneke Kleppe, Klasse Objecten

MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems by Sparx Systems

SOA, BPM & Cloud Computing: What Comes Next?

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

Tools for MDA Software Development: Evaluation Criteria and Set of Desirable Features

Business Performance Management Standards

Business Process Modeling and Standardization

What Is the Java TM 2 Platform, Enterprise Edition?

Course 4 27 October Adrian Iftene adiftene@info.uaic.ro

INNOVATOR. The integrated tool suite for business process and software engineering

From Business World to Software World: Deriving Class Diagrams from Business Process Models

Service Oriented Architectures

Model-Driven Data Warehousing

Driving business agility with Model Driven Architecture An emerging approach for cost-effective, reliable and rapid application development

Managed Architecture of Existing Software as a Practical Transition to MDA. Nikolai Mansurov Chief Scientist & Architect

Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence

Foundations of Model-Driven Software Engineering

Model Driven Development Future or Failure of Software Development?

T13 TESTING SOA SOFTWARE: THE HEADLESS DILEMMA. John Michelsen itko, Inc. BIO PRESENTATION 10/19/2006 1:30:00 PM

So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise. Eric Newcomer, CTO

JAVA/J2EE DEVELOPER RESUME

Asset Based Development

Model-Driven Architecture: Vision, Standards And Emerging Technologies

Effective Team Development Using Microsoft Visual Studio Team System

Clarifying a vision on certification of MDA tools

How To Develop A Web Service In A Microsoft J2Ee (Java) 2.5 (Oracle) 2-Year Old (Orcient) 2Dj (Oracles) 2E (Orca) 2Gj (J

Designing a Semantic Repository

Eclipse BPMN Modeler Introducing Intalio Designer

MDA Journal A BPT COLUMN. David S. Frankel. Introduction. May 2004

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology Fall 2007

The Fast Guide to Model Driven Architecture

Best Practice SOA goes Eclipse

White Paper Software Quality Management

Rules and Business Rules

Revel8or: Model Driven Capacity Planning Tool Suite

Introduction into Web Services (WS)

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

Developing in the MDA Object Management Group Page 1

Applying MDA in Developing Intermediary Service for Data Retrieval

MDA Journal A BPT COLUMN. David S. Frankel. December 2003

Distributed Systems. Outline. What is a Distributed System?

The Enterprise Service Bus

Business Rules and Standards

Business-Driven Software Engineering Lecture 3 Foundations of Processes

MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS

Model Driven and Service Oriented Enterprise Integration---The Method, Framework and Platform

Using UML to Construct a Model Driven Solution for Unified Access to Disparate Data

A Comparison of Enterprise Reporting Tools

The Case for Business Agility in the SAP Dominated Enterprise

Done. Imagine it. c Consulting. c Systems Integration. c Outsourcing. c Infrastructure. c Server Technology.

Improvement of Software Quality and Productivity Using Development Tools

A Categorization of Collaborative Business Process Modeling Techniques

Blu Age Overview. It is not about changing the platform it is about business agility! HP Non Stop. Modernization Evolution Automation

Ce document a été téléchargé depuis le site de Precilog. - Services de test SOA, - Intégration de solutions de test.

zen Platform technical white paper

3-Tier Architecture. 3-Tier Architecture. Prepared By. Channu Kambalyal. Page 1 of 19

Comparison of Enterprise Reporting Tools

SERVICE ORIENTED AND MODEL-DRIVEN DEVELOPMENT METHODS OF INFORMATION SYSTEMS

Introduction to Service-Oriented Architecture for Business Analysts

Chapter 4. Architecture. Table of Contents. J2EE Technology Application Servers. Application Models

Web Services - Consultant s View. From IT Stategy to IT Architecture. Agenda. Introduction

Polyglot Multi-Paradigm. Modeling. MDA in the Real World. Stefan Tilkov

Model driven architecture: Principles and practice

Take full advantage of IBM s IDEs for end- to- end mobile development

Contents. Introduction... 1

Amit Sheth & Ajith Ranabahu, Presented by Mohammad Hossein Danesh

OpenCCM: The Open CORBA Components Platform

Enterprise Service Oriented Architecture Using the OMG SoaML Standard

Update on the OMG PRR Standard

Information Management Metamodel

Lombardi Whitepaper: Why You (Probably) Cannot Afford to Use IBM for BPM. Why You (Probably) Cannot Afford to Use IBM for BPM

Applying 4+1 View Architecture with UML 2. White Paper

Patterns & Techniques for Separating Business Logic in New SOA System Development. Iyad Jabri Intelliun Corporation CEO

Enterprise Application Integration (EAI) Techniques

Business Process Management

Visual Paradigm product adoption roadmap

Success story. IBM Business Consulting Services and IBM Rational Rapid Developer help legacy developers deliver J2EE applications for state agency

App Servers & J2EE Platform. Contents: Transaction Processing Monitors. TP Monitors (cont) TP-Monitors. TP Standards. TP Monitors (cont)

MDA When a major software industry trend meets our toolset, implemented since By Philippe Desfray VP for R&D

Generating Aspect Code from UML Models

Architecture Summary. Prepared by Architecture Working Group. Goals and summary: April 4, 2012 Updated recommendation: Nov 7, 2013

MDA Case Study: State of Wisconsin Unemployment Insurance Division

Java Development Productivity and Quality Using Eclipse:

OMG EDA Standards Review

Distributed systems. Distributed Systems Architectures

25 May Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy

What Business and Process Analysts Need to Know About BPM Suites

Information Systems Analysis and Design CSC340. I. Introduction

Introduction to CORBA. 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

Transcription:

Better Application Life-cycle Management with MDA Andrew Watson VP & Technical Director, OMG

Introducing OMG One of the most successful forums for creating open integration standards in the computer industry - CORBA integration platform & many related specifications - UML design notation and related specifications An industrial consortium with vendor and user members - Implementation must be available from OMG member Interfaces freely available to all - Visit http://www.omg.org Decisions taken by members ALM with MDA 2

2AB 88 Solutions ABB Adaptive Adobe Alcatel Aonix Artisan BAE Systems BEA Systems Boeing Borland CA Worldwide Membership CBOE Cisco Compuware Credit Suisse Daimler Deere & Co. DoCoMo EBI EDS EFF Eurocontrol EuroSTEP Fujitsu GCHQ G. Dynamics Gnome Fndn. HDMA HP Hitachi IBM IDS Scheer Int active Obj IONA Kaiser K dy Carter Lockheed MedicAlert Mentor G ics Motorola NASA NEC NATO NIST Nokia Northrop OIS Oracle Promia PrismTech Raytheon Rockwell SAP SAS Institute Siemens Sun Telefonica Thales Toshiba Union Switch Unisys VHA W3C ALM with MDA 3

OMG in action: Unified Modelling Language The successor to multiplicity of OO A&D notations of early 90s Result of OMG RFP begun in 1994, completed in 1997 - Complemented by XML Metadata Interchange (XMI) and repository (MOF) specs Standard released flood of support - 110+ books, dozens of tools UML 2.0 now published - Extensions for System Engineering (SysML) in progress ALM with MDA 4

What is Application Lifecycle Management? An Application Lifecycle is the continuum of activities required to support an enterprise application from its initial inception through its deployment and system optimization Application Lifecycle Management (ALM) integrates and governs the planning, definition, design, development, testing, deployment, and management phases throughout the application lifecycle Eclipse Application Lifecycle Framework project ALM with MDA 5

Current state of ALM In 2002 only 34% of US IT projects delivered on time, within budget, and with all specified features 15% failed completely Of the other, challenged 51%: - 41% delivered less than 50% of spec - 41% more than 50% over-time - 27% more than 50% over-budget (Source: The Standish Group, CHAOS Chronicles Version III, 2003) ALM with MDA 6

Why do projects fail? One of the most important reasons is that there is an enormous gap between the developers who work on application projects, and the managers who set the goals of the projects. Application Lifecycle Management, Butler Group, 2005 Poor requirements capture and inadequate communication leads to project catastrophes - Requirement errors are easy to fix if found early... -... but can be impossible to fix if not found until testing ALM with MDA 7

Does this sound familiar? ALM with MDA 8

The Mythical Man Month Originally written in 1975, still in print Based on Brooks OS/360 experience Over 250,000 copies sold Peppered with pithy aphorisms, like: The sooner you start, the longer it takes Adding manpower to a late software project only makes it later ALM with MDA 9

What s missing from ALM? More than 50% of staff time spent on maintenance Leintz & Swanson 1981 survey of 487 organisations Recent maintenance & evolution cost estimates even higher > 90% Erlikh, 2000 75% Eastwood, 1993 > 90% Moad, 1990 60-70% Huff, 1990 Bizarrely, some definitions of ALM exclude maintenance! ALM with MDA 10

More maintenance data There are about 250bn lines of source code under maintenance Sommerville, 2000 The volume of code being maintained doubles every 7 years Mueller et al, 1994 US annual software maintenance cost > $70bn Sutherland 1995, Edelstein 1993 Maintainers spend ~ 50% of their time understanding the code Standish, 1984 ALM with MDA 11

Why is maintenance hard? Lack of documentation - Maintainers often have to reconstruct missing designs Changing platforms - Maintainers often forced to build for defunct platforms - Shortages of experienced staff, good tools etc. Changing program structure - Maintenance violates original design assumptions - Code becomes contorted, thus even more difficult to understand and modify ALM with MDA 12

Cost of technology churn (1) Every seven years, we have torn up what has gone before and started again There have been eight cycles of 'build and scrap' since 1946. The first cost $100m, equal to 7 per cent of business investment at the time. The last cost $2,000bn, or 47 per cent. The next would have cost $5,000bn but we have run out of money: we have come to the end of history as we know it. Paul A. Strassmann, former Chief Information Technology executive for General Foods, Kraft, Xerox and the US Department of Defense. http:// www.strassmann.com/ ALM with MDA 13

Cost of technology churn (2) New delivery technologies arrive every 5-10 years - Often an improvement (e.g. Java vs. C++) But critical IT systems live 25+ years - Two Zurich banks with 6 million lines of PL/I in production - Gartner estimates 180 billion lines of COBOL still in use We can no longer afford to pretend that today s delivery platform is the last one there ll ever be - We must stop investing all our intellectual capital in code - That investment too difficult to withdraw when it s time to change platforms ALM with MDA 14

How to cope? How we always do - raise level of abstraction & use better tools - Octal/Hex machine code to assembler - Assemblers to High-Level Languages - Procedural to OO HLLs (see Steele s Growing a language ) - Physical to logical to semantic database schemas - Manual to automatic storage allocation There s always a fierce rearguard action - But greater abstraction always wins in the end We need to raise abstraction level above platform APIs - Abstract and automate ALM with MDA 15

Model-Driven Architecture Raising the level of abstraction above the deployment platform - Improves requirements capture & system specification Build computation-independent model in business language Store in common, standards-based model repository Transform into implementation models - Platform-Independent Model is technology-independent - Platform-Specific Models for target platforms - Code, test scripts, database schemas, deployment language Maintain models as the long-lived intellectual assets, not code ALM with MDA 16

Models vs. diagrams Model = machine-readable structures in underlying repository - Diagrams = visual representation of the model - Several possible diagram notations for different models UML has diagram notations for different aspects of IT systems - Use-case diagrams, class diagrams, sequence diagrams etc - Becoming ubiquitous in IT world, less so in business world Business Process Modelling Notation now adopted by OMG - Simple, graphical, flow-chart syntax for processes (only) Business Rules languages for formal yet readable facts & rules ALM with MDA 17

Business Process Modelling Notation Published May 2004 by Business Process Modelling Initiative - Organisation merged into OMG, September 2005 Similar notational conventions to UML 2 activity diagram - Becoming de-facto standard Business Process Modelling syntax, understandable by both business & technical users - Models all business processes, not just automatable ones - Standard mapping to Business Process Execution Language BPEL/BPEL4WS Aids capture and communication of business processes ALM with MDA 18

BPMN Example Supplier Financial Institution Sales Distribution Authorise credit card + Authorise payment Process order + Pack goods Ship goods ALM with MDA 19

Semantics of Business Vocabulary & Rules MOF metamodel for vocabularies & rules describing business - Designed from the start to be used with MDA - As for BPMN, applies to whole business, not just IT Business rule: Rule that business can enact or revise - Based on first-order predicate logic, with limited extensions Also precise, non-normative human-readable text syntaxes - Structured English - RuleSpeak - Business Rule Solutions established notation Aids capture and communication of business rules ALM with MDA 20

Structural & Operative Rules Structural rules are definitions - how a business chooses to organise the things it deals with - A Car Hire Customer has at least one of the following: A Reservation An in-progress car hire A car hire completed within the last 5 years Operative Rules govern conduct of business activities -... and therefore can be violated by the people involved - A customer who appears drunk must not be given possession of a hire car ALM with MDA 21

Example operative rules in Structured English It is obligatory that each rental car is owned by exactly one branch. Quantifier Fact type Object type Modality Object type Quantifier It is obligatory that at the actual return date/time of each in-country rental and each international inward rental the local area of the return branch of the rental owns the rented car of the rental. ALM with MDA 22

Building an MDA application (1) Computation-independent model CIM represents business context for the IT Solutions, expressed in terms of Business Processes and Business Concepts Start by creating Computationindependent model (CIM) of your business application ALM with MDA 23

Building an MDA application (2) Computation-independent model Platform-independent model Map CIM to Platformindependent model (PIM) Platform-independent model (PIM) describes business functionality and behaviour in automatable way, but undistorted by technology details ALM with MDA 24

Building an MDA application (3) Computation-independent model Platform-independent model Map PIM to a specific middleware technology MDA tool helps apply mapping to generate a Platform-Specific Model (PSM) from the PIM. CORBA model ALM with MDA 25

Building an MDA application (4) Computation-independent model Platform-independent model Map PIM to many middleware technologies In real life there s usually more than one platform in any application. MDA tools help map to them all. CORBA model EJB/Java model C#/.Net model Other model ALM with MDA 26

Building an MDA application (5) Computation-independent model Platform-independent model Map PSM to application interfaces, code, SQL queries, etc. MDA tool generates some or all of the implementation code for deployment technologies. CORBA EJB/ Java C#/.Net Other ALM with MDA 27

Building an MDA application (6) Computation-independent model Platform-independent model Reverse engineer existing application into a model for integration MDA tools for reverse engineering automate discovery of models for re-integration on new platforms. Legacy App COTS App Other ALM with MDA 28

Middleware Company MDA study Two parallel implementations of Sun s Pet Store sample app - Sun s illustration of Java Blueprints design patterns - Typical 3-tier DB/Java/HTML e-commerce application Two 3-person teams, traditional Java tools vs. OptimalJ See http://www.compuware.com/dl/mdacomparisontmcfinal.pdf MDA team completed in 330 man-hours, traditional in 508-35% effort saving, despite learning MDA tool on the job - MDA team estimated they would be 10-20% faster next time Level of bugs found during the testing process was higher for the traditional IDE team than the MDA-tool team ALM with MDA 29

EDS report Another study based on the Pet Store reference application See http://www.eds.com/thought/thought_leadership_agility_model_arch.pdf Coded app using vanilla J2EE,.NET and OptimalJ J2EE - 14,000 hand-coded lines in J2EE - 3,000 hand-coded lines in.net/c# - 600 hand-coded lines in Java/OptimalJ (+ creating models) - Developers write only 1-4 lines for each 200 lines generated 30 minutes to add EJB 2.0 features to OptimalJ EJB 1.1 version - New local interfaces, better container-managed persistence - Would have taken several months to do manually ALM with MDA 30

EDS study - lines of handwritten code 15000 14000 13000 12000 11000 10000 9000 8000 7000 6000 5000 4000 3000 2000 1000 0 610 3484 14273 Total lines of code 535 1881 5891 User interface 45 863 Middle tier 5404 J2EE with OptimalJ.NET J2EE 0 684 412 Data tier 30 56 Config ALM with MDA 31 2566

Middleware Company maintenance report Pair of 2-man teams add new features to existing Petstore apps - Tracking pet maturation - Calculating shipping costs - Soliciting supplier bids for new inventory - Integrating with Amazon.com via its web service - Integrating with mainframe application to track shipments Traditional team took 260 hours, MDA team 37% less (165 hrs) See http://www.middleware-company.com/casestudymda2.pdf MDA advantage greatest for disruptive changes (pet maturation), break-even for smallest updates (shipping costs) ALM with MDA 32

Real-world MDA Case Study Deutsche Bank Bauspar AG - 400 employees & 800,000 contracts - Provides savings & loans for customers buying property - 30,000 client machines at 1000 Deutsche Bank offices Objective: Provide web access to bank mainframe system - Classic large CICS / COBOL / DB2 legacy application - Originally purchased in1987 - Migrated from IMS to DB2 (1993), Y2K/Euro conversion (1997-2001) ALM with MDA 33

Users of new system Customers - view contracts & check status - Via the internet, any kind of browser Field staff - make and support sales - 30,000 workstations, sometimes used off-line - Windows to OS/2, Mozilla to Internet Explorer to Opera - Needed to reduce support cost of browser diversity Back office - finalises transactions - 200 Windows NT workstations - Needed to improve efficiency of back office via better automation, better integration with sales applications ALM with MDA 34

New application structure (1) Online clients XML/HTTPS Server Front End Layer Servlets/JSP Offline clients Back Office Logical Layer Physical Layer Business Layer EJB WFMS XML/MQSeries Mainframe Business Layer Logical Layer Physical Layer HTTPS Oracle DB2 ALM with MDA 35

New application structure (2) Core functions remain on mainframe - Fundamental business model remains the same - New app for each type of user, share data and common code New integration tier - Dual Sun Fire 280R servers - WebLogic Enterprise - MQ Series queue manager - Oracle 8.1.7 stores partially-complete data not ready for DB2 - Custom workflow manager manages longer transactions ArcStyler MDA tool used to build large parts of new system ALM with MDA 36

EJBs Deployment descriptors RPC Client stubs Artifacts generated by MDA tool Server Front End Layer Servlets/JSP Struts Form Classes Struts Action Classes Dialogue configuration Standard access methods Data access objects Logical Layer Business Layer EJB Mainframe WFMS Business Layer XML/MQSeries WFMS process definitions General Server-side Value objects SAX handler J-Unit test classes Physical Layer Oracle Logical Layer Physical Layer DB2 COBOL modules XML parser/builder RPC Server Stubs ALM with MDA 37

60% 70% 90% Code generation percentages Server Logical Layer Physical Layer Oracle Front End Layer Servlets/JSP Business Layer EJB Mainframe Business Layer Logical Layer Physical Layer DB2 WFMS XML/MQSeries 40% 70% 60% 90% ALM with MDA 38

DB Bauspar results Web access for legacy (i.e. working!) back-office mainframe Large parts of new applications generated from models - e.g. 100% of XML interfaces directly generated Coding and maintaining generation templates consumed 5-10% of overall project effort Overall cost & time-scale savings estimated at 40% compared to non-mda approach - Models a long-lived asset that can be used to maintain & develop system in future ALM with MDA 39

Summary Precise modelling languages & MDA addresses key ALM problems: poor requirements capture difficult legacy integration difficult maintenance poor software quality low productivity ALM with MDA 40

For further Information Slides: ftp://ftp.omg.org/pub/presentations/ajw_alm MDA: http://www.omg.org/mda FastStart: http://www.omg.org/faststart/index.htm Email: andrew@omg.org ALM with MDA 41