Benutzer:Mheilige/Dimensions CM

aus Wikipedia, der freien Enzyklopädie
Serena Dimensions CM
Basisdaten

Entwickler Serena Software
Erscheinungsjahr 1988
Aktuelle Version Serena Dimensions CM 14.2.0.2
(März 2016)
Betriebssystem Windows / Linux / Solaris / Z/OS / AIX / HPUX
Programmiersprache C++
Kategorie Konfigurationsmanagement
Lizenz proprietär
deutschsprachig nein
[1]

Serena Dimensions CM ist eine plattformübergreifende Softwarelösung für das Konfigurationsmanagement in Unternehmen und Behörden. Es beinhaltet Funktionen zur Versionsverwaltung, dem Change-Management, dem Lifecycle-Management und dem Build- und Release-Management.

Architektur

Dimensions CM ist als Client-Server-Architektur realisiert. Als Datenbanken stehen dabei verschiedene Versionen des Oracle RDMBS (z. B. 11.2.0.4, 12.1) und Microsoft SQL Server (z. B. SQL Server 2010, SQL Server 2012) zur Verfügung. Als Applikations-Server dient Apache Tomcat, der u. a. die Applikationen für den Web-Client, die Administrationsoberfläche und mit Serena Pulse eine Komponente für das Team-basierte Arbeiten von Software-Entwicklern incl. Code-Analyse zur Verfügung stellt.

Die versionierten Dateien oder auch Configuration items genannt, werden dabei in der sog. Item Library auf einem serverseitigen Filesystem abgelegt und durch Caching-Mechanismen auf den Clients als Kopie vorgehalten (Personal Library Cache).

Der Zugriff auf die Item Library erfolgt immer über eine Server-Prozeß, um eine geeignete Benutzer-Authentifizierung sicherzustellen. Dabei werden verschiedene Methoden unterstützt u. a. NIS, NIS+, PAM oder LDAP/LDAPS.

Die zur Verfügung stehenden Clients beinhalten eine Windows Applikation, WebDAV, einen Web-Client, verschiedene Kommandozeilen (dmcli, dmpmcli, dm, dmdba) sowie die Integration in den Windows Explorer zur Synchronisation von Verzeichnissen. Entwickler können darüber hinaus direkt mit Ihrer Software-Entwicklungs-Umgebung (MS Visual Studio, Eclipse, etc.) auf den Dimensions Server zugreifen.

Verschiedene serverseitige Prozesse ermöglichen die Kommunikation mit anderen Systemen und Dimensions Agents, die auf unterschiedlichen Plattformen dem Dateiaustausch und dem Verteilen von Komponenten (Deployment) dienen. Es ist sowohl ein zeitgesteuertes Ausführen von Kommandos mittels Scheduling möglich (z. B. für Nightly Builds, Continuous Builds), als auch eine Benachrichtigung von Benutzern über Ihnen zugewiesene Aufgaben oder durchgeführte Aktionen.

Seit der Version 14 steht desweiteren eine Schnittstelle für Subversion-Frontends zur Verfügung. Anstelle von Subversion Repositories wird dabei der Dimensions Server als zentraler Ort zur Ablage von Dateien verwendet.

Als Erweiterung der vorhandenen Funktionalität steht sowohl eine C++ als auch eine Java-API zur Verfügung. Mit der C++ API lassen sich sog. Trigger realisieren, die der erweiterten Plausibilitätsprüfung oder dem Verketten von Aktionen dienen, um nach einem Dimensions Kommando weitere abhängige Kommandos serverseitig auszuführen.

Releases

Version Verfügbar seit Neue Funktionen
14 2014 Subversion Integration
12 2011 Serena Pulse
2009 2009 Optimistische Arbeitsweise mit streams, atomic commit
10 2006 Synchronize Wizard, flexiblere Berechtigungsvergabe mit Privilegien
9 2005 Integration eines eigenen Build-Managements
8 2003 Webbasierte Administration
7 2001 Einführung von Design Parts als logisches Gliederungsmerkmal

Funktionsbeschreibung

Dimensions CM wird im wesentlichen als umfassendes Werkzeug in der Software-Entwicklung verwendet und eignet sich für verschiedene Vorgehensmodelle zur Softwareentwicklung, z. B. nach dem Wasserfallmodell. Durch die Integration in andere Entwicklungsumgebungen (Microsoft Visual Studio, Eclipse, u. a.) und den Projektcontainer Streams, kann Dimensions CM aber auch in agilen Entwicklungsbereichen eingesetzt zu werden (Copy-Modify-Merge Ansatz).

