Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Compuware Corporation MDA and Pattern how to do more with less Andreas Herzig Java Solutions Manager Central Europe.

Ähnliche Präsentationen


Präsentation zum Thema: "Compuware Corporation MDA and Pattern how to do more with less Andreas Herzig Java Solutions Manager Central Europe."—  Präsentation transkript:

1 Compuware Corporation MDA and Pattern how to do more with less Andreas Herzig Java Solutions Manager Central Europe

2 Compuware Corporation Agenda l Produktivität und Komplexität bei der J2EE Entwicklung l Die Model Driven Architecture (MDA) der OMG l Pattern – Definition und Bedeutung l Eine J2EE Anwendung in drei Schritten l Der Pattern basierte Generator l Deployment der Anwendung

3 Compuware Corporation Entwicklerproduktivität Problem: Komplexität Produktivität Zeit 4GL Java COBOL C/C++ 70s J2EE Komplexität mehrsprachig Multi-tier Web-basiert Skalierbarkeit 80s 90s 00s

4 Compuware Corporation Technologie im Wandel Schritt halten mit dem Tempo von J2EE Sun SDK 1.2, 1.3, 1.3.1, 1.4 J2EE 1.2, 1.3 JSP 1.1, 2.0 Java Servlet 2.2, 2.3, 2.4 EJB 1.0, 1.1, 2.0 JDBC 1.2.1, 1.3.1, 2.0, 2.1, 3.0 JNDI 1.1.2, 1.2. 1.2.1 JCA 1.0 JTA 1.0.1, JTS 1.0 JMS 1.0.2b, 1.1 HTML XML 1.0, 1.1 UML 1.0, 1.1, 1.2, 1.3, 1.4, 1.5 WebSphere, WebLogic, Sun AS, Oracle 9i AS Neu……

5 Compuware Corporation Aus der Praxis: eine fachliche Anforderung

6 Compuware Corporation Die Realisierung mit EJB2.0:

7 Compuware Corporation Model Driven Architectur (MDA) Object Management Group (OMG) Finanzwesen E-Commerce Gesundheits wesen Andere.. Transportwesen Raumfahrt Produktion Telekommunikation Was steckt dahinter? –Plattform-unabhängiges Modell (PIM) –Plattform-spezifisches Modell (PSM) –Implementierung/Code-Modell Worin liegt die Bedeutung? –Fokus auf Anwendung vs. Implementierung –Entkopplung von Technologieänderungen –Automatische Wiederverwendbarkeit der Komponenten –Automatischer Knowhow-Transfer –Kohärente Architektur der Anwendung

8 Compuware Corporation Implementation Model Ableitung Platform Specific Model Ableitung Komponenten Entwicklung mit der MDA PIM CORBA Model XML/SOAP Model Other Model CORBAXML/SOAPOther Java/EJB Model Java/EJB

9 Compuware Corporation Model-basierte Entwicklung Model-driven Architecture (MDA) l OptimalJ implementiert den Standard der Model- driven Architecture (MDA) der Object Management Group (OMG) l Klare Trennung zwischen den Modellen und der Implementierung –Platform Independent Model (PIM) –Platform Specific Model (PSM) –Code Model l Änderungen im Geschäft und der Technologie –Konstante Veränderung der Umgebungen im heutigen Markt –Das Geschäftsmodell (PIM) bleibt stabil l Entscheidend für den ROI Code Model Platform Specific Model Platform Independent Model

10 Compuware Corporation Wie bildet OptimalJ die MDA ab? Plattform- unabhängiges Modell Plattform- spezifisches Modell Code Modell MDA OptimalJ Domain Model Domain Service Domain Class Application Model Development Model WEB, EJB, Database Integration Model Code Model SQL DDL Java Server Pages Web Services Stubs & Skeletons Entity Session Message Beans

11 Compuware Corporation Was sind Pattern ? Ein Pattern ist eine allgemeine Lösung für ein allgemeines Problem in einem gegebenen Zusammenhang. (A pattern is a common solution to a common problem in a given context.) Booch, Grady u.a., Unified Modelling Language User Guide, The Addison-Wesley Object Technology Series, (New York: Addison-Wesley), 1998. Ein Pattern ist also eine Lösungsvorschrift

