Client-Server/Eine Inhouse-Entwicklung der BASF fuer Projektverfolgung und -abwicklung Hoehere Leistung gleicht die Client-Server-Nachteile aus

20.10.1995

Das Segment der betriebswirtschaftlichen Standardsoftware beherrscht unangefochten die SAP. Weil Standardloesungen jedoch nicht alle Anforderungen abdecken koennen, sind Vorsysteme mit spezieller Funktionalitaet erforderlich. Beispielsweise hat die BASF Aktiengesellschaft in Ludwigshafen, wie Anita Hoedl* und Bernd Luedtke* schildern, ein Projektabwicklungssystem (PAS) im Rahmen einer flexiblen Client-Server-Struktur selbst entwickelt.

Die Technische Entwicklung, ein Bereich der BASF AG in Ludwigshafen, bearbeitet und betreut Projekte auf verfahrens- und ingenieurtechnischem Gebiet. Zur Verbesserung der Erfassung, Speicherung und Verrechnung der projektbezogenen Leistungen entschied sich dieser Bereich im Sommer 1993 zur Erstellung einer Datenbankanwendung nach dem Client-Server-Konzept. Diese sollte das ueberwiegend auf Papier basierende Vorgaengersystem abloesen und die Moeglichkeiten neu entstandener Infrastrukturen nutzen.

Ziel war die Entwicklung eines Systems zur

- aufwandsgerechten Verrechnung projektbezogener Leistungen an die Auftraggeber,

- Information der auftraggebenden Bereiche und Abteilungen ueber die im Bereich fuer sie gefuehrten Projekte sowie ueber die erbrachten Leistungen,

- Information der Mitarbeiter ueber die im Bereich bearbeiteten Projekte,

- Analyse der erbrachten Leistungen sowie des Auftragvolumens und damit zur Steuerung der auftragsbezogenen Forschungs- und Entwicklungsarbeit ,

- Verfolgung des Projektverlaufs durch die Mitarbeiter sowie zur

- Information des Managements ueber wichtige Projekte.

Ein Team von vier Mitarbeitern hat nach der Entscheidung fuer das Projektabwicklungs- und Projektverfolgungssystem binnen Jahresfrist alle projektierten Arbeitsschritte bis zur Freigabe des Routinebetriebs abgewickelt. Heute nutzen rund 350 Mitarbeiter das System. Es hat im Verlauf seines nunmehr einjaehrigen Einsatzes zu einer spuerbaren Rationalisierung der Projektverwaltung und Verbesserung der internen und externen Information beigetragen.

PAS ist ein Vorsystem zur zentralen Verrechnung ueber SAP R/2 und wird auf Macintosh-Arbeitsplatzrechnern mit einer grafischen Oberflaeche interaktiv bedient. Die Benutzer koennen mit dem Auftraggeber vereinbarte Projekte im PAS eroeffnen. In einer Maske geben sie die wesentlichen Daten zum Projekt wie zum Beispiel den vereinbarten Zeit- und Kostenrahmen und die Kontierung ein. Zusaetzlich erhalten die Projekte spezielle Kennungen, die dem Management die Moeglichkeit geben, sie nach besonderen Gesichtspunkten zu gruppieren. In der Regel sind die Projektteams aus Mitarbeitern verschiedener Fachgebiete zusammengesetzt.

Fuer besonders wichtige Projekte werden die Angaben um Daten zu wirtschaftlichen und technischen Randbedingungen ergaenzt.

Die Pflege und die Fortschreibung der Projektdaten fuehren die Benutzer mit Hilfe derselben Masken durch. Monatlich ordnen alle Benutzer ihre aufgewendeten Zeiten den einzelnen Projekten zu. Anhand von Tagessaetzen lassen sich diese Zeiten in Kosten umrechnen und gemeinsam mit den zu verrechnenden Sachleistungen an das zentrale System zur Kostenverrechnung, das R/2-Modul RK, uebergeben.

Neben der Erfassung und Verbuchung von projektbezogenen Leistungen dient PAS als Informationssystem. Mitarbeiter koennen sich staendig ueber den aktuellen Stand und die Kostensituation ihrer Projekte informieren. Zusaetzlich ist es moeglich, im System individuelle Abfragen und Auswertungen ueber alle Projekte durchzufuehren. Hierzu sind alle recherchierbaren Felder auf einer Bildschirmmaske zusammengestellt, mit deren Hilfe Benutzer ihre Suchkriterien formulieren koennen. Die Ergebnisse der Recherche erscheinen in einer Uebersichtsliste.

