Practical Model-Driven Development with the IBM Software Development Platform

Similar documents
IBM Rational Software Architect

J2EE Application Development : Conversion and Beyond Osmond Ng

RUP for Systems Z and other Legacy Systems

Oliopäivät Modelling Now and in the Future, with Acronyms or without = RSA

CISC 322 Software Architecture

Representing System Architecture

IBM Rational Application Developer for WebSphere Software, Version 7.0

Simple to purchase, flexible to use

Building JavaServer Faces Applications

Rational Software White paper

J2EE Application Development with WebSphere Studio

BLU AGE 2009 Edition Agile Model Transformation

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

The 60-Minute Guide to Development Tools for IBM Lotus Domino, IBM WebSphere Portal, and IBM Workplace Applications

Unified Modeling Language (UML)

The Model Driven (R)evolution. Richard Mark Soley, Ph.D. Chairman and CEO Object Management Group, Inc.

Index. Add Diagram > Sequence Diagram command,

IBM Rational University. DEV396 Essentials of Rational Software Architect, Student Guide Part No

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

Tools to Develop New Linux Applications

developer.* The Independent Magazine for Software Professionals

Applying UML Modeling and MDA to Real-Time Software Development

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

IBM Rational Rose XDE Developer

Leverage SOA for increased business flexibility What, why, how, and when

Open Source egovernment Reference Architecture. Cory Casanave, President. Data Access Technologies, Inc.

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com

P17 System Testing Monday, September 24, 2007

UML big picture. Perdita Stevens. School of Informatics University of Edinburgh

ACM Technical Solution Architecture - Development and Deployment of ACM Solutions- ECM Fast Start Workshop 1Q2011

index_ qxd 7/18/02 11:48 AM Page 259 Index

Discover, Relate, Model, and Integrate Data Assets with Rational Data Architect

DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner. Xiao-Yun WANG PowerDesigner Chief Architect

Qualitative ROI for MDA Projects. Ken Sayers - Chubb and Son, Inc. OMG UML Workshop San Francisco, CA October 21-24, 2002

Model Driven Architecture

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik

Reengineering of Distributed Middleware Systems To a Model Driven Architecture (MDA)

Model Driven Development Unified Modeling Language (UML)

Introduction to WebSphere Development Studio for i5/os

Services Oriented Architecture and the Enterprise Services Bus

Defining Domain-Specific Modeling Languages

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page:

White Paper. Rose PowerBuilder Link

IBM Rational Developer for System z Version 7.5

Rational Application Developer 7 Bootcamp

Software Design and Implementation. Example Architecture KIWC

xiii A. Hayden Lindsey IBM Distinguished Engineer and Director, Studio Tools Foreword

Model Driven Architecture

1998, 1999, 2000, 2001, 2002 Rational Software - All rights reserved. A Preview of UML 2.0

CODAGEN TECHNOLOGIES AND MODEL-DRIVEN ARCHITECTURE (MDA)

MDA. SOA = Model Driven SOA

GMF Tooling 3.0 Vision, Architecture, Roadmap

Model Driven Architecture - The Vision

UML Modeling. Sumantra Sarkar. 29 th June CIS 8090 Managing Enterprise Architecture

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management

Object Management Group Model Driven Architecture (MDA) MDA Guide rev. 2.0 OMG Document ormsc/

Welcome to this IBM podcast, Realizing More. Value from Your IMS Compiler Upgrade. I'm Kimberly Gist

Designing Component-Based Architectures with Rational Rose RealTime

Lecture 2: Software Engineering (a review)

webmethods EntireX for ESB: Leveraging Platform and Application Flexibility While Optimizing Service Reuse

Get Started on SOA. People Entry Point Interaction and Collaboration Services. Case for an SOA Portal

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel

A Customizable Methodology for the Model driven Engineering of Service based System Landscapes

The ATCP Modeling Framework

Model driven Engineering & Model driven Architecture

B. Assets are shared-by-copy by default; convert the library into *.jar and configure it as a shared library on the server runtime.

Packaging for Websphere Development Studio was changed with V6R1.

JBuilder 2008 also now has full support for Struts 1.x applications including graphical editing and Web flow development.

Bizagi Process Management Suite as an Application of the Model Driven Architecture Approach for Developing Information Systems

FREQUENTLY ASKED QUESTIONS

What's New in ActiveVOS 7.1 Includes ActiveVOS 7.1.1

Raising the Level of Development: Models, Architectures, Programs

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect

