SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
n-design - das Unternehmen
n-design
●
    ist ein junges, innovatives IT-Dienstleistungsunternehmen aus Köln

●
    bietet Beratungs- und Entwicklungsleistungen vor allem im
    Sozialversicherungsumfeld

Die Einführung der elektronischen Gesundheitskarte eGK und zugehöriger
Telematikinfrastruktur ist für uns dabei ein Kernthema.

Wir gehören dazu:

Stephan Hoffmann-Emden




Andreas Klotz

                    n-pat: Modulare Anwendungsplattform mit Smartcards   16.11.2011
                                     © n-design GmbH                         Folie 1
n-pat - worum es hier geht
Was erwartet Sie in den kommenden 25 Minuten ?
●
    Praxisbezogene Darstellung der Entwicklung einer OSGi-basierten
    Anwendungsplattform (unser erstes OSGi-Projekt!) mit den Themen
    ●
        Integration von SmartCards in OSGi
    ●
        Architektur
    ●
        Technische Realisierung

●
    Modulare dynamische WEB-Frontends

Fazit:

 Unsere Erfahrungen bei der Einführung von OSGi




                      n-pat: Modulare Anwendungsplattform mit Smartcards   16.11.2011
                                       © n-design GmbH                         Folie 2
n-pat – die Demo




            n-pat: Modulare Anwendungsplattform mit Smartcards   16.11.2011
                             © n-design GmbH                         Folie 3
Einordnung in den Gesamtkontext

Integrierbarkeit

Erweiterbarkeit

 Skalierbarkeit




                   n-pat: Modulare Anwendungsplattform mit Smartcards   16.11.2011
                                    © n-design GmbH                         Folie 4
Logische Komponentensicht
                                                              ●        Core – Runtime: OSGi ( Equinox)
                                                              ●        Basisdienste
                                                              ●        Applikationen
                                                              ●        Spezifische Adapter




                                                                  TestKennZ       Mehrwert
                VSDD                     CAMS
                                                                    Dienst         Dienst


                   CCS




               <Modul>         <Modul>          <Modul>            <Modul>         <Modul>   <Modul>          <Modul>
                VSD            Updates           AMS              TestKennZ        MWD 1     MWD 2           eGKDaten




                                                                                                                                 KT 1
          Mandanten      Logging     SystemMngt              PKI               Web                 KT Mngt    Card Mngt
         Mngt-Service    Service       Service              Service          Container
                                                                                                          Cryptho                KT n
                 Pseudonym                         SSO
                   Service                        Service                                              eCard Service

                                                          ServicePlattform




                                                                                                                          HTTP
                                                                                                                                 Frontend



                                                             OSGi core



                 n-pat: Modulare Anwendungsplattform mit Smartcards                                                               16.11.2011
                                                  © n-design GmbH                                                                     Folie 5
Die wesentlichen Requirements

Wesentliche Rahmenbedingungen im Design:

●   Modulare Anwendungsplattform mit domänenspezifischen
    Basisdiensten
●   Wahrung der Schutzbedarfe der Informationsobjekte in allen
    Systemkomponenten / Schichten
●   Entkopplung von Frontend, fachlichen Services und
    Backendsystemen
●   Schaffung von Hardwareabstraktion bei der Anbindung von Karten
    und Kartenterminals
●   Unterstützung unterschiedlicher Laufzeitumgebungen mit
    unterschiedlichen Hardwareanforderungen
●   Zentrales und dezentrales Deployment des Systems
●   Bereitstellung geeigneter Erweiterungspunkte zur Realisierung
    von Protokollierung und Monitoring
●   Remote Administration

                  n-pat: Modulare Anwendungsplattform mit Smartcards   16.11.2011
                                   © n-design GmbH                         Folie 6
Die ID4health              Systemarchitektur




●
    Standardisiertes ID-
    Management

●
    starke und
    datenschutzfreundliche
    Authentisierung

