model-driven development – die maßgeschneiderte...

36
Model-Driven Development – die maßgeschneiderte Entwicklungstechnik für SOA Herzlich willkommen 1 objectiF ® © 2010 microTOOL GmbH, Berlin. Alle Rechte vorbehalten. Benedikt Funk microTOOL GmbH, Berlin

Upload: others

Post on 19-Mar-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

Model-Driven Development –die maßgeschneiderte Entwicklungstechnik für SOA

Herzlich willkommen

1

objectiF®

© 2010 microTOOL GmbH, Berlin. Alle Rechte vorbehalten.

Benedikt FunkmicroTOOL GmbH, Berlin

Page 2: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

live

Was steckt hinter modellgetriebener Entwicklung?

Wie funktioniert MDD?

Wie entwickle ich Modelltransformationen?

Die Themen

2

Page 3: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

3

microTOOLmaking IT better

Page 4: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

Der Erfolg IhrerIT-Projekteist unserZiel

4

Page 5: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

Qualitätder Entwicklungsprozesse

durch

prozessbasiertes Projektmanagement

mit

in-Step®

Effizienzder Entwicklungstechnikdurch

Automatisierung perModel-Driven-Development

mit

objectiF®

5

Page 6: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

Unsere Kunden

ABUS Pfaffenhain GmbHachermann consulting agADCURAM Industrieberatung GmbHAeromaritime Systembau GmbHAFL Europe GmbHAllianz Deutschland AGASIC - Allianz Shared InfrastructureAutostadt GmbHAVM Computersysteme AWD Allgemeiner WirtschaftsdienstBaumüller Anlagen-SystemtechnikBayer Business ServicesBayer Healthcare AGBayer Technology Services GmbHBayerisches Landesamt für SteuernBayerisches Landesamt für UmweltBijou BrigitteBiocomfort DiagnosticsBKC GmbHBlaupunkt GmbHBosch Engineering GmbHBundesamt für den ZivildienstBundesamt für Migration und FlüchtlingeBundesanstalt für WasserbauBundesdruckerei GmbHBundesfinanzdirektion NordBWI Systeme GmbHCarl Zeiss IMT GmbHCirquent GmbHCollogia AGCompuGROUP Software GmbHComputer Zentrum Strausberg

COMSOFT GmbHCooper Power ToolsCORA-IT GmbHCSC Deutschland Solutions GmbHCurrenta GmbH & Co. OHGDaimler AGDallmeier electronic GmbH & Co. KGDatenzentrale Baden-WürttembergDATEV eGDeutsche Bank AGDeutsche Flugsicherung GmbH - DFSDeutsche Post Direkt GmbHDeutsche Rentenversicherung BundDeutsche Telekom AGDeutsches Zentrum für Luft- & RaumfahrtDOMCURA AGDr. Männer und PartnerDRS Systemberatung GmbHDuales System Deutschland GmbHEADS Deutschland GmbHeBankingServices Nord GmbHEckelmann AGECOMAL Deutschland GmbHEidgenössisches FinanzdepartmentElektrobit Automotive GmbHEPLAN Software & Service GmbH & Co.EWE TEL GmbHFEV Motorentechnik GmbHFujitsu Technology Solutions GmbHGAF AGGEA Wiegand GmbHGfK Retail and Technolgy GmbHGlobal Draw Austria GmbH

HOPPE AGIAV GmbHicubic AGInsight Technology SolutionsInternetdienste der Stadt ZürichITERGO GmbHJobScout24.deJomo GroßhandelKapsch CarrierCom AGKassenärztliche VereinigungKassenzahnärztliche VereinigungKnowledge Department Kuhnke Support GmbH & Co. KGLachmann & Rink GmbHLandis+Gyr AGlastminute.com GmbHLayer 2 GmbHlesswire AGLogica DeutschlandMarineamtMEN Mikro Elektronik GmbHMettler & Fuchs AGMicroContact AGMSC Vertriebs GmbHmsgGILLARDON AGND SatCom Defence GmbHNorth IT-ServiceNuon Deutschland GmbHOPTIGEM GmbHPlan International Deutschland e.V.Process Relations GmbHProximity Technology GmbHPrüftechnik AGRaytheon Anschütz GmbH

