IBM Rational-Produkte für Modellierung können erweitert werden, um den spezifischen Anforderungen eines ganzen Unternehmens, eines Projekts oder eines einzelnen Benutzers gerecht zu werden. Die Erweiterung kann einfach durch Definieren zusätzlicher Eigenschaften oder durch Definieren eines vollständig neuen Plug-ins erfolgen.
Die Erweiterungsfunktionen in Rational-Modellierungsprodukten basieren auf Open-Source-Komponenten von Eclipse und unterstützen verschiedene Erweiterungsmöglichkeiten, einschließlich der folgenden typischen Erweiterungen:
Alle oben genannten Beispiele verwenden eine Kombination aus Anwendungsprogrammierschnittstellen (APIs), Erweiterungspunkten, spezialisierten Entwicklungsumgebungen und Dienstprogrammen. Informieren Sie sich über die von Eclipse bereitgestellten Erweiterungskomponenten und über die Rational-Modellierungsprodukte, um zu erfahren, wie Sie Ihre Erweiterungen implementieren können.
Die Rational-Modellierungsprodukte basieren auf der Eclipse-Erweiterungsarchitektur, die auch Ihnen zur Verfügung steht.
Die bereitgestellten Plug-ins und Erweiterungspunkte bilden die Basis für Erweiterbarkeit von Eclipse. Im Grunde besteht Eclipse aus einer Reihe von Plug-ins. Ein Plug-in ist in der Programmiersprache Java codiert und in einem Plug-in-Verzeichnis gespeichert. Jedes Plug-in enthält eine Manifestdatei, in der die Erweiterungspunkte deklariert werden, die für andere Plug-ins zur Verfügung gestellt werden, und die Erweiterungspunkte anderer Plug-ins, die genutzt werden. Die Plug-in-Entwicklungsumgebung (Plug-in Development Environment, PDE), die Teil des Eclipse SDK (Software Development Kit) ist, stellt eine Reihe von Tools bereit, die in allen Phasen der Plug-in-Entwicklung Unterstützung bieten.
Zu den von Eclipse bereitgestellten Java-Entwicklungstools (Java Development Tooling, JDT) gehört eine Java-IDE, mit der Java-spezifisches Verhalten zur Eclipse-Plattform hinzugefügt werden kann, um Plug-ins zu erstellen, die mit Java-Programmen oder -Ressourcen interagieren.
Eine Eclipse-Komponente, die unmittelbar mit der Modellierung zu tun hat, ist EMF (Eclipse Modeling Framework - Eclipse-Modellgerüst. Die auf diesem Modellgerüst basierenden Tools und Anwendungen können aus Modellen effizienten und anpassungsfähigen Java-Code generieren. In EMF werden Modelle mit Hilfe von XML Metadata Interchange (XMI) definiert. Dieses Standarddateiformat vereinfacht den Modellaustausch zwischen Tools und die Bearbeitung der dazugehörigen Daten.
Verwenden Sie die UML2-APIs, um Modellzugriff auf der richtigen Abstraktionsebene und in Übereinstimmung mit UML 2.0 zu gewährleisten. Diese APIs stellen eine EMF-basierte Implementierung des UML 2.0-Metamodells zur Verfügung.
Die Erweiterungsfunktionen der Rational-Modellierungsprodukte in Form von zusätzlichen Plug-ins mit dazugehörigen Erweiterungspunkten und APIs basieren auf den Eclipse-Funktionen. Außerdem bieten die Rational-Produkte durch Pluglets eine einzigartige Möglichkeit zum Erweitern der Workbench, ohne ein formelles Plug-in zu erstellen.
Die Modellierungs-APIs ermöglichen das Manipulieren von Modellen. Unter den mitgelieferten Paketen ist die MSL-API (MSL = Modeling Services Layer) besonders zu erwähnen. Sie ist hilfreich für die Modelländerungsprüfung und -benachrichtigung im Stapelbetrieb. Die Notations-API macht Aspekte der Diagrammdarstellung (z. B. Farbe und Größe) zugänglich.
Die Muster-API beschreibt das Musterframework, mit dem Muster auf eine Gruppe von Modellelementen angewendet werden können. Diese API ergänzt die in den Modellierungsprodukten bereitgestellten Funktionen für Mustererstellung und Anwendungen.
Die Umsetzungs-API beschreibt das Umsetzungsframework, mit dem ein Modell in ein anderes Modell oder Metamodell umgesetzt werden kann. Nur mit Rational Software Architect erstellte Umsetzungen generieren Code. Im Lieferumfang von Software Architect ist Unterstützung für Java- und C++-Umsetzungen enthalten, aber das Framework kann auch verwendet werden, um andere Sprachen zu unterstützen.
Die RAS-API dient zum Bearbeiten von Softwarebausteinen, die mit RAS (Reusable Asset Specification) kompatibel sind, und stellt Funktionen bereit, die auf die RAS-Funktionen in den Modellierungsprodukten aufsetzen.
Pluglets sind Java-Anwendungen, die anstelle von Plug-ins verwendet werden können, um die Workbench zu erweitern. Wie Plug-ins bieten auch Pluglets Zugriff auf die zugeordneten APIs, und Autoren von Pluglets können die Java-Entwicklungsumgebung verwenden. Die Pluglets können jedoch im selben Workbenchexemplar getestet werden (ein Menüpunkt zum Ausführen des von Ihnen erstellten Pluglets wird hinzugefügt).
Die Pluglet-API macht die von Pluglets verwendeten Eigenschaften und Services zugänglich.
Die Rational-Modellierungsprodukte unterstützen weiterhin uneingeschränkt die Verwendung, Erstellung und Erweiterung von Eclipse-Standard-Plug-ins.