●
    n-pat integriert die
    hier entwickelten
    Verfahren!

                      n-pat: Modulare Anwendungsplattform mit Smartcards   16.11.2011
                                       © n-design GmbH                         Folie 7
Die CardTerminalanbindung




           n-pat: Modulare Anwendungsplattform mit Smartcards   16.11.2011
                            © n-design GmbH                         Folie 8
Module – Architektur & Technologie


●
    Architektur:

    „Tools & Material“ als Architekturmetapher für den Entwurf
    von Modulen für die Benutzerinteraktion.



●
    Technologie:

    Modularisierung der Webapplication mit
      ZK RIA

    komponentenorientiertes, server-zentriertes
      WebApplication Framework

                   n-pat: Modulare Anwendungsplattform mit Smartcards   16.11.2011
                                    © n-design GmbH                         Folie 9
Modular: Bundles schneiden

          Karten-Info                               Karten-Aktualisierung
             App                                            App



       + showCard                                       + showCard

                                                        + updateCard




      Interface Device                       Versicherten Stammdaten
          Service                                    Service



           
                n-pat: Modulare Anwendungsplattform mit Smartcards          16.11.2011
                                 © n-design GmbH                               Folie 10
Tools & Material
Tools als Schnittstelle zwischen GUI und OSGi - Services

●
    Ursprung der Idee:
    Architekturmetapher entlehnt dem
    “Tools and Material Approach” von Heinz Züllighoven
    [Object-Oriented Construction Handbook]

●
    Tools sind die Interaktionsschnittstelle der Modell-Schicht

●
    Klare Trennung fachlicher Werte, Aktionen mit diesen
    Werten und deren Repräsentation im GUI.

●
    Verwendung in Controller-Schicht und Tests

●
    Lifecycle unabhängig vom Lifecylce der GUI-Elemente

●
    Wiederverwendung von Tools in der Präsentationsschicht
                  n-pat: Modulare Anwendungsplattform mit Smartcards   16.11.2011
                                   © n-design GmbH                        Folie 11
Typischer Aufbau eines Tools

                       KarteAktualisierenTool

                   -   Interface Device Service
                   -   VSD Service
                   -   SmartCard
                   -   SmartCardDAO
                   -   CardPresentBean


                  + showCard: CardPresentBean

                  + updateCard: CardPresentBean

                  + backUpCard: void




            Optimal: Abbildung kompletter Use Cases mit Tools


            n-pat: Modulare Anwendungsplattform mit Smartcards   16.11.2011
                              © n-design GmbH                       Folie 12
Tools als Rand der Modellschicht

          Web Frontend (ZK RIA)
           Deklarative GUI Implementierung                         Präsentations-
                         (XUL)                                     schicht
                      Controller



              ToolBox

                       Tools
                                                                   Modellschicht




     OSGi-Services                    Entitäten


              n-pat: Modulare Anwendungsplattform mit Smartcards         16.11.2011
                               © n-design GmbH                              Folie 13
Modular: KartenInfo & KartenUpdate


          Karten-Info                                 Karten-Aktualisierung
             GUI                                              GUI




        KartenInfoTool
        KartenInfoTool                                  KartenUpdateTool
        getVersicherter();
          showCard();
           getKasse();
                                                          updateCard();



      Interface Device                         Versicherten Stammdaten
          Service                                      Service



           
                  n-pat: Modulare Anwendungsplattform mit Smartcards          16.11.2011
                                   © n-design GmbH                               Folie 14
Service oder nicht?
             ToolBox

                  Tool A        Tool B                                keine Services


                                                                      Declarative
                                                                       Services
 CardSlot Service A       CardSlot Service B                               -
                                                                        Factory
                                                                      Components


                CardTerminalManager Service

                                                                      Declarative
                          Interface Device                              Services
                              Service                                      -
                                                                       Immediate
                                                                      Components

                        
                 n-pat: Modulare Anwendungsplattform mit Smartcards             16.11.2011
                                  © n-design GmbH                                  Folie 15
