Language: Deutsch English















Last Update: 2017 - 03 - 20





Quellcodeverwaltungssysteme und Access

Ursprünglich veröffentlicht: 18. Dezember 2004

Zuletzt aktualisiert: 23. Oktober 2016

Dies soll kein umfassender Überblick über Quellcode- und Versionsverwaltungssysteme (im folgenden Text oft abgekürzt als SCM-Systeme bezeichnet (SCM = Software Configuration Management)) werden. Stattdessen möchte ich kurz meine, teilweise nur sehr oberflächlichen, Eindrücke und Erfahrungen mit einigen dieser Systeme, insbesondere im Zusammenspiel mit Access, wiedergeben, da dies ein Thema ist, das sonst eher stiefmütterlich behandelt wird.

Das Kernproblem in diesem Kontext ist weniger ein geeignetes Quellcodeverwaltungssystem zu finden, sondern eher es von Access aus komfortabel zu bedienen. - Es scheint wohl leider so, dass ein Großteil der Access-Entwickler mit professioneller Quellcodeverwaltung nicht viel am Hut hat und sich andersherum die meisten SCM-System-Anbieter nicht besonders um Access kümmern. Bei dieser Ausgangsituation musste ich die meisten, der hier wiedergegebenen Erfahrungen, selbst machen.

Die grundsätzlichen Vorteile eines SCM-Systems möchte ich in diesem Artikel nicht erläutern, da sie vermutlich sowieso jeder kennt, der sich für diesen Artikel interessiert.

Besonderer Dank gebührt an dieser Stelle Mark Dörbandt, der mich nach einer Phase der Resignation wieder so für dieses Thema begeistern konnte, dass ich diesen Artikel geschrieben habe.

Nun genug des Vorgeplänkels, in Medias res!


Zu Beginn gleich ein wichtiger Hinweis für die Access Entwickler:

Access selbst unterstützt von sich aus nicht die SCC-API (MSCCI). Dafür muss zusätzlich ein spezielles PlugIn für Access installiert werden. Für Access 97 bis 2002 (XP) ist dieses PlugIn im Lieferumfang der Developer Edition von Access enthalten. Für Access 2003 kann (muss) das PlugIn kostenlos direkt von der Microsoft Website heruntergeladen werden.

Die URL für den Download ist: https://www.microsoft.com/en-us/download/details.aspx?id=6939

Access 2007 Download: Access Developer Extensions

Für Access 2007 ist das Source Code Control Add-In in den Access 2007 Developer Extensions enthalten. Diese sind unter der URL http://www.microsoft.com/de-DE/download/details.aspx?id=24569 kostenlos zum Download erhältlich.

Microsoft Access 2010 Source Code Control

Für Access 2010 gibt es das Source Code Control Add-In, ebenfalls kostenlos, als einzelnen Download unter dieser URL: http://www.microsoft.com/de-DE/download/details.aspx?id=6840

Access 2013

Microsoft hat mit der Veröffentlichung von Office 2013 bekannt gegeben, dass es von Microsoft kein Add-In für die Quellcodeverwaltung in Access 2013 geben wird! – Diese Situation hat sich mit Access 2016 nicht geändert.

Da ich für meine Arbeit die Integration einer Quellcodeverwaltung in Access benötige, habe ich selbst ein solches Add-In entwickelt. Ivercy - Seamless source code control integration for Microsoft Access ist seit September 2015 als kommerzielles Produkt verfügbar. Weitere Informationen gibt es auf der Ivercy Webseite.



Visual Source Safe

Visual SourceSafe (VSS) ist die naheliegende Lösung für Access-Entwickler, die ein Quellcodeverwaltungssystem einsetzen möchten. Im Lieferumfang der Developer-Edition von Access ist Visual Source Safe sowie ein geeignetes Plugin für Access enthalten. Die Installation verläuft straight forward und danach kann man mit einer sehr geringen Einarbeitungszeit sofort loslegen.

Aber wenn das Alles wäre, hätte ich diesen Artikel wohl nie geschrieben und wenn doch, wäre er hier zuende. - Es ist es leider nicht. Visual Source Safe hat leider einige gravierenden Nachteile. U.a. benötigt VSS direkten Zugriff auf das Repository im Dateisystem. D.h. jeder Entwickler muss direkt auf eine Windows-Netzwerkfreigabe zugreifen können um mit VSS zu arbeiten. Eine Verschlüsselung der Kommunikation ist nicht vorgesehen.