12 Compuware Corporation OptimalJ: MDA und Pattern l Transformation Patterns –Verringern die Komplexität –Überführen Modelle der oberen Ebenen automatisch in die darunterliegende Ebene l Technologie Pattern l Implementierungs Pattern l Functional Patterns –Beschleunigen die Entwicklung –Wiederverwenden von Best Practices oder Implementierung von Standards l Domain Patterns l Application Patterns l Code Patterns (GoF) Domain Model Code Model Application Model Transformation Patterns Functional Patterns Implementation Patterns Implementation Patterns Technology Patterns Technology Patterns Domain Patterns Domain Patterns Application Patterns Application Patterns Code Patterns Code Patterns

13 Compuware Corporation Model- basierte Entwicklung Erster Schritt: das OptimalJ Domain Model l Plattform unabhängiges Modell l In UML beschrieben –Struktur –Verhalten l Auf einen höheren Abstraktions Niveau entwickeln –Nicht von technischen Details gestört –Zentriert auf das Geschäft –Fokus auf der Funktionalität –Deklarative Entwicklung l Definitionen im Modell werden automatisch widerverwendet l Änderungen erfolgen schnell im Modell l Import bestehender Modelle –Datenbank Definitionen –UML/XMI Import l Export der Modelle

14 Compuware Corporation l Beschleunigen die Modellierung und verringern Fehler l Eine Domain model library aufbauen – Wiederverwendung des Modells l Einfrieren und vererben l Wizard-gestütztes Pattern-weaving –Assoziationen –Attribute l Austausch der Domain Pattern Domain Model Code Model Application Model Functional Patterns Domain Patterns Domain Patterns Application Patterns Application Patterns Code Patterns Code Patterns Model- basierte Entwicklung Domain Patterns

15 Compuware Corporation Model-basierte Entwicklung Domain Services l Modell der Arbeitsschritte / Transaktionen l Arbeitet mit Untermengen des Domain Klassen Modells l Generiert automatisch Komponenten Definitionen für Web und Geschäftslogik im Application Model l Generiert automatisch JavaServer Pages und Session Bean Code Code Model Application Model Business Rules DBMS Model Domain Model SQL Entity Beans Domain Service Domain Class Session Beans Java Server Pages Business Logic Model Web Model

16 Compuware Corporation Model-basierte Entwicklung Zweiter Schritt: das OptimalJ Application Model l Plattform spezifisches Modell l Automatische Transformation des PSM aus dem PIM –Konsistenz –Qualität l Presentation Model (Web) –Data schemas, Web Komponenten, etc. l Business Logic Model (EJB) –Data schemas, key classes, Entity Komponenten, Session Komponenten, etc. l Daten Modell (DBMS) –Relationales Datenmodell –Tabellen, Spalten, Schlüssel, etc. Functional Patterns Domain Model Code Model Application Model Transformation Patterns Technology Patterns Technology Patterns Implementation Patterns Implementation Patterns

17 Compuware Corporation Model-basierte Entwicklung OptimalJ Application Model - Message-Driven Beans l Die Struktur der Nachricht wird modelliert l Mit Nachrichten arbeiten –Wizard gestützes Modellieren der Nachricht basierten Komponenten l Auswahl der Themen bei Publish/Subscribe l Spezifizieren der Queue und der Filter –Code generieren –Code anpassen

18 Compuware Corporation Model-basierte Entwicklung OptimalJ Application Model – Data Access Objects l Die Performance der EJBs ist ein Engpass beim Lesen der Daten l OptimalJ geht zwei Wege –Schnelles Lesen mit Hilfe der Data Access Objects (DAOs) Schnell und einfach –Sicheres Schreiben mit Hilfe der EJBs Transaktionen werden unterstützt Skalierbar Browser HTML/Java Web server JSPs/Servlets Database server Application server EJBs Read fast Write secure

19 Compuware Corporation Model-basierte Entwicklung OptimalJ Integration Model Code Model Application Model Domain Model Domain Services Integration Model EJB Model Web Model Session Beans, Web Services signatures, stubs, proxy & helper Java Server Pages Web Services CORBA Komponenten CICS Cobol Java Komponenten Web Services (WSDL) CORBA (IDL) CICS (Copybook/ Commarea) Java signature

