a model driven development platform using eclipse, emf ... · a model driven development platform...

33
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary © 2005 by IBM Corporation; made available under the EPL v1.0 | 3 March 2005 | A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar IBM Distinguished Engineer Chief Technical Strategist IBM Rational Software

Upload: others

Post on 17-May-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

© 2002 IBM CorporationConfidential | Date | Other Information, if necessary© 2005 by IBM Corporation; made available under the EPL v1.0 | 3 March 2005 |

A Model Driven Development Platform using Eclipse, EMF, UML and more

Sridhar IyengarIBM Distinguished EngineerChief Technical StrategistIBM Rational Software

Page 2: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

2 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

OutlineKey Trends in Application Development Application Life Cycle Management

Integration of full lifecycle development, deployment and management tools

The Rise of UML, MOF, XMI standards and their pragmatic implementation at eclipse.org

The arrival of model visualization and code generation in open source frameworks (EMF, GEF and UML projects)

Building an MDD platform using EclipseA Look to the Future

Page 3: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

3 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

Some Key Trends in Application Development - 1The rise of open source (eclipse) and open standards (W3C, OASIS and OMG) based tools

From individual tools to a suite of tools – ‘End-end application lifecycle management’

From multiple tools platform (one for each vendor) to a unified Eclipse open tools platform with support for rich data/metadata interchange

The move to ‘Asset Based Development’The use of patterns, recipes and code/model transformation frameworks to speed developmentArrival of RAS – Reusable Asset Specification for managing asset metadata

Enterprise customers moving to integrated tool suites gradually – still many gaps to close

Page 4: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

4 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

Some Key Trends in Application Development - 2The concept of end-end Application Life Cycle Management taking holdEvolution of Software Development as a Business Process

IBM, Borland and now Microsoft are showing increased focus on Software Development as a process’‘Software Development as a Business Process’ is now highlighted by IBM, Borland and others

Vendors announce ‘new & improved’ platforms – with tools customized by role – yet integrated

Eclipse Open Source & Open standards basedIBM SDP - Software Development Platform (2004)Borland SDP - Software Delivery Platform (2005)

Microsoft Visual Studio Team SystemTools for each user role

Business Analyst, IT Architect, Data Architect, Developer, Tester, Manager, Executive etc

Page 5: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

An Enterprise Application Development Life CycleArchitecture Centric, Business driven,

Complex Life Cycle, Many Tools

And do this with quality in a distributed environment

Discovery and Transformation

BusinessModeling

Modeling Architecture,Object, Biz…

AddBusiness

Logic

Build /Wrap Components

Assemble& Test

Components

Configure &Deploy

Components

Models, Metadata, Mappings enabled Integration Platform

Manage

Components

ApplicationPlatforms

(J2EE, SOA..)

Acquired

Components

Rapid

Rigorous

Page 6: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

6 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

Model Driven Development & Deployment

BusinessModeling

(BPD,UML)

BusinessModeling

(BPD,UML)IT Modeling

(UML, SQL, XSD) IT Modeling

(UML, SQL, XSD)

J2EE/Web ServicesDevelopment

WrappingOrchestration

(J2EE))

J2EE/Web ServicesDevelopment

WrappingOrchestration

(J2EE))

DeploymentJ2EE App SvrWeb Services

DeploymentJ2EE App SvrWeb Services

Management

ComponentMgmt

App Mgmt

Management

ComponentMgmt

App Mgmt

Design/Build Run/Manage

WSDLWSDL J2EEJ2EEXMLXML

SPEMSPEM

BPELBPEL

SQLSQLJ2EEJ2EE

EMFEMF SQLSQL

UML2BPELUML2BPEL

JavaJava

CIMCIMUML2UML2BPMBPM

BizRulesBiz

RulesC++C++

J2EEJ2EE

TraceabilityLinks and

Transformations(profiles, metamodels,Code Gen Templates)

Serve up models, Components, processes

On Demand

UML2J2EE

UML2J2EE

DCMDCMSISI

Specific metadataModels