Diese Voraussetzung läßt sich heute in vielen Projekten nicht erfüllen, da in verteilten Teams gearbeitet wird. Weiterhin ist das Kommunikationsprotokoll von VSS offenbar sehr aufgeblasen, so dass ein Zugriff über eine ISDN- oder Modem-Wählleitung praktisch kein effektives Arbeiten erlaubt.

Ich selbst habe VSS für ca. 3 Jahren bei allen meinen Projekten eingesetzt, auch wenn ich der einzige Entwickler war. Auch in Teams bis zu 5 Entwicklern habe ich praktisch mit VSS gearbeitet und VSS wurde den Anforderungen gerecht. Der praktische Einsatz von VSS bei der professionellen Entwicklung mit MS Access ist also definitiv möglich und in vielen Szenarien nach wie vor sicherlich die beste, weil einfachste, Lösung.

Getestete Versionen: Visual Source Safe 6a und 6c
Lizenzkosten: ca. US$ 550,- pro Entwickler
URL: https://msdn.microsoft.com/en-us/library/ms950420.aspx

PS: Inzwischen ist die erste öffentliche Beta-Version von Visual Source Safe 2005 auf der Microsoft Website veröffentlicht worden. Mit VSS 2005 werden wahrscheinlich die meisten hier beschriebenen Mängel von Visual Source Safe behoben. Diese Beta-Version funktioniert angeblich nicht in Access, daher habe ich mir bisher nicht die Mühe gemacht sie zu testen.

Update Date="2015-04-27"

Inzwischen ist Microsoft Visual Source Safe Geschichte. Visual Source Safe 2005 war die letzte Version dieses Produktes. Der Mainstream Support für diese Version endete am 10. Juli 2012. Die letzte offizielle Webseite diese Produkts ist unter dieser URL zu finden: http://msdn2.microsoft.com/de-de/vstudio/aa718670.aspx



Source Off Site (VSS)

Bei Source Off Site handelt es sich nicht um ein eigenes Quellcodeverwaltungssystem, sondern nur um einen Kommunikationsdienst der praktisch ein Visual-Source-Safe-Repository kapselt. D.h. auf einem Rechner, von dem aus ein direkter Dateisystemzugriff auf das VSS-Repository möglich ist und auf dem die Client-Version von VSS installiert sein muss, wird der Source-Off-Site-Server installiert. Die Source-Off-Site-Client kommunizieren dann über TCP/IP mit dem Server, der dann über die Source-Safe-API auf das Source-Safe-Repository zugreift. Der Source-Off-Site-Server ist in .NET implementiert und hat 128Bit-Verschlüsselung integriert.

Das Plug-In funktioniert auch in Access und ich konnte bei meinem, allerdings nicht besonders intensiven, Test keine Probleme feststellen.

Getestete Version: 4.0.2 vom Mai 2004
Lizenzkosten: US$ 239,- pro Entwickler
Zusätzlich ist für jeden Benutzer eine entsprechende Lizenz für den Zugriff auf Visual Source Safe erforderlich.
URL: http://www.sourcegear.com/sos/



Vault

Vault wird, wie auch Source Off Site, von SourceGear entwickelt und vertrieben. Kein Wunder also, dass Vault auch problemlos mit dem SCC-AddIn für Access funktioniert. Die Client-GUI ist sowohl vom Layout als auch von der Funktionalität sehr eng an Source Safe angelehnt, daher ist praktisch kaum eine Umgewöhnung erforderlich, wenn man bereits mit Source Safe vertraut ist.

Die Besonderheit von Vault ist, dass kein herkömmliches dateibasierendes Repository verwendet wird, sondern die Quellcodedateien werden in einem MS-SQL-Server 2000 (oder MSDE) gespeichert. Die Kommunikation zwischen Client und Server wird über einen .NET-Webservice realisiert, wobei nicht immer die vollständigen Dateien übertragen werden, sondern nur ein Diff, d.h. die Information, was an dem Dokument geändert wurde. Daraus resultiert, insbesondere bei Netzwerkverbindungen mit geringer Bandbreite, eine vergleichsweise hohe Geschwindigkeit des Systems.