Der Build der Software wird durch ein eigenes Build-Management System unterstützt, welches wiederum Schnittstellen zu Tools wie Ant, etc. bietet.[1]

Die Performance des Systems hängt von verschiedenen Faktoren ab. Dazu gehören neben der Datenbank und der Netzbandbreite (Kompressions-Algorithmen zur Reduzierung der zu übertragenden Datenmenge) vor allem der Zugriff auf das Filesysystem der Item Library. Clientseitige Caches sowie der Einsatz eines geeigneten Load-Balancers ergänzen dabei die Möglichkeiten zur Optimierung.

Eine wichtige Merkmal von Dimensions CM ist die Möglichkeit, revisionssichere Stände in einem eigenen Objekttyp Baseline festzuhalten.

Version 14 erweitert das Konzept der Baseline mit sogenannten Changesets. Baselines müssen aktiv vom Benutzer erstellt werden. Changesets dagegen werden automatisch im Hintergrund bei jeder einzelnen Operation eines Benutzers erzeugt. Jedes Changeset erhält eine eindeutige Kennung, die bei 1 beginnt und linear hochgezählt wird. Das Changeset enthält sowohl neue Dateien, geänderte Revisionen von Dateien oder die Löschung von Datei-Revisionen, als auch alle Refactoring-Operationen (Hinzufügen/Umbenennen/Löschen von Verzeichnissen, Verschieben oder Umbenennen von Dateien, etc.). Benutzer können somit jederzeit auf jeden beliebigen Stand eines Projekts zugreifen und auf dessen Basis ein neues Projekt erzeugen, um ggfs. Fehler zu beseitigen oder eine Variante zu entwickeln.

Zur besseren Übersicht und Visualisierung dient ein eingebauter Berichtsgenerator. Verschiedene Darstellungsformen stehen zur Verfügung (Listen, Diagramme, etc.), fertige Reports können in verschiedenen Formaten (csv, html, pdf) exportiert werden.

Mehrere Dimensions CM Server können durch Replikation Daten miteinander austauschen. Dies ermöglicht beispielsweise eine bidrektionale Kommunikation zwischen Auftraggeber und Auftragnehmer (Software-Hersteller) sowohl von Software-Artefakten als auch von Aufträgen (sog. Change Requests). Die Replikation kann dabei sowohl bei Bestehen einer Netzwerk-Verbindung zwischen den beteiligten Servern, als auch als sog. "Air-Gap" Replikation offline stattfinden.

Mit der Auslieferung von Araxis Merge als Tool zum Vergleichen und Zusammenführen von Versionsständen, wurde mit der Version 14 das Serena-eigene PVCS Merge abgelöst. Vorteile, die sich daraus ergeben, sind vor allem die Möglichkeit des Vergleichs von Binärdateien, bzw. komplexer strukturierten Dateien wie Microsoft Word- oder pdf-Dateien.

Im nächsten Release soll es als weitere Neuerung die Möglichkeit geben, Dimensions CM in Docker-Containern zu betreiben. Docker ist eine Open-Source-Software, die dazu verwendet werden kann, Anwendungen mit Hilfe von Betriebssystemvirtualisierung in unterschiedliche Container zu trennen.

Nutzung

Dimensions CM ist am meisten verbreitet in Organisationen, die Wert auf eine strukturierte Software-Entwicklung legen. Dabei können sowohl rechtliche, technische als auch organisatorische Aspekte eine Rolle spielen.

Zum einen sind dies im besonderen die Branchen Banken, Versicherungen und Finanzdienstleister. Durch die historisch begründete starke Unterstützung der Produkt-Entwicklung mit Hilfe des Application Lifecycle Managements, findet Dimensions CM darüber hinaus Verbreitung im Embedded Bereich (Automobilunternehmen/-zulieferer, Maschinenbau und Luft- und Raumfahrttechnik).

Historie

Dimensions CM wurde in den 80er Jahren von der englischen Firma SQL Software unter dem Namen PCMS Dimensions entwickelt. Nach Übernahme durch Merant wurde das Produkt in PVCS Dimensions umbenannt. Seitdem Merant Bestandteil der Firma Serena Software im Jahr 2004 wurde, änderte sich der Name in Dimensions CM (Configuration-Management). Abzugrenzen davon ist das Produkt Dimensions RM (Requirements-Management), welches mit dem Schwerpunkt Anforderungs- und Test-Management mit Dimensions CM integriert werden kann.

Weblinks

Einzelnachweise

Kategorie:Proprietäre Versionsverwaltungssoftware