Fuer das Management ist PAS sowohl ein Informationssystem als auch ein Controlling-Werkzeug. Interessieren sich die Verantwortlichen beispielsweise dafuer, welche Projekte an einem Standort laufen und in welchem Kostenrahmen sie sich bewegen, lassen sich diese Daten problemlos in dem System recherchieren.

Sensible Projekte bleiben abgeschottet

Je nach Anforderung erhaelt der Auftraggeber vom PAS verschiedene Listen mit Informationen zu den Projekten, die von der Technischen Entwicklung fuer seine Einheit bearbeitet werden. Diese Listen sind teilweise grafisch aufbereitet.

Auch wenn PAS als transparentes System konzipiert ist, sind gewisse Daten und Projekte sensibel und deshalb nicht allen Mitarbeitern zugaenglich. Deshalb erhalten die Benutzer bei der Anmeldung im System unterschiedliche Zugriffsrechte. Die Administration des gesamten Systems verantwortet eine zentrale Stelle. Diese pflegt auch die Stammdaten und nimmt bei Veraenderungen in der Mitarbeiterschaft eine Neuzuordnung der Projekte vor.

PAS ist ein Client-Server-System mit einem Daten- und einem Anwendungs-Server. Es stuetzt sich auf fuenf Komponenten:

- "4th Dimension" (4D) ist eine Datenbank mit Werkzeugen zur Erstellung von Menues und Masken und enthaelt eine prozedurale Sprache zur Event-Steuerung der Anwendung. Hiermit ist es moeglich, Anwendungen mit grafischer Benutzeroberflaeche in die gewohnte lokale Arbeitsumgebung zu integrieren. 4D laesst sich lokal oder als Client-Server-System einsetzen. Innerhalb der PAS-Anwendung laeuft 4D auf jedem Arbeitsplatzrechner und umfasst Maskenaufbau, Datenanforderung, -darstellung sowie Dateneingabe und - speicherung. Plausibilitaetspruefungen werden ebenfalls lokal durchgefuehrt.

- Mit der Abfragesprache beziehungsweise Middleware "Data Access Language" (DAL) koennen lokale Macintosh-Programme auf zentrale Datenbanken zugreifen. Innerhalb dieser Anwendungen lassen sich mit DAL-Befehlen gezielte Anweisungen zur Datenfindung angeben. Die Formulierung erfolgt mit SQL-Befehlen. Der auf dem Client installierte DAL-Teil leitet sie ueber das Netz per TCP/IP an den DAL-Server weiter.

- Der DAL-Server ist auf einem Unix-Host installiert. Fuer jeden Arbeitsplatzrechner, auf dem die PAS-Anwendung gestartet wird, oeffnet er einen Prozess, der aus der Oracle-Datenbank die angeforderten Daten liest, sie an die lokale Anwendung zurueckleitet oder von der Anwendung uebermittelte Daten in die Datenbank schreibt. DAL-Server sind fuer viele verschiedene Plattformen von Unix-Systemen bis MVS verfuegbar.

- In der Oracle-Datenbank sind die Daten des PAS in Tabellen gespeichert. Oracle ist seit einigen Jahren bei der BASF das Standard-Datenbankprodukt. Zur Sicherstellung der Datenintegritaet wird durch Einsatz von Triggern und Stored Procedures ein Teil der Funktionalitaet auf der Server-Seite implementiert.

- Auf dem Unix-Host, einer IBM RS/6000, gibt es nicht nur die Datenbank, sondern auch Skripte (Kommandodateien), die zu ihrer Handhabung, zum Anlegen und zur Pflege der Datenbanktabellen dienen. Ausserdem tragen sie zur Aufarbeitung und Auswertung des Datenbestandes sowie in regelmaessigen Abstaenden zur Datensicherung bei.

Die Entscheidung fuer einen Datenbank-Server fiel zum einen aus dem Grund, dass ein zentrales Modul erforderlich ist, auf das viele Stellen zugreifen koennen - quasi ein Data-Warehouse fuer den Geschaeftsbereich. Ein anderer Grund ist der Sicherheitsaspekt. Mit einer soliden Datenbank, die hohen Komfort und Absturzsicherheit gewaehrleistet, auf einem zentralen Server verfuegt man ueber ein ausgereiftes System.