Modularisierung der WebApp
Anforderungen

●
    Framework (ZK RIA) soll als Bundle verfügbar gemacht
    werden.

●
    Es gibt eine GUI-Kernkomponente, die Erweiterungen
    aufnimmt.

●
    Die Erweiterungen sollen eigenständige Bundles sein.

●
    Die Erweiterungen sollen GUI-Komponenten inkl.
    statischem Inhalt (image, css, …) bereitstellen können.




                 n-pat: Modulare Anwendungsplattform mit Smartcards   16.11.2011
                                  © n-design GmbH                        Folie 16
Modularisierung der WebApp (cont.)
Umsetzung

●
    ZK RIA mit Hilfe von Maven Bundle Plugin als Bundle
    bereitgestellt.

●
    Implementation eines GUI-Rahmens, den Erweiterungen
    ausfüllen können.

●
    Erweiterungen werden dynamisch über das Extender
    Pattern in den Rahmen eingebunden.

●
    Die Webapplikation wird von einem embeded Jetty
    gehostet.
    ●
        Classloader des GUI-Rahmen-Bundles
    ●
        Zugriff auf Resourcen der erweiternden Bundles.


                     n-pat: Modulare Anwendungsplattform mit Smartcards   16.11.2011
                                      © n-design GmbH                        Folie 17
Modularisierung der WebApp (cont.)




            n-pat: Modulare Anwendungsplattform mit Smartcards   16.11.2011
                             © n-design GmbH                        Folie 18
Modularisierung der WebApp (cont.)


     KartenInfo App                                 KartenAktualsierung App


         BundleTracker                                    BundleTracker
                              n-pat GUI Extender
                                                              Register/Derigister
                                                              App-Service
                                                                                    OSGi

 Register/Deregister            n-pat GUI Core               App-ServiceTracker
 Resources

                   Register Servlets


          Jetty Bundles                                   ZK RIA Bundle


                       n-pat: Modulare Anwendungsplattform mit Smartcards           16.11.2011
                                        © n-design GmbH                                Folie 19
Die ToolChain

Eingesetzte Werkzeuge:

    ●   Eclipse (PDE-Projekte)
    ●   Maven / Tycho (Manifest-First-Ansatz)
    ●   Jenkins (continuous Integration)
    ●   Junit


Knackpunkte:

    ●   Geeignete Teststrategie (Komponenten, Testumgebung /
        Targetplattform)
    ●   Tycho noch 'sehr jung'




                       n-pat: Modulare Anwendungsplattform mit Smartcards   16.11.2011
                                        © n-design GmbH                        Folie 20
Unser Fazit

Erstes OSGi-Projekt:

    ●   RTFS: Sind die Konzepte verstanden, gestaltet sich die Implementierung
        eher einfach
    ●   Externer Support für anfängliches Systemdesign sehr hilfreich
    ●   In der Planung genügend Refactoring-Iterationen berücksichtigen
    ●   Der OSGi-Core (Equinox) ist sehr stabil


Zu verbessern:

    ●   Testverfahren
    ●   Mocks




                        n-pat: Modulare Anwendungsplattform mit Smartcards   16.11.2011
                                         © n-design GmbH                        Folie 21
Besten Dank und weiterhin
   viel Spaß mit OSGI!

                     Kontakt:
            kontakt@n-design.de
              www.n-design.de


     n-pat: Modulare Anwendungsplattform mit Smartcards   16.11.2011
                      © n-design GmbH                        Folie 22

Weitere ähnliche Inhalte

Andere mochten auch

OSGi for In-Vehicle Systems
OSGi for In-Vehicle Systems OSGi for In-Vehicle Systems
OSGi for In-Vehicle Systems OSGiUsers
 
OSGi in the Residential Market
OSGi in the Residential Market OSGi in the Residential Market
OSGi in the Residential Market OSGiUsers
 
