n-pat: Modulare Anwendungsplattform mit Smartcards

22
16.11.2011 Folie 1 n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH 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

description

 

Transcript of n-pat: Modulare Anwendungsplattform mit Smartcards

Page 1: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 1

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

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

Page 2: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 2

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

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

Page 3: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 3

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

n-pat – die Demo

Page 4: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 4

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

Einordnung in den Gesamtkontext

Integrierbarkeit

Erweiterbarkeit

Skalierbarkeit

Page 5: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 5

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

OSGi core

Logische Komponentensicht

<Modul>VSD

ServicePlattform

VSDD

<Modul>eGKDaten

KT 1

KT n

eCard Service

CCS

HTT

P

LoggingService

SystemMngtService

PKIService

KT Mngt Card Mngt

CrypthoPseudonym

ServiceSSO

Service

<Modul>TestKennZ

TestKennZDienst

<Modul>MWD 1

MehrwertDienst

<Modul>MWD 2

MandantenMngt-Service

<Modul>Updates

CAMS

<Modul>AMS

Frontend

WebContainer

● Core – Runtime: OSGi ( Equinox)● Basisdienste● Applikationen● Spezifische Adapter

Page 6: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 6

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

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

Page 7: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 7

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

Die ID4health Systemarchitektur

● Standardisiertes ID-Management

● starke und datenschutzfreundliche Authentisierung

● n-pat integriert die hier entwickelten Verfahren!

Page 8: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 8

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

Die CardTerminalanbindung

Page 9: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 9

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

Module – Architektur & Technologie

● Architektur:

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

● Technologie:

Modularisierung der Webapplication mitZK RIA

komponentenorientiertes, server-zentriertesWebApplication Framework

Page 10: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 10

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

Modular: Bundles schneiden

Interface Device Service

Versicherten StammdatenService

Karten-InfoApp

Karten-AktualisierungApp

+ showCard

+ updateCard

+ showCard

Page 11: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 11

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

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

Page 12: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 12

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

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

Page 13: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 13

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

Tools als Rand der Modellschicht

Web Frontend (ZK RIA)

Deklarative GUI Implementierung(XUL)

Controller

Präsentations-schicht

OSGi-Services Entitäten

Tools

ToolBox

Modellschicht

Page 14: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 14

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

Modular: KartenInfo & KartenUpdate

Interface Device Service

Versicherten StammdatenService

Karten-InfoGUI

Karten-AktualisierungGUI

KartenInfoTool

getVersicherter();getKasse();

KartenInfoTool

showCard();

KartenUpdateTool

updateCard();

Page 15: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 15

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

Service oder nicht?

CardTerminalManager Service

Declarative Services

-Immediate

Components

CardSlot Service A

Interface Device Service

CardSlot Service BDeclarative

Services-

Factory Components

Tool A

ToolBox

Tool B keine Services

Page 16: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 16

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

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.

Page 17: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 17

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

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.

Page 18: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 18

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

Modularisierung der WebApp (cont.)

Page 19: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 19

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

Modularisierung der WebApp (cont.)

Jetty Bundles ZK RIA Bundle

n-pat GUI Core

Register Servlets

KartenInfo App KartenAktualsierung App

n-pat GUI Extender

Register/DeregisterResources

BundleTracker BundleTracker

OSGi

Register/DerigisterApp-Service

App-ServiceTracker

Page 20: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 20

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

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'

Page 21: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 21

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

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

Page 22: n-pat: Modulare Anwendungsplattform mit Smartcards

16.11.2011Folie 22

n-pat: Modulare Anwendungsplattform mit Smartcards © n-design GmbH

Besten Dank und weiterhin viel Spaß mit OSGI!

Kontakt: [email protected]

www.n-design.de