WebSphere 4.0 General Introduction

Implementing Model Driven Architecture

Getting the Most from Eclipse

Comparison of Two Model Driven Architecture Approaches for Automating Business Processes, Moskitt Framework and Bizagi Process Management Suite

QoS-aware model-driven SOA using SoaML

IBM Rational Business Developer (RBD) is a development environment that

Agile Engineering. and other stuff I m working on

IBM Blueprint for Success

Rational Systems Developer

Simplifying Migrations with the WebSphere Application Server Migration Toolkit

Model Driven Development of Component Centric Applications

AD105 Introduction to Application Development for the IBM Workplace Managed Client

OO Requirements to OO design. Csaba Veres Alan M. Davis (1995), Colorado

JBuilder 2007 Product Tour November 2006

From business need to implementation Design the right information solution

Standard SOA Reference Models and Architectures

Stand: File: gengler_java_e. Java Community Process: Not perfect, but operating very successfully

202 Index. Data dictionary, 25 Data items defined, 25 overview, 26 Data Language/I (DL/I), 7 Data parts, 25 Data tables compared to dictionaries, 33

Developing portlets for the IBM WebSphere Portal Server with IBM Rational Rapid Developer

02291: System Integration

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Overview of lectures today and Wednesday

Developing in OMG s Model-Driven Architecture

Getting started with WebSphere Portlet Factory V7.0.0

Arguments for Open Structure Execution Services

Transcription:

IBM Software Group Practical Model-Driven Development with the IBM Software Development Platform Osmond Ng (ong@hk1.ibm.com) Technical Consultant, IBM HK SWG 2005 IBM Corporation

Overview The Challenges of Enterprise Software Development Modeling: The Key to Managing Software Complexity What is Model-Driven Development? What is Model-Driven Architecture? What do we mean by Practical Model-Driven Development? Practical Model-Driven Development with Rational Software Architect Browse and Topic Diagram Creation Static Sequence Diagram Creation Architectural Discovery Diagrams Structural Analysis Code Review J2EE Development Using UML Transformations 2

Overview The Challenges of Enterprise Software Development Modeling: The Key to Managing Software Complexity What is Model-Driven Development? What is Model-Driven Architecture? What do we mean by Practical Model-Driven Development? Practical Model-Driven Development with Rational Software Architect Browse and Topic Diagram Creation Static Sequence Diagram Creation Architectural Discovery Diagrams Structural Analysis Code Review J2EE Development Using UML Transformations 3

The Challenges of Enterprise Software Development Ever-increasing complexity in the operational environments J2SE, J2EE,.Net Web, Handhelds, disconnected Legacy integration, modernizing Ever-expanding choices to make on development solutions Programming Languages, scripting Languages IDE s, testing tools Ever-changing nature how software gets created Globally development teams Outsourcing Compliance and Regulations More Layers, More Servers, More Frameworks, More Moving Parts, More Complexity 4

Overview The Challenges of Enterprise Software Development Modeling: The Key to Managing Software Complexity What is Model-Driven Development? What is Model-Driven Architecture? What do we mean by Practical Model-Driven Development? Practical Model-Driven Development with Rational Software Architect Browse and Topic Diagram Creation Static Sequence Diagram Creation Architectural Discovery Diagrams Structural Analysis Code Review J2EE Development Using UML Transformations 5

Modeling: The Key to Managing Software Complexity Modeling is the standard approach in engineering to Manage Complexity Mitigate Risk Software development is the same as every other kind of engineering in this respect Maybe you have to But then, maybe you should Well, maybe you shouldn t 6

Modeling: The Key to Managing Software Complexity What people are saying today about software modeling* ensures that customers get what they ask for allows me to create domain-specific areas of expertise and bring in the right people at the right time allows me to better understand my enterprise at different levels of detail for different stakeholders higher levels of reuse, reduce overall costs Those who have adopted software modeling are finding that it improves technical quality, reduces business costs, and better manages risk. Source: IBM whitepaper, The Value of Modeling http://www3.software.ibm.com/ibmdl/pub/software/rational/web/whitepapers/valueofmodeling.pdf 7

Overview The Challenges of Enterprise Software Development Modeling: The Key to Managing Software Complexity What is Model-Driven Development? What is Model-Driven Architecture? What do we mean by Practical Model-Driven Development? Practical Model-Driven Development with Rational Software Architect Browse and Topic Diagram Creation Static Sequence Diagram Creation Architectural Discovery Diagrams Structural Analysis Code Review J2EE Development Using UML Transformations 8