PojoSR or OSGi (µ)Services For the Rest of Us
PojoSR or OSGi (µ)Services For the Rest of UsPojoSR or OSGi (µ)Services For the Rest of Us
PojoSR or OSGi (µ)Services For the Rest of UsOSGiUsers
 
OSGi Web Development in Action
OSGi Web Development in Action	OSGi Web Development in Action
OSGi Web Development in Action OSGiUsers
 
OSGi als App-Plattform - Ein Ausflug durch den Security-Layer
OSGi als App-Plattform - Ein Ausflug durch den Security-Layer	OSGi als App-Plattform - Ein Ausflug durch den Security-Layer
OSGi als App-Plattform - Ein Ausflug durch den Security-Layer OSGiUsers
 
OSGi IoT Demo & Contest 2015
OSGi IoT Demo & Contest 2015OSGi IoT Demo & Contest 2015
OSGi IoT Demo & Contest 2015mfrancis
 
QUIRKS - Janvier 2015
QUIRKS - Janvier 2015QUIRKS - Janvier 2015
QUIRKS - Janvier 2015Ipsos France
 

Andere mochten auch (13)

OSGi for In-Vehicle Systems
OSGi for In-Vehicle Systems OSGi for In-Vehicle Systems
OSGi for In-Vehicle Systems
 
OSGi in the Residential Market
OSGi in the Residential Market OSGi in the Residential Market
OSGi in the Residential Market
 
PojoSR or OSGi (µ)Services For the Rest of Us
PojoSR or OSGi (µ)Services For the Rest of UsPojoSR or OSGi (µ)Services For the Rest of Us
PojoSR or OSGi (µ)Services For the Rest of Us
 
OSGi Web Development in Action
OSGi Web Development in Action	OSGi Web Development in Action
OSGi Web Development in Action
 
OSGi als App-Plattform - Ein Ausflug durch den Security-Layer
OSGi als App-Plattform - Ein Ausflug durch den Security-Layer	OSGi als App-Plattform - Ein Ausflug durch den Security-Layer
OSGi als App-Plattform - Ein Ausflug durch den Security-Layer
 
OSGi IoT Demo & Contest 2015
OSGi IoT Demo & Contest 2015OSGi IoT Demo & Contest 2015
OSGi IoT Demo & Contest 2015
 
QUIRKS - Janvier 2015
QUIRKS - Janvier 2015QUIRKS - Janvier 2015
QUIRKS - Janvier 2015
 
Webinar: Gestión de requisitos
Webinar: Gestión de requisitosWebinar: Gestión de requisitos
Webinar: Gestión de requisitos
 
Revista 2011
Revista 2011Revista 2011
Revista 2011
 
MAQUINARI PC CARLES MARTÍNEZ
MAQUINARI PC CARLES MARTÍNEZ MAQUINARI PC CARLES MARTÍNEZ
MAQUINARI PC CARLES MARTÍNEZ
 
Identificación de mascotas
Identificación de mascotasIdentificación de mascotas
Identificación de mascotas
 
Injusticia
InjusticiaInjusticia
Injusticia
 
Ma 33 2007
Ma 33 2007Ma 33 2007
Ma 33 2007
 

Ähnlich wie n-pat: Modulare Anwendungsplattform mit Smartcards

Mobile Instandhaltung mit SAP
Mobile Instandhaltung mit SAPMobile Instandhaltung mit SAP
Mobile Instandhaltung mit SAPRODIAS GmbH
 
Deutsche Wolke
Deutsche WolkeDeutsche Wolke
Deutsche WolkeThomas Uhl
 
Low-Code- und No-Code-Apps im PLM: Einordnung, Nutzen, Risiken, Chancen
Low-Code- und No-Code-Apps im PLM: Einordnung, Nutzen, Risiken, ChancenLow-Code- und No-Code-Apps im PLM: Einordnung, Nutzen, Risiken, Chancen
Low-Code- und No-Code-Apps im PLM: Einordnung, Nutzen, Risiken, ChancenIntelliact AG
 