Wichtigstes Kriterium bei der Entscheidung fuer DAL war die Unabhaengigkeit von Plattformen und Datenbanken auf der Server- Seite. Fuer DAL sprach ferner, dass man aus vielen Apple-Programmen ueber die Middleware auf die Datenbank zugreifen kann. Zu Beginn des Projekts war DAL ein Apple-Produkt. Mittlerweile fuehrt die Firma UCS mbH, Neu-Isenburg, den Vertrieb und einen deutlich verbesserten Support in Deutschland durch.

Die Wahl eines Anwendungs-Servers auf Basis des 4D-Servers brachte den Hauptvorteil des Update-Managements mit sich. Sobald eine neue Version des Programms vonnoeten ist, wird sie nur an einer Stelle eingespielt. Alle anderen Arbeitsplatzrechner, die mit 4D darauf zugreifen, arbeiten immer mit der aktuellen Version der Anwendung. Ausserdem sprachen erhebliche Einsparungen bei den Lizenzkosten fuer diese Loesung.

Der Einsatz von Modulen unterschiedlicher Hersteller fuehrt in der Administration des Systems zu einer hohen Komplexitaet mit vielen Schnittstellen. So ist die Verwaltung von drei Softwaresystemen notwendig, und man ist gezwungen, die jeweiligen Release-Staende zu synchronisieren. Darueber hinaus faellt bei auftretenden Problemen eine aufwendige Ursachenforschung und Fehlereingrenzung an. Dies ist unter anderem deshalb erforderlich, um vor einer Kontaktaufnahme mit dem jeweiligen Hersteller den Fehler in einem Modul nachweisen zu koennen.

Eine komplexe Client-Server-Loesung benoetigt generell mehr Ressourcen. Ein langsames Netzwerk oder ein veralteter Arbeitsplatzrechner fuehren beispielsweise zu erheblichen Performance-Problemen. Im Fall von PAS sind einige Arbeitsplatzrechner seit 1988 im Einsatz, deren zu niedrige Geschwindigkeit bei intensiv genutzter CPU zu Kritik veranlasst. Es ist jedoch bemerkenswert, dass es ueberhaupt moeglich ist, diese Rechner so lange einzusetzen.

Ein Parallelsystem fuer die Entwickler

Die Weiterentwicklung der Anwendung laeuft auf einem eigenen System, das parallel aufgebaut wurde. Aus Entwicklersicht ist dies ein Muss: Ein eigenes Testsystem ist zwingend erforderlich. Bei Client-Server-Architekturen muessen hierfuer alle Komponenten doppelt vorhanden sein.

Verteilte IT-Strukturen erfordern auch beim Anwender ein Umdenken. Dieser Prozess wird sich ueber einen laengeren Zeitraum erstrecken. Derzeit melden die Anwender lokal auftretende Schwierigkeiten dem PAS-Support. Dass das Problem unter Umstaenden in der Konfiguration des jeweiligen Arbeitsplatzrechners oder im Netzwerk begruendet liegt, interessiert den Anwender verstaendlicherweise nur am Rande.

Das fuehrt dazu, dass die Entwicklungsmannschaft in die Loesung derartiger Probleme einbezogen wird. Dies ist ein generelles Client-Server-Problem. Hierdurch entsteht ein hoher Zeitaufwand fuer die Betreuung durch die PAS-Entwickler, der letztendlich wenig mit der eigentlichen Programmentwicklung zu tun hat.

Mit zunehmender Funktionalitaet vor Ort ist derzeit noch ein Mehr an Betreuung verbunden. Dies ist zum Teil darauf zurueckzufuehren, dass geeignete Werkzeuge, die den Support verteilter Systeme ermoeglichen, noch nicht auf dem Markt sind. Die hohe Komplexitaet der Client-Server-Loesung ist die eine Seite. Sie bringt aber auf der anderen Seite fuer den Anwender eine komfortable Bedienung und eine hohe Funktionalitaet mit sich, wie sie heute zumindest fuer Inhouse-Entwicklungen noch nicht zum Standard geworden ist.