20 Compuware Corporation l JCA 1.0 Unterstützung für CICS l Unterstützung der ECI Resource Adapter für IBMs CICS Transaction Gateway l Import der CICS Schnittstellen mit Hilfe OptimalJs Cobol import facility Cobol copybook Cobol Commarea l OptimalJ generiert automatisch: Connector Code basierend auf dem installierten Resource Adapter Session Bean (wrapper) Deployment Descriptoren Model-basierte Entwicklung OptimalJ Integration Model - Legacy Integration

21 Compuware Corporation l Import der WSDL Datei mit OptimalJs WSDL import facility l OptimalJ generiert automatisch den Connector Code aus den WSDL Definitionen l Generieren der OptimalJ Anwendung – Modelle und Code Session Bean (wrapper) Deployment Descriptor Präsentations Komponente um den Web Service zu testen Model- basierte Entwicklung OptimalJ Integration Model - Web Services Integration

22 Compuware Corporation l Web Services werden auf Domain Services Ebene modelliert l Die OptimalJ Anwendung generieren – Modelle und Code Session Beans Deployment Descriptoren l Die generierten Session Beans als Web Services bereitstellen WSDL Datei Deployment Descriptor mit SOAP Unterstützung Model- basierte Entwicklung Web Services definieren

23 Compuware Corporation l Automatisiert die Integration bestehender Java Anwendungen –Die benötige.JAR Datei auswählen –Die Java Klassen und Methoden untersuchen –Die benötigte Methode identifizieren –Die Signatur importieren –Den Code für die Integration dieser Java Methode generieren l Analyse von Java Anwendungen mit OptimalJs Package Structure Analysis tool –Visualisiert Abhängigkeiten zwischen Packages und Klassen –Macht Vorschläge welche Abhängigkeiten entfernt werden sollten um die Struktur zu verbessern –Stellt sofort die Auswirkungen des Source Code Refactoring grafisch dar –Verifiziert den Source Code gegen das Design Modell BEFORE AFTER Model-basierte Entwicklung OptimalJ Integration Model - Legacy Java Integration

24 Compuware Corporation Model-basierte Entwicklung Dritter Schritt: OptimalJ Code Model l Automatische Transformation des PSM in Code –Produktivität –Qualität –Konsistenz l Darstellungsschicht – Model View Controller framework (MVC) – Java Server Pages (JSP), Servlets l EJB Schicht – Remote, bean class, home, primary key classes etc. – Entsprechend der EJB Spezifikation l DBMS Schicht – SQL Scripte l Deployment Descriptoren –Für die Ziel Application Server Domain Model Code Model Application Model Transformation Patterns Implementation Patterns Implementation Patterns Technology Patterns Technology Patterns

25 Compuware Corporation Model-basierte Entwicklung Code Generation Code für die DBMS Schicht –Create und Drop Table SQL Scripts –SQL Scripts um Testdaten zu erzeugen Code für die EJB Schicht –EJB 1.1 oder EJB 2.0 –Home interfaces, Remote/Local Interface –Entity beans und Session beans, Message driven beans –Primary key Klassen und Finder Klassen –Helper Klassen für Update Objekte und Daten Objekte –Deployment Descriptoren für den EJB Server Code für die Darstellungsschicht –Action Klassen – führen Funktionen wie Suche, Anlegen,... aus –Form Bean - Set und Get Methoden für die Attribute in der JSP –JSP – für die HTML Kommunikation –Struts-config.xml – definiert das Action Mapping –webResources.properties - für Mehrsprachigkeit der Anwendung

26 Compuware Corporation l Domain Model Diagramm –Klasses, Beziehungen, Vererbungsstrukturen l Application Model Diagramme –Bessere Navigation durch die Anwendung –Besserer Überblick und besseres Verständniss –Auswirkungen eine Änderung leicht zu analysieren l Code Model Diagramm –Mit den Java Sourcen verbunden –Navigation durch die Packages –Diagramm Export und JavaDoc l Thumbnail view l Free block Navigation Domain Model Code Model Application Model Diagrams & Editors Domain Domain Diagram WebWeb, EJB and DBMS DiagramsEJB DBMS Java Class Diagram Model-basierte Entwicklung Visualisierung und Navigation