Page 7: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

7 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

The IBM Software Development Platform on Eclipse

CustomerExtensions

3rd PartyISV Tools

Rational Software Architect

WSAD IE

Rational Application Developer

Rational Functional & Manual

Tester

Rational Performance Tester (2Q05)

Rational Team Unifying Platform

Tivoli Configuration

Manager

WebSphereBusiness

IntegrationModeler

& MonitorTivoli

MonitoringRational

Web Developer

AnalystAnalyst ArchitectArchitect DeveloperDeveloper TesterTester Deployment Manager

Deployment Manager

ProjectManager

Executive Rational Portfolio Manager

Rational Software Modeler

Page 8: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

8 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

Borland Core Software Delivery Platform on Eclipse : February 2005 announcement

Page 9: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

9 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

Microsoft Visual Studio Team System 2005

Source : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvsent/html/vsts-over.asp

Page 10: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

10 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

Have we solved the tools integration problem?

The work began in earnest in 2001 with the formation of eclipse.org and IBM’s donation to the open source project

We are in the ‘second inning’ : Eclipse Foundation members are uniquely positioned to solve the problem

Interestingly we are getting encouragement and help from customers to increase the pace

Example : UBS ‘Development Highway’ Case Study

Their complaint ‘Why cant you all get along and work together to solve our problem’!

Page 11: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

© 2002 IBM CorporationConfidential | Date | Other Information, if necessary© 2005 by IBM Corporation; made available under the EPL v1.0 | 3 March 2005 |

Implementing Model Driven Development Lifecycle using Open Source and Open Standards

UBS Case Study – ‘The Development Highway’ Project

The next few charts with the UBS logoAre reproduced with permission from UBSCourtesy : Aniello Bove

Page 12: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

12 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

Basic Principles used in the ‘Development Highway’

Move to Model Driven Development and Service Oriented Architecture

Flexibility and separation of concerns between Business and IT domainsConsistent use of models and metadata across toolsConsistent use of development processes across golbally

distributed development teamsUse of commercial tools and application platforms that support open standards

J2EE, Web Services (W3C, WS-I, OASIS) and MDA (OMG) standardsUse Eclipse as the Tools Integration Platform

Reduce custom development of tools as much as possible and move to open standardsMultiple vendors ‘strongly encouraged’ to ‘co-operate’ in implement the development highway

Page 13: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

13 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

Development Highway – Early 2005

Platform Runtime

Workspace

Help

Team

WorkbenchEclipse Platform

DebugSource CodeResources

Eclipse Java Dev. Tools

(JDT)

IBM/Rational Dev. Tools(WSAD5)

UBS Service Design

Tool(DynaRep)

Serena Version Contr. Tool

(Cman DS)

Select UML Modelling Tool

(Component Architect)

UBSRequ. Mgmt Tool

(OCRWeb)

SerenaVersion Control

(Cmn ZDD)

Oracle DBOracle DB Fujitsu DB ZDD Repository

DSRepository

Page 14: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

14 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

UBS Developer Front End View (Q3 2005)

Eclipse = Strategic Client Integration Platform

Platform Runtime

Workspace

Help

Team

Workbench

JFace

SWT

Eclipse Java Dev. Tools

(JDT)

Eclipse Platform

Debug

IBM/Rational Dev. Tools

(RAD)

UBS Service Design Tool

(DynaRep)

Serena Version Contr. Tool

(Cman DS/ZDD)

Innovations <tbd> Rules Modeler Tool

(Visual Rules)

EMF (XMI/Ecore)Model Resources

Source CodeResources

IBM/Rational UML Design Tool

(RSM)

SerenaReq. Mgmt Tool

(RTM)

Page 15: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

15 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

UBS Development Repository/Model View User Workspace

Eclipse Platform

Team

Global UBS Software Asset Workspace

SWC1 SWC2 SWC3 ...

SWC10 ...

---

DevelopmentProject1DevelopmentProject2

ModelProject1

SWC3

SWC1

SWC10 SWCxx

RW

R R

