model-driven development – die maßgeschneiderte...
TRANSCRIPT
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
live
Was steckt hinter modellgetriebener Entwicklung?
Wie funktioniert MDD?
Wie entwickle ich Modelltransformationen?
Die Themen
2
3
microTOOLmaking IT better
Der Erfolg IhrerIT-Projekteist unserZiel
4
Qualitätder Entwicklungsprozesse
durch
prozessbasiertes Projektmanagement
mit
in-Step®
Effizienzder Entwicklungstechnikdurch
Automatisierung perModel-Driven-Development
mit
objectiF®
5
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
Wann würden Sie gern
modellieren
?8
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
Modellgetriebene Entwicklung (MDD)mit objectiF®
10
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
Automatisch…
12
Kunde<<BusinessEntity>>
Firma: TextNachname: Text
Adresse<<BusinessEntity>>
Ort: Text
FachlichesModell
Modelltransformation
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
14
Unser fachliches Modelländert sich
aber oft
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>>
16
Kann ich nachvollziehen,was worausentstanden ist?
?
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
18
Und was passiert dabei mit meinem
Code
?
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
20
Aber ich tippe lieber
in Eclipse
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
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
23
Was muss ich tun, um
modellgetriebenzu entwickeln
?
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
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
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
So sieht das mit objectiF® aus…
27
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
Eigene Modelltransformationen in
objectiF®
Sie bestimmen die Transformationslogik
Mehr Zeit
Mehr Qualität
Investitionsschutz
29
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
Fazit:
31
Einfache fachliche Modellierung
Einhaltung der Architekturstandards
Vollständige und automatische Implementierung
Einfache Anpassung der Transformationslogik
32
Welche Transformationen
bringt objectiF®
mit
?
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
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
Vielen Dank für Ihre Aufmerksamkeit!
35
?
? ?
Mehr zu
Stand 12
36
objectiF®
und in-Step®