IoT-X Platform von prodot - Daten sammeln, analysieren und auswerten
IoT-X Platform von prodot - Daten sammeln, analysieren und auswertenIoT-X Platform von prodot - Daten sammeln, analysieren und auswerten
IoT-X Platform von prodot - Daten sammeln, analysieren und auswertenprodot GmbH
 
Car It Und Cloud
Car It Und CloudCar It Und Cloud
Car It Und CloudJanAppl
 
LineMetrics Data-as-a-Service - Monitoring für Bestandsgebäude
LineMetrics Data-as-a-Service - Monitoring für BestandsgebäudeLineMetrics Data-as-a-Service - Monitoring für Bestandsgebäude
LineMetrics Data-as-a-Service - Monitoring für BestandsgebäudeLeonieDelphineReschr
 
Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis
Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis
Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis Intland Software GmbH
 
Hosting Provider Summit Mai 2012
Hosting Provider Summit Mai 2012Hosting Provider Summit Mai 2012
Hosting Provider Summit Mai 2012Thomas Uhl
 
Synaptic Network GmbH - Firmenprofil
Synaptic Network GmbH - FirmenprofilSynaptic Network GmbH - Firmenprofil
Synaptic Network GmbH - FirmenprofilSynaptic Network GmbH
 
Ontego Mobility Platform für Apps auf beliebiger Hardware in beliebigen Backe...
Ontego Mobility Platform für Apps auf beliebiger Hardware in beliebigen Backe...Ontego Mobility Platform für Apps auf beliebiger Hardware in beliebigen Backe...
Ontego Mobility Platform für Apps auf beliebiger Hardware in beliebigen Backe...Octopoda Consulting GmbH
 
Gerhard Jungwirth (mobilkom austria), Andreas Icha (Aschauer EDV)
Gerhard Jungwirth (mobilkom austria), Andreas Icha (Aschauer EDV)Gerhard Jungwirth (mobilkom austria), Andreas Icha (Aschauer EDV)
Gerhard Jungwirth (mobilkom austria), Andreas Icha (Aschauer EDV)Praxistage
 
Building Blocks for Mobile
Building Blocks for MobileBuilding Blocks for Mobile
Building Blocks for MobileGil Breth
 
Aras Partner Solution by SEEBURGER
Aras Partner Solution by SEEBURGERAras Partner Solution by SEEBURGER
Aras Partner Solution by SEEBURGERAras
 
Erp in der zukunft: über die funktionen hinaus
Erp in der zukunft: über die funktionen hinausErp in der zukunft: über die funktionen hinaus
Erp in der zukunft: über die funktionen hinausDedagroup
 
Konzepte für Remote-CAD
Konzepte für Remote-CADKonzepte für Remote-CAD
Konzepte für Remote-CADIntelliact AG
 
Projektsteckbrief Perlen Papier
Projektsteckbrief Perlen PapierProjektsteckbrief Perlen Papier
Projektsteckbrief Perlen Papierargvis GmbH
 
Dr. Clemens Wagner-Bruschek, ERP (d-fine Austria)
Dr. Clemens Wagner-Bruschek, ERP (d-fine Austria)Dr. Clemens Wagner-Bruschek, ERP (d-fine Austria)
Dr. Clemens Wagner-Bruschek, ERP (d-fine Austria)Praxistage
 
Windows 8 Business-App-Entwicklung
Windows 8 Business-App-EntwicklungWindows 8 Business-App-Entwicklung
Windows 8 Business-App-EntwicklungMatthias Jauernig
 

Ähnlich wie n-pat: Modulare Anwendungsplattform mit Smartcards (20)

Mobile Instandhaltung mit SAP
Mobile Instandhaltung mit SAPMobile Instandhaltung mit SAP
Mobile Instandhaltung mit SAP
 