RENK AGRobert Bosch GmbHRobert Koch-Institutrobomotion GmbHRSN Risk Solution Network AGSächsisches StaatsministeriumSalzgitter Flachstahl GmbHSHD Einzelhandelssoftware GmbHSHI Elektronische Medien GmbHSmurfit Kappa GmbHSOPTIM AGStaatsbetrieb Sächsische InformatikStatistisches BundesamtStatistisches Landesamt SachsenSTP Informationstechnologie AGSumitomo Electric Bordnetze GmbHtdb Software Service GmbHThales GroupThomas Cook AGTI Automotive Technology Center Trianel GmbHTRW Automotive SafetySystems T-Systems Enterprise Services GmbHUltratronik GmbHUnternehmensberatung H&DVattenfall Europeviadico AGWasser- und SchifffahrtsamtWave DevelopmentsWerum Software & Systems AGWestdeutsche LandesbankXavo AG

6

Page 7: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst
Page 8: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

Wann würden Sie gern

modellieren

?8

Page 9: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

Wenn sicher wäre, dass:

9

Ihre Modelle über den Softwarelebenszyklus aktuell sind

Ihre Modelle und Ihr Code zueinander passen

Sie aus Modellen etwas generieren können

Page 10: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

Modellgetriebene Entwicklung (MDD)mit objectiF®

10

Page 11: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

MDD setzt beim fachlichen Modell in UML/BPMN auf:

angepasst an die fachliche Domäne

frei von Technologie

durch den Softwareentwickler/Facharchitekt erstellt

11

Kunde<<BusinessEntity>>

Firma: TextNachname: Text

Adresse<<BusinessEntity>>

Ort: Text

Page 12: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

Automatisch…

12

Kunde<<BusinessEntity>>

Firma: TextNachname: Text

Adresse<<BusinessEntity>>

Ort: Text

FachlichesModell

Modelltransformation

Page 13: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

Ergebnis: das technische Modell in UML und Source-Code

spiegelt Architektur der Software wider

enthält viel generierten Code

ist Ausgangspunkt der Implementierung der Business Logik

13

TechnischesModell

Kunde<<EntityBean>>

Id: long <<PrimaryKeyFirma: String <<PersistNachname: String <<PAdresse: Collection <<

Adresse<<EntityBean>>

Id: long <<PrimaryKey>>Ort: String <<PersistentAtKunde: KundeBean <<O

java.io.Serializable<<Interface>>

