Techniker Krankenkasse, Hamburg: 10 Jahre produktives Java Enterprise

Die Seite wird erstellt Rosa Bauer
 
WEITER LESEN
Techniker Krankenkasse, Hamburg:
        10 Jahre produktives Java Enterprise

        SEACON, 22./23.6.2009, Hamburg
        Ralf Degner, Techniker Krankenkasse

    Überblick

    •   Voraussetzungen,
                      g , Ziele,, Entscheidungen
                                             g
    •   Logische Schichten
    •   Business-Objects (BOs): Laufzeitumgebung und Persistenz
    •   Das unternehmensweite OO-Modell
    •   Integration auf dem Client
    •   Erfahrungen und Erfolgsfaktoren

2                          © 2009 Techniker Krankenkasse
Voraussetzungen
                g

    z   EDV in der g
                   gesetzlichen Krankenkasse ((GKV))
        z   Keine „normale“ Versicherung, alles ist anders
        z   viele gesetzliche Regelungen, viele Anwendungen,
            häufige Änderungen

    z   Datenhaltung zentral auf dem Großrechner (DB2 / IMS-DB)
                                                        IMS DB)
    z   Vorhandene Systeme:
        z   3270-Masken (COBOL)
        z   2-Schicht-Anwendungen (Centura)
    z   10.500 Mitarbeiter, davon ca. 7.000 parallel online
    z   ca. 200 L
                Lokationen
                   k ti     (1 bi
                               bis 350 Mit
                                       Mitarbeiter)
                                            b it )
    z   ca. 7,2 Mio. Versicherte

3                               © 2009 Techniker Krankenkasse

    Ziele der Anwendungsarchitektur
                      g

    Fachlich
    z Optimale Unterstützung der Prozesse der TK

    z Komfortable und effiziente Bedienung

    z Schnelle Realisierung gesetzlicher Änderungen

    z Flexible Reaktion auf neue Geschäftsmodelle (z.B. Wahltarife)

    Technisch
    z Moderne
      M d      und
                 d llangfristig
                        f i ti ttragfähige
                                    fähi A Architektur
                                              hit kt
    z Gute Wartbarkeit

    z Einbindung der Alt-Systeme

    z Minimierung technologischer Abhängigkeiten

4                               © 2009 Techniker Krankenkasse
Entscheidungen
               g

    ವ Möglichst
        g       durchgängiger
                     g g g Einsatz von objektorientierten
                                         j
        Technologien und Methodiken: Architektur soll dies
        ermöglichen
    ವ   Implementierung der Geschäftslogik im Application
                                               Application-Server
                                                           Server
        – kein Masken/UPRO-Wrapping
        – Logisch „dünner“ Client
    ವ   Vollwertige GUI-Anwendung (kein HTML)
    ವ   Kein Big-Bang: schrittweise Ablösung aller Alt-Anwendungen
    ವ   Eigenentwicklung des Frameworks und Application
                                               Application-Servers
                                                           Servers
        (1998 war am Markt nichts verfügbar)
    ವ   Basistechnologien:
                     g     Java und SWING

5                            © 2009 Techniker Krankenkasse

    TKeasyy in Zahlen

    Zahlen ppro Tag:
                  g
    z 2.100.000 Anwendungen (Fenster)

    z 6.300.000 C/S-Kommunikationen

    z bis zu 2.000.000 Messages

    z 4.200.000 Objekt-Transaktionen

    z 30.000.000 Großrechner-Transaktionen (DB-Transaktionen)

    z 260.000.000 BO-Instanzen

    z 4.800.000.000
      4 800 000 000 FFeldzugriffe
                       ld    iff auff BO
                                      BOs ((geschützt
                                                hüt t und
                                                        d ttransaktional)
                                                                 kti   l)

    Sehr viele Zugriffe auf viele BOs mit wenigen DB-Transaktionen
      durch sehr wenige C/S-Kommunikationen.

6                            © 2009 Techniker Krankenkasse
Logische Schichten                                             B
                                                                   Browser

                                                                         WAN
                                          Messages                 Web-
    Klienten      SWING                     (SAP, Batch,
                                             Extern, …)            Server
                          WAN                      LAN/WAN               LAN

                 View-Agent                    EAI                 Services            aktiv
Boundaryy                                                                       ...
                   (Mitarbeiter)                                   (Web-User)

Geschäfts-
G   häft                                                     Business Objects (BOs)
                                                                                      passiv
  logik

                                            Persistenz
                                                      LAN

Datenbanken
                                             DB2       IMS