27 Compuware Corporation Geschäftsregeln Erweitern das Domain Modell l Operationen werden im Domain Modell deklariert l Methoden –Das Interface wird automatisch generiert –Implementierung in Free Blocks –Leichte Navigation in die Free Blocks l Regel wird in der Expression Library implementiert –Nur an einer Stelle wird gewartet l Statische Regeln –Zentrale Stelle um Regeln zu ändern –Neues Compilieren und Deployment nötig l Dynamische Regeln –Können zur Laufzeit geändert werden –Regeln werden dynamisch gebunden –Kein Compilieren und Deployment

28 Compuware Corporation l Transformation Patterns Verringern die Komplexität Transformieren die Modelle höherer Ebenen automatisch in Modelle niedrigerer Ebenen l Functional Patterns Beschleunigen die Entwicklung Benutzen Best Practices und implementieren Standards Domain Model Code Model Application Model Transformation Patterns Functional Patterns Implementation Patterns Implementation Patterns Technology Patterns Technology Patterns Domain Patterns Domain Patterns Application Patterns Application Patterns Code Patterns Code Patterns Pattern-basiertert Generator OptimalJ Modelle & Patterns

29 Compuware Corporation Pattern examples Design patterns Composite Singleton Factory Decorator Observer Chain of Responsibility Sun J2EE patterns Front Controller Value Object Form Bean Session Façade Aggregate Entity Business Delegate Page Iterator Fast Lane Reader Persistency tier patterns Create Delete Init SQL Workbench Business tier patterns Single class EB Single aggregation EB Multi aggregation EB Single association SB Multi association SB Create Read Update Delete Presentation tier patterns Model View Controller Action Create Read Update Delete HTML WML Pattern-basierter Generator Verwenden der Best Practices l Viele Pattern Typen l Mapping –OO zu Relational –Domain zum Sub-Modell l Anwendung –Funktional –Architektur l Implementierung –Design –Coding –Schichtenspezifisch

30 Compuware Corporation Request Controller Action JavaBean Business Façade Data Update Object JavaServer Page Servlet HTML Pattern-basierter Generator Verwendung von Frameworks l Model-View-Controller Konzept –Auf Basis des Struts Framework implementiert –Erweiterungen für Dreamweaver l JSP-basierte Benutzerschnitt-stellen generieren –HTML, WML, XML –Macromedia Dreamweaver für Anpassungen l Servlet-basierte Action JavaBeans generieren l Business Façade –Fine grain in der Web und EJB Schicht –Coarse grain zwischen den Schichten XML conf.

31 Compuware Corporation Pattern-basierter Generator Anpassen und Warten der Pattern l Ermöglicht es interne Codierungs Standards zu implemenierten l Stellt ihr Expertenwissen automatisch den Designern und Entwicklern zu Verfügung l Stellt sicher das Standards benutzt werden l Volle Kontrolle über den generierten Code l Erfahrene J2EE Architekten schreiben, ändern und löschen die Pattern Domain Model Code Model Application Model Transformation Patterns Implementation Patterns Implementation Patterns Technology Patterns Technology Patterns

32 Compuware Corporation Pattern-basierter Generator Template Pattern Language l Pattern Sprache um Logik zu realisieren und die richtigen Pattern zu nutzen l Zugriff auf das Meta Object Facility (MOF) Repository l Kleine Sprache die in Java Code übersetzt wird l PATTERN l IMPORT l FILE l TEMPLATETYPE l TEMPLATE l GUARD l FREE l IF l DO l LET l FOR l FILE l JOINPOINT

33 Compuware Corporation Pattern-basierter Generator Modulare Pattern Architektur l OptimalJs modulare Pattern Architektur –Zum Beispiel das Upgrade von EJB 1.1 auf EJB 2.0 –Installation der EJB 2.0 Pattern von OptimalJ –Die Anwendung neu generieren l EJB 2.0 Funktionalitäten werden automatisch genutzt –EJB 2.0 Attribut Deklarationen –Container Manager Relationships (CMR) –EJB Query Language (EQL) für die Finder Methoden –Deployment Descriptoren –Eigener Code bleibt bestehen

34 Compuware Corporation Pattern-basierter Generator Anpassung der Pattern Baseline Pattern Joinpoint A Joinpoint B My 1 st Pattern My 2 nd Pattern lFrei zugängliche Pattern Sourcen Kunden haben größte Flexibilität Kunden können nicht von neuen Versionen profitieren lHooks in den Pattern erlauben es die Funktion des Patterns zu überschreiben und zu ergänzen Voll ausreichende Flexibilität Upgrades werden genutzt

