Patterns: Model-Driven Development Using IBM Rational Software Architect
Total Page:16
File Type:pdf, Size:1020Kb
Front cover Patterns: Model-Driven Development Using IBM Rational Software Architect Learn how to automate pattern-driven development Build a model-driven development framework Follow a service-oriented architecture case study Peter Swithinbank Mandy Chessell Tracy Gardner Catherine Griffin Jessica Man Helen Wylie Larry Yusuf ibm.com/redbooks International Technical Support Organization Patterns: Model-Driven Development Using IBM Rational Software Architect December 2005 SG24-7105-00 Note: Before using this information and the product it supports, read the information in “Notices” on page ix. First Edition (December 2005) This edition applies to Version 6.0.0.1 of Rational Software Architect (product number 5724-I70). © Copyright International Business Machines Corporation 2005. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Notices . ix Trademarks . x Preface . xi For solution architects . xi For project planners or project managers . xii For those working on a project that uses model-driven development . xii How this book is organized . xiii The team that wrote this redbook. xiv Become a published author . xv Comments welcome. xvi Part 1. Approach . 1 Chapter 1. Overview and concepts of model-driven development. 3 1.1 Current business environment and drivers . 4 1.2 A model-driven approach to software development . 5 1.2.1 Models as sketches and blueprints . 6 1.2.2 Precise models enable automation . 6 1.2.3 The role of patterns in model-driven development . 7 1.2.4 Not just code . 7 1.3 Benefits of model-driven development . 9 1.4 Model-driven development with IBM Rational Software Architect. 11 1.4.1 Unified Modeling Language 2.0 editor . 12 1.4.2 UML profile support. 13 1.4.3 RSA patterns. 13 1.4.4 RSA transformations . 15 1.5 Summary . 16 Chapter 2. Scenario overview . 17 2.1 Enterprise architecture . 18 2.1.1 Suitability for model-driven development . 19 2.1.2 Contra-indications for model-driven development. 19 2.2 Integration architecture . 20 2.2.1 ESB structure . 21 2.3 Pattern definition . 23 2.3.1 Interaction behavior patterns. 24 2.3.2 Individual service patterns. 24 2.3.3 Suitability for model-driven development . 25 © Copyright IBM Corp. 2005. All rights reserved. iii 2.3.4 Contra-indications for model-driven development. 25 2.4 Automation . 26 2.4.1 Technical. 26 2.4.2 Organizational . 27 2.4.3 Managerial . 27 2.5 Summary . 27 Chapter 3. Model-driven development approach . 29 3.1 Abstraction . 30 3.2 Precise modeling. 30 3.3 Automation . 31 3.4 Architectural style . 32 3.5 The role of UML. 33 3.6 Expertise capture . 36 3.6.1 Logical architecture expertise . 36 3.6.2 Technical architecture expertise . 36 3.7 Patterns . 37 3.8 Quality and consistency . 39 3.9 Integration . 39 3.10 Platform independence . 41 3.11 Layered modeling . 42 3.12 Modeling of non-functional characteristics . 43 3.13 Summary . 43 Chapter 4. Model-driven development project planning . 45 4.1 The value and cost of model-driven development. 46 4.2 Understanding the tasks for a model-driven development project . 47 4.2.1 Descriptions of tasks . 48 4.2.2 The model-driven development tool chain . 50 4.3 Planning a model-driven development project . 51 4.3.1 Using an iterative approach to model-driven development . 51 4.3.2 Developing model-driven development skills . 52 4.3.3 Thinking about reuse. 53 4.4 Quality control for model-driven development tooling . 55 4.5 Tracking a model-driven development project . 56 4.6 At the end of the project . 56 4.7 Summary . 57 Chapter 5. Model-driven development solution life cycle . 59 5.1 Introduction to the solution life cycle . 60 5.2 Model-driven development life cycle . 61 5.2.1 Create the framework to generate the solution services. 61 5.2.2 Generate, customize, and test the solution services. 62 5.3 Model-driven development and versioning . 62 iv Patterns: Model-Driven Development Using IBM Rational Software Architect 5.3.1 Versioning and replacement policies . 63 5.4 Model-driven development and artifact management . 64 5.4.1 Reuse model artifacts . 64 5.4.2 Integrity management services . 65 5.4.3 Deployment support . 65 5.5 Model-driven development and problem determination . 66 5.5.1 Tooling versus instrumentation . 67 5.6 Information mining. 67 5.7 Testing. 68 5.7.1 Modeling for testing. 68 5.7.2 Applying test patterns . 69 5.7.3 Modeling using the UML testing profile . 70 5.8 Summary . 71 Chapter 6. Model-driven development in context . 73 6.1 OMG and Model-Driven Architecture . 74 6.2 MDA models . ..