Die Techniker Krankenkasse setzt auf TK easy

Neue IT-Architektur Marke Eigenbau

10.12.2001
Die Techniker Krankenkasse (TK) hat ihre neue IT-Architektur selbst entwickelt. Das Java-basierte objektorientierte Client/Server-System ist in drei Schichten aufgebaut und dient gleichzeitig als Integrationsplattform. von Jan Rüten-Budde*

Sowohl neue Technologien (unter anderem Internet) als auch bestehende Systeme wie Großrechner-Anwendungen und SAP R/3 bildeten die Rahmenbedingungen für die Entwicklung einer neuen IT-Architektur bei der Techniker Krankenkasse in Hamburg (siehe Abbildung). Die neue Plattform und das darauf basierende Anwendungssystem heißen "TK easy", was für "TK ergonomisches Anwendungssystem" steht. Neben einem Applikations-Server wurde auch die für die Anwendungsentwicklung und die Produktion notwendige Infrastruktur realisiert. So entstanden zum Beispiel ein neues Vorgehensmodell und eine Software zur Produktionsüberwachung.

Damit hat die Techniker Krankenkasse einen wesentlichen Bestandteil ihrer IT-Planung umgesetzt, die davon ausgeht, dass die Krankenkassenfunktionalität auf der Basis einer eigenen, zukunftssicheren IT-Architektur und die betriebswirtschaftlichen Funktionen mit SAP R/3 realisiert werden sollen.

Seit Anfang 2001 bildet TK easy die Basis für alle Neuentwicklungen. Darüber hinaus beabsichtigt die Krankenkasse, die zurzeit bestehenden 3270- und C/S-Centura-Anwendungen schrittweise zu migrieren. Diese Migration umfasst zugleich die Restrukturierung und Erweiterung der fachlichen Funktionalität und der Datenbanken.

Der Anwender steht im Vordergrund

Bei der Neuentwicklung galt das Augenmerk vor allem einer einheitlichen, leicht zu bedienenden Benutzeroberfläche und einem einheitlichen Anwendungsverhalten. Für den Anwender sollte nicht mehr der Einsatz von Programmen, sondern die Bearbeitung von Geschäftsprozessen im Vordergrund stehen. Weitere Ziele waren der Einsatz einer nicht proprietären Programmiersprache sowie generell der Umstieg auf standardisierte objektorientierte Entwicklung und Programmierung.

TK easy steht bundesweit an über 300 Standorten mit mehr als 9000 Benutzern produktiv zur Verfügung. Die bereits umgestellten Anwendungen verursachen zirka 100 000 Client/Server-Kommunikationen und 300 000 Datenbankzugriffe pro Tag. Diese Last bewältigen zentral sieben Applikationsserver mit Intel-Prozessoren unter dem Betriebssystem Windows 2000 in der Hauptverwaltung der TK in Hamburg. Tests haben gezeigt, dass diese Server auch das Zehnfache an Last noch ohne Einbuße an Durchsatzleistung schaffen. Die Applikations-Server steuert ein Security- und Dispatchserver, der für Lastverteilung, Skalierbarkeit und Ausfallsicherheit sorgt.

Als Applikationsserver-Software dient dabei eine Eigenentwicklung der TK, die aus hundert Prozent reinem Java besteht und auf dem Object Request Broker (ORB) "Visibroker for Java" von Borland aufsetzt. Dieser TK-easy-Server umfasst unter anderem einen Persistenzdienst, der auf IMS- und DB2-Datenbanken zugreifen kann, sowie Konnektoren zum Anbinden von Legacy-Anwendungen und Dienste für das System-Management (Antwortzeitmessung, Alarmierung und Ähnliches). Die Verbindung zu den Enterprise-Anwendungen und den Datenbanken erfolgt über IMS-Connect und OTMA an IMS/TM.

Für die Datenübertragung zu den dezentralen Dienststellen stehen Leitungen mit Kapazitäten von 64 Kbit/s bis 256 Kbit/s zur Verfügung. Möglich wurde dies durch ein eigenes, optimiertes Kommunikationsprotokoll, das für eine vorhersagbar gleichmäßige und geringe Netzlast sowohl im LAN als auch im WAN sicherstellt. Auf dem Client wird für jeden Mausklick höchstens eine einzige Kommunikation zum Applikationsserver ausgelöst. Dies geschieht nur bei vom GUI-Framework oder dem Entwickler festgelegten Aktionen. Dabei werden die Kommunikationsanforderungen aller GUI-Komponenten zu einem einzigen Request zusammengefasst.