Client-Server ermoeglicht die Integration einer lokalen Datenbankanwendung auf dem Macintosh mit anderen lokalen Anwendungen (Copy/Paste, Export in Excel-Sheets, Uebernahme von Daten nach Word). Daraus resultiert minimaler Schulungsaufwand. Bei PAS reichte eine kurze Einweisung in die Software mit einigen Anregungen zur Bedienung vollkommen aus.

Trotz des eher unbeliebten Themas Zeitnachweis waren die Anwender mit der Technologie und Bedienung der Software zufrieden. Fragen zur Benutzung des Programms traten kaum auf. Zudem gibt es in fast jeder Maske eine Online-Hilfe. Die Anwender konnten das System mit seinem intuitiven Programmdesign sofort wie ihre eigenen Applikationen auf dem Apple einsetzen. Neben Zeit- und Kosteneinsparungen fuehrte dies auch zu einer hoeheren Akzeptanz der Anwendung.

Auch im Hinblick auf die Programmentwicklung kann Client-Server Vorteile mit sich bringen. Zum Beispiel gestaltet sich die Verteilung der Arbeit im Team unkompliziert, zumal die Schnittstellen ohnehin klar definiert sind. Mit 4D und Oracle gab es bereits Erfahrungen, demzufolge konnte sich ein Teil des Teams mit 4D beschaeftigen, waehrend ein anderer die Datenbank mit Oracle aufzubauen begann. Die verschiedenen Aufgaben wurden in regelmaessigen Besprechungen koordiniert.

Durch Verwendung einer Datenbank auf der Client-Seite lassen sich Auszuege aus der Oracle-Datenbank lokal abbilden und weiterverarbeiten. Die Funktionalitaet zum Handling dieser Daten decken 4D-Features vollstaendig ab. Bei Client-Server-Datenbank- Anwendungen ist es generell empfehlenswert, auch auf der lokalen Seite mit Datenbankfunktionalitaet ausgestattete Software einzusetzen.

Die Stabilitaet und Verfuegbarkeit der Anwendung ist sehr zufriedenstellend. Waehrend des einjaehrigen Routinebetriebs gab es keine gravierenden Probleme. Auch durch lokale Stoerungen kam es nie zu einem Absturz der zentralen Komponenten. Abgesehen von kurzen Abschaltungen zu Wartungszwecken (zum Beispiel fuer Saves) steht die Anwendung den Benutzern rund um die Uhr zur Verfuegung.

Es ist abzusehen, dass PAS in Zukunft in einer heterogenen Welt von Arbeitsplatzrechnern zum Einsatz kommen wird. Neben Macintoshs setzt der Bereich Technische Entwicklung zunehmend auch Windows- PCs ein, die ebenfalls unterstuetzt werden muessen. Laut Hersteller ACI steht die Portierung von 4D auf Windows kurz vor dem Abschluss. Fuer einen produktiven Einsatz in einer heterogenen Umgebung muessen jedoch alle Module fuer beide Plattformen zur Verfuegung stehen.

Anforderungsgemaess wurde das beschriebene Projekt als Inhouse- Entwicklung realisiert. Als Ergebnis der engen Abstimmung zwischen Anwendern und Entwicklern liessen sich die Vorgaben hinsichtlich Entwicklungszeit und Kostenrahmen einhalten. PAS ist ein fuer den Anwender komfortabel zu bedienendes Programm mit hoher Funktionalitaet. Die Leistungsmerkmale der Software gleichen die bei Client-Server bekannten Probleme wie hoeherer Ressourcenverbrauch und aufwendige Betreuung mehr als aus.

Bei der Entwicklung von Client-Server-Systemen kommt der Auswahl der einzusetzenden Komponenten eine grosse Bedeutung zu. Hierbei sind die Anforderungen und die Problemstellung im gleichen Masse zu beruecksichtigen wie die vorhandene Infrastruktur. Anwender, die inzwischen selbstverstaendlich mit Arbeitsplatzrechnern umgehen, fordern Loesungen mit moderner Oberflaechengestaltung und Integration in das lokale System. Hier gibt es zu Client-Server- Loesungen keine Alternative.

* Anita Hoedl und Bernd Luedtke sind im Bereich Technische Entwicklung bei der BASF AG in Ludwigshafen zustaendig fuer Datenbankanwendungen und PC-Programmentwicklung.