7                                  © 2009 Techniker Krankenkasse

    Framework für Business Objects
                             j

    Laufzeitumgebung
              g     g für BOs
    • Leichte BOs (POJOs) => feingranulare Modellierung möglich
    • Objekt-Transaktion fast mehrere DB-Transaktionen zusammen
    • Concurrency-Handling über Datenbank (optimistisches Locking)
      => Verantwortung für ACID bei der Datenbank
    • Angelehnt an Java Data Objects (JDO)
                                      (JDO), ähnlich EJB3

    Persistenz
    • Mapping für DB2 und IMS-DB
      – „alte“ Datenbanken in „neue“ Objekte
    • Viele Optimierungsmöglichkeiten (z.B. Prefetching)
    • Generische Referenz – einheitliche Objekt-ID (Typ „Object“ in DB)

       Performance der Persistenz sehr kritisch!
8                                  © 2009 Techniker Krankenkasse
Das unternehmensweite OO-Modell (1)
                                     ( )

     z   Kein zentral entworfenes OO-Modell
         z   Modell wächst mit den Projekten
         z   Architekten koordinieren
     z   Fachliche Gruppierung von Klassen (Komponenten)
     z   Frage: Welche Klasse/Komponente ist „verantwortlich“?
     z   K
         Konsequentes
                    t Abhängigkeitsmanagement
                       Abhä i k it              t (K
                                                  (Komponenten)
                                                             t )
         z   WER darf WEN nutzen: definieren und prüfen
         z   Unterstützt
             U  e s ü aucauch gu
                              gutes
                                 es Design
                                     es g
     z   Fachliche Modelle „konkret“, nicht „generisch“
     z   „Harte“ Typisierung
         z   Compile-Time-Safety: verhindert viele Fehler
         z   Abhängigkeiten sichtbar

9                                 © 2009 Techniker Krankenkasse

     Das unternehmensweite OO-Modell (2)
                                     ( )

     z   In Schnittstellen ((Interfaces)) denken
         z   Implementierung ist eine Black-Box, „darf“ Nutzer nichts angehen
     z   Viele Werttypen und Aufzählungstypen (unveränderbar)
         z   Helfen BOs schlank zu halten
         z   Einfache Wiederverwendung
         z   Beispiele: Anrede,
                        Anrede Geschlecht,
                                Geschlecht Bankverbindung,
                                           Bankverbindung BLZ
                                                           BLZ, Geldbetrag,
                                                                Geldbetrag …
     z   Generische Referenzen ermöglichen flexible Querschnittsysteme
     z   „Keine“ echte Vererbung: Interface-Erweiterung
         „Keine                   Interface Erweiterung und Delegation
         besser
     z   Framework muss Freiheit zur Modellierung schaffen

     Resümee: Realisierung von gutem fachlichen Design ist
              schwieriger als die technische Basis zu schaffen

10                                © 2009 Techniker Krankenkasse
Integration
         g       auf dem Client: Anwendungs-Portal
                                         g

     • Abstraktion von Anwendungen:
                                 g    TKeasy,
                                           y, SAP,, Centura,, Office,, ...
     • Qualifizierte Übergabe von Parametern

11                              © 2009 Techniker Krankenkasse

     Erfahrungen
             g

     • SUN Java ((J2SE)) auf Windows und Solaris
       z   Stabil für hochlastige Enterprise Systeme
       z   Konfiguration des Garbage-Collectors schwierig
           (GC Durchsatz pro Server und Tag: ca.
           (GC-Durchsatz                        ca 5 Terra-Byte)
                                                     Terra Byte)
       z   64-Bit: Speicherverbrauch zu hoch
     • SWING
       z   Für große Anwendungen mit hohen Ansprüchen an die GUI geeignet
       z   Viele Möglichkeiten: für effiziente Entwicklung beschränken
       z   Performance gut, hoher Speicherverbrauch

12                              © 2009 Techniker Krankenkasse
Erfolgsfaktoren
          g

     •   Kein Big-Bang:
                 g      g Lernen durch schrittweise Umstellung  g
     •   Frühe Produktivität
     •   Bereitschaft zu Re-Designs – Erfahrungen auch umsetzen
     •   Markttrends sehr kritisch würdigen
         – „Bringt es mir wirklich etwas?“
         – „Kann es die Versprechen halten?“
                                        halten?
     •   Schlanke Architektur
     •   Stabilität durch Architektur sicherstellen ((einige
                                                          g externe
         Bibliotheken nicht „stabil“)
     •   Flexibler und performanter Persistenzdienst
     •   I t
         Integration:
                 ti   Anwendungen
                      A      d        undd Systeme
                                           S t
     •   Automatisierte Qualitätssicherung (auf Source- und Byte-Code)

13                           © 2009 Techniker Krankenkasse

         Vielen herzlichen Dank für
         Ihre Aufmerksamkeit!
         Ralf.Degner@tk-online.de
Sie können auch lesen