Es dient dazu, Abstraktionen des GUI-Zustands auf dem Client und dem Server zu synchronisieren. Die übertragenen Datenpakete werden komprimiert und sind meist kleiner als ein Kilobyte.

Portal als Zugang zur alten und neuen IT

Als Client kommt eine Java-Applikation zum Einsatz, in die eine automatische Softwareaktualisierung integriert ist. Dieser TK-easy-Client stellt sich für den Anwender als ein internes Unternehmensportal dar, das die neuen TK-easy-Anwendungen mit den bestehenden C/S-Anwendungen, den Office-Anwendungen und den noch bestehenden 3270-Altanwendungen verbindet. Bei der Navigation zwischen diesen Anwendungen werden auf intelligente Weise Schlüsselbegriffe übernommen. Dies erlaubt eine effiziente Bearbeitung der Geschäftsvorfälle. Den Datenaustausch ermöglicht eine weitere eigenentwickelte Komponente namens Application Data Exchange(ADX), die auf dem Windows-Desktop läuft. Diese Technik hat man inzwischen so weiterentwickelt, dass sie sich auch auf einem Terminalserver einsetzen lässt.

TK easy ist nicht nur eine IT-Architektur. Besonderen Wert hat man auf die Gestaltung der Benutzeroberfläche gelegt. Der Anwender soll über alle Applikationen hinweg ein einheitliches Bedienungskonzept vorfinden. Hierzu wurde ein Styleguide erstellt, der weit über den entsprechenden Leitfaden von Windows hinausgeht. Auch ein Graphical-User-Interface-(GUI-)Framework unterstützt die Einheitlichkeit. Darüber hinaus gibt es Regeln für die Navigation und Musterlösungen für häufig auftretende GUI-Aufgaben, zum Beispiel: "Für einen Geschäftsvorfall benötigte Informationen sind maximal einen Mausklick entfernt."

Der generelle Umstieg auf objektorientierte Softwareentwicklung und Programmierung stellt eine weitere große Herausforderung dar. Hier entsteht ein erheblicher Bedarf an Schulungs- und Einarbeitungsmaßnahmen, die durch den Einsatz von langfristig verfügbaren Coaches unterstützt werden.

Wenn man mit dem Einsatz der Objektorientierung auch eine verbesserte Wiederverwendung erwartet, so muss bereits im Vorfeld der eigentlichen Anwendungsentwicklung die Basis dafür geschaffen werden. Die TK entwickelt dazu ein unternehmensweites Komponenten- und Objektmodell auf Analyseebene. Ebenso gibt es in Hamburg einen Softwarearchitekten, der für einen "Bauplan" und dessen Einhaltung sorgt.

Parallel zur technischen Realisierung entstand auch ein völlig neues Vorgehensmodell. Die Umstellung vom Wasserfall-Verfahren auf eine iterative, inkrementelle Vorgehensweise musste in alle Abteilungen des Unternehmens hineingetragen werden. Hilfe bietet ein im Intranet veröffentlichter, HTML-basierter Prozessleitfaden. Die Muster- und Beispieldokumente sind zur Unterstützung der einzelnen Projekte besonders wichtig. Für die Projektplanung und -steuerung hat sich der Einsatz von "Timeboxen" als nützlich und wirksam herausgestellt.

Als Werkzeuge dienen bei TK-easy-Projekten Rational Rose, Sniff+ von Take Five Software und Borlands Jbuilder. Sniff+ ist dabei das zentrale Werkzeug zur Bearbeitung von Sourcen und das Frontend zum Repository RCS. Zudem steuert Sniff+ auch den Build-Prozess. Rational Rose setzt man zur Modellierung in der Analyse- und Designphase ein. Eigene Anpassungen ermöglichen ein Round Trip Engineering für den TK-easy-Server. Der Jbuilder dient vornehmlich als GUI-Builder. Als eines von wenigen Produkten unterstützt dieses Entwicklungssystem eigenentwickelte Layout-Manager hinreichend. Zusätzlich kommt der Jbuilder beim inkrementellen Build und beim Debugging zum Einsatz.

Die Techniker Krankenkasse beschritt mit den Eigenentwicklungen im Bereich Application Server Software und Persistenzdienst einen etwas unkonventionellen Weg. Als das Projekt TK easy 1998 startete, sprach jedoch noch niemand von Enterprise Java Beans (EJBs) und mit Application Server meinte man damals

Nach aufwändigen Tests: Nein zu EJBs

