Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Daniel Falk Geändert vor über 9 Jahren
1
Visual Age und Rational Rose Daniel Faensen
2
2 Übersicht Integration Rational Rose und VisualAge (Forward / Reverse Engineering) Team-Unterstützung in VisualAge EJB-Entwicklung mit VisualAge und der WebSphere Testumgebung
3
3 Integration Rose/VAJ Problem: Konsistenz von Modell und Code Abgrenzung: Nur statisches Strukturmodell (Klassendiagramm) Lösung I: “Low Level” CASE-Tool Lösung II: Forward und Reverse Engineering Drei Alternativen für Rose und VAJ: -Klassische Variante -Rose Link -XMI Toolkit Frage: Wie oft synchronisieren? - Eher selten!
4
4 Integration Rose/VAJ I Klassische Variante Voraussetzungen (auch für Rose Link): -Default language muss Java sein -Referenzierte Klassen müssen im Rose-Classpath stehen
5
5 Integration Rose/VAJ I Klassische Variante Forward Engineering = Code Generation Tools -> Java -> Generate Java oder Kontextmenü -> Java -> Gerenate Java Viel Freude beim Suchen des generierten Codes! VAJ starten Java-Dateien importieren File -> Import -> Directory Code bearbeiten
6
6 Integration Rose/VAJ I Klassische Variante Reverse Engineering VAJ starten Java-Dateien exportieren File -> Export -> Directory Rose starten, Modell laden Tools -> Java -> Reverse Engineer Java oder Kontextmenü Klassen auswählen und Import starten Modell bearbeiten
7
7 Integration Rose/VAJ II Rose Link Rationals Tool zur Integration von Rose und VAJ Frei zum Download (bzw. ~faensen/rose/RoseVAJava.exe) Rose und VAJ müssen aktiv sein Als JVM muss IBM gewählt sein In VAJ RoseLink starten File -> QuickStart -> Basic -> Rose Link Plugin In Rose Code generieren Projekt wählen Code wird generiert und automatisch in VAJ importiert
8
8 Integration Rose/VAJ II Rose Link In Rose Reverse Engineering Projekt wählen Rose initiiert Export aus VAJ Rose bietet exportierte Klassen zum Import an Achtung! Speicherplatzprobleme
9
9 Integration Rose/VAJ Problembehebung Probleme beim Import: -Vor dem Export aus VAJ alle Java-Dateien löschen (Backup!) Modell nach dem Reverse Engineering aufräumen -Assoziationen in Attribute umwandeln (~faensen/rose/CleanAssociationsAfterImport.ebs + ~faensen/rose/roseImportConversions.txt) -Für überfüllte Klassen: “Show All {Attributes,Operations}” abstellen, “Select Compartment Items”
10
10 Integration Rose/VAJ III XMI Toolkit XMI Toolkit IBMs Tool zur Integration von Rose und VAJ Mitgeliefert mit VAJ EE Liest Rose.mdl-Datei -> Rose wird nicht benötigt Austausch über XMI (XML Interchange (?)) Problem: Arbeitsspeicher! www.inf.fu-berlin.de/inst/ag-db/software/VAJ_PDF/xmi.pdf Rose-ModellUML-XMIJava-XMIJava Forward Engineering Reverse Engineering
11
11 Integration Rose/VAJ EJB Spezielle Enterprise Java Beans Unterstützung XMI Toolkit + XMI Bridge (~faensen/lehre/xmibridge.dat) Modelliere in Rose Markiere Primärschlüsselattribute mit dem Stereotyp > In VAJ: EJB -> Add -> Import from Rose or XMI
12
12 VAJ Team-Unterstützung VAJ Enterprise Edition hat Team-Unterstützung Benutzer, Rollen, Rechte, Team-Server, Shared Repository goliath emsvr Team Repository lehre.dat VAJ Clients
13
13 VAJ Team-Unterstützung Client-Konfiguration: Eintrag in Datei C:\Programme\Ibm\Visual Age for Java\ ide\program\ide.ini... [JavaDevelopment] ServerAddress=goliath DefaultName=lehre.dat OpenReadOnly=false...
14
14 VAJ Team-Unterstützung Repository -Benutzerverwaltung -Speicherung der Objekte (Projekte, Packages, Klassen) -Versionsverwaltung (Source Control Management, SCM) Workspace -Jeweils eine Version/Edition aus dem Repository -Workspace Owner -Auf der lokalen Platte des Clients Problem: Synchronisation
15
15 VAJ Team-Unterstützung Jeder darf jede Klasse ändern/bearbeiten!
16
16 VAJ Team-Unterstützung Zustände von Projekten, Packages, Typen
17
17 VAJ Team-Unterstützung Zustände eines Typs (Klasse, Interface) Open Edition: „Work in progress“ Im Repository können viele Open Editions vorliegen Versioned Edition: Kann nicht geändert werden. Zweck: Checkpoint, Freigabe, neue Baseline Released: Freigegeben für Team-Mitglieder Scratch Edition: Privat, zum Experimentieren
18
18 VAJ Team-Unterstützung Baselines Baseline Editionen im Workspace synchronisieren Baseline update:
19
19 VAJ Team-Unterstützung Baselines Synchronisieren -Projekt bzw. Package in den Workspace laden oder -Replace with -> Released contents Lädt die zuletzt freigegebenen Klassen-Editionen dieser Edition -Erfolglos, wenn es eine neue Version gibt! Hilfreich: Management Query
20
20 VAJ Team-Unterstützung Offline arbeiten Repositories sind (VAJ-)versionsunabhängig Vorgehen: -Versioniere Packages -Exportiere in lokales Repository (home.dat) -Kopiere home.dat auf Offline-Rechner -Starte VAJ -Importiere aus Repository home.dat -Lade Packages in Workspace („Add -> Package“ oder „Replace with -> Another Edition“)
21
21 VAJ Team-Unterstützung Anmerkungen Auch Ressourcen versionierbar (ab V 3.5) Kein Super-User Workspace Owner != NT User Es gibt kein check out (kein locking) Check in nicht nötig Jeder kann auf alles zugreifen Owner nimmt Änderungen an (release) Team-Kommunikation wird einem nicht abgenommen!
22
22 VAJ Team-Unterstützung Weitere Infos unter http://www.inf.fu-berlin.de/ ~ag-db/software/VAJ_PDF/team.pdf
23
23 EJB-Entwicklung VAJ EE hat EJB-Unterstützung Websphere Test Environment Weblogic VAJ Integration Kit Vorbereitungen -Add Features (File -> Quickstart) EJB Tool Unterstützt: Session Bean CMP Bean BMP Bean
24
24 EJB-Entwicklung Schritte Add EJB Group Add EJBs Add home and remote (business) methods Add custom finders Add CMP fields Set deployment descriptor properties Generate EJB classes Generate access beans Test Export and deploy
25
25 EJB-Entwicklung Beispiele in EJB Samples: HelloWorld und Increment Projekt und Package erzeugen Empfehlung: getrennte Projekte für Client und EJB (-> jar-Dateien) EJB Group: Logische Gruppierung, z.B. f. Export in JAR-Datei Erzeugen einer neuen EJB Group -EJB -> Add -> EJB Group -Projekt wählen -EJB Group benennen
26
26 EJB-Entwicklung Session Bean Session Bean
27
27 EJB-Entwicklung Session Bean Session Bean Felder hinzufügen Selektiere Bean-Klasse, Add -> Field (incl. getX() und set(X)) Methoden hinzufügen -Selektiere Bean-Klasse, Add -> Method -Implementiere Methode -Add -> Methods-Add To -> EJB RemoteInterface -Achtung: Erneutes Deployment erforderlich
28
28 EJB-Entwicklung Deployment Deployment Deployment descriptor wizard - Bean level: Select bean, Properties Methods Select method EJB Method attributes -> Add control descriptor
29
29 EJB-Entwicklung Deployment EJB Jar-Datei Class-Dateien, Deployment Descriptor, Manifest Generate Deployed Code erzeugt: -Container-implementierte EJBHome- und EJBObject- Klassen (+ Persistor und Finder für CMP-Beans) -Java ORB, Stubs und Skeletons für RMI -Helper und Holder für Home und Remote Interfaces
30
30 EJB-Entwicklung Testing Add to -> Server configuration Properties Create database tables
31
31 EJB-Entwicklung Testing Start EJB Server: -Tools -> Websphere Test Environment -Start Persistent Name Server -Start EJB Server -Quelltextänderung, Debugging ohne Neustart
32
32 EJB-Entwicklung Testing Test Client -Breakpoints, Debugging... -Lookup -> Initialer Naming Context -> laden desHome Interfaces -Selektiere Create -Run
33
33 EJB-Entwicklung Testing/Deployment Configuration für eigene Applikationen -Websphere Test Environment muss in Project Classpath Deployment für andere Applikationsserver -Export -> EJB JAR
34
34 EJB-Entwicklung CMP Beans Container Managed Persistence Entity Beans -Wie Session Bean aber anderer Bean Type -Add CMP Fields
35
35 EJB-Entwicklung CMP Beans Schema und Map: Abbildung zwischen CMP- Feldern und Tabellenspalten Top Down: CMP-EJB existiert, generiere DB Schema Bottom Up: EJB für existierende DB (nicht unterstützt) Meet in the Middle: -Importiere Schema -Definiere Map
36
36 EJB-Entwicklung CMP Beans Top Down -Add -> Schema and Map -Schema browser und Map browser -Generate deployed code -Add to -> Server configuration -EJB Server Properties: Configuriere DB-Verbindung -EJB Server: Create Database Tables -Eine Tabelle pro CMP Bean SQL> DESC SCOTT.Account Name Null? Type ----------------------------------------- -------- ---------------------------- ACCNUMBER NOT NULL NUMBER(10) BALANCE FLOAT(126) OWNER VARCHAR2(30)
37
37 EJB-Entwicklung CMP Beans Finder-Methoden -Beim Home-Interface Add -> Method -public java.util.Enumeration findNegativeAccounts() -Add Exceptions -Ignoriere Probleme -Query String im AccountFinderHelper Kopiere Vorlage aus EJSJDBCPersisterAccount.findByKeySqlString nach AccountFinderHelper.findNegativeAccountsSqlString -Generate Deployed Code löst Probleme
38
38 EJB-Entwicklung CMP Beans Finder-Methoden - Richtlinien -Bezeichner für Query String: methodNameQueryString, z.B. findNegativeAccountsQueryString Test -Starte EJB Server -Selektiere Account -Run Test Client -Selektiere create(int) -Setze Parameter auf 1001 -Run SQL> SELECT * from SCOTT.Account; ACCNUMBER BALANCE OWNER ---------- ---------- ------------------------------ 1001 0 -Spiele mit Test Client und Oracle -Test Client: create() setOwner()... -Oracle: insert delete update (commit nicht vergessen)
39
39 EJB-Entwicklung BMP Beans J. Picon, P. Genchi, M. Sahu, M. Weiss, A. Dessureault: Enterprise JavaBeans Development Using VisualAge for Java. IBM Redbook SG24- 5429-00, June 1999 ~faensen/lehre/sg245429_EJB_VAJ.pdf Beispiel mit XML-Datei als Persistenzmedium
40
40 EJB-Entwicklung Access Beans Access Beans Home-Methoden, die einzelne Instanz liefern -> Constructor Erst instanziieren, dann aufrufen Copy helper statt wiederholtes get/set String-Konverter (für JSP)
41
41 EJB-Entwicklung Anmerkungen Code nur im EJB-Pane bearbeiten Package EJBGroupEJBReserved enthält Metadaten
42
42 EJB-Entwicklung Session Bean Deployment Deployment descriptor wizard: Select bean, Properties Methods Select method EJB Method attributes -> Add control descriptor
43
43 Integration Rose/VAJ EJB Spezielle Enterprise Java Beans Unterstützung XMI Toolkit + XMI Bridge (~faensen/lehre/xmibridge.dat) Modelliere in Rose Markiere Primärschlüsselattribute mit dem Stereotyp > In VAJ: EJB -> Add -> Import from Rose or XMI
44
44 Quellenhinweise Lokale Dokumentation (PDF): http://www.inf.fu-berlin.de/~ag-db/software/VAJ_PDF -z.B.: Team-Entwicklung, EJB-Entwicklung, XMI-Toolkit Visual Age Developer Domain http://www7.software.ibm.com/vad.nsf -Doku, Downloads, Redbooks, Technical Journal... Rose Tools ~faensen/rose/ Rose Link: RoseVAJava.exe Putzhilfe für das Après Reverse Engineering: CleanAssociationsAfterImport.ebs + roseImportConversions.txt XMI Bridge ~faensen/lehre/xmibridge.dat J. Picon, P. Genchi, M. Sahu, M. Weiss, A. Dessureault: Enterprise JavaBeans Development Using VisualAge for Java. IBM Redbook SG24-5429-00, June 1999 ~faensen/lehre/sg245429_EJB_VAJ.pdf
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.