1 / 23

Visual Age und Rational Rose

Visual Age und Rational Rose. Daniel Faensen. Übersicht. Integration Rational Rose und VisualAge (Forward / Reverse Engineering) Team-Unterstützung in VisualAge EJB-Entwicklung mit VisualAge und der WebSphere Testumgebung. Integration Rose/VAJ. Problem: Konsistenz von Modell und Code

raja
Download Presentation

Visual Age und Rational Rose

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Visual Age und Rational Rose Daniel Faensen

  2. Übersicht • Integration Rational Rose und VisualAge(Forward / Reverse Engineering) • Team-Unterstützung in VisualAge • EJB-Entwicklung mit VisualAge und der WebSphere Testumgebung

  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 EngineeringDrei Alternativen für Rose und VAJ: • Klassische Variante • Rose Link • XMI Toolkit • Frage: Wie oft synchronisieren? - Eher selten!

  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. 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. Integration Rose/VAJ I Klassische Variante • Reverse Engineering • VAJ starten • Java-Dateien exportierenFile -> Export -> Directory • Rose starten, Modell laden • Tools -> Java -> Reverse Engineer Java oder Kontextmenü • Klassen auswählen und Import starten • Modell bearbeiten

  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 startenFile -> QuickStart -> Basic -> Rose Link Plugin • In Rose Code generieren • Projekt wählen • Code wird generiert und automatisch in VAJ importiert

  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. 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. 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! • ~faensen/hermes/docs/software/visualage/xmi.pdf Forward Engineering Rose-Modell UML-XMI Java-XMI Java Reverse Engineering

  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 <<OID>> • In VAJ:EJB -> Add -> Import from Rose or XMI

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

  13. VAJ Team-Unterstützung • Client-Konfiguration:Eintrag in Datei C:\Programme\Ibm\Visual Age for Java\ide\program\ide.ini...[JavaDevelopment]ServerAddress=goliathDefaultName=lehre.datOpenReadOnly=false...

  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. VAJ Team-Unterstützung Jeder darf jede Klasse ändern/bearbeiten!

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

  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ürTeam-Mitglieder • Scratch Edition: Privat, zum Experimentieren

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

  19. VAJ Team-Unterstützung Baselines • Synchronisieren • Projekt bzw. Package in den Workspace laden oder • Replace with -> Released contentsLädt die zuletzt freigegebenen Klassen-Editionen dieser Edition • Erfolglos, wenn es eine neue Version gibt! • Hilfreich: Management Query

  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. 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. VAJ Team-Unterstützung Weitere Infos unter ~faensen/lehre/team.pdf

  23. EJB-Entwicklung • VAJ hat EJB-Unterstützung

More Related