What is Model-Driven Development (MDD)? The encapsulation of business logic and industry best practices into models The use of these models for application development, code generation, testing, and maintenance Modeling helps you work at higher levels of abstraction Higher levels of abstraction lead to higher productivity 9

UML The Language of Model-Driven Development Model-driven development is aided by a common language across all stakeholders Unified Modeling Language (UML) is the standard language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system UML allows software architects, designers and developers to specify, visualize, construct, and document all aspects of a software system 10

UML The Language of Model-Driven Development Key leaders from IBM Rational led the original development of UML Today, UML is managed by the Object Management Group (OMG) 11

UML The Language of Model-Driven Development UML 2.0 (MDA) 3Q-2003 The Evolution of UML UML 1.5 UML 1.4 (action semantics) UML 1.3 (extensibility) UML 1.1 (OMG Standard) 1Q-2003 2001 1998 1997 1996 Rumbaugh Booch Jacobson Foundations of OO (Nygaard, Goldberg, Meyer, Stroustrup, Harel, Wirfs-Brock, Reenskaug, ) 1967 12

What is Model-Driven Development? Different Stakeholders, Different Models Business Model Visualization of business processes Use Case Model Visualization of functional requirements Analysis Model What the system must do to realize the functional requirements User Experience Model Visualization of user interaction with the system Design Model How the system will realize the functional requirements Data Model Visualization of persistent storage Implementation Model Visualization of the code 13

What is Model-Driven Development? Level of abstraction Model-driven development is not one size fits all Text-based coding Code visualization & visual editing Visual programming Modeling & code generation Patterns- Based Development Adopt the right level of modeling for your needs Model transforms Business modeling Model execution Development time savings You can model at various levels of abstraction and detail The key is to choose the level that s right for your project and team 14

Overview The Challenges of Enterprise Software Development Modeling: The Key to Managing Software Complexity What is Model-Driven Development? What is Model-Driven Architecture? What do we mean by Practical Model-Driven Development? Practical Model-Driven Development with Rational Software Architect Browse and Topic Diagram Creation Static Sequence Diagram Creation Architectural Discovery Diagrams Structural Analysis Code Review J2EE Development Using UML Transformations 15

What is Model-Driven Architecture? An OMG initiative Different levels of abstraction via multimodels Platform Independent Platform Specific Transform from one level to another Platform- Independent Model Platform- Specific Model Business functionality and behavior Standard mapping Platform Architect Design of the solution based on a specific platform like J2EE 16

What Is Model-driven Architecture? MDA is a particular style of model-driven development MDA defines a philosophy for how models should be used in the development process Distinct models at particular levels of abstraction Notion of model transformations (model-to-model, model-to-code) Strong separation of concerns across spectrum from business to implementation MDA is not yet itself an OMG standard It s based on UML and other OMG standards There is a set of specifications for MDA MDA is in an early adopter phase customer stories are emerging Initial MDA guide over-simplified modeling abstractions (CIM, PIM, PSM) Of all the ways to practice model-driven development, MDA is at the top of the food chain the most sophisticated, and potentially the most powerful Rational Software Architect supports a wide and granular set of MDD styles of development, with MDA being but one Visit our MDA Information Center, http://www-306.ibm.com/software/rational/mda/ 17

Overview The Challenges of Enterprise Software Development Modeling: The Key to Managing Software Complexity What is Model-Driven Development? What is Model-Driven Architecture? What do we mean by Practical Model-Driven Development? Practical Model-Driven Development with Rational Software Architect Browse and Topic Diagram Creation Static Sequence Diagram Creation Architectural Discovery Diagrams Structural Analysis Code Review J2EE Development Using UML Transformations 18

What do we mean by Practical Model-Driven Development Why don t more developers model their software? Is it cultural? Just give me an editor and a debugger We can t afford modeling tools Modeling is documentation I hate doing documentation In the past we ve tried and failed. The key reasons are the perceptions that Modeling is hard Modeling will 19

Practical Model-Driven Development Up-front Investment Activity Diagrams Business Process models Asset Based Development OMG MDA Use Case Diagrams Executable Models UML code Visualization and edit UML EJB transforms Code Wizards, Class explorer Code Analysis To a developer practical model-driven development Requires low up-front investment Results in high short-term benefits Time to realize the benefits 20

