Um eine flexible Lösung zu entwickeln, wurden zuerst die Rahmenbedingungen geändert. Die für reine Clientanwendungen konzipierte Datenbank MS Access wurde durch einen MS SQL Server 2005 ersetzt.
Es wurde die bestehende Software und die Datenbankstruktur analysiert.
Die besondere Herausforderung war die komplexen Strukturen von Kollektivverträgen zu erfassen. Wir entwickelten ein XML Schema für Kollektivverträge, um bestehende Daten bzw. Strukturen abzubilden und auch neue, zukünftige Strukturen einfließen zu lassen.
Für die Kommunikation mit den verschiedenen Programmen bzw. für die Updates zu den lokalen Clients setzten wir auf Webservices. Für die lokal installierten Anwendungen gibt es das Update Service, das sowohl die Programmversion als auch den Datenstand überprüft und gegebenenfalls aktualisiert. Für die Anwendungen, die direkt zugreifen wie zB. Webanwendungen oder Drittanbieter, gibt es das Daten Service.
Für die Entwicklung der Anwendungen (sowohl server- als auch clientseitig) wurden Design Patterns (Entwurfmuster) verwendet, um spätere Erweiterungen zu erleichtern. Diese erleichtern nachträgliche Änderungen bzw. Erweiterungen ohne stark in das bestehende System einzugreifen.
Aufgrund der strikten Trennung von Design bzw. View und der Businesslogik konnten die Webanwendung und die Clientanwendung vom optischen Aufbau ähnlich entwickelt werden, basieren aber auf verschiedenen Technologien (ASP.NET bzw. Windows Forms). Beide greifen aber auf die gleiche Businesslogik zu.
Aufgrund des neu entwickelten XML Schemas, den Webservices und der strikten Trennung von Design und Logik konnte:
- die Aktualisierung der Anwendungen und Daten automatisiert werden, was aufwendige Installationsroutinen entfallen läßt und somit eine Wartung durch geschultes Personal reduziert,
- die Usability vereinfacht werden, was zu weniger Fehler in der Datenerfassung führt,
- eine einheitliche Oberfläche für Web und Clientanwendung geschaffen werden, was eine Reduzierung des Schulungsaufwands und schnelleren, einfacheren und angenehmeren Bedienung durch die Benutzer führt,
- Schnittstellen für Drittanbieter angeboten werden und somit die Verbreitung des Angebotes der HG Datenbanken positiv beeinflußt und somit der Umsatz gesteigert wird.