Matthias SchwellenbergDie digitale Welt

Highlights vom 12. Synergy-Anwender-Treffen

Als Partner eines Software-Herstellers wie IBM oder Oracle sollte ein Unternehmen sich als Bindeglied zwischen Hersteller und Kunde verstehen. Im Bereich IBM Rational beispielsweise engagieren wir uns seit Jahren aktiv in der Community rund um die Software-Produkte IBM Rational Synergy und IBM Rational Change. Beim 12. Synergy-Anwender-Treffen Anfang Mai konnten sich die Teilnehmer zu allerlei Neuerungen austauschen. Das wichtigste habe ich hier zusammengefasst.

Synergy ist eines der technologieführenden Werkzeuge zur Verwaltung von Software-Konfigurationen, einer Disziplin die oberhalb des klassischen Versions-Managements angesiedelt ist und vor allem in komplexen Software-Projekten ihre Stärken ausspielt. Rational Change ist das eng mit Synergy gekoppelte Tool zur Verwaltung von Software-Änderungen.

Wir stehen den Kunden bei diesen Produkten nicht nur mit der im Rahmen unserer langjährigen Tätigkeit erworben Kompetenz zur Verfügung, sondern haben bereits 1999 die deutschsprachige Anwendergemeinschaft für Synergy und Change (damals noch „Continuus“) ins Leben gerufen.

Bereits zum zwölften Mal trafen sich in diesem Jahr Vertreter der zur Anwendergemeinschaft zählenden Firmen. Gastgeber war dieses Mal die VW-Tochter AutoVision, die in ihre Wolfsburger Räumlichkeiten einlud. Materna unterstützte dieses Treffen wieder finanziell und organisatorisch und gestaltete auch inhaltlich mit.

Zu Gast war erneut der IBM-Produktmanager Ujjwal Sinha, der für diese Veranstaltung extra aus Bangalore, Indien anreiste. So bot sich den Teilnehmern erneut die Gelegenheit, die für sie wichtigen Themen nicht nur untereinander sondern direkt mit dem zuständigen Vertreter des Herstellers zu diskutieren.

„Katze aus dem Sack gelassen“
Am ersten Tag ließ dieser auch gleich die „Katze aus dem Sack“: Mit dem nächsten Service-Pack für Synergy 7.2.1 wird ein lange und wiederholt von der deutschen Anwendergemeinschaft gefordertes Feature ausgeliefert, nämlich die inhaltsbasierte Synchronisierung von Dateien im Dateisystem mit der Synergy-Datenbank. Bislang erkennt Synergy geänderte Dateien nur anhand des Zeitstempels.

Dies ist zwar in den meisten Fällen ausreichend, birgt aber die Gefahr, dass im Inhalt unveränderte Dateien irrtümlich als neue Versionen im Repository abgelegt werden. Mit dem demnächst verfügbaren alternativen Synchronisierungs-Mechanismus können künftig zum Beispiel Anlieferungen von Kunden oder Partnern besser in die von Synergy verwalteten Entwicklungsstände integriert werden.

Als weiterer Tipp wurde der bereits Ende letzten Jahres veröffentlichte „Cache-Server“ vorgestellt; dieser adressiert verteilte Entwicklungsumgebungen, in denen über WAN-Verbindungen mit einem zentralen Synergy-Server gearbeitet wird.

In diesen Szenarios dominieren momentan verteilte Versionskontrollsysteme wie z. B. Git, die zwar im Vergleich zu klassischen Konfigurations-Management-Werkzeugen über einen geringeren Funktionsumfang verfügen, aber durch das Vorhalten einer kompletten lokalen Kopie des Repositories konkurrenzlos schnell auch große Datenbestände verwalten können. Eine weitergehende Differenzierung werde ich in einem späteren Beitrag zur richtigen Wahl des Versionsverwaltungs-Systems vornehmen.

Der Cache-Server wird an einem entfernten Standort auf herkömmlicher PC-Hardware oder in einer virtualisierten Umgebung installiert. Will ein Entwickler an diesem Standort nun seine Entwicklungsumgebung mit Synergy auf den aktuellen Stand bringen versucht der Client zunächst sich aus dem lokalen Cache-Server zu bedienen. Nur wenn die angefragte Datei im Cache-Repository noch nicht vorgehalten wird, kopiert der Client sich diese vom entfernten Server und legt sie anschließend für spätere Anfragen auf dem Cache-Server ab.

Je höher die Latenzen der WAN-Verbindung und je größer die angefragten Dateien sind, desto besser ist die Performance-Steigerung des Cache-Servers spürbar. Diese betrug in Feldversuchen bis zu 400 Prozent. Um diesen Effekt optimal ausnutzen zu können, lässt sich auf dem Cache-Server unter anderem individuell konfigurieren, ab welcher Dateigröße „gecached“ werden soll.