Deutsche Wolke
Deutsche WolkeDeutsche Wolke
Deutsche Wolke
 
Low-Code- und No-Code-Apps im PLM: Einordnung, Nutzen, Risiken, Chancen
Low-Code- und No-Code-Apps im PLM: Einordnung, Nutzen, Risiken, ChancenLow-Code- und No-Code-Apps im PLM: Einordnung, Nutzen, Risiken, Chancen
Low-Code- und No-Code-Apps im PLM: Einordnung, Nutzen, Risiken, Chancen
 
IoT-X Platform von prodot - Daten sammeln, analysieren und auswerten
IoT-X Platform von prodot - Daten sammeln, analysieren und auswertenIoT-X Platform von prodot - Daten sammeln, analysieren und auswerten
IoT-X Platform von prodot - Daten sammeln, analysieren und auswerten
 
Car It Und Cloud
Car It Und CloudCar It Und Cloud
Car It Und Cloud
 
LineMetrics Data-as-a-Service - Monitoring für Bestandsgebäude
LineMetrics Data-as-a-Service - Monitoring für BestandsgebäudeLineMetrics Data-as-a-Service - Monitoring für Bestandsgebäude
LineMetrics Data-as-a-Service - Monitoring für Bestandsgebäude
 
Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis
Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis
Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis
 
Hosting Provider Summit Mai 2012
Hosting Provider Summit Mai 2012Hosting Provider Summit Mai 2012
Hosting Provider Summit Mai 2012
 
mühlnickel beit_PechaKucha
mühlnickel beit_PechaKuchamühlnickel beit_PechaKucha
mühlnickel beit_PechaKucha
 
Synaptic Network GmbH - Firmenprofil
Synaptic Network GmbH - FirmenprofilSynaptic Network GmbH - Firmenprofil
Synaptic Network GmbH - Firmenprofil
 
Ontego Mobility Platform für Apps auf beliebiger Hardware in beliebigen Backe...
Ontego Mobility Platform für Apps auf beliebiger Hardware in beliebigen Backe...Ontego Mobility Platform für Apps auf beliebiger Hardware in beliebigen Backe...
Ontego Mobility Platform für Apps auf beliebiger Hardware in beliebigen Backe...
 
Gerhard Jungwirth (mobilkom austria), Andreas Icha (Aschauer EDV)
Gerhard Jungwirth (mobilkom austria), Andreas Icha (Aschauer EDV)Gerhard Jungwirth (mobilkom austria), Andreas Icha (Aschauer EDV)
Gerhard Jungwirth (mobilkom austria), Andreas Icha (Aschauer EDV)
 
Building Blocks for Mobile
Building Blocks for MobileBuilding Blocks for Mobile
Building Blocks for Mobile
 
Dokumentenmanagement mit Alfresco
Dokumentenmanagement mit AlfrescoDokumentenmanagement mit Alfresco
Dokumentenmanagement mit Alfresco
 
Aras Partner Solution by SEEBURGER
Aras Partner Solution by SEEBURGERAras Partner Solution by SEEBURGER
Aras Partner Solution by SEEBURGER
 
Erp in der zukunft: über die funktionen hinaus
Erp in der zukunft: über die funktionen hinausErp in der zukunft: über die funktionen hinaus
Erp in der zukunft: über die funktionen hinaus
 
Konzepte für Remote-CAD
Konzepte für Remote-CADKonzepte für Remote-CAD
Konzepte für Remote-CAD
 
Projektsteckbrief Perlen Papier
Projektsteckbrief Perlen PapierProjektsteckbrief Perlen Papier
Projektsteckbrief Perlen Papier
 
Dr. Clemens Wagner-Bruschek, ERP (d-fine Austria)
Dr. Clemens Wagner-Bruschek, ERP (d-fine Austria)Dr. Clemens Wagner-Bruschek, ERP (d-fine Austria)
Dr. Clemens Wagner-Bruschek, ERP (d-fine Austria)
 