Load, Unload,SynchronizeCheckin, CheckoutBaseline

DynaRepOracle

DB

Data Sync

ModelProject1

Eclipse EcoreEclipse EMF

Eclipse UML2 Meta1 Meta2

Eclip

seEM

FEMF.CodeGen IQGen Code Generator

Cha

ngeM

an D

S

Rep

osito

ry

Page 16: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

16 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

Summary : UBS use of Eclipse for Integration

The complete UBS model data is available in a structured set of Ecore based model files grouped around Eclipse Projects. This builds the Master Repository of the UBS Model Data.

A subset of the overall model data will be synchronized into a Oracle based Database. The information will be made available via "Webservices" to the DynaRep Eclipse Frontend for fast lookup and query requests.

DynaRep FE has the overall knowledge which model item can be found in which Eclipse Project and in which Ecore File.

Code Generation will be based on two lines:IQGen JSP Template driven against Oracle based modelEMF.CodeGen

In essence UBS is creating a Software Development Platform by agregating and integration commercial and custom developed Eclipse tools to address gaps in the end-end lifecycle

Page 17: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

© 2002 IBM CorporationConfidential | Date | Other Information, if necessary© 2005 by IBM Corporation; made available under the EPL v1.0 | 3 March 2005 |

Using Eclipse, EMF, UML…to build an

open, integrated tools platform

Many of the ideas – influenced by MDA and MDD

But pragmatically implemented at eclipse.org and its member companies

Page 18: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

18 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

Agile LangAgile LangToolingToolingCobolCobolToolingTooling

GUI Builder XGUI Builder X

Eclipse Architecture: Layers & Subsystems

Java Virtual MachineJava Virtual Machine

Tooling PlatformTooling PlatformApp RuntimeApp Runtime

Language Developer ToolkitLanguage Developer Toolkit

Java DeveloperJava DeveloperToolingTooling

C++ DeveloperC++ DeveloperToolingTooling Graphical EditingGraphical Editing

FrameworksFrameworks

GUI BuilderGUI BuilderFrameworksFrameworks

ExtensibleTooling

FrameworksModels…

BasicFrameworks

Core

Test & Perf AnalTest & Perf AnalFrameworksFrameworks

Model & DesignModel & DesignFrameworksFrameworks

Test & Perf AnalTest & Perf AnalToolingTooling

Web ToolWeb ToolFrameworksFrameworks

Embedded ToolEmbedded ToolFrameworksFrameworks

GUI Builder XGUI Builder XModelingModelingToolingTooling

WebWebToolingTooling

EmbeddedEmbeddedToolingTooling

JVM

Page 19: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

19 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

How is the IBM tools platform evolving

IBM began the move to the use of EMF as a tools integration metadata platform in 2001

We had a couple of iterations as we started with early versions of the OMG MOF 1.3 specSeveral optimizations led to creation of EMF and the Ecore model Over time the Ecore and MOF2.0 models have converged

The MOF2::EMOF compliance point is now supported by EMF (Import EMOF models to drive EMF generations)

As we implement the Rational ‘Atlantic’ tools we are learning more about how to improve the Eclipse tools platform

It is becoming more model driven! This transition will take time