Overview The Challenges of Enterprise Software Development Modeling: The Key to Managing Software Complexity What is Model-Driven Development? What is Model-Driven Architecture? What do we mean by Practical Model-Driven Development? Practical Model-Driven Development with Rational Software Architect Browse and Topic Diagram Creation Static Sequence Diagram Creation Architectural Discovery Diagrams Structural Analysis Code Review J2EE Development Using UML Transformations 21

A Quick Look at the New Rational Design and Construction Tool Set UML 2.0 modeling Pattern/ Transform Authoring Reusable Asset Browser Rational Software Modeler Rational Software Architect Rational Application Developer for WebSphere UML Language Transforms Structural Review & Control C/C++ Development Tools Web Development Web Services Development Rich Client Development XML & Database Tools Java Generation Tools Unit Test Rational Web Developer for WebSphere Eclipse J2EE/EJB & Portal Development Component Testing Code Review & Runtime Analysis UML Visual Editors Configuration Management 22

Getting to Know Rational Software Architect Demo: Overview of Rational Software Architect 23

A Quick Intro to UML for Java developers A Class is represented by a rectangle with compartments Stereotype what kind of a UML class is it? Name Compartment Attribute Compartment Operation Compartment 24

A Quick Introduction to UML for Java developers Generalization (inherits) Realization (implements) Association 25

A Quick Intro to UML for Java developers Use 26

Overview The Challenges of Enterprise Software Development Modeling: The Key to Managing Software Complexity What is Model-Driven Development? What is Model-Driven Architecture? What do we mean by Practical Model-Driven Development? Practical Model-Driven Development with Rational Software Architect Browse and Topic Diagram Creation Static Sequence Diagram Creation Architectural Discovery Diagrams Structural Analysis Code Review J2EE Development Using UML Transformations 27

Overview The Challenges of Enterprise Software Development Modeling: The Key to Managing Software Complexity What is Model-Driven Development? What is Model-Driven Architecture? What do we mean by Practical Model-Driven Development? Practical Model-Driven Development with Rational Software Architect Browse and Topic Diagram Creation Static Sequence Diagram Creation Architectural Discovery Diagrams Structural Analysis Code Review J2EE Development Using UML Transformations 28

Overview The Challenges of Enterprise Software Development Modeling: The Key to Managing Software Complexity What is Model-Driven Development? What is Model-Driven Architecture? What do we mean by Practical Model-Driven Development? Practical Model-Driven Development with Rational Software Architect Browse and Topic Diagram Creation Static Sequence Diagram Creation Architectural Discovery Diagrams Structural Analysis Code Review J2EE Development Using UML Transformations 29

Overview The Challenges of Enterprise Software Development Modeling: The Key to Managing Software Complexity What is Model-Driven Development? What is Model-Driven Architecture? What do we mean by Practical Model-Driven Development? Practical Model-Driven Development with Rational Software Architect Browse and Topic Diagram Creation Static Sequence Diagram Creation Architectural Discovery Diagrams Structural Analysis Code Review J2EE Development Using UML Transformations 30

Overview The Challenges of Enterprise Software Development Modeling: The Key to Managing Software Complexity What is Model-Driven Development? What is Model-Driven Architecture? What do we mean by Practical Model-Driven Development? Practical Model-Driven Development with Rational Software Architect Browse and Topic Diagram Creation Static Sequence Diagram Creation Architectural Discovery Diagrams Structural Analysis Code Review J2EE Development Using UML Transformations 31

Summary Modeling is the key to managing the complexity and risks associated with today s enterprise software systems. Model-driven development helps teams work at higher levels of abstraction, which leads to higher productivity Practical model-driven development refers to tools and techniques that allow developers to rapidly gain the benefits of model-driven development with little up-front investment. Rational Software Architect is IBM s premier design & development tool enabling model-driven development and model-driven architecture. It incorporates all the capabilities in Rational Application Developer for WebSphere for building scaleable Web, Web services, Java, J2EE and portal applications 32

Resources Learn about the technology IBM Rational Software Architect Product Page http://www.ibm.com/developerworks/rational/products/rsa Contains pointers to training, tutorials, articles, and many other resources related to model-driven development and model-driven architecture Hands-on learning IBM Rational Software Architect Trial Version http://www.ibm.com/developerworks/downloads/r/rswa Other IBM Rational Trial Versions are at http://www.ibm.com/rational Click on Trials and Betas Modeling and MDA Books Ahmed, K. Developing Enterprise Java Applications with J2EE and UML Eeles, P. Building J2EE Applications with the Rational Unified Process 33

Questions 34

35