Konstruktor (String, SKonstruktor ()getId(): longgetNachname(): String

Konstruktor (String)Konstruktor ()getId(): longgetOrt(): String

Page 14: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

14

Unser fachliches Modelländert sich

aber oft

Page 15: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

java.io.Serializable<<Interface>>

15

TechnischesModell

Modelltransformationen werden iterativ angewendet

Kunde<<BusinessEntity>>

Firma: TextNachname: Text

Adresse<<BusinessEntity>>

Ort: Text

FachlichesModell

Artikel<<BusinessEntity>>

Name: Text

Kunde<<EntityBean>>

Adresse<<EntityBean>>

Modelltransformation (Aktualisierung)

Artikel<<EntityBean>>

Page 16: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

16

Kann ich nachvollziehen,was worausentstanden ist?

?

Page 17: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

java.io.Serializable<<Interface>>

17

TechnischesModell

Klar…

Kunde<<BusinessEntity>>

Firma: TextNachname: Text

Adresse<<BusinessEntity>>

Ort: Text

FachlichesModell

Artikel<<BusinessEntity>>

Name: Text

Kunde<<EntityBean>>

Adresse<<EntityBean>>

Modelltransformation (Aktualisierung)

Artikel<<EntityBean>>

Navigieren

Page 18: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

18

Und was passiert dabei mit meinem

Code

?

Page 19: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

19

Nur Gutes…

Element im technischen Modell

Element im fachlichen Modell

Editierbare Code-Blöcke

Generierte Code-Blöcke Editierbare

Code-BlöckeGenerierte Code-Blöcke

Editierbare Code-Blöcke

Generierte Code-Blöcke

Page 20: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

20

Aber ich tippe lieber

in Eclipse

Page 21: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

Tun Sie‘s…

21

ReverseEngineering

Workspace mit Source-/XML-Code

Generieren

Element imtechnischen Modell

Generierte Code-BlöckeGenerierte Code-BlöckeGenerierte

Code-Blöcke

Element im fachlichen Modell

Editierbare Code-BlöckeEditierbare Code-BlöckeEditierbare

Code-Blöcke

Page 22: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

Was bringt Ihnen MDD mit

objectiF®? Fachliche Modelle bleiben aktuell

Technische Architektur und Source-Code werden automatisch erzeugt

Mehr Zeit

Mehr Qualität

Investitionsschutz

22

Page 23: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

23

Was muss ich tun, um

modellgetriebenzu entwickeln

?

Page 24: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

B

AIch verwende das, was objectiF®

mitbringt:... Modelltransformationen

für gängige Java- und .NET-Technologien

24

oder

Ich erstelle eigene Modell-transformationen mit der in objectiF®

integrierten Technik

Page 25: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

Wir brauchen dazu 3 Dinge…

25

eine technische Architektur und Ausdrucksmittel zur technischen Modellierung und Implementierung

eine fachliche Architektur und Ausdrucksmittel zur fachlichen Modellierung

Regeln zur Umsetzung fachlicher Modelle in technische Modelle und Source-Code

Page 26: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

Also erzeugen wir mit objectiF®…

26

eine technische Architektur und ein Metamodell für technische Modelle

eine fachliche Architektur und ein Metamodell für fachliche Modelle

eine Transformation, die fachliche in technische Modelle und Source-Code überführt

Page 27: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

So sieht das mit objectiF® aus…

27

Page 28: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

Konkret: Wir entwickeln modellgetrieben

Transformation mit der UML spezifizieren

Technisches Modell und Source-Code der Transformation mit objectiF® erzeugen

Transformationslogik in C# vervollständigen

28

Page 29: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

Eigene Modelltransformationen in

objectiF®

Sie bestimmen die Transformationslogik

Mehr Zeit

Mehr Qualität

Investitionsschutz

29

Page 30: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

Sie sehen jetzt live mit objectiF®

am Beispiel der Erstellung einer SOA-Anwendung:

wie eine Transformation das technische Modell und Java-Code für EJB 3.0 erzeugt

wie MDD iterativ angewandt wird

wie die Transformationslogik angepasst wird

30

Page 31: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

Fazit:

31

Einfache fachliche Modellierung

Einhaltung der Architekturstandards

Vollständige und automatische Implementierung

Einfache Anpassung der Transformationslogik

Page 32: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

32

Welche Transformationen

bringt objectiF®

mit

?

Page 33: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

Diese Modelltransformationen bietet objectiF®

33

Geschäftsprozess zu BPEL

Geschäftsprozess zu WSDL

Business Services zu Session Beans

Business Services zu WSDL

Business Message zu Java

Business Message zu XSD

Fachlicher Modellierungsrahmen

Präsentations-modell Prozessmodell Service-Modell Entity-Modell

Page 34: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

Diese Modelltransformationen bietet objectiF®

34

Business Entity zu Entity Bean

Business Entity zu NHibernate

Business View zu ViewData und ViewDataServices

WSDL zu Business Service

XSD zu Business Message

Profil zu Modelltransformation (Metatransformation)

Fachlicher Modellierungsrahmen

Präsentations-modell Prozessmodell Service-Modell Entity-Modell

Page 35: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

Vielen Dank für Ihre Aufmerksamkeit!

35

?

? ?

Page 36: Model-Driven Development – die maßgeschneiderte ...alt.java-forum-stuttgart.de/jfs/2010/folien/D3.pdf · Blaupunkt GmbH. Bosch Engineering GmbH. Bundesamt für den Zivildienst

Mehr zu

Stand 12

36

objectiF®

und in-Step®