
Integrationsprojekt über CVS gemeinsam nutzen
IBM® Integration Designer bietet die Möglichkeit, Anwendungen mithilfe von Concurrent Versions System (CVS) in einer Teamumgebung zu entwickeln.
Informationen zu diesem Vorgang
- Hinzufügen (Freigabe für gemeinsame Nutzung) eines Projekts zu CVS
- Synchronisierung von Änderungen zwischen der lokalen Anwendung und dem fernen Repository
- Festschreiben lokaler Änderungen im fernen Repository
- Aktualisieren (Ersetzen) von lokalen Arbeitsbereichsartefakten durch die jeweils neueste Version im fernen Repository
Die Ansicht 'Business Integration' stellt eine logische Ansicht der Ressourcen in den einzelnen Modulen, Mediationsmodulen und Bibliotheken bereit. In jedem Projekt sind die Ressourcen nach Typ kategorisiert. Logische Ressourcen, die in der Navigationsstruktur der Ansicht 'Business Integration' angezeigt werden, weisen nicht unbedingt eine Eins-zu-eins-Zuordnung zu physischen Dateien auf. Wenn Sie die Menüoptionen unter Team verwenden, werden Sie feststellen, dass die in den Ansichten 'Synchronisieren' und 'CVS-Repositorys' angegebenen physischen Dateien nicht direkt den Ressourcen zugeordnet sind, die in der Ansicht 'Business Integration' angezeigt werden. Arbeiten Sie stets in der Ansicht 'Business Integration', wenn Sie ein Projekt gemeinsam nutzen oder Änderungen festschreiben. Dann werden alle erforderlichen Ressourcen gemeinsam genutzt bzw. festgeschrieben.
Informationen hierzu finden Sie auch im folgenden technischen Dokument auf der Site von IBM developerWorks: Team development with WebSphere Integration Developer and WebSphere Process Server: Developing applications using CVS.
Die nachfolgenden Themen veranschaulichen die Basisschritte zur gemeinsamen Nutzung eines Projekts beim Arbeiten in einer CVS-Umgebung.
Vorgehensweise
Ergebnisse
Beispiel
- Änderungen festschreiben
- Nehmen Sie an, dass Sie an einem gemeinsam genutzten Modul namens 'DataMergeModule' Änderungen vorgenommen haben.
Im Assemblierungsdiagramm haben Sie einen BPEL-Prozess namens 'TransferFromBrokerageToBankProcess' hinzugefügt und diesen Prozess mit zwei neuen
Java™-Komponenten verbunden.
Die Java-Komponenten
werden als 'Component1Impl' und 'Component2Impl' implementiert. Nach dem Speichern des Assemblierungsdiagramms wird in der Ansicht
'Business Integration' der Dekorator > neben den drei geänderten Ressourcen 'DataMergeModule', 'Component1Impl' und 'Component2Impl' angezeigt.
Bevor Sie Ihre Ressourcen festschreiben, sollten Sie das Projekt stets mit dem Repository synchronisieren, um die geänderten Ressourcen im lokalen Arbeitsbereich und im Repository anzuzeigen. Wählen Sie das Projekt aus, klicken Sie auf die rechte Maustaste und wählen Sie Team > Mit Repository synchronisieren aus. Die Ansicht 'Synchronisieren' zeigt die physischen Dateien im Modul an. Änderungsdekoratoren geben die geänderten Dateien an.
Wechseln Sie zur Ansicht 'Physische Ressourcen'. In dieser Ansicht werden auch die geänderten physischen Dateien angezeigt, die jeweils mit dem Dekorator > markiert sind.
Fügen Sie immer vollständige Module zu CVS hinzu bzw. checken Sie immer vollständige Module aus CVS aus, keine einzelnen Ordner oder Artefakte. Führen Sie das Festschreiben der Änderungen in der Ansicht 'Business Integration' aus. Wählen Sie das Modul aus, klicken Sie auf die rechte Maustaste und wählen Sie Team > Festschreiben aus. Durch das Festschreiben wird CVS mit einer neuen Version der betreffenden Datei aktualisiert. Im Falle von Konflikten haben Sie die Möglichkeit, diese Konflikte anzuzeigen und zu beheben.
Wenn Sie eine durch Authoring erstellte Datei aus Ihrem lokalen Arbeitsbereich löschen und eine Synchronisation mit CVS durchführen, wird neben dem Artefakt ein Minuszeichen (-) angezeigt. Dies bedeutet, dass das Artefakt vom Server gelöscht wird.
Im Rahmen des Festschreibungsprozesses wird eine leere Dateistruktur in CVS hochgeladen, obwohl alle Dateien in den Ordnern abgeleitet sind. Leere Ordner werden standardmäßig bereinigt, wenn Sie ein Modul extrahieren. Möglicherweise wird eine Fehlernachricht bezüglich eines fehlenden Verzeichnisses 'gen/scr' angezeigt. Sie können diese Nachricht ignorieren. CVS markiert die Auslassung, wenn das Verzeichnis fehlt; das Verzeichnis 'gen/scr' ist jedoch optional.
- Projekt aus gemeinsam genutztem Repository auschecken
Wenn Sie ein Modul aus CVS auschecken, wird das gesamte Servicemodul extrahiert, sodass Sie zuvor kein Schalenmodul zu erstellen brauchen. Die gesamte Projektstruktur, die in CVS enthalten ist, wird in der Ansicht 'Business Integration' spiegelgleich abgebildet. Ausnahme: Nach jedem Eintrag aus dem SCM-System steht die Bezeichnung CVS in eckigen Klammern.
Bevor Sie ein Projekt auschecken, müssen Sie es synchronisieren, um Änderungen anzuzeigen, die möglicherweise von einem anderen Teammitglied an der Serverversion des Projekts vorgenommen worden sind. Wählen Sie das Projekt in der Ansicht 'Business Integration' aus, klicken Sie auf die rechte Maustaste und wählen Sie Team > Synchronisieren aus. Der nach links zeigende Pfeil neben einer Datei zeigt an, dass die betreffende Datei im gemeinsam genutzten Repository geändert wurde. Führen Sie vor dem Festschreiben von Änderungen stets eine Synchronisation mit dem Repository durch.
Um ein Projekt auszuchecken, wechseln Sie in die Ansicht 'CVS-Repositorys', wählen Sie das gewünschte Projekt aus, klicken Sie mit der rechten Maustaste und wählen Sie Auschecken aus. Checken Sie auch abhängige Bibliotheken aus, wenn Sie Artefakten aus diesen benötigen.
- Änderungen im Arbeitsbereich empfangen
- Verwenden Sie den Aktualisierungsbefehl update, um CVS auf Änderungen zu überprüfen, die eventuell von anderen vorgenommen wurden, und um Ihre
lokalen Dateien entsprechend zu aktualisieren, falls Änderungen gefunden werden. Mit dem Aktualisierungsbefehl werden neue ferne Versionen von Dateien in Ihren
lokalen Arbeitsbereich gestellt. Führen Sie stets eine Synchronisation durch, bevor Sie Ihre Dateien aktualisieren. Verwenden Sie den Befehl update
with override (Aktualisieren mit Überschreibung) mit großer Vorsicht, da hierdurch lokale Dateien ersetzt werden,
ohne dass bei eventuellen Konflikten vorher eine
Warnung ausgegeben wird.
Möglicherweise wird eine Fehlernachricht bezüglich eines fehlenden Verzeichnisses gen/scr angezeigt. Sie können diese Nachricht ignorieren oder die Option für Verzeichnisbereinigung inaktivieren, um diese Nachricht nicht mehr anzeigen zu lassen. Wählen Sie im Menü die Optionen aus. Wählen Sie die Option Leere Verzeichnisse bereinigen ab. Klicken Sie auf OK.
- Dateien vergleichen
- Um den Unterschied zwischen den lokalen und den fernen Dateien anzuzeigen, können Sie die Dateien im Vergleichseditor öffnen. Wählen Sie in der Ansicht 'Synchronisieren' eine Datei aus, klicken Sie mit der rechten Maustaste und wählen Sie dann Im Vergleichseditor öffnen aus. Die fernen und lokalen Dateien werden daraufhin in einem Texteditor geöffnet, wobei die Änderungen hervorgehoben werden.
- Behebung von Konflikten
- Wenn zwei Mitglieder des Teams dasselbe Modul auschecken, Änderungen an demselben BPEL-Prozess oder Service vornehmen und ihre Änderungen einchecken, tritt ein
Konflikt auf. Versuchen Sie, Konflikte zu vermeiden, indem Sie häufig eine Synchronisation durchführen und indem Sie versuchen sicherzustellen, dass jeweils immer
nur eine Person an einer Komponente arbeitet, oder indem Sie das Eigentumsrecht an jeder Komponente jeweils einem Entwickler zuordnen.
Die Behebung von Konflikten kann sich als schwierig erweisen, wenn ein Benutzer mit den Artefakten nicht vertraut ist, da die Konfliktbehebung auf Ebene der XML-Struktur der zugrunde liegenden Dateien stattfindet. Normalerweise ist es besser, eine Aktualisierung mit einer neuen Version der Artefakte vorzunehmen und Ihre Änderungen in die neue Kopie zu integrieren als zu versuchen, Konflikte in XML zusammenzuführen.
Bestimmte Dateien können als 'nicht synchron' markiert werden, auch wenn sie augenscheinlich identisch sind. Diese Bedingung kann eintreten, wenn die Dateien unterschiedliche Zeitmarken aufweisen. Verwenden Sie die Option zur Bereinigung von Zeitmarken, um derartige Probleme automatisch zu beheben.