openArchitectureWare in der FIDUCIA IT AG

Slides:



Advertisements
Ähnliche Präsentationen
Persistente Domänenmodelle mit JPA 2.0 und Bean Validation
Advertisements

Objektrelationales Mapping mit JPA Advanced Topics Jonas Bandi Simon Martinelli.
1 Gerardo Navarro Suarez BPM Suite. 2 Quelle: camunda Services GmbH Das Warum hinter Activiti Problem bestehender BPMS: Starker Fokus auf das Business.
© 2009 ICW AG – GE Partner Enabling - title of training presentation
Modellgetriebene Softwareentwicklung
Vortrag im Rahmen des Seminars Modellgetriebene Softwareentwicklung
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
eXist Open Source Native XML Database
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.
Seminar Modellgetriebene Softwareentwicklung Einführung Seminar modellgetriebene Softwareentwicklung WS 05/06 Dipl.-Inf. Nadine Fröhlich Prof. Dr.-Ing.
DFKIUtils FRODO AgentFramework ein kleiner Einblick FRODOianer-Sitzung am
Explizite und editierbare Metainformationen für Software Muster.
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Software Engineering Seminar Metamodellierung
Kickoff zum Praktikum: Modellgetriebene Software-Entwicklung
Seminar SE: MDE 1 FG Software Engineering Software Engineering Seminar Model Driven Engineering Seminar des Fachgebiet Software Engineering Ruben Jubeh,
Software Design Patterns Extreme Programming (XP).
Diplomarbeit: Design und prototypische Implementierung eines archetypbasierten EHR Systems Anton Brass Helmholtz Zentrum München IBMI München,
UML Begleitdokumentation des Projekts
Erweiterung von EMF Refactor um Update Funktionalität in grafischen Editoren Thorsten Arendt, AG Taentzer, SWT FoPra-Vorstellung, 19. April 2012.
Präsentation einer Codegenerator Softwarelösung objectiF.
Gliederung Einleitung eID-Infrastruktur und Komponenten
MDA – Framework AndroMDA
7th German CDISC User Group Basel, 11. März 2010 Willkommen zum Define.xml Workshop.
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Project Perseus Der volle Projektname lautet Perseus Digital Library Project. Das Projekt begann in 1985 als Experiment zur Digitalisierung von Bibliotheken.
Architekturen und Techniken für computergestützte Engineering Workbenches.
Cooperation unlimited © Zühlke Juni 2009 Hansjörg Scherer Folie 1 Cooperation unlimited TFS als BackEnd für Visual Studio und Eclipse.
Einführung Modellgetriebene Softwareentwicklung, Metamodellierung Stephan Hildebrandt.
Übersicht Was ist cocoon? Separation of Concerns Pipeline Modell
NDK Enterprise Technologien Informationen Infrastruktur und Fallstudie Daniel Nydegger Studienleiter Enterprise System Entwicklung.
Innovator Die Komponenten.
Enterprise Achitect (Sparx Systems) Marius Rudolf
Effiziente Codegenerierung aus UML2 Strukturdiagrammen
Eclipse Modeling Framework (EMF)
Generative Softwareentwicklung in der Praxis Olaf Kaus, „Java User Group“, Hannover 6.Oktober 2003.
Unified Process Historisch-Kulturwissenschaftliche Informationsverarbeitung Übung: Planung von Softwareprojekten Dozent: Christoph Stollwerk WS 2014/2015.
Lightning Talk von Andreas Güntzel Model Driven Software Development CODE GENERIERUNG MIT ANY.
Seminar Modellgetriebene Softwareentwicklung XMI - XML Metadata Interchange Vortrag im Rahmen des Seminar Modellgetriebene Softwareentwicklung Mirko Otto.
Seminar Modellgetriebene Softwareentwicklung Thema 3: Metamodelle – MOF Michél Rieser Prof. Dr.-Ing. habil. Georg Paul
Wie definiere ich meine Prozesse?
Wirtschaftsinformatik Christian Mehring Im Rahmen des Seminars „Ausgewählte Themen des Softwareengineering“
Flex On Wings Andreas Marochow
Was gibt’s neues im Bereich Anpassung Fabian Moritz Consultant, Developer SharePointCommunity.de.
DOAG Regionaltreffen Trier/Saarland Verwendung von TopLink in J2EE Applikationen 09. September 2003 Marcus Keuper, Pfeil GmbH
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
1. Betreuer: Prof. Dr. Jörg Striegnitz 2. Betreuer: Dr. Martin Schindler Kontextsensitive Autocompletion für Klassendiagramme in der UML/P Florian Leppers.
XML-basierte Beschreibungssprachen für grafische Benutzerschnittstellen Seminarvortrag im Studiengang „Scientific Programming“ von Steffen Richter.
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
Workflow Dissertation Online MyCoRe A. Schaar, S. Schick Universität Rostock, UB.
Seminar Softwareproduktlinien Domänenspezifische Sprachen Sascha Draffehn von.
SE: Systementwurf, © Till Hänisch 2003 Systemarchitektur nach Sommerville, Software Engineering, Addison Wesley.
© 2004 Model-View-Control Pattern (MVC) Das Model-View-Control Pattern.
Vernetzte Forschungsumgebung in den eHumanities
Abschlusspräsentation Tobias Vogel
Prof. Dr. Dieter Steinmann – Hochschule Trier
UVCSite und Authentifizierung
Jakarta Struts Quasi-Standard für JSP-basierte Entwicklung: Jakarta Struts Key Features von Struts: Implementierung des Action-Command-Pattern („Model.
Wesentliche Bestandteile:
VIVO im Überblick Christian Hauschke FAG Technische Infrastruktur
Gewachsene Architektur Das kann nicht funktionieren!
1.
GroupLink’s everything HelpDesk® im Einsatz bei der Inform GmbH
Methodische Grundlagen des Software-Engineering
JPL – THE NEXT GENERATION
Überblick Konditionsbaustein
Service-Design in SEPA
 Präsentation transkript:

openArchitectureWare in der FIDUCIA IT AG Das Modell ist der Code! Klaus Bruckmann, Jochen Schmich, AEW | JBFOne 2009

Ziel dieses Vortrags Überblick, Entwicklungen und Aktivitäten im Bereich des Eclipse Modeling Projects Vorstellung des Generatorframeworks openArchitectureWare JBF Persistence Layer: Erster Einsatz von oAW in der FIDUCIA IT AG

Agenda Das Eclipse Modeling Project Das Eclipse Modeling Framework Die Konzepte von openArchitectureWare openArchitectureWare in der Umsetzung von JPL (JBF Persistence Layer) Organisatorisches und Ausblick

Agenda Das Eclipse Modeling Project Das Eclipse Modeling Framework Die Konzepte von openArchitectureWare openArchitectureWare in der Umsetzung von JPL (JBF Persistence Layer) Organisatorisches und Ausblick

Das Eclipse Modeling Project (Top Level Eclipse Project) Von den etwa 50 Projekten und Subprojekten des Eclipse-Galileo-Releases befassen sich allein 22 mit modellgetriebener Software-Entwicklung Das EclipseModelingFramework (EMF) ist seit Beginn der Eclipse-Plattform integrierter Bestandteil Weitere Kernprojekte sind Eclipse Modeling Framework Technologies (EMFT) Graphical Modeling Framework Project (GMF) Textual Modling Framework Project (TMF) Model-to-Model Project (M2M) Model-to-Text Project (M2T) Generative Modeling Technologies (GMT) Sammlung von Projekten, die sich mit MDSD-Technologien befassen Themenschwerpunkte Syntax-Entwicklung (ECore, DSLs als abstrakte Syntax oder UML, OCL als konkrete Syntax) Unterstützung von Industriestandards (Referenzimplementierung von UML2, OCL, BPMN2 …) Generative Modellierungstechniken (Model2Model und Model2Text Transformationen)

Agenda Das Eclipse Modeling Project Das Eclipse Modeling Framework Die Konzepte von openArchitectureWare openArchitectureWare in der Umsetzung von JPL (JBF Persistence Layer) Organisatorisches und Ausblick

ECore als Meta-Metamodell für ALLES! Der Kern: ECore Definition von Metamodellen Anlehnung an EMOF-Standards der OMG ECore-basierte Metamodelle: Eclipse UML-Implementierung Datenmodell des VGM-Authoring Tools …

ECore als Meta-Metamodell

ECore als Meta-Metamodell UML ECore XSD Annotated Java

ECore als Meta-Metamodell Java-Repräsentation Graphischer Editor Wizards EMF Generator

ECore als Meta-Metamodell Applikation Generierung Instanziierung Statisch / Dynamisch

Wo bitte geht‘s zum Code?

Wo bitte geht‘s zum Code? Generator

Wo bitte geht‘s zum Code? EMF-Generator != Irgendwas-Generator „Ich brauche aber etwas sehr Spezielles!“ 14

Wo bitte geht‘s zum Code? Dann also mit Java … oder Groovy? Und vielleicht Velocity oder JET? Und XSLT …

Wo bitte geht‘s zum Code? Boilerplate Code! Verschiedene Technologien! Fehleranfällig! Wartungsaufwand! IDE-Unterstützung! Community / Kommerzieller Support! „ABER!“ „Eigenentwicklungen funktionieren sicherlich gut, aber ein Erfahrungswert ist, dass EMF-Programmierung immer auch viel Boilerplate Code mit sich bringt.“ „Viele Technologien bedeuten hohen Integrationsaufwand – jedes tickt anders und keines ist genau für meinen Zweck gemacht.“ „Das birgt auch gleichzeitig mehr potenzielle Fehlerquellen.“ „Der Wartungsaufwand ist HOCH!“ „Außerdem, Stichwort: IDE-Support: Oft fehlt ein brauchbares Werkzeug zum noch so guten Framework.“ „Und zuguterletzt, aber entscheidend ist: OpenSource Tools haben häufig eine breite und hilfreiche Nutzer Community, aber wenn die Werkzeuge nicht explizit für modellgetriebene Entwicklung gedacht sind, werde ich hier nicht unbedingt fündig!“ „Fazit: Ich brauche eine kompakte Plattform für eben diesen Zweck!“ („Was ist eine Plattform -> Community Support!“) 16

Agenda Das Eclipse Modeling Project Das Eclipse Modeling Framework Die Konzepte von openArchitectureWare openArchitectureWare in der Umsetzung von JPL (JBF Persistence Layer) Organisatorisches und Ausblick

openArchitectureWare – All-In-One MDSD-Framework Entwicklung durch die Firma itemis AG Seit 2007 Eclipse-Projekt Die aktuelle Version 5.0 ist in verschiedene EMP-Subprojekte unterteilt

oAW Konzepte Templates Syntax Highlightning XPand IDE M2T-Transformation Content Assistance ECore Validierung Typesystem / Metamodels XSD Textuelle Modellierung Java-Beans XText UML Metamodellerweiterung Components Xtend Workflow Scripting Check MWE M2M AOP Validierung Dependency Injection

oAW Konzepte – Sprachen Templates XPand M2T-Transformation Metamodellerweiterung Die Sprachen XPand, Xtend und Check besitzen ein gemeinsames statische Typesystem und enthalten einige Konzepte die in fnktionalen Xtend Scripting Check M2M Validierung

oAW Konzepte – Sprachen Templates XPand M2T-Transformation

oAW Konzepte – Sprachen Metamodellerweiterung Xtend Scripting Check M2M Validierung

oAW Konzepte – Sprachen Metamodellerweiterung Xtend Scripting Check M2M Validierung

oAW Konzepte – Typsystem Templates XPand M2T-Transformation ECore-Modelle ECore Typesystem / Metamodels XSD Java-Beans UML Metamodellerweiterung UML-Profile (Stereotypen) Xtend Scripting Check M2M Validierung

oAW Konzepte – Typsystem Templates XPand M2T-Transformation ECore Typesystem / Metamodels XSD Java-Beans UML Metamodellerweiterung „Hier graphisch dargestellt, wie die Person aus unserem Metamodell direkt in der Sprache genutzt werden kann. Und durch die Extensions erweitert wird – es kommen also neue Operationen hinzu, ohne dass das Metamodell berührt werden müsste.“ Xtend Scripting Check M2M Validierung 25

oAW Konzepte – Workflows Components Workflow MWE AOP Dependency Injection

oAW Konzepte – Workflows Components Workflow MWE AOP Dependency Injection

oAW Konzepte – Workflows Components Workflow MWE AOP Dependency Injection

oAW Konzepte – Workflows Components Workflow MWE AOP Dependency Injection

oAW Konzepte – IDE-Support Templates Syntax Highlightning XPand IDE M2T-Transformation Content Assistance ECore Validierung Typesystem / Metamodels XSD Java-Beans UML Metamodellerweiterung Components Xtend Workflow Scripting Check MWE M2M AOP Validierung Dependency Injection

Agenda Das Eclipse Modeling Project Das Eclipse Modeling Framework Die Konzepte von openArchitectureWare openArchitectureWare in der Umsetzung von JPL (JBF Persistence Layer) Organisatorisches und Ausblick

Generatoren für die neue Persistenzschicht JPL Aufgaben Generierung aller notwendigen JPL-Artefakte Migration für Projekte, die DAM verwenden Bitemporale Datenhaltung unterstützen Einbettung in gegebene MDSD-Infrastruktur Durchgängige Dokumentation und User-Assistance Trennung von generiertem und handgeschriebenem Code

Generatoren für die neue Persistenzschicht JPL Pilotprojekt ist Vorgang Klassisches BAP Projekt Keine bitemporale Datenhaltung Vorhandene DAM-Modellinformationen -> Automatisierte Migration Modellierung der PersistenceFacades (~ DAM-Activities) FetchGroup-Modellierung

Generatoren für die neue Persistenzschicht JPL Zu diesem Thema: 15:25 – 16:10 JPL – the next generation 16:25 – 17:10 Bitemporale Datenhaltung – Der Weg zum unterbrechungsfreien Buchungsschnitt

openArchitectureWare – In der Praxis Persistence Facade Mapping.xml Separierung generierter Artefakte (src-gen & src) JPL-Generator Storables BPS-Generator Datenservices Storable Mapper DDL-Generierung DAM-Migration Generation Gap-Pattern Fetch-Groups Path-Classes „Eine Übersicht dessen was wir hier generieren:“ „Die Zugriffsmechanismen auf die Datenschicht…“ „Die Deskriptoren die Hibernate benötigt um die Objekte auf die DB zu mappen.“ „DDL Unterstützung ist zwar noch in Arbeit wird aber in Kürze umgesetzt“ „Wir generieren auch FetchGroups, spezifische Sichten auf das Datenmodell“ „Und PathKlassen die zur Formulierung von Queries dienen.“ „Hierbei haben wir auf die Trennung von generiertem und manuellem Code geachtet. So kam bspw. Das Generation Gap Pattern zum Einsatz, dass dies mit Java-Sprachmitteln umsetzt.“ „Zudem nutzen wir für den Bitemp-Anteil die AOP-Funktionen von oaw, um non-invasive Erweiterungen an der Generierung vorzunehmen wenn es sich um bitemporale Daten handelt“ AOP für BiTemp-Integration 35

openArchitectureWare – In der Praxis Persistence Facade Mapping.xml JPL-Generator Ecore-Metamodell Storables BPS-Generator Datenservices Storable Mapper M2M-Transformationen Ecore <-> XSD (Mapping.xml, ServiceDescriptor.xml…) DDL-Generierung DAM-Migration Fetch-Groups Path-Classes „Wir haben ein Ecore-Metamodell definiert, dass die JBF- & JPL-Architektur abbildet und konnten dieses mithilfe von M2M-Transformationen mit Xtend auf XML-Dateien wie die mapping.xml und den ServiceDescriptor mappen“. „Voraussetzung ist ein XML Schema, realisiert wird das über das gemeinsame Typsystem“ „Zuguterletzt sind noch die Automatischen Modellmigrationen von DAM zu JPL zu nennen die mit demselben Mechanismus arbeiten.“ Automatisierte Modellmigrationen 36

openArchitectureWare – In der Praxis Erweiterbarkeit RSA-Integration User-Assistance Dokumentation

openArchitectureWare – In der Praxis Erweiterbarkeit RSA-Integration User-Assistance Dokumentation

openArchitectureWare – In der Praxis Erweiterbarkeit RSA-Integration User-Assistance Dokumentation

openArchitectureWare – In der Praxis Einheitliche Benutzerschnittstelle Eclipse Online-Hilfe Erweiterbarkeit RSA-Integration Erweiterbar mit Eclipse-Mechanismen (Extension Points für eigene Generatoren) User-Assistance Dokumentation

Integration in den bestehenden Modellierungsprozess Aufgaben Anpassung Analyse-Design Übergang Anpassung XBF-Generator (Annotations & Generic Type Arguments) Analyse Modell (UML) M2T BPS-Generator Intermediate Modell (ECore) JPL-Generator M2M Design Modell (UML) Hibernate-Mapping (XML) M2M Service-Deskriptoren (XML) XBF-Generator M2T DAM-Generator

Agenda Das Eclipse Modeling Project Das Eclipse Modeling Framework Die Konzepte von openArchitectureWare openArchitectureWare in der Umsetzung von JPL (JBF Persistence Layer) Organisatorisches und Ausblick

Organisatorisches AG Generierung Nächste Schritte Wir unterstützen gerne Ihre Ideen … (auch für Hostentwicklung geeignet)

Ihre Fragen ?

Fragen? – Diskussion? Klaus Bruckmann Jochen Schmich Anwendungsentwicklung Software Engineering klaus.bruckmann@fiducia.de Jochen Schmich 07 21 / 40 04 – 16 46 Anwendungsentwicklung Software Engineering jochen.schmich@fiducia.de 07 21 / 40 04 – 53 46

Ihr IT-Partner Vielen Dank