Server-Infrastruktur der Entwicklung CRM bei der itdesign GmbH

Die Server Infrastruktur will gut geplant sein. (Foto: Joerg Trampert, pixelio)

Die Server Infrastruktur will gut geplant sein. (Foto: Joerg Trampert, pixelio)

Server-Infrastruktur der Entwicklung CRM bei der itdesign GmbH, Ausgangssituation

Die Server-Infrastruktur, die ein Unternehmen zur Entwicklung eines Produktes benötigt, hängt sehr stark vom Produkt selbst ab. Im Fall von CAS genesisWorld handelt es sich um eine Client-Server-Architektur, die zur dauerhaften Speicherung der Daten einen Datenbank-Server verwendet. Die Anforderungen der einzelnen Abteilungen bei itdesign an diese Server-Infrastruktur sind höchst unterschiedlich. Um bei einem geringen Ressourcen-Einsatz eine hohe Flexibilität zu gewährleisten, muss die Server-Infrastruktur, die für die tägliche Arbeit benötigt wird, sehr gut geplant werden. Vor einer guten Planung steht jedoch eine Bestandsaufnahme.

Was tun wir?

itdesign ist an der Weiterentwicklung von CAS genesisWorld beteiligt. Jeder Kunde, der CAS genesisWorld einsetzt, arbeitet mit einer eigenen Konfiguration, die bei itdesign nachgestellt werden muss. Zusätzlich zu dieser Konfiguration haben Kunden programmierte Anpassungen von CAS genesisWorld im Einsatz. Das führt zu einer sehr großen Abweichung des Standard-Verhaltens von CAS genesisWorld, die bei der täglichen Arbeit berücksichtigt werden muss. Um trotz dieser teilweise enormen Unterschiede einzelner Systeme noch effizient zu arbeiten, müssen alle Mitarbeiter bei itdesign schnell Zugriff auf eine Kopie des Kunden-Systems haben. Das ist eine Voraussetzung für eine konsequente Weiterentwicklung des Produktes CAS genesisWorld.

Wie sind wir strukturiert?

An der Weiterentwicklung von CAS genesisWorld bei itdesign sind im Kern drei Abteilungen beteiligt, Produkt-Management, Produkt-Entwicklung und Qualitätssicherung. Das Produkt-Management ist verantwortlich für die benutzerseitigen Eigenschaften des Produkts selbst. Ein Hauptbestandteil seiner Aufgaben ist die Konzeption und Priorisierung von Produkt-Erweiterungen. Die vom Produkt-Management schriftlich entworfenen Konzepte werden von der Produkt-Entwicklung in Quellcode umgesetzt. Dabei findet ein intensiver Austausch zwischen Produkt-Entwicklung und -Management statt, um die Konzepte zielgerecht zu implementieren und sinnvolle Vorschläge aus der Produkt-Entwicklung in die Produkt-Erweiterung einfließen zu lassen. Nachdem eine Produkt-Erweiterung entwickelt wurde, muss ein separater Test stattfinden, der nicht vom Entwickler selbst durchgeführt werden darf. Um Fehler aufzudecken, ist eine strukturierte Vorgehensweise beim Test notwendig. Dieser Arbeitsschritt wird von der Qualitätssicherung übernommen, die wiederum in engem Austausch mit dem Produkt-Management steht. Damit wird sichergestellt, dass das schriftliche Konzept des Produkt-Managements genau umgesetzt wird.
Für die technische Kunden-Betreuung sind der Support und die Technische Beratung zuständig. Sie sind neben der Beratung die Hauptbenutzer von Kunden-Test-Systemen.

Wie sind die verwendeten Systeme aufgebaut?