35 Compuware Corporation Active Synchronization Schnelle Antworten auf Änderungen l Modelle und Code werden automatisch synchronisiert –Modell zentrierter Ansatz l Jede Änderung im Domain Model wird sofort in die unteren Modelle und den Source Code propagiert –Keine Differenz zwischen den Modellen und dem Code l Generierter Code in geschützen Blöcken –Wird bei Generierungen geändert –Kann nicht geändert werden l Erweiterungen in Freien Blöcken –Bleibt bei der Generierung erhalten –Volle Kontrolle Web Model EJB Model Data Model Domain Model Code Model Application Model Domain Class -attribute:int Domain Class -attribute:int Domain Class -attribute:int Domain Class -attribute:int Business Rules Editor IDE JSP EJB SQL Synchronize

36 Compuware Corporation Active Synchronization Integrierte IDE – Netbeans IDE l OptimalJ basiert auf NetBeans 3.3 –MDI Entwicklung l NetBeans IDE –Source code Editor –Syntax sensitiv –Code Ergänzung l Unterstützung von Projekten l Remote Debugging l Form Editor l Compiler l JAR packager

37 Compuware Corporation l JBuilder kann als IDE verwendet werden l Anpassung des von OptimalJ generierten Codes l Erkennt Freie und Geschützte Blöcke –Anpassungen in Freien Blöcken –Bleiben beim Generieren erhalten l JBuilder Integration –OptimalJ SQL Workbench –Tomcat Webserver –JBoss Application Server –Solid Datenbank –Anpassung der Konfiguration –OptimalJ Assembly Workbench um EARs zu erzeugen Active Synchronization Integrierte IDE – Borland JBuilder

38 Compuware Corporation Integriertes Deployment Verringert die Komplexität l Package Builder um J2EE Anwendungen schnell in Betrieb zu nehmen l Deployment Descriptoren werden automatisch erzeugt l Test- und Produktions Server sind integriert –Voll automatisches Deployment für funktionales Testen l Assembly Workbench um Enterprise Archives (.EAR) zu erzeugen Test Production Tomcat JOnAS JBoss Solid IBM WebSphere, BEA WebLogic, Sun ONE, Oracle 9iAS, JBoss, Compuware OptimalServer JSP EJB SQL.WAR.JAR.DAR.EAR Deployment Descriptors Deployment Descriptors

39 Compuware Corporation Integriertes Deployment Integrierte Profiling Umgebung l DevPartner for Java Edition 3.0 l DevPartner for Java Edition erhöht die Zuverlässigkeit und Qualität des selbstgeschriebenen Codes Performance Profiler identifiziert und löst Performance Engpässe Memory Analyzer identifiziert und löst Speicherprobleme Code Coverage analyzer hilft die Zuverlässigkeit des Codes zu verbessern

40 Compuware Corporation OptimalJ Platform Support l Entwicklungs Plattformen –Windows - NT/2000/XP –Linux-Intel - Red Hat 7.3 –Solaris 8 l Deployment Plattformen –Application Server l IBM WebSphere 4.0.1 l BEA WebLogic Server 6.1/7 l Sun One Application Server 6.5 l Compuware OptimalServer 6.5 l Oracle 9iAS release 3 l JOnAs 2.4 l JBoss 2.4/3.0 l Datenbanken l JDBC 2.x-compliant

41 Compuware Corporation OptimalJ Developer Portal http://javacentral.compuware.com l OptimalJ Community Home – News – White papers – Dokumentation – FAQ – Foren – Support Center – Java Links

42 Compuware Corporation Zusammenfassung l OptimalJ ist eine integrierte Modell basierte Entwicklungsumgebung –Implementiert die Model Driven Architecture (MDA) der OMG vollständig –Kombiniert mehrere Modell-Ebenen und mehrere Pattern- Ebenen l Die Entwicklung mit OptimalJ basiert auf –Grafischen Modellen –Pattern-basierter Generierung –Best Practices –J2EE Spezifikationen

43 Compuware Corporation People and software for business applications sm


Herunterladen ppt "Compuware Corporation MDA and Pattern how to do more with less Andreas Herzig Java Solutions Manager Central Europe."

Ähnliche Präsentationen


Google-Anzeigen