meistens Hardware. Die Entwicklungen wurden von der TK genauestens beobachtet und zu mehreren Zeitpunkten evaluierte man, ob man die Eigenentwicklung durch Kaufsoftware ersetzen sollte. Insbesondere mit dem Thema EJB hat sich die TK intensiv auseinander gesetzt, weil hier viele Ideen, die im TK-easy-Server bereits umgesetzt waren, in einen Standard gegossen wurden.

Performance-Tests und Gespräche mit Herstellern zeigten aber schnell, dass sich der Einsatz von EJB bei einer feingranularen Modellierung aus Performance-Gründen verbietet: Inter-EJB-Calls liegen im Millisekundenbereich, Methodenaufrufe in Java sind etwa um den Faktor 10 000 schneller. Als Konsequenz implementierte die TK nur noch solche Objekte als remote-fähige Objekte, deren Methodenaufrufe je Aktion des Endbenutzers von der Anzahl her klar begrenzt sind. Dies sind in aller Regel nur Objekte einer präsentationsnahen Boundary-Schicht.

Insbesondere bedeutet das auch, dass der Einsatz von Entity Beans aus Performance-Gründen meist ausscheidet. Darüber hinaus wird eine Vererbung von Entity Beans nicht unterstützt. Stattdessen orientieren sich die Entwickler der TK völlig an JDO (Java Data Objects). Der Grund: Sowohl der Kommunikations-Overhead als auch Probleme der Concurrency Control sind bei Entity Beans nicht sinnvoll lösbar. Die Concurrency Control und das Transaktionshandling lässt sich am besten von der Datenbank(-middleware) erledigen.

Durch den Verzicht auf die Verwendung von EJBs erreichte man, dass sich mit den vorhandenen sieben Applikations-Servern mehr Transaktionen abwickeln lassen und für den Anwender auch bei Anbindung mit niedriger Bandbreite ein guter Durchsatz möglich ist: In 95 Prozent der Fälle liegt die Antwortzeit des Systems unter zwei Sekunden.

Zu den zahlreichen Aufgaben des Projektteams gehörte auch die Integration des Internet-Auftritts der TK. Ein Ziel ist es dabei, die fachliche Logik, die im Rahmen von TK-easy-Anwendungen entwickelt wurde, dem Web-Auftritt der TK zur Verfügung zu stellen. Hierzu entsteht neben der Boundary-Schicht für die TK-easy-Clients eine zweite Boundary-Schicht, die speziell auf die Web-Anwendungen der TK zugeschnitten ist und sich mit Standardmitteln in den Web-Server integrieren lässt.

Der Persistenzdienst sorgt für das Object-Mapping. Die TK hat ihn selbst entwickelt und realisiert, weil kein wirklich überzeugendes Produkt erhältlich war, welches auch IMS-Datenbanken unterstützt. Wie in vielen anderen Unternehmen der Versicherungswirtschaft üblich, hält die TK noch erhebliche Teile ihres Datenbestands in IMS-Datenbanken.

Das Problem des 2-Phase-Commit, den nur wenige Produkte für IMS/TM unterstützen, umgeht die TK mit einer interpretativen Komponente in einer IMS/ TM-Transaktion. Alle Persistenzrequests einer Transaktion des Application Servers werden in einer IMS/TM-Transaktion an das IMS gesendet, dort interpretiert und als eine einzige "Logical Unit of Work" abgearbeitet.

Im Rahmen des Projekts TK easy hat die Techniker Krankenkasse über einen Zeitraum von drei Jahren hinweg mit zirka 20 Mitarbeitern eine neue IT-Architektur geschaffen. Die vier Arbeitsfelder Produktionsumgebung, einheitliches Benutzungskonzept, Vorgehensmodell und Entwicklungsumgebung wurden alle gleichzeitig realisiert und standen zur Projekteinführung in vollem Umfang zur Verfügung. Im Laufe des Projekts gelang es, die zeitweise bis zu zehn eingesetzten externen Kräfte größtenteils durch eigene Mitarbeiter abzulösen.

TK easy in die Batchabläufe integrieren

Eine wesentliche Grundlage für den Projekterfolg bildete der Umstand, dass die Unternehmensleitung das Vorhaben von Anfang an begleitete und wirksam unterstützte. Auf der Basis des Erreichten stehen nun die Erweiterung der Dienste des TK-easy-Applikationsservers nach Anforderung der Projekte - etwa die Einrichtung eines Schlüsselverzeichnisservice -, die Integration von TK easy in Batchabläufe und die weitere Optimierung des Entwicklungsprozesses an.

* Jan Rüten-Budde ist Chefarchitekt des Projekts "TK easy" bei der Techniker Krankenkasse in Hamburg.