Visual Age und Rational Rose Daniel Faensen bersicht

Visual Age und Rational Rose Daniel Faensen

Übersicht 4 Integration Rational Rose und Visual. Age (Forward / Reverse Engineering) 4 Team-Unterstützung in Visual. Age 4 EJB-Entwicklung mit Visual. Age und der Web. Sphere Testumgebung 2

Integration Rose/VAJ 4 Problem: Konsistenz von Modell und Code 4 Abgrenzung: Nur statisches Strukturmodell (Klassendiagramm) 4 Lösung I: “Low Level” CASE-Tool 4 Lösung II: Forward und Reverse Engineering Drei Alternativen für Rose und VAJ: -Klassische Variante -Rose Link -XMI Toolkit 4 Frage: Wie oft synchronisieren? - Eher selten! 3

Integration Rose/VAJ I Klassische Variante 4 Voraussetzungen (auch für Rose Link): -Default language muss Java sein -Referenzierte Klassen müssen im Rose-Classpath stehen 4

Integration Rose/VAJ I Klassische Variante 4 Forward Engineering = Code Generation 4 Tools -> Java -> Generate Java oder Kontextmenü -> Java -> Gerenate Java 4 Viel Freude beim Suchen des generierten Codes! 4 VAJ starten 4 Java-Dateien importieren File -> Import -> Directory 4 Code bearbeiten 5

Integration Rose/VAJ I Klassische Variante 4 Reverse Engineering 4 VAJ starten 4 Java-Dateien exportieren File -> Export -> Directory 4 Rose starten, Modell laden 4 Tools -> Java -> Reverse Engineer Java oder Kontextmenü 4 Klassen auswählen und Import starten 4 Modell bearbeiten 6

Integration Rose/VAJ II Rose Link 4 Rationals Tool zur Integration von Rose und VAJ 4 Frei zum Download (bzw. ~faensen/rose/Rose. VAJava. exe) 4 Rose und VAJ müssen aktiv sein 4 Als JVM muss IBM gewählt sein 4 In VAJ Rose. Link starten File -> Quick. Start -> Basic -> Rose Link Plugin 4 In Rose Code generieren 4 Projekt wählen 4 Code wird generiert und automatisch in VAJ importiert 7

Integration Rose/VAJ II Rose Link 4 In Rose Reverse Engineering 4 Projekt wählen 4 Rose initiiert Export aus VAJ 4 Rose bietet exportierte Klassen zum Import an 4 Achtung! Speicherplatzprobleme 8

Integration Rose/VAJ Problembehebung 4 Probleme beim Import: -Vor dem Export aus VAJ alle Java-Dateien löschen (Backup!) 4 Modell nach dem Reverse Engineering aufräumen -Assoziationen in Attribute umwandeln (~faensen/rose/Clean. Associations. After. Import. ebs + ~faensen/rose. Import. Conversions. txt) -Für überfüllte Klassen: “Show All {Attributes, Operations}” abstellen, “Select Compartment Items” 9

Integration Rose/VAJ III XMI Toolkit 4 IBMs Tool zur Integration von Rose und VAJ 4 Mitgeliefert mit VAJ EE 4 Liest Rose. mdl-Datei -> Rose wird nicht benötigt 4 Austausch über XMI (XML Interchange (? )) 4 Problem: Arbeitsspeicher! 4 ~faensen/hermes/docs/software/visualage/xmi. pdf Forward Engineering Rose-Modell UML-XMI Java Reverse Engineering 10

Integration Rose/VAJ EJB Spezielle Enterprise Java Beans Unterstützung 4 XMI Toolkit + XMI Bridge (~faensen/lehre/xmibridge. dat) 4 Modelliere in Rose 4 Markiere Primärschlüsselattribute mit dem Stereotyp <<OID>> 4 In VAJ: EJB -> Add -> Import from Rose or XMI 11

VAJ Team-Unterstützung 4 VAJ Enterprise Edition hat Team-Unterstützung 4 Benutzer, Rollen, Rechte, Team-Server, Shared Repository VAJ Clients goliath emsvr lehre. dat Team Repository 12

VAJ Team-Unterstützung 4 Client-Konfiguration: Eintrag in Datei C: ProgrammeIbmVisual Age for Java ideprogramide. ini. . . [Java. Development] Server. Address=goliath Default. Name=lehre. dat Open. Read. Only=false. . . 13

VAJ Team-Unterstützung 4 Repository -Benutzerverwaltung -Speicherung der Objekte (Projekte, Packages, Klassen) -Versionsverwaltung (Source Control Management, SCM) 4 Workspace -Jeweils eine Version/Edition aus dem Repository -Workspace Owner -Auf der lokalen Platte des Clients 4 Problem: Synchronisation 14

VAJ Team-Unterstützung Jeder darf jede Klasse ändern/bearbeiten! 15

VAJ Team-Unterstützung Zustände eines Typs (Klasse, Interface) 16

VAJ Team-Unterstützung Zustände eines Typs (Klasse, Interface) 4 Open Edition: „Work in progress“ Im Repository können viele Open Editions vorliegen 4 Versioned Edition: Kann nicht geändert werden. Zweck: Checkpoint, Freigabe, neue Baseline 4 Released: Freigegeben für Team-Mitglieder 4 Scratch Edition: Privat, zum Experimentieren 17

VAJ Team-Unterstützung Baselines Baseline 4 Editionen im Workspace synchronisieren 4 Baseline update: 18

VAJ Team-Unterstützung Baselines 4 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! 4 Hilfreich: Management Query 19

VAJ Team-Unterstützung Offline arbeiten 4 Repositories sind (VAJ-)versionsunabhängig 4 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“) 20

VAJ Team-Unterstützung Anmerkungen 4 Auch Ressourcen versionierbar (ab V 3. 5) 4 Kein Super-User 4 Workspace owner != NT User 4 Es gibt kein check out (kein locking) 4 Check in nicht nötig 4 Jeder kann auf alles zugreifen 4 Owner nimmt Änderungen an (release) 4 Team-Kommunikation wird einem nicht abgenommen! 21

VAJ Team-Unterstützung Weitere Infos unter ~faensen/lehre/team. pdf 22

EJB-Entwicklung 4 VAJ hat EJB-Unterstützung 23
- Slides: 23