Der Server benötigt einen Microsoft Internet Information Server (IIS) mit ASP.NET und Zugriff auf eine Microsoft-SQL-Server-2000-Instanz (oder MSDE). Der SQL-Server muss aber nicht notwendigerweise auf dem gleichen Rechner installiert sein wie die Server-Komponente von Vault. Sowohl der Server, als auch die Client-Anwendung von Vault erfordern das .NET-Framework (1.1).Die Netzwerkkommunikation kann über die SSL-Funktionalität des IIS verschlüsselt werden.

Zu Vault sollte man noch anmerken, dass es für den Single-User-Betrieb kostenlos ist.

Getestete Version: 3.0.1 von 2004
Lizenzkosten: US$ 199,- pro Entwickler, ohne Support (Single-User kostenlos)
URL: http://www.sourcegear.com/vault/



Jalindi Igloo (CVS)

Jalindi Igloo ist ein Wrapper um den win-cvs Client für das CVS Quellcodeverwaltungssystem. In Visual Studio (6.0 und .NET) funktioniert Jalindi Igloo als Plug-In in die DIE über die SCC-API. Die grundlegenden Funktionen Jalindi Igloo arbeiten in VS ohne Probleme, aber ich habe selbst nicht ernsthaft und längerfristig getestet, daher kann ich keine Aussage dazu machen, ob sich Jalindi Igloo in VS wirklich für den produktiven Einsatz eignet. Tatsache ist, Jalindi Igloo ist nach wie vor im Beta-Stadium und angeblich gibt es einige Bugs in Jalindi Igloo, was besonders schwerwiegend ist, da dieses Plug-In nicht mehr weiterentwickelt wird.

In Access funktioniert Jalindi Igloo leider gar nicht!

Getestete Version: 1.1d vom 11. April 2002
Lizenzkosten: keine (zu großen Teilen Open Source)
URL: http://www.jalindi.com/igloo/


PushOK CVS SCC proxy

Wie der Name schon vermuten lässt, ist der PushOK CVS-SCC-Proxy kein vollständiges SCM-System, sondern ähnlich wie Jalindi Igloo im Wesentlichen nur ein PlugIn für die SCC-API, das das winCVS-Frontend für das CVS-Quellcodeverwaltungssystem kapselt. Im Gegensatz zu Jalindi-Igloo funktioniert die grundsätzliche Integration vom PushOK-CVS-Proxy sowohl in Visual Studio und Access weitgehend stabil.

Leider bin ich beim Testen des Addins auf einen unangenehmen Bug gestoßen. Access-Objekte mit langen Namen (mehr als ca. 40 Zeichen) oder Objekte deren Namen ein Leerzeichen enthält gehen verloren, wenn eine Access-Datenbank aus dem Repository neu erstellt wird. Als Workaround kann man zwar diese Objekte mit ein wenig Gefummel auch nachträglich über die undokumentierte LoadFromText-Funktion von Access wieder in die Access-Anwendung einbinden und dann auch über den CVS-SCC-Proxy verwalten, aber dennoch ist dieser Fehler ein ziemlicher Showstopper. Da der CVS-SCC-Proxy aktiv weiterentwickelt wird und auch Access-spezifische Probleme adressiert werden, bleibt zu hoffen, dass das Problem in einer zukünftigen Version behoben wird (Bug-Report liegt PushOK vor).

Trotz dem oben beschriebenen, recht gravierenden Fehler ist der CVS-SCC-Proxy ein Produkt, dass, vor allem bei dem sehr günstigen Preis, auch von Access-Entwicklern besondere Beachtung verdient.

Update: Einige Zeit nachdem ich diesen Artikel erstmalig veröffentlicht hatte, hat sich das Push-OK-Team bei mir gemeldet und mich informiert dass dieser Fehler in der Version 2.0.2 050419 behoben ist.

Getestete Version: 1.2.040806 von August 2004
Lizenzkosten: US$ 19,- pro Entwickler
URL: http://www.pushok.com/soft_cvs.php



Perforce

Der Luxusliner unter den Quellcodeverwaltungssystemen, leider auch was den Preis angeht. Kein anderes System bietet so viele Features wie Perforce, daher sollte man hier mit einer etwas längeren Einarbeitungszeit rechnen. Insbesondere das Konzept der Client-Workspaces, ist für VSS-Benutzer etwas gewöhnungsbedürftig, aber umso nützlicher, wenn man Wert auf den Offline-Einsatz des SCM-Systems legt. Die Featureliste ist so lang, dass ich hier nicht weiter auf einzelne Details eingehen möchte, nur einen Punkt möchte ich hier noch erwähnen. Auch Perforce hat keine integrierte Verschlüsselung, so dass bei der Kommunikation über ein unsicheres Netzwerk (Internet) unbedingt auf ein VPN oder einen SSH-Tunnel zurückgegriffen werden sollte.