Test-Systeme bestehen aus den Teilsystemen CAS genesisWorld Client, CAS genesisWorld-Applikationsserver und Datenbank-Server. Diese Teilsysteme unterscheiden sich vor allem im Ressourcenbedarf und der Wiederverwendbarkeit für andere CAS genesisWorld-Systeme. Ein Datenbank-Server hat den Vorteil, dass er für viele CAS genesisWorld-Systeme verwendet werden kann. Diese Systeme unterscheiden sich lediglich in der Art und Version. Beispielsweise gibt es den Microsoft SQL Server 2012 oder den Oracle Server 11g. Es genügt, wenn von jeder unterstützten Art ein Server in jeder Version zur Verfügung steht. Diese Server werden für die Datenhaltung für verschiedene CAS genesisWorld-Systeme verwendet. Der Nachteil bei dieser Wiederverwendung ist ein hoher Ressourcenbedarf, der benötigt wird, um eine schnelle Datenverfügbarkeit für die Systeme zu gewährleisten. Ein CAS genesisWorld-Applikationsserver kann Verbindungen zu mehreren Datenbanken herstellen. Applikationsserver unterscheiden sich in der Version und in kundenspezifisch programmierten Anpassungen. Hinzu kommt die Tatsache, dass bei jedem Applikationsserver ein CAS genesisWorld Client installiert ist, der ebenfalls programmierte Anpassungen enthalten kann. Der Ressourcenbedarf ist aus technischen Gründen begrenzt, und die Wiederverwendbarkeit hoch, falls keine programmierten Anpassungen vorhanden sind. Ein CAS genesisWorld Client liegt ähnlich wie ein Applikationsserver in unterschiedlichen Versionen vor und enthält je nach Kunde programmierte Anpassungen. Ein Client benötigt bei einer durchschnittlichen Benutzung wenige Ressourcen, dafür ist die Wiederverwendbarkeit nicht sehr hoch, da programmierte Anpassungen für den Client verbreitet sind.

Was benötigen wir für unsere Arbeit?

Um Fragestellungen, die in Kunden-Systemen auftreten, zu beantworten, sind Kunden-Test-Systeme ein geeignetes Hilfsmittel. Kunden-Test-Systeme sind so konfiguriert wie die tatsächlichen CAS genesisWorld-Systeme des Kunden. Diese Test-Systeme bestehen aus den programmierten Anpassungen im Client und im Applikationsserver sowie der Datenbank des Kunden. Damit wird die individuelle Kunden-Konfiguration bei der Lösung berücksichtigt. Dieser Umstand führt zu einer Beantwortung der Fragestellung, die optimal an die Anforderungen und das System des Kunden angepasst ist. Handelt es sich um Fragestellungen, die über individuelle Änderungen hinausgehen, ist die Arbeit mit einem Kunden-Test-System nicht sinnvoll. Besonderheiten des Kunden-Test-Systems beeinflussen die Lösung der Fragen. In solchen Fällen werden Standard-Test-Systeme verwendet. Auf diesen befinden sich standardisierte Konfigurationen und keine programmierten kundenspezifischen Anpassungen; es handelt sich um das Software-Produkt, so wie es neu erworben wird. Zusätzlich hierzu werden neue Features entwickelt und Fehler behoben. Für diese Arbeit sind Systeme notwendig, auf denen immer der aktuelle Stand der Entwicklung installiert ist. Diese Entwicklungs-Test-Systeme müssen täglich aktualisiert werden. Um den Aufwand hierfür gering zu halten, steht für jede Hauptversion von CAS genesisWorld ein Entwicklungs-Test-System zur Verfügung, auf dem jeder Entwickler arbeitet. Diese Test-Systeme werden automatisch jede Nacht aktualisiert.

Über den Autor

Tobias Baus (Wirtschaftsingenieur) arbeitet seit 2009 bei itdesign. Nach zweieinhalb Jahren in der Technischen Beratung CRM wechselte er in die Entwicklung CRM und ist dort unter anderem für die Betreuung der Server-Infrastruktur verantwortlich.

Fortsetzung

Erfahren Sie im zweiten Teil, wie die Server-Infrastruktur von Produkt-Entwicklung, Produkt-Management und Qualitätssicherung im Detail aufgebaut ist.