The next few charts illustrate our current thinking We expect this will iterate as new Eclipse projects (Web Tools Project, Data Tools Project , the anticipated ‘Graphical Modeling Framework’GMF projects move forwardEclipseCon Technical Exchange had sessions by Borland, IBM and others to discuss the GMF project

Page 20: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

20 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

IBM Modeling Platform Architecture: A simple view

Page 21: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

21 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

IBM Modeling Platform Architecture: A simple view

Integration with EclipseEclipse-independent core APIsCompatibility with EMOF Customizable serialization/deserializationto/from XMIInteroperability with other EMF-based components

Page 22: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

22 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

IBM Modeling Platform Architecture: A simple viewIntegration with EclipseEclipse-independent core APIsCommon look and feel with other GEF-based componentsExtensible palette with built-in tools, …Extensible controller framework for mapping model to view…

Page 23: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

23 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

IBM Modeling Platform Architecture: A simple view

Integration with EclipseEclipse-independent core APIsCompliance with UML (Unified Modeling Language) 2.0, an OMG standardValidation rules based on OCL constraintsInteroperability with other UML2-based components

Page 24: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

24 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

IBM Modeling Platform Architecture: A simple view

Service infrastructureCommand infrastructureIcon Service, Parser Service, Properties ServiceGlobal Action Service

Validation ServiceEMF Query and Indexing Service Batched notifications supportCopy/paste supportSemantic procedures…

Page 25: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

25 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

IBM Modeling Platform Architecture: A simple view

Provides an extensible EMF-based notation meta-modelOptimized for GEFOptimized for team supportEnables separation of semantic and notation modelsProvides basic styles (font, location, color, etc…)

Page 26: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

26 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

IBM Modeling Platform Architecture: A simple view

Realizes the notation modelExposes a set of extensible services that allow you to create extensible diagramsReusable edit parts, edit policies and figuresProvides standard actions (e.g. Z-Order commands, fonts, etc…)Provides clipboard support (SVG, etc…)Provides linked diagram supportReusable layoutsPrint preview support…Visualization service

Page 27: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

27 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

IBM Modeling Platform Architecture: A simple viewExtends generic Notation Model with UML specific stylese.g. Stereotype display mode

Page 28: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

28 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

IBM Modeling Platform Architecture: A simple view

1 or more plugins per diagram type

ActionsCommandsDecoratorsDialogsEdit Parts, Edit Policies, FiguresIconsPreferenceProperties

Page 29: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

29 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

IBM Modeling Platform Architecture: A simple view

Page 30: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

30 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

Application Life Cycle Integration PlatformA call to action to the Eclipse Community

End to End Application Lifecycle Tooling (End to End Application Lifecycle Tooling (Eclipse.orgEclipse.org member value add tools)member value add tools)

Language Tooling Language Tooling (J2EE, Web Services, (J2EE, Web Services,

Deployment)Deployment)

Data ToolsData Tools(RDBMS, XML(RDBMS, XML……))

Domain Domain SpecificSpecific

Tools/AppsTools/Apps……

MDD ToolsMDD Tools(Object, Data Modeling,(Object, Data Modeling,

Code generatorsCode generators……))

Eclipse Tools Integration platform (Models, APIs, XML formats…)

Eclipse CoreEclipse Core

GEFGEF JDT/CDTJDT/CDT

TestingTestingTPTPTPTP

EMFEMF RCPRCP ETC.ETC.

MDD/MDAMDD/MDA(UML2,U2TP(UML2,U2TP……))

J2EEJ2EE(EJB, JSP(EJB, JSP……))

Web Services Web Services (XSD(XSD……))

ETC.ETC.

Code/Artifact Repositories, Management Tools (Code/Artifact Repositories, Management Tools (Eclipse.orgEclipse.org member value add tools)member value add tools)

Page 31: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

31 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

SummaryApplication Life Cycle Management is becoming a visible initiative driving software tool suitesEclipse and Visual Studio are anchoring the emerging tools platform and moving to support Rapid Application Development & Model Driven DevelopmentThe Eclipse community is using open standards and open source to create a diverse and innovative tools ecosystem

Come join these efforts to simplify application development and deployment

The Model Driven Tools Platform is ready to be exploited by vendors as well as enterprise customers

Page 32: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

32 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

Trademarks

OMG™, MDA™, UML™, MOF™, and XMI™ are trademarks of the Object Management GroupIBM™ is a trademark of the IBM CorporationJava™ and J2EE™ are trademark of SUN MicrosystemsXML™ is a trademark of W3CAll other trademarks belong to their respective organizations

Page 33: A Model Driven Development Platform using Eclipse, EMF ... · A Model Driven Development Platform using Eclipse, EMF, UML and more Sridhar Iyengar ... recipes and code/model transformation

33 The Eclipse Phenomenon | © 2005 by IBM Corporation; made available under the EPL v1.0

Thanks