Besonders bemerkenswert ist noch, dass eine kostenlose Demo-Version von Perforce gibt, die mit 2 Benutzern und 2 Client-Workspaces uneingeschränkt funktioniert!

Bei meinem eigenen Test konnte ich sowohl mit Visual Studio 6 als auch mit Access keinerlei Probleme feststellen. Das PlugIn integriert sich sauber in die jeweiligen IDEs und konnte alle verfügbaren Operationen ohne das kleinste Problem umsetzen!

Von Karsten Pries habe ich kürzlich die Information erhalten, dass er bei Perforce einen ähnlichen Fehler festgestellt hat, wie den der verschwindenden Objekte, den ich bei dem PushOK-CVS-SCC-Proxy beschrieben habe. Leider habe ich im Moment keine lauffähige Perforce-Installation und auch nicht die Zeit um diesem Problem genauer auf den Grund zu gehen.

Getestete Version: 2003.2 von November 2003
Lizenzkosten: US$ 750,- pro Entwickler
(Kostenlos für Open Source Projekte!)
URL: http://www.perforce.com/



VSS.NET

VSS.NET ist, obwohl der Name dies vermuten lässt, kein Produkt von Microsoft, sondern wurde von der Firma DMB Consulting entwickelt. Bei diesem Produkt handelt es sich um einen (.NET-)Webservice, der ähnlich wie Source Off Site, als Wrapper um Visual Source Safe funktioniert und auf einem Webserver (IIS) installiert wird, der direkten Zugriff auf das VSS-Repository hat. Die Zugriffe auf das Repository erfolgen dann über den VSS.NET-Webservice. Zusätzlich ist auf jedem Rechner, der VSS.NET nutzen möchte ein spezieller Client für den Webservice erforderlich, der dann als SCC-PlugIn in die jeweilige DIE geladen wird. Sowohl bei dem Client als auch bei dem Server handelt es sich um .NET basierende Anwendungen. Als Systemvoraussetzung muss also das .NET-Framework installiert werden.

Die für VSS.NET erforderliche Konfiguration des Webserver-Rechners erscheint mir, insbesondere aus einem sicherheitskritischen Blickwinkel, recht abenteuerlich. Eine integrierte Verschlüsselung der Kommunikation des VSS.NET-Clients mit dem Server ist nicht vorgesehen. Aus diesen Gründen ist meines Ermessens der Einsatz von VSS.NET über das Internet nur in Verbindung mit einem VPN tragbar.

Mein persönlicher Test dieses Produkts ist leider außerordentlich enttäuschend verlaufen. Sowohl in Access, als auch in Visual Studio 6 ist das VSS.NET-PlugIn bei nahezu allen Aktionen mit Laufzeitfehlern abgestürzt.

Getestete Version: 1.67 von Oktober 2003 (Dies ist die letzte Version, die bisher veröffentlich wurde)
Lizenzkosten: US$ 99,- pro Entwickler
(Kostenlos für den nicht kommerziellen Einsatz.)
Zusätzlich ist für jeden Benutzer eine entsprechende Lizenz für den Zugriff auf Visual Source Safe erforderlich.

Update Date="2015-04-27"

Dieses Produkt gibt es nicht mehr. Die Produkt-URL wurde durch die URL des Anbieters ersetzt.

URL: http://www.dmbcllc.com/



Weitere

Es gibt natürlich noch einige weitere SCM-Systeme, die ich bisher nicht getestet habe und daher hier nicht aufführe. Ich hoffe, dass ich bald die Zeit finde, weitere SCM-Systeme zu testen und den Text hier entsprechend zu ergänzen.





Feedback zu diesem Text bitte an phil@codekabinett.com


Share this article: Share on Facebook Tweet Share on LinkedIn Share on XING

Abonniere meinen Newsletter

*

Ich werde Deine Email-Addresse niemals weitergeben. Du kannst den Newsletter jederzeit abbestellen.



© 1999 - 2016 by Philipp Stiefel