Windows 8 Business-App-Entwicklung
Windows 8 Business-App-EntwicklungWindows 8 Business-App-Entwicklung
Windows 8 Business-App-Entwicklung
 

n-pat: Modulare Anwendungsplattform mit Smartcards

  • 1. n-design - das Unternehmen n-design ● ist ein junges, innovatives IT-Dienstleistungsunternehmen aus Köln ● bietet Beratungs- und Entwicklungsleistungen vor allem im Sozialversicherungsumfeld Die Einführung der elektronischen Gesundheitskarte eGK und zugehöriger Telematikinfrastruktur ist für uns dabei ein Kernthema. Wir gehören dazu: Stephan Hoffmann-Emden Andreas Klotz n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 1
  • 2. n-pat - worum es hier geht Was erwartet Sie in den kommenden 25 Minuten ? ● Praxisbezogene Darstellung der Entwicklung einer OSGi-basierten Anwendungsplattform (unser erstes OSGi-Projekt!) mit den Themen ● Integration von SmartCards in OSGi ● Architektur ● Technische Realisierung ● Modulare dynamische WEB-Frontends Fazit: Unsere Erfahrungen bei der Einführung von OSGi n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 2
  • 3. n-pat – die Demo n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 3
  • 4. Einordnung in den Gesamtkontext Integrierbarkeit Erweiterbarkeit Skalierbarkeit n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 4
  • 5. Logische Komponentensicht ● Core – Runtime: OSGi ( Equinox) ● Basisdienste ● Applikationen ● Spezifische Adapter TestKennZ Mehrwert VSDD CAMS Dienst Dienst CCS <Modul> <Modul> <Modul> <Modul> <Modul> <Modul> <Modul> VSD Updates AMS TestKennZ MWD 1 MWD 2 eGKDaten KT 1 Mandanten Logging SystemMngt PKI Web KT Mngt Card Mngt Mngt-Service Service Service Service Container Cryptho KT n Pseudonym SSO Service Service eCard Service ServicePlattform HTTP Frontend OSGi core n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 5
  • 6. Die wesentlichen Requirements Wesentliche Rahmenbedingungen im Design: ● Modulare Anwendungsplattform mit domänenspezifischen Basisdiensten ● Wahrung der Schutzbedarfe der Informationsobjekte in allen Systemkomponenten / Schichten ● Entkopplung von Frontend, fachlichen Services und Backendsystemen ● Schaffung von Hardwareabstraktion bei der Anbindung von Karten und Kartenterminals ● Unterstützung unterschiedlicher Laufzeitumgebungen mit unterschiedlichen Hardwareanforderungen ● Zentrales und dezentrales Deployment des Systems ● Bereitstellung geeigneter Erweiterungspunkte zur Realisierung von Protokollierung und Monitoring ● Remote Administration n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 6
  • 7. Die ID4health Systemarchitektur ● Standardisiertes ID- Management ● starke und datenschutzfreundliche Authentisierung ● n-pat integriert die hier entwickelten Verfahren! n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 7
  • 8. Die CardTerminalanbindung n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 8
  • 9. Module – Architektur & Technologie ● Architektur: „Tools & Material“ als Architekturmetapher für den Entwurf von Modulen für die Benutzerinteraktion. ● Technologie: Modularisierung der Webapplication mit ZK RIA komponentenorientiertes, server-zentriertes WebApplication Framework n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 9
  • 10. Modular: Bundles schneiden Karten-Info Karten-Aktualisierung App App + showCard + showCard + updateCard Interface Device Versicherten Stammdaten Service Service  n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 10
  • 11. Tools & Material Tools als Schnittstelle zwischen GUI und OSGi - Services ● Ursprung der Idee: Architekturmetapher entlehnt dem “Tools and Material Approach” von Heinz Züllighoven [Object-Oriented Construction Handbook] ● Tools sind die Interaktionsschnittstelle der Modell-Schicht ● Klare Trennung fachlicher Werte, Aktionen mit diesen Werten und deren Repräsentation im GUI. ● Verwendung in Controller-Schicht und Tests ● Lifecycle unabhängig vom Lifecylce der GUI-Elemente ● Wiederverwendung von Tools in der Präsentationsschicht n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 11
  • 12. Typischer Aufbau eines Tools KarteAktualisierenTool - Interface Device Service - VSD Service - SmartCard - SmartCardDAO - CardPresentBean + showCard: CardPresentBean + updateCard: CardPresentBean + backUpCard: void Optimal: Abbildung kompletter Use Cases mit Tools n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 12
  • 13. Tools als Rand der Modellschicht Web Frontend (ZK RIA) Deklarative GUI Implementierung Präsentations- (XUL) schicht Controller ToolBox Tools Modellschicht OSGi-Services Entitäten n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 13
  • 14. Modular: KartenInfo & KartenUpdate Karten-Info Karten-Aktualisierung GUI GUI KartenInfoTool KartenInfoTool KartenUpdateTool getVersicherter(); showCard(); getKasse(); updateCard(); Interface Device Versicherten Stammdaten Service Service  n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 14
  • 15. Service oder nicht? ToolBox Tool A Tool B keine Services Declarative Services CardSlot Service A CardSlot Service B - Factory Components CardTerminalManager Service Declarative Interface Device Services Service - Immediate Components    n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 15
  • 16. Modularisierung der WebApp Anforderungen ● Framework (ZK RIA) soll als Bundle verfügbar gemacht werden. ● Es gibt eine GUI-Kernkomponente, die Erweiterungen aufnimmt. ● Die Erweiterungen sollen eigenständige Bundles sein. ● Die Erweiterungen sollen GUI-Komponenten inkl. statischem Inhalt (image, css, …) bereitstellen können. n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 16
  • 17. Modularisierung der WebApp (cont.) Umsetzung ● ZK RIA mit Hilfe von Maven Bundle Plugin als Bundle bereitgestellt. ● Implementation eines GUI-Rahmens, den Erweiterungen ausfüllen können. ● Erweiterungen werden dynamisch über das Extender Pattern in den Rahmen eingebunden. ● Die Webapplikation wird von einem embeded Jetty gehostet. ● Classloader des GUI-Rahmen-Bundles ● Zugriff auf Resourcen der erweiternden Bundles. n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 17
  • 18. Modularisierung der WebApp (cont.) n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 18
  • 19. Modularisierung der WebApp (cont.) KartenInfo App KartenAktualsierung App BundleTracker BundleTracker n-pat GUI Extender Register/Derigister App-Service OSGi Register/Deregister n-pat GUI Core App-ServiceTracker Resources Register Servlets Jetty Bundles ZK RIA Bundle n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 19
  • 20. Die ToolChain Eingesetzte Werkzeuge: ● Eclipse (PDE-Projekte) ● Maven / Tycho (Manifest-First-Ansatz) ● Jenkins (continuous Integration) ● Junit Knackpunkte: ● Geeignete Teststrategie (Komponenten, Testumgebung / Targetplattform) ● Tycho noch 'sehr jung' n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 20
  • 21. Unser Fazit Erstes OSGi-Projekt: ● RTFS: Sind die Konzepte verstanden, gestaltet sich die Implementierung eher einfach ● Externer Support für anfängliches Systemdesign sehr hilfreich ● In der Planung genügend Refactoring-Iterationen berücksichtigen ● Der OSGi-Core (Equinox) ist sehr stabil Zu verbessern: ● Testverfahren ● Mocks n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 21
  • 22. Besten Dank und weiterhin viel Spaß mit OSGI! Kontakt: kontakt@n-design.de www.n-design.de n-pat: Modulare Anwendungsplattform mit Smartcards 16.11.2011 © n-design GmbH Folie 22