Pilotentwicklung für VW
Einem anderen Thema widmete sich Christian Köpke von AutoVision: Er demonstrierte eine Pilotentwicklung, mit der künftig im VW-Konzern über eine indizierte Volltextsuche in Synergy archivierte Dokumente gefunden und abgerufen werden können.

Zwar dient Synergy primär der Verwaltung von Software-Quellen, aber in vielen Projekten werden in Synergy-Repositories auch Dokumente versioniert und verwaltet. Die Verzeichnis-Hierarchien, in denen die Dokumente abgelegt werden, wachsen schnell an und erschweren das spätere Wiederfinden.

Mittels Apache Solr erstellt AutoVision derzeit eine Lösung, mit der ein Benutzer Web-basiert nach Dokumenten suchen und sich den Speicherort innerhalb der Synergy-Projekthierarchie anzeigen lassen kann. Falls der Anwender das gesuchte Dokument nicht weiterbearbeiten, sondern lediglich lesen möchte, existiert bei den Suchtreffern ebenfalls ein Direkt-Link in die Synergy-Datenbank, über den sich die Datei herunterladen und anzeigen lässt.

Aktuelle Integrationsprojekte
Bei Materna schauen wir gern auf die Schnittstellen und kümmern uns um die gegenseitige Integration verschiedener „IT-Welten“; da lag es nahe, bei dem Anwendertreffen über unsere aktuellen Integrationsprojekte zu berichten.

Zwar liefert der Hersteller IBM selbst ein Synergy-Plugin für die Entwicklungsumgebung Eclipse, dieses ist aber in vielen Projekten aus verschiedenen Gründen nur schlecht verwendbar. Materna verfolgt hier einen anderen Ansatz: Das Eclipse-Plugin „Materna Edition“ ist möglichst leichtgewichtig konzipiert und bietet nur die Grundfunktionalität, die ein Entwickler bei seiner täglichen Arbeit benötigt. Als Backend kommt eine selbst entwickelte Java-API zum Einsatz, die über das Synergy-Commandline-Interface mit dem Synergy-Server kommuniziert.

Besonderes Augenmerk wird auf das Refactoring gelegt, das vom IBM-Plugin nur rudimentär unterstützt wird. Die besondere Schwierigkeit besteht darin, dass Synergy anders als herkömmliche Versionsverwaltungs-Systeme auf Dateiebene Versionshistorien pflegt, auch wenn diese zwischendurch umbenannt werden und unabhängig davon, in welchem Pfad die Datei sich befindet. Diese Funktion erlaubt es, einzelne Versionen einer Datei innerhalb einer Synergy-Datenbank an verschiedenen Stellen wiederzuverwenden. Das bedeutet aber auch, dass das Synergy-Plugin bei einem Refactoring genau verfolgen muss, welche Datei umbenannt bzw. im Dateisystem wohin verschoben wurde, um dieses dem Synergy-Server mitzuteilen und die Historien korrekt weiterführen zu können. Eine einfache „vorher-nachher“-Sicht, wie sie z. B. bei Git- oder Subversion-Plugins verwendet werden kann, reicht hier nicht aus.

Weiterhin arbeiten wir derzeit an einer möglichst einfach gehaltenen Integration in den Windows-Explorer. Diese soll es gelegentlichen Synergy-Nutzern ermöglichen, auf einfache Weise zum Beispiel Dokumente zu bearbeiten, ohne den vollumfänglichen Synergy-Client nutzen zu müssen.

Weitere Details zu diesen und anderen Synergy-bezogenen Projekten bei Materna folgen in einem separaten Blog-Beitrag.

Networking wird groß geschrieben
Neben diesen Themen gab es noch weitere Vorträge und Aktionen. Einen besonders großen Stellenwert hat jedes Mal das „Networking“ zwischen den Teilnehmern. Entsprechend nimmt der gegenseitige Austausch einen großen Raum bei dem zweitägigen Event ein, sei es beim gemeinsamen Abendessen, in den ausgedehnten Pausen oder wie in diesem Jahr bei der Führung durch die VW-Produktionshallen.

Das abschließende Feedback der Teilnehmer bestätigt die Wichtigkeit solcher Zusammenkünfte – einerseits, um in Vorträgen über Neuerungen bei IBM oder besondere Projekte bei Kunden und Partnern zu erfahren und andererseits, um über den kurzen „Dienstweg“ Hilfen, Anregungen und How-Tos von den übrigen Teilnehmern zu erhalten. Am Ende ist jeder mit neuen Erkenntnissen nach Hause gefahren, die er sonst gar nicht oder nur über Umwege hätte erlangen können.

Ich freue mich schon auf das nächste Anwendertreffen im Mai 2015. Bewerbungen für den Austragungsort nimmt das Orga-Team ab sofort entgegen!

Weitere Informationen
Web-Präsenz der deutschsprachigen Synergy-Anwendergemeinschaft
Best practices for Rational Synergy cache server
Apache-Solr-Projekt

Schlagwörter: , ,