Patterns: Model-Driven Development Using IBM Rational Software Architect

Total Page:16

File Type:pdf, Size:1020Kb

Patterns: Model-Driven Development Using IBM Rational Software Architect 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 . ..
Recommended publications
  • Chicago Board Options Exchange Annual Report 2001
    01 Chicago Board Options Exchange Annual Report 2001 cv2 CBOE ‘01 01010101010101010 01010101010101010 01010101010101010 01010101010101010 01010101010101010 CBOE is the largest and 01010101010101010most successful options 01010101010101010marketplace in the world. 01010101010101010 01010101010101010 01010101010101010 01010101010101010 01010101010101010 01010101010101010ifc1 CBOE ‘01 ONE HAS OPPORTUNITIES The NUMBER ONE Options Exchange provides customers with a wide selection of products to achieve their unique investment goals. ONE HAS RESPONSIBILITIES The NUMBER ONE Options Exchange is responsible for representing the interests of its members and customers. Whether testifying before Congress, commenting on proposed legislation or working with the Securities and Exchange Commission on finalizing regulations, the CBOE weighs in on behalf of options users everywhere. As an advocate for informed investing, CBOE offers a wide array of educational vehicles, all targeted at educating investors about the use of options as an effective risk management tool. ONE HAS RESOURCES The NUMBER ONE Options Exchange offers a wide variety of resources beginning with a large community of traders who are the most experienced, highly-skilled, well-capitalized liquidity providers in the options arena. In addition, CBOE has a unique, sophisticated hybrid trading floor that facilitates efficient trading. 01 CBOE ‘01 2 CBOE ‘01 “ TO BE THE LEADING MARKETPLACE FOR FINANCIAL DERIVATIVE PRODUCTS, WITH FAIR AND EFFICIENT MARKETS CHARACTERIZED BY DEPTH, LIQUIDITY AND BEST EXECUTION OF PARTICIPANT ORDERS.” CBOE MISSION LETTER FROM THE OFFICE OF THE CHAIRMAN Unprecedented challenges and a need for strategic agility characterized a positive but demanding year in the overall options marketplace. The Chicago Board Options Exchange ® (CBOE®) enjoyed a record-breaking fiscal year, with a 2.2% growth in contracts traded when compared to Fiscal Year 2000, also a record-breaker.
    [Show full text]
  • Automated Improvement of Software Architecture Models for Performance and Other Quality Attributes
    Automated Improvement of Software Architecture Models for Performance and Other Quality Attributes Zur Erlangung des akademischen Grades eines Doktors der Ingenieurwissenschaften von der Fakultät für Informatik des Karlsruher Instituts für Technologie (KIT) genehmigte Dissertation von Anne Koziolek geb. Martens aus Oldenburg Tag der mündlichen Prüfung: 14.07.2011 Erster Gutachter: Prof. Dr. Ralf Reussner Zweiter Gutachter: Prof. Dr. Andreas Oberweis KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum der Helmholtz-Gemeinschaft www.kit.edu Automated Improvement of Software Architecture Models for Performance and Other Quality Attributes PhD thesis to gain the degree “Doktor der Ingenieurwissenschaften” at the Department of Informatics of the Karlsruhe Institute of Technology (KIT) Dissertation by Anne Koziolek neé Martens Oldenburg Day of defence: 14.07.2011 Referees: Prof. Dr. Ralf Reussner Prof. Dr. Andreas Oberweis KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association www.kit.edu Contents Abstract xi Zusammenfassung xiii Danksagungen xvii 1. Introduction 1 1.1. Motivation . 1 1.2. Problem . 4 1.3. Existing Solutions . 5 1.4. Contributions . 6 1.5. Outline . 9 I. Foundations and Related Work 11 2. Component-based Software Architectures and Quality 13 2.1. Component-based Software Architecture . 13 2.1.1. Definitions . 13 2.1.2. Component-based Software Development Process . 17 2.2. Quality of Software Architectures . 18 2.2.1. Quality Attributes of Software Architecture . 18 2.2.2. Quantitative Quality Properties . 21 2.3. Modelling Concepts . 24 2.3.1. Models and Metamodels . 24 2.3.2. Essential Meta Object Facility . 26 2.4. Model-based Quality Prediction .
    [Show full text]
  • PML, an Object Oriented Process Modelling Language
    PML, an Object Oriented Process Modeling Language Prof. Dr.-Ing. Reiner Anderl 1, and Dipl.-Ing. Jochen Raßler 2 1 Prof. Dr.-Ing. Reiner Anderl, Germany, [email protected] 2 Dipl.-Ing. Jochen Raßler, Germany, [email protected] Abstract: Processes are very important for the success within many business fields. They define the proper application of methods, technologies, tools and company structures in order to reach business goals. Important processes to be defined are manufacturing processes or product development processes for example to guarantee the company’s success. Over the last decades many process modeling languages have been developed to cover the needs of process modeling. Those modeling languages have several limitations, mainly they are still procedural and didn’t follow the paradigm change to object oriented modeling and thus often lead to process models, which are difficult to maintain. In previous papers we have introduced PML, Process Modeling Language, and shown it’s usage in process modeling. PML is derived from UML and hence fully object oriented and uses modern modeling techniques. It is based on process class diagrams that describe methods and resources for process modeling. In this paper the modeling language is described in more detail and new language elements will be introduced to develop the language to a generic usable process modeling language. Keywords: process modeling language, PML, UML 1. Introduction As the tendency of enterprises to collaborate growths steadily, industry faces new challenges managing business processes, product development processes, manufacturing processes and much more. Furthermore, discipline spanning product development processes are increasing, e.
    [Show full text]
  • The Role of an Architect
    Learn the discipline, pursue the art, and contribute ideas at www.ArchitectureJournal.net Resources you can build on. Journal 15 The Role of an Architect We Don’t Need No Architects! Becoming an Architect in a System Integrator Architecture Journal Profi le: Paul Priess The Open Group’s Architect Certifi cation Programs The Need for an Architectural Body of Knowledge A Study of Architect Roles by IASA Sweden The Softer Side of the Architect An A-Z Guide to Being an Architect ® Contents TM Journal 15 Foreword 1 by Simon Guest We Don’t Need No Architects 2 by Joseph Hofstader What does an architect do? What should an architect do? Join Joseph Hofstader as he examines the role of an architect. Becoming an Architect in a System Integrator 7 by Amit Unde In this article, Amit Unde explores the skills that aspiring architects need in a leading System Integrator. Architecture Journal Profi le: Paul Preiss 10 We chat with Paul Preiss, founder of a nonprofi t group called IASA (International Association of Software Architects). The Open Group’s Architect Certifi cation Programs 13 by Leonard Fehskens Join Leonard Fehskens as he outlines one of the industry’s architect certifi cation programs, Open Group’s ITAC (IT Architect Certifi cation). The Need for an Architectural Body of Knowledge 17 by Miha Kralj Miha Kralj covers an Architectural Body of Knowledge, an effort led by the Microsoft Certifi ed Architect community. A Study of Architect Roles by IASA Sweden 22 by Daniel Akenine Discover a perspective of architect roles through a recent study conducted by the local IASA chapter in Sweden.
    [Show full text]
  • Contract Number: 4400016179
    Page 1 of 2 FULLY EXECUTED Contract Number: 4400016179 Original Contract Effective Date: 12/13/2016 Valid From: 01/01/2017 To: 12/31/2018 All using Agencies of the Commonwealth, Participating Political Subdivision, Authorities, Private Colleges and Universities Purchasing Agent Name: Millovich Joseph Your SAP Vendor Number with us: 102380 Phone: 717-214-3434 Fax: 717-783-6241 Supplier Name/Address: IBM CORPORATION P.O. Box 643600 PITTSBURGH PA 15264-3600 US Please Deliver To: To be determined at the time of the Purchase Order unless specified below. Supplier Phone Number: 7175477069 Contract Name: Payment Terms IBM Software & Related Services NET 30 Solicitation No.: Issuance Date: Supplier Bid or Proposal No. (if applicable): Solicitation Submission Date: This contract is comprised of: The above referenced Solicitation, the Supplier's Bid or Proposal, and any documents attached to this Contract or incorporated by reference. Item Material/Service Qty UOM Price Per Total Desc Unit 2 Licenses/Appliances/Subscriptions/SaaS 0.000 0.00 1 0.00 Item Text Software: includes, but is not limited to, commercially available licensed software, software appliances, software subscriptions and software as a service (SaaS). Agencies must develop and attach the Requirements for Non-Commonwealth Hosted Applications/Services when purchasing SaaS (see Appendix H). -------------------------------------------------------------------------------------------------------------------------------------------------------- 3 Services/Support/Maintenance 0.000 0.00
    [Show full text]
  • Java and Z/OS (And Rdz)
    ® IBM Software Group Java and z/OS (and RDz) Jon Sayles – [email protected] © 2016 IBM Corporation IBM Software Group | Rational software Merrill Class . They’ll have RDz exposure . Terms & Concepts & Vocabulary Remove fear of Java Analogies – Procedural vocabulary 20 – 30 students - mix of young + old (mostly old) dudes . Call COBOL from Java Java doesn’t create an .exe Objects . z/OS Java Standard z/OS environment JCL – pointing to Unix Aware of JVM – can call COBOL http://www.s390java.com/index.htm IBM Software Group | Rational software Trademarks Trademarks The following are trademarks of the International Business Machines Corporation in the United States and/or other countries. For a complete list of IBM Trademarks, see www.ibm.com/legal/copytrade.shtml: AS/400, DBE, e-business logo, ESCO, eServer, FICON, IBM, IBM Logo, iSeries, MVS, OS/390, pSeries, RS/6000, S/30, VM/ESA, VSE/ESA, Websphere, xSeries, z/OS, zSeries, z/VM The following are trademarks or registered trademarks of other companies Lotus, Notes, and Domino are trademarks or registered trademarks of Lotus Development Corporation Java and all Java-related trademarks and logos are trademarks of Sun Microsystems, Inc., in the United States and other countries LINUX is a registered trademark of Linux Torvalds UNIX is a registered trademark of The Open Group in the United States and other countries. Microsoft, Windows and Windows NT are registered trademarks of Microsoft Corporation. SET and Secure Electronic Transaction are trademarks owned by SET Secure Electronic Transaction LLC. Intel is a registered trademark of Intel Corporation * All other products may be trademarks or registered trademarks of their respective companies.
    [Show full text]
  • The Architecture of Platforms: a Unified View Working Paper
    The Architecture of Platforms: A Unified View Carliss Y. Baldwin C. Jason Woodard Working Paper 09-034 Copyright © 2008 by Carliss Y. Baldwin and C. Jason Woodard Working papers are in draft form. This working paper is distributed for purposes of comment and discussion only. It may not be reproduced without permission of the copyright holder. Copies of working papers are available from the author. The Architecture of Platforms: A Unified View Carliss Y. Baldwin* C. Jason Woodard† *corresponding author: Harvard Business School Boston, MA, 02163 [email protected] † Singapore Management University [email protected] Copyright © Carliss Y. Baldwin and C. Jason Woodard, 2008 2 The Architecture of Platforms: A Unified View Carliss Y. Baldwin and C. Jason Woodard Abstract The central role of “platform” products and services in mediating the activities of disaggregated “clusters” or “ecosystems” of firms has been widely recognized. But platforms and the systems in which they are embedded are very diverse. In particular, platforms may exist within firms as product lines, across firms as multi-product systems, and in the form of multi-sided markets. In this paper we argue that there is a fundamental unity in the architecture of platforms. Platform architectures are modularizations of complex systems in which certain components (the platform itself) remain stable, while others (the complements) are encouraged to vary in cross- section or over time. Among the most stable elements in a platform architecture are the modular interfaces that mediate between the platform and its complements. These interfaces are even more stable than the interior core of the platform, thus control over the interfaces amounts to control over the platform and its evolution.
    [Show full text]
  • Annual Report 2011
    ANNUAL REPORT 2011 TO OUR STOCKHOLDERS: I am pleased to report that KLA-Tencor performed at record levels on several fronts in fi scal year 2011. We achieved company records in our most critical fi nancial metrics, including revenues, net income, earnings per share and profi t margins, and our year-over-year revenue growth signifi cantly exceeded that of our peer group and our industry. At the same time, we generated record free cash fl ow and continued to deliver meaningful returns to our stockholders in the form of dividends and stock repurchases. This performance was the result of our unwavering focus on develop- ing market-leading technology, addressing our customers’ most critical needs and driving operational effi ciency. Though our industry has seen a recent slowdown in demand, we remain very excited about KLA-Tencor’s prospects for the future. The long-term demand drivers for KLA-Tencor and our industry remain intact, and we are well positioned to grow as demand for semiconductor capital equipment recovers. Our record results in fi scal year 2011 demonstrate that our strategies are working. Looking back over our 35-year history, we have established a pattern of achievement and leadership, which has enabled us to create the strong foundation from which we now look ahead to the future. Our accomplishments during fi scal year 2011 in each of our four strategic objectives (Customer Focus, Growth, Operational Excellence and Talent Development) are highlighted below: CUSTOMER FOCUS: MARKET LEADERSHIP Our customer focus strategic objective is measured in customer satisfaction and market share. We maintained our market leadership positions among our foundry and logic customers in fi scal year 2011 and improved our market position in memory, as evidenced by achieving record new order levels across all our end markets during the year.
    [Show full text]
  • IBM Rational Software IBM Rational Software
    ® IBM Rational Software Development Conference 2008 SDP30: Jazzing Up IT Best Practices from Internal Deployment of IBM Rational Team Concert Doug Weissman – IT Architect, Rational Software [email protected] Cathy Col – Manager, Rational Engineering Services [email protected] © 2007 IBM Corporation IBM Rational Software Development Conference 2008 Agenda Goal of presentation Why did we centralize deployment of Rational Team Concert? A Simple RTC Configuration Considerations for deploying Rational Team Concert Rational Software’s RTC Deployment Benefits, Best Practices, and Lessons Learned SDP30 – Jazzing Up IT 2 IBM Rational Software Development Conference 2008 Goal of Presentation Help you think about how to deploy Rational Team Concert Give you some suggestions as to possible architectures and configurations Discuss some benefits, best practices, pitfalls, and lessons learned SDP30 – Jazzing Up IT 3 IBM Rational Software Development Conference 2008 Agenda Goal of presentation Why did we centralize deployment of Rational Team Concert? A Simple RTC Configuration Considerations for deploying Rational Team Concert Rational Software’s RTC Deployment Benefits, Best Practices, and Lessons Learned SDP30 – Jazzing Up IT 4 s ent rem qui r re rve l se ima Min IBM Rational Software Development Conference 2008 e Grassroot movement to adopt new technology s u e d bl n si “Jazz” adoptiona was rampant ats Rational! ce d y ac e lo ly s p ee a e fr -b d ad ” o lo ne t n g y ow pa s D rt m a o a E p ch p n dly u w frien e s r o , team
    [Show full text]
  • Extending and Evaluating the Model-Based Product Definition
    NIST GCR 18-015 Extending and Evaluating the Model-based Product Definition Nathan W. Hartman Jesse Zahner Purdue University This publication is available free of charge from: https://doi.org/10.6028/NIST.GCR.18-015 NIST GCR 18-015 Extending and Evaluating the Model-based Product Definition Prepared for Thomas D. Hedberg, Jr. Allison Barnard Feeney U.S. Department of Commerce Engineering Laboratory National Institute of Standards and Technology Gaithersburg, MD 20899-8260 By Nathan W. Hartman Jesse Zahner PLM Center of Excellence Purdue University This publication is available free of charge from: https://doi.org/10.6028/NIST.GCR.18-015 December 2017 U.S. Department of Commerce Wilbur L. Ross, Jr., Secretary National Institute of Standards and Technology Walter Copan, NIST Director and Undersecretary of Commerce for Standards and Technology Disclaimer Any opinions, findings, conclusions, or recommendations expressed in this publication do not necessarily reflect the views of the National Institute of Standards and Technology (NIST). Additionally, neither NIST nor any of its employees make any warranty, expressed or implied, nor assume any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, product, or process included in this publication. The report was prepared under cooperative agreement 70NANB15H311 between the National Institute of Standards and Technology and Purdue University. The statements and conclusions contained in this report are those of the authors and do not imply recommendations or endorsements by the National Institute of Standards and Technology. Certain commercial systems are identified in this report. Such identification does not imply recommendation or endorsement by the National Institute of Standards and Technology.
    [Show full text]
  • Locating Your Computer's Specifications
    Home Designer® Software by Chief Architect® (https://www.homedesignersoftware.com /) Locating Your Computer's Specications Reference Number: KB-03129 Last Modified: July 30, 2021 The information in this article applies to: QUESTION How can I check my computer's specications to see if it meets the system requirements for my Chief Architect (https://www.chiefarchitect.com/products/sysreq.html) or Home Designer (https://www.homedesignersoftware.com/products/system-requirements.html) product? ANSWER If you're using a Windows based computer, you can use the DirectX Diagnostic Tool to nd your computer's specications, including the operating system version that is currently installed. If you're using an Apple macOS system, access the 'About This Mac' section to locate this information. Microsoft Windows Apple macOS To nd your computer's specications on a Microsoft Windows system 1. Press the following keys on your keyboard at the same time: Windows + R. 2. In the Run dialog that appears, type: dxdiag , then click OK. Additionally, you can type dxdiag in Windows Search. For more information on accessing this utility in this manner, please see the following Microsoft resource: Open and run Diagram.exe (https://support.microsoft.com/en-us/help/4028644/windows-open-and-run-dxdiagexe) 3. The DirectX Diagnostic Tool dialog will appear. On the SYSTEM tab, the Operating System, System Manufacturer, System Model, Processor, and Memory will be listed. 4. On the DISPLAY tab(s), the graphics card that is in use will display under the Device section, while the driver information will appear under the Drivers section on the right.
    [Show full text]
  • The PLT Course at Columbia
    Alfred V. Aho [email protected] The PLT Course at Columbia Guest Lecture PLT September 10, 2014 Outline • Course objectives • Language issues • Compiler issues • Team issues Course Objectives • Developing an appreciation for the critical role of software in today’s world • Discovering the principles underlying the design of modern programming languages • Mastering the fundamentals of compilers • Experiencing an in-depth capstone project combining language design and translator implementation Plus Learning Three Vital Skills for Life Project management Teamwork Communication both oral and written The Importance of Software in Today’s World How much software does the world use today? Guesstimate: around one trillion lines of source code What is the sunk cost of the legacy software base? $100 per line of finished, tested source code How many bugs are there in the legacy base? 10 to 10,000 defects per million lines of source code Alfred V. Aho Software and the Future of Programming Languages Science, v. 303, n. 5662, 27 February 2004, pp. 1331-1333 Why Take Programming Languages and Compilers? To discover the marriage of theory and practice To develop computational thinking skills To exercise creativity To reinforce robust software development practices To sharpen your project management, teamwork and communication (both oral and written) skills Why Take PLT? To discover the beautiful marriage of theory and practice in compiler design “Theory and practice are not mutually exclusive; they are intimately connected. They live together and support each other.” [D. E. Knuth, 1989] Theory in practice: regular expression pattern matching in Perl, Python, Ruby vs. AWK Running time to check whether a?nan matches an regular expression and text size n Russ Cox, Regular expression matching can be simple and fast (but is slow in Java, Perl, PHP, Python, Ruby, ...) [http://swtch.com/~rsc/regexp/regexp1.html, 2007] Computational Thinking – Jeannette Wing Computational thinking is a fundamental skill for everyone, not just for computer scientists.
    [Show full text]