250 likes | 423 Views
Visual Modelling and Managing the Software Architecture Landscape in a large Enterprise by an Extension of the UML OOPSLA 2002 2nd Workshop on Domain Specific Visual Languages 2002-11-04. ARCUS-Team Marcus Heberling , FAST GmbH Christoph Maier , Bayerische Landesbank Dr. Thomas Tensi , sd&m AG.
E N D
Visual Modelling and Managing theSoftware Architecture Landscapein a large Enterpriseby an Extension of the UMLOOPSLA 20022nd Workshop onDomain Specific Visual Languages2002-11-04 ARCUS-TeamMarcus Heberling, FAST GmbHChristoph Maier, Bayerische LandesbankDr. Thomas Tensi, sd&m AG
Outline of the Talk • Goals of ARCUS • Metametamodel and the UML • ARCUS-Modelling in Detail • Tools • Demonstration
Goals of ARCUS • Formal overview over all software applications in a large enterprise • usable even for non-IT-experts • Consistent, integrated and navigable documentation • ... of business processes and business notions • ... across the logical design of the applications • ... to the concrete hardware and software structure • Explicit description of actual and target application landscape resembling a “land use plan“
Benefit of an Enterprise Application Architecture Model Centrally available information on • how business areas are supported by applications, • how new requirements (e.g. new technology platforms) influence existing applications, • how to reuse existing solutions, • how to restructure the application landscape, • ...
Boundary Conditions • Tools: Rational Rose & Rational ClearCase • Notation: UML extended by standard mechanisms • stereotypes, tagged values • Metamodel: freely configurable, not hard-wired • see below • Implementation: only with the standard resources of Rose • RoseScript • Exploration of the model by successive completion of diagrams • not via complex queries
server host client ARCUS method:A model connecting different submodels Business Process Layer Problem Domain Layer Logical Application Layer System Architecture Layer
ARCUS-Metamodel and the UML • Metamodel: model elements and rules • model elements in all 4 layers are UML classes • distinction done by stereotypes • rules (for easy optical recognition) • relation within a layer have to be associations • detailing relation modelled by aggregation or composition • inter-layer-relations have to be dependencies • Rose is used as a metamodel engine. „ARCUS-model-checker“ does a a-posteriori check of the metamodel rules.
Business Process Layer Problem Domain Layer Logical Application Layer System Architecture Layer Business Process Layer • The business process layer describes the business relevant processes which are supported by applications. • ARCUS uses flow networks(which are UML-activity diagrams with some extensions).
i model catalogue define car model [customer wants extra configuration] offer process order process i define basic configuration configuration catalogue customer salesperson define extra configuration [customer wants financing] preparation of offer customer informs himself customer wants car characteristics are about models car offer defined i offer car financing car offer i i prepare offer financing offer dream car Example:Car Shop Process zooming in via menu Action Role zooming in Event Information
Metamodel: Business Process Layer The metamodel ist defined by a structured text file and not hard-wired in the tools!
-------------------------------------------------- ---------------- Business Process Layer --------- -------------------------------------------------- ELEMENT NAME=Role DETAILABLE=FALSE REMOTE_VALID=FALSE ELEMENTGROUP=Akteur END ELEMENT ELEMENT NAME=Org-Unit DETAILABLE=TRUE REMOTE_VALID=FALSE ELEMENTGROUP=Org-Unit END ELEMENT ELEMENTGROUP NAME=Org-Unit SUPERGROUP=Actor END ELEMENTGROUP ELEMENTGROUP NAME=Actor SUPERGROUP=BusinessProcessLayer END ELEMENTGROUP RELATIONS SOURCES = Activity VALID_RELATION KIND=association STEREOTYPNAME=“Assignment" NAMING_CONVENTION="" TARGETS = { Actor } END VALID_RELATION VALID_RELATION KIND=association STEREOTYPNAME=“Information Flow" NAMING_CONVENTION="" TARGETS = { Information } END VALID_RELATION -- inter-layer relations VALID_RELATION KIND=dependency STEREOTYPNAME="Trace" NAMING_CONVENTION="" ZIELE = { ProblemDomainLayer, Application, Component } END VALID_RELATION END RELATIONS Textual Definition of the Metamodel (Extract)
Business Process Layer Problem Domain Layer Logical Application Layer System Architecture Layer Problem Domain Layer • The problem domain layer describes the business notions by types and objects with their static and dynamic relations. • focus on important business notions • ARCUS uses the standard UML static structure diagrams (i.e. class diagrams).
< cares for Salesperson 0..* 1 1 1 1 1 1 manages manages Customer 1 * * * * * Loan V is interested in Financing 0..1 1 1 1 0..1 0..1 Offer Order 1..* 1 1 1 1 0..* 0..* Car 1..* Equipment Equipment package Radio Seat heater Air condition LM-Rim Example:Car Shop Rules: All rules for UML-diagrams are valid except:dependencies may not be used. Those are reserved in ARCUS for inter-layer-relations.
Business Process Layer Problem Domain Layer Logical Application Layer System Architecture Layer Logical Application Layer • The logical application layer describes an abstract logical view of the application structure • the applications, • the components of the applications, • the business data and • relations between those elements. • It is a business view on the IT-systems. Modeling is done independent of the technical realization!
OOM-Client Offer- and Order-Management Access Rights Component Car Component Sales Component customer master data car inventory catalogue basic equipment catalogue Online-Car-Catalogue offer master data employee master data extra equipment catalogue Example:Car Shop GUI-Component Component Data Application
Business Process Layer Problem Domain Layer Logical Application Layer System Architecture Layer Systemarchitektur: Allgemeines • Die Systemarchitekturebene ist die Realisierungs-ebene der Anwendungslandschaft und besteht aus einer Hardware- und Softwaresicht. • Die Hardwaresicht beschreibt die physische Rechnerlandschaft und deren Topologie. • Die Softwaresicht modelliert die EDV-technische Realisierung der logischen Anwendungsarchitektur. • ARCUS definiert hierfür 7 hardware- und 21 softwarespezifische UML-Stereotypen.
Firewall Internet Internet-Server Autohaus LAN Zentraler Server (NT) Kunden SB-Terminals Verkäufer PCs (NT) Beispiel (1):Hardware von Autohandel Netzwerk Firewall Clientstations Server Geschäftspartner-PCs
Angebots- und Bestellungssystem Fahrzeugmodellsystem Beispiel (2):Client/Server-Struktur Oberflächen- Programm Proxy für Softwaresystem Softwaresystem
Ebenenübergreifende Beziehungen • Man muss auch Verbindungen zwischen den Ebenen erfassen. Dafür gibt es ein Modell der erlaubten Abhängigkeiten zwischen den Architekturebenen.
Angebot erstellen Grundausstattung festlegen Sonderausstattung festlegen Bestellprozeß Fahrzeugfachkern Darlehen Ausstattungspaket Angebots- und Bestellungsverwaltung Kunde Angebot Auto Ausstattung Verkaufsfachkern Bsp.: Definition der ebenenübergreifenden Beziehungen
am Selbstbedienungsterminal informieren Auto Ausstattung Fahrzeugmodell Online-Fahrzeugkatalog Grundausstattungskatalog Sonderausstattungskatalog «abgeleitet» Autobestandskatalog Modelldatensystem Fahrzeugdatenbank Fahrzeugmodellsystem „Ebenendurchstich“ • Nutzen: • ebenenübergreifende Beziehungen erlauben systematische Erforschung des Modells • zusätzlich:automatisch generierte Beziehungen (abgeleitete Beziehungen)
Werkzeuge • Modellierung in Rational Rose erweitert um diverse Skripten zur • Generierung von Modellteilen (z.B. abgeleitete Beziehungen) • Navigation im Modell (z.B. Zoomen in Details) • Suchen im Modell • Prüfung der Wohlgeformtheit des Modells • Export (in relationale DB, als HTML-Ausgabe usw.) • Versionsverwaltung (Anbindung an Rational ClearCase) • Sprache: um Modulkonzept, Typen und strukturierte Ausnahmen erweitertes RoseScript-Basic • Umfang: circa 80 Module mit 1,2MB Umfang (~40.000 LOC)
Beispiel für Werkzeuge (Suche im Modell) Elementsuchdialog Werkzeugleiste
Anbindung an Konfigurationsverwal-tung ClearCase Ebene Elementart Geschäftsf. Anwendung • hohe Zahl von Modellelementen • >5000 Klassen, >5000 Beziehungen • starke Paketierung des Systems zur Abschottung unterschiedlicher Architekturebenen, Geschäftsfelder und Projekte • versionierte Einheit Paket • circa 800 versionierte Einheiten • sehr flexible Konfigurierbarkeit über regelbasierte Auswahl von versionierten Einheiten (ClearCase „Config Specs“) • z.B. Mischung von Ist- und Soll-Modellen aus unterschiedlichen Geschäftsfeldern möglich ...
Erfahrungen mit Werkzeugumgebung • Rational Rose ist kein Metamodellierungswerkzeug • mit RoseScript nur Prüfung im Nachhinein (optional; wie ein Compiler) • Korrektheit per Konstruktion über Mechanismen von RoseScript nicht erreichbar • Verwaltung der extremen Granularität des Gesamtmodells führt mit ClearCase zu größeren Reaktionszeiten • repositorybasierter Ansatz wahrscheinlich sinnvoll • sehr gute Erweiterbarkeit von Rational Rose für spezifischen Anwendungsbereich • robuste und reichhaltige Programmierschnittstelle • auch Oberflächenanpassung möglich • leistungsfähige Skriptsprache • freie Konfigurationszusammenstellung über ClearCase sehr flexibel • Ist-/Sollmodellteile frei kombinierbar