SlideShare a Scribd company logo
1 of 40
Download to read offline
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Machet die Tore weit!
Portaltechnologie in Bankanwendungen
Ralph Henze
Sparda-Datenverarbeitung eG
ralph.henze@spb.de
www.sparda.de
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Kurze Vorstellung
 Sparda-Datenverarbeitung eG
 IT-Dienstleister für
 Sparda-Banken
 PSD Banken
 NetBank AG
 ca. 350 Mitarbeiter
 Zwei Rechenzentrumsstandorte in Nürnberg
 ca. 1,2 Mio. Kunden sind für Internet freigeschalten
 ca. 6,5 Mio. Internet-Sitzungen pro Monat
 Ralph Henze
 Software-Architekt und Entwickler
 Technischer Projektleiter Internet Endkundenportal
12 Sparda-Banken
15 PSD Banken
NetBank AG
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Überblick
 Portalprojekt
 Ausgangssituation
 Warum ein Portal Server?
 Projekt Arbeitspakete
 Herausforderung Produktionsumgebung
 Portal Basisarchitektur
 Authentifizierung und Benutzerprofile
 Login- und Logout-Vorgang
 Portalisierung der bestehenden Anwendungen
 Struts-basierte Anwendungen im Portalumfeld
 Separation und Zentralisierung von Funktionalität
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Ausgangssituation
 2001 haben wir eine J2EE-basierte Lösung für Internetbanking
eingeführt
 Die Applet-basierte Lösung eines Drittherstellers wurde damit
abgelöst.
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Ausgangssituation
 Mit dem Erfolg der Internetbanking Anwendung wuchsen die
Anforderungen und Wünsche der Banken
 Weitere Features müssen in die Anwendung eingebaut werden
 Neue Anwendungen sind zu entwickeln
 Postbox (juristisch gültige Kontoauszüge, Mitteilungen, etc.)
 Zielgruppenorientierte Produktangebote auf Basis DWH
 Direkter Verkauf von Bankprodukten
 Integration der Anwendungen von Kooperationspartnern
 Man soll sich nur ein einziges Mal anmelden müssen
 Single Sign On Integration
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Ausgangssituation
 Es entstand die Gefahr, die Anwendungen zu überfrachten
 Verringerte Wartbarkeit
 Redundanzen in den Anwendungen
 Mehrfache Logins sind für den Kunden unzumutbar
 Single Sign On?
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Ausgangssituation
 Die Anforderungen aus Kundensicht waren:
 Bedienung so einfach wie möglich
 Nur ein Login nötig
 Einheitliches Look & Feel über alle Anwendungen
 Performance
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Ausgangssituation
 Die Anforderungen aus Sicht der Entwicklung waren:
 Unabhängige Entwicklung der Anwendungen
 Wiederverwendung/Migration eines großen Teils der bestehenden
Anwendungen muss möglich sein
 Investitionsschutz
 Login soll nicht Bestandteil [je]der einzelnen Anwendung sein
 Konzentration auf die Fachlichkeit der Anwendung
 Gemeinsam benötigte Funktionalität soll ausgelagert sein
 Gemeinsame benötigte Informationen sollen zentral zugängig sein
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Ausgangssituation
 Die Anforderungen aus Sicht des Betriebs waren:
 Unabhängiges, revisionssicheres Übergabeverfahren für die
Anwendungen
 Unabhängiges Deployment für einzelne Anwendungen
 Stabilität
 Skalierbarkeit / Clusterfähigkeit
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Warum ein Portal Server?
 Alternative 1: Eigenes Framework entwickeln
+ Hoher Entwicklungsaufwand
+ zielgerichtete, spezialisierte Implementierung
- Resultat ähnelt einem Portal Server Produkt!
 Alternative 2: Portal Server Produkt einsetzen
+ Bringt viele, aber nicht alle der benötigten Funktionalitäten mit
- Besitzt Funktionalität, die nicht benötigt/verwendet wird
- Content Management
- Personalisierung
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Warum ein Portal Server?
 Separation
 Portlet-Anwendungen sind unabhängige Applikationen
 Getrennter, unabhängiger Entwicklungsprozess
 Unabhängige Deployments
 Übersichtliche, wartbare Anwendungen
 Integration
 Gemeinsam benötigte Bestandteile werden zentralisiert
z. B. gemeinsame Backend-Schnittstellen
 Single Sign On: Gemeinsame Authentifikation
 Präsentation: Gemeinsames Style / Theme / Layout
 Kommunikation
 Portlets können Informationen austauschen
Gemeinsame Session, Benutzerprofil, Messaging (Event Mechanismus)
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Warum ein Portal Server?
Portalstrategie:
 Integrations- bzw. Transaktionsportal
 Kein Personalisierungsportal
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Welches Portal Server Produkt?
 Kommerzielles Produkt
 IBM WebSphere Portal Server
 BEA Portal Server
 Open Source Produkt
 Apache Jetspeed 1.x
 Zum Zeitpunkt der Evaluation Ende 2002 war kein anderes Open
Source Produkt verfügbar
 Jetspeed war nicht für große, kritische
Unternehmensanwendungen geeignet
 Entscheidung fiel zugunsten IBM WebSphere Portal Server
aus
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Projekt Arbeitspakete
 Architektur
 Portal Struktur
 Mandantenfähigkeit
 Anbindung Backend-Systeme (Banken-Mainframe)
 Implementierung
 Portal Basis / Fundament
 Authentifizierung & Single Sign On
 Themes und User Interface
 Erweiterung um nicht vorhandene Funktionalitäten
 Portalisierung bestehender Anwendungen
 Betrieb
 Planung Infrastruktur
 Rollout Prozedur
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Herausforderung Produktionsumgebung
 Die Produktionsumgebung für eine Bankenplattform im Internet ist mit
höchster Sorgfalt zu planen
 Im Mittelpunkt stehen dabei die Themen
 Security
 Verfügbarkeit
 Performance
 Wartbarkeit
 Notwendige Maßnahmen
 System zur permanenten Überwachung und Alarmierung
 Lasttests mit unterschiedlichsten Konfigurationen
 Entscheidung für mehrere unabhängige Portal Instanzen
(kein WebSphere Cluster)
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Security Hardening WebSphere Portal Server
 Bugs von WebSphere Application Server / Portal Server beheben bzw. umgehen
(LTPA Bug)
 Löschen von Default Content
 Cross Site Scripting anfällige JSPs
 Detaillierte Versionsinformationen
 Einschränkung von zulässigen URLs
 Nicht alle URLs sollten vom Portal Server bedient werden
 Configuration Servlet unzugängig machen
 Administrativen Zugriff auf Admin Subnetz beschränken
 Standard Fehlerseiten definieren (in Portal Server web.xml)
 Deinstallation von Sample Applications / Portlets
 …
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Überblick
 Generelles
 Ausgangssituation
 Warum ein Portal Server?
 Projekt Arbeitspakete
 Herausforderung Produktionsumgebung
 Portal Basisarchitektur
 Authentifizierung und Benutzerprofile
 Login- und Logout-Vorgang
 Portalisierung der bestehenden Anwendungen
 Struts-basierte Anwendungen im Portalumfeld
 Separation und Zentralisierung von Funktionalität
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Portal Basisarchitektur
 Portal Basis ==
Alles im Portal-Umfeld, was keine fachliche Portlet-Anwendung ist
 Der Portal Server muss in die bestehende Systemlandschaft integriert
werden
 Ein LDAP-Server steht für die Internet-Kunden nicht zur Verfügung
 Dazu sind eine Reihe von Schnittstellen und Komponenten zu
implementieren:
 Authentifizierung
 Bereitstellen von Daten des Benutzerprofils
 Eingriffe in den Login- und Logout-Vorgang des Portals
 Zentralisierter Zugriff auf das Backend (Banken Mainframe)
 Ergänzen des HTTP Datenstroms durch Servlet Filter
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Authentifizierung
 Der Portal Server läuft als gesicherte Web Application im
WebSphere Application Server (J2EE Security)
 WebSphere stellt mit UserRegistry eine Schnittstelle zur
Verfügung, eigene Authentifizierungskomponenten an das
System anzudocken  Custom User Registry (CUR)
WebSphere Application Server
WebSphere Portal Server
Client
CUR
Portlet Container
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Bereitstellen von Daten des Benutzerprofils
 Die Portlet API bietet Portlets die Möglichkeit, Informationen über den
angemeldeten Benutzer (“Profil”) zu erhalten
 Das Benutzerprofil wird nach der Authentifizierung vom Portal Server über
eine definierte Schnittstelle angefordert
 Die Schnittstelle MemberRepository ist nicht veröffentlicht
 Änderung der Schnittstelle zwischen verschiedenen Portal Server
Releases sind wahrscheinlich
L WebSphere Application Server
WebSphere Portal Server
Client
CUR
Portlet Container
Member
Repository
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Eingriffe in den Login- und Logout-Vorgang
 Aus einer Reihe von Gründen ist es erforderlich, in den Login- und Logout-
Vorgang des Portals einzugreifen
 Beschränkung des administrativen Zugriffs auf dediziertes Subnetz
 An- und Abmeldung an Backend System
 Freigabe von Resourcen
 Dazu können Default Command-Klassen überschrieben werden
WebSphere Application Server
WebSphere Portal Server
Client
CUR
Portlet Container
Member
Repository
Login
Command
Logout
Command
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Zentralisierter Zugriff auf das Backend
 Mehrere Portlets benötigen Zugriff auf das gleiche Backend
 Daher sollte eine gemeinsame Anbindung innerhalb des
Portals vorliegen, auf das die Portlets Zugriff haben
 Dies ist mittels eines Portlet Service realisiert
WebSphere Application Server
WebSphere Portal Server
Client
CUR
Portlet Container
Member
Repository
Login
Command
Logout
Command
Portlet
Service
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Ergänzen des HTTP Datenstroms
 Servlet Filter (nach Servlet API 2.3) werden verwendet, um
den HTTP Datenstrom zu verändern/ergänzen
 Hinzufügen von HTTP Headern für den Load Balancer
 Beseitigen einer Schwäche des LTPA-Protokolls
 Hinzufügen von P3P Compact Policy HTTP Headern
WebSphere Application Server
WebSphere Portal Server
Client
CUR
Portlet Container
Member
Repository
Login
Command
Logout
Command
Portlet
Service
Filter
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Überblick Portal Basisarchitektur
WebSphere Application Server
WebSphere Portal Server
Client
CUR
Portlet Container
Member
Repository
Login
Command
Logout
Command
Portlet
Service
Filter
Banken Kernsystem
(IBM zSeries Mainframe)
Backend
Adapter
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Überblick Gesamtarchitektur
Client
Banken Kernsystem
(IBM zSeries Mainframe)
WebSphere Application Server
WebSphere Portal Server
CUR
Portlet Container
Member
Repository
Login
Command
Logout
Command
Portlet
Service
Filter
Backend
Adapter
Web Service Bus
Service Adapter
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Überblick
 Generelles
 Ausgangssituation
 Warum ein Portal Server?
 Projekt Arbeitspakete
 Herausforderung Produktionsumgebung
 Portal Basisarchitektur
 Authentifizierung und Benutzerprofile
 Login- und Logout-Vorgang
 Portalisierung der bestehenden Anwendungen
 Struts-basierte Anwendungen im Portalumfeld
 Separation und Zentralisierung von Funktionalität
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Portalisierung der bestehenden Anwendungen
 Die bestehenden Anwendungen lagen in Form von Struts-basierten Web
Applications vor
 Internetbanking
 Postbox
 Die fachlichen Funktionalitäten der bestehenden Anwendungen mussten
erhalten bleiben (Investitionsschutz)
 Generell ist es wünschenswert, die Vorteile des Struts-Frameworks auch in
der Portlet-Welt zu haben
 Saubere MVC-Trennung
 Performance, Stabilität, Praxiserprobung
 haufenweise Literatur, exzellente Tool-Unterstützung
 …
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
IBM Struts Portlet Framework
 IBM liefert mit dem Portal Server (ab Version 5.x) das Struts Portlet
Framework mit (ist auch als separater Download erhältlich)
 Das Struts Portlet Framework ermöglicht
 die Neuentwicklung von Struts-basierten Portlets
 die Portalisierung bestehender Struts-basierter Webanwendungen
 Die entstehenden Portlets folgen wahlweise IBM Portlet API
(org.apache.jetspeed.*) oder JSR 168 (javax.portlet.*)
 Das Struts Portlet Framework besteht aus
 Struts Controller Portlet und Portlet Request Processor
 Taglib als Ersatz für die Struts <html:/> Taglib
 einer Reihe von Utility Klassen
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Portalisierung einer Struts-basierten Anwendung
 Es gibt eine definierte Prozedur zur Portalisierung einer
bestehenden Struts-basierten Anwendung:
 Anpassung der JSPs der Anwendung
 Ersetzen des Action Servlets durch das Action Portlet
 Ersetzen des Standard Request Processor
 Ersetzen der <html:/> Taglib in web.xml
 Hinzufügen eines portlet.xml Deskriptors
 Jar-Dateien nach WEB-INF/lib kopieren
 Jedoch sind eine Reihe von Besonderheiten zu beachten,
welche die Verwendung von Struts in Portlet-Projekten
einschränken
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Situation Struts Webanwendung
Web
Browser
J2EE Web Container
Web Application
Action Servlet
(Controller)
struts-config.xml
Struts Action
(Logik)
Anwendungszustand
(Model)
JSP
(View)
dispatch
forward
get
(tag)
provide
HTTP
Request
HTTP
Response
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
J2EE Web Container
Situation Struts Portlet Anwendungen
Portlet Container
Web
Browser
Struts Portlet Application
Controller
xml
Action
ModelView
HTTP
Request
HTTP
Response
Portal Server
Web Application
Struts Portlet Application
Controller
xml
Action
ModelView
Portal Controller
Servlet
Page
Aggregation
Portlet
Invoker
Any Portlet Application
Any Portlet
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Besonderheiten
 Servlet- und Portlet-APIs haben eine Reihe von
Gemeinsamkeiten, jedoch Servlet ≠ Portlet
 Die Portlet-Request-Verarbeitung läuft in zwei Phasen ab
 Action Processing Phase
 Rendering Phase
 Portal URIs haben ein spezielles Format
 Forwards und HTTP Redirects werden nicht unterstützt
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Problembereich Verarbeitung in zwei Phasen
 Die Verarbeitung von Requests in Portalanwendungen ist in
zwei Phasen aufgeteilt
 Action Processing zur Reaktion auf Benutzerinteraktionen
 Rendering erzeugt das Markup-Fragment des Portlets
 Ein typischer Struts Request Flow umfasst jedoch Action
Processing und Rendering vermischt in einem Schritt
Web
Browser
J2EE Web Container
Struts based Web Application
Controller
config
Action
ModelJSP
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Problembereich Verarbeitung in zwei Phasen
 Während der Action Processing Phase kann kein Output
erzeugt werden
 in einer Struts Action kann das HttpResponse Objekt nicht verwendet werden!
 Das Rendering kann mehrfach hintereinander auch ohne
Action Processing aufgerufen werden
 Situation: Auf einer Page sind mehrere Portlets, der Benutzer arbeitet
nur in einem.
 Problem, falls die JSPs auf Beans im Page- oder Request Scope
zugreifen
 die zur Darstellung des View erforderlichen Beans müssen evtl.
zwischengespeichert werden
 Das Struts Portlet Framework erreicht dies durch View Commands, die
Beans speichern und mehrfach ausgeführt werden können
 Erfordert Eingriff in die Applikation
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Problembereich URI Generierung
 Mehrfache Controller müssen koordiniert werden
 Die generierten URIs müssen immer auf den Controller des
Portal Servers zeigen
 Wird von den Tags der mitgelieferten <html:/> Taglib erledigt
<html:form />, <html:link />, <html:rewrite />, <html:image />
 Die Bestandteile für den Struts Controller müssen trotzdem in
der URI codiert sein und vor der Verarbeitung decodiert
werden
 Wird vom mitgelieferten RequestProcessor erledigt
 Pfade in der Anwendung, die nicht durch <html:/>-Tags
generiert werden, funktionieren nicht mehr
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Folgen der Portalisierung
 Login-/Logout-Funktionen sind aus der Anwendung
herausgenommen worden
 Der Zugriff auf das gemeinsame Backend wird in Form von
Portlet Services ermöglicht und ist ebenfalls nicht mehr
Bestandteil der Anwendungen
 Die Anwendungen haben sich insofern verändert:
 Geringere Größe (weniger Actions, Forms, JSPs, …)
 verbesserte Wartbarkeit
 Konzentration auf fachliche Funktionalität
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Fazit
 Der strategische Einsatz von Portaltechnologie im
Endkundengeschäft für Banken ist aus unserer Sicht sinnvoll
und richtig
 Das Einbringen eines Portal Servers in eine Systemlandschaft
mit nichtstandardisierten Schnittstellen ist ein sehr komplexes
und aufwändiges Unterfangen
 Mit Hilfe des Struts Portlet Framework ist es möglich,
bestehende Struts-basierte Anwendung mit vertretbarem
Aufwand zu portalisieren
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Links
 Gruppe der Sparda-Banken
http://www.sparda.de/
 IBM developerWorks WebSphere Portal Zone
http://www-128.ibm.com/developerworks/websphere/zones/portal/
 Struts Portlet Framework
http://catalog.lotus.com/wps/portal/portal dort nach “1WP10003N“ suchen
 Java Specification Request 168
http://www.jcp.org/en/jsr/detail?id=168
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
The End
Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG
Vielen Dank!
ralph.henze@spb.de
www.sparda.de

More Related Content

Viewers also liked

Konzern oder Start-up? Wofür sich die Generation Y entscheidet
Konzern oder Start-up? Wofür sich die Generation Y entscheidet Konzern oder Start-up? Wofür sich die Generation Y entscheidet
Konzern oder Start-up? Wofür sich die Generation Y entscheidet Christopher Buschow
 
Sheep And Dairy Farming2
Sheep And Dairy Farming2Sheep And Dairy Farming2
Sheep And Dairy Farming2Kaaren
 
Aspekty prawne otwartej nauki
Aspekty prawne otwartej naukiAspekty prawne otwartej nauki
Aspekty prawne otwartej naukiAlek Tarkowski
 
RDA and Small Libraries: What Will the Challenges Be?
RDA and Small Libraries: What Will the Challenges Be?RDA and Small Libraries: What Will the Challenges Be?
RDA and Small Libraries: What Will the Challenges Be?Emily Nimsakont
 
Let's Talk About RDA: RDA Resources - NLA/NEMA 2011
Let's Talk About RDA: RDA Resources - NLA/NEMA 2011Let's Talk About RDA: RDA Resources - NLA/NEMA 2011
Let's Talk About RDA: RDA Resources - NLA/NEMA 2011Emily Nimsakont
 
DiseñOs De Boda
DiseñOs De BodaDiseñOs De Boda
DiseñOs De Bodaguest2983b4
 
关节镜的手术适应症
关节镜的手术适应症关节镜的手术适应症
关节镜的手术适应症ebonenow
 
WheelShare Project Overview
WheelShare Project OverviewWheelShare Project Overview
WheelShare Project OverviewReza Sadr
 
SQALE Software Quality Assessment based on Lifecycle Expectations
SQALE Software Quality Assessment based on Lifecycle ExpectationsSQALE Software Quality Assessment based on Lifecycle Expectations
SQALE Software Quality Assessment based on Lifecycle ExpectationsGlaucio Scheibel
 
Risky business - business model innovation in infrastructure
Risky business - business model innovation in infrastructureRisky business - business model innovation in infrastructure
Risky business - business model innovation in infrastructuretonyosailing
 
Co nas uwiera w prawie autorskim
Co nas uwiera w prawie autorskimCo nas uwiera w prawie autorskim
Co nas uwiera w prawie autorskimAlek Tarkowski
 
Windows And Balconies(Sound)
Windows And Balconies(Sound)Windows And Balconies(Sound)
Windows And Balconies(Sound)david yin
 

Viewers also liked (20)

Nell Watson
Nell WatsonNell Watson
Nell Watson
 
Konzern oder Start-up? Wofür sich die Generation Y entscheidet
Konzern oder Start-up? Wofür sich die Generation Y entscheidet Konzern oder Start-up? Wofür sich die Generation Y entscheidet
Konzern oder Start-up? Wofür sich die Generation Y entscheidet
 
Sheep And Dairy Farming2
Sheep And Dairy Farming2Sheep And Dairy Farming2
Sheep And Dairy Farming2
 
Aspekty prawne otwartej nauki
Aspekty prawne otwartej naukiAspekty prawne otwartej nauki
Aspekty prawne otwartej nauki
 
RDA and Small Libraries: What Will the Challenges Be?
RDA and Small Libraries: What Will the Challenges Be?RDA and Small Libraries: What Will the Challenges Be?
RDA and Small Libraries: What Will the Challenges Be?
 
Let's Talk About RDA: RDA Resources - NLA/NEMA 2011
Let's Talk About RDA: RDA Resources - NLA/NEMA 2011Let's Talk About RDA: RDA Resources - NLA/NEMA 2011
Let's Talk About RDA: RDA Resources - NLA/NEMA 2011
 
Web 2.0 Favorites of Brenda Nix
Web 2.0 Favorites of Brenda NixWeb 2.0 Favorites of Brenda Nix
Web 2.0 Favorites of Brenda Nix
 
about presenter's
about presenter'sabout presenter's
about presenter's
 
DiseñOs De Boda
DiseñOs De BodaDiseñOs De Boda
DiseñOs De Boda
 
Eagle
EagleEagle
Eagle
 
رمضان
رمضانرمضان
رمضان
 
关节镜的手术适应症
关节镜的手术适应症关节镜的手术适应症
关节镜的手术适应症
 
Mobile Marketing UK
Mobile Marketing UKMobile Marketing UK
Mobile Marketing UK
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
WheelShare Project Overview
WheelShare Project OverviewWheelShare Project Overview
WheelShare Project Overview
 
SQALE Software Quality Assessment based on Lifecycle Expectations
SQALE Software Quality Assessment based on Lifecycle ExpectationsSQALE Software Quality Assessment based on Lifecycle Expectations
SQALE Software Quality Assessment based on Lifecycle Expectations
 
Risky business - business model innovation in infrastructure
Risky business - business model innovation in infrastructureRisky business - business model innovation in infrastructure
Risky business - business model innovation in infrastructure
 
Co nas uwiera w prawie autorskim
Co nas uwiera w prawie autorskimCo nas uwiera w prawie autorskim
Co nas uwiera w prawie autorskim
 
Windows And Balconies(Sound)
Windows And Balconies(Sound)Windows And Balconies(Sound)
Windows And Balconies(Sound)
 
Web 2.0 in Theorie & Praxis
Web 2.0 in Theorie & PraxisWeb 2.0 in Theorie & Praxis
Web 2.0 in Theorie & Praxis
 

Similar to Banking portal

OOP 2006: Einsatz von Portaltechnologie in Bankanwendungen für Internet-Endku...
OOP 2006: Einsatz von Portaltechnologie in Bankanwendungen für Internet-Endku...OOP 2006: Einsatz von Portaltechnologie in Bankanwendungen für Internet-Endku...
OOP 2006: Einsatz von Portaltechnologie in Bankanwendungen für Internet-Endku...JoeyNbg
 
Back to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit MicroservicesBack to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit MicroservicesAndré Fleischer
 
B1 Lotusday 2008 Vortrag X Forms Rapid Development
B1 Lotusday 2008 Vortrag X Forms Rapid DevelopmentB1 Lotusday 2008 Vortrag X Forms Rapid Development
B1 Lotusday 2008 Vortrag X Forms Rapid DevelopmentAndreas Schulte
 
Oracle Mobile Cloud Service im Einsatz
Oracle Mobile Cloud Service im EinsatzOracle Mobile Cloud Service im Einsatz
Oracle Mobile Cloud Service im EinsatzVolker Linz
 
MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der CloudTorsten Fink
 
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?adesso AG
 
Portalserver Meets SOA: State of the Portal Art
Portalserver Meets SOA:  State of the Portal ArtPortalserver Meets SOA:  State of the Portal Art
Portalserver Meets SOA: State of the Portal Artadesso AG
 
Ivory Soa Suite
Ivory Soa SuiteIvory Soa Suite
Ivory Soa SuitePredrag61
 
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungAndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungEduard Hildebrandt
 
Liferay als Java-Portal-Entwicklungsplattform
Liferay als Java-Portal-EntwicklungsplattformLiferay als Java-Portal-Entwicklungsplattform
Liferay als Java-Portal-Entwicklungsplattformgedoplan
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Niels de Bruijn
 
BATbern48_Zero Trust Architektur des ISC-EJPD.pdf
BATbern48_Zero Trust Architektur des ISC-EJPD.pdfBATbern48_Zero Trust Architektur des ISC-EJPD.pdf
BATbern48_Zero Trust Architektur des ISC-EJPD.pdfBATbern
 
Process Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, RaiffeisenProcess Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, Raiffeisencamunda services GmbH
 
Enterprise UI
Enterprise UIEnterprise UI
Enterprise UIgedoplan
 
Thin, Rich und RIA Clients entwirrt -- und Faktoren, die Sie zum geeigneten C...
Thin, Rich und RIA Clients entwirrt -- und Faktoren, die Sie zum geeigneten C...Thin, Rich und RIA Clients entwirrt -- und Faktoren, die Sie zum geeigneten C...
Thin, Rich und RIA Clients entwirrt -- und Faktoren, die Sie zum geeigneten C...Nikolaos Kaintantzis
 
20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatenge20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatengeKarin Patenge
 
AdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsightsAdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsightsChristoph Adler
 
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
 
Wieviel client braucht das web
Wieviel client braucht das webWieviel client braucht das web
Wieviel client braucht das webgedoplan
 
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenGewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenBjoern Reinhold
 

Similar to Banking portal (20)

OOP 2006: Einsatz von Portaltechnologie in Bankanwendungen für Internet-Endku...
OOP 2006: Einsatz von Portaltechnologie in Bankanwendungen für Internet-Endku...OOP 2006: Einsatz von Portaltechnologie in Bankanwendungen für Internet-Endku...
OOP 2006: Einsatz von Portaltechnologie in Bankanwendungen für Internet-Endku...
 
Back to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit MicroservicesBack to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit Microservices
 
B1 Lotusday 2008 Vortrag X Forms Rapid Development
B1 Lotusday 2008 Vortrag X Forms Rapid DevelopmentB1 Lotusday 2008 Vortrag X Forms Rapid Development
B1 Lotusday 2008 Vortrag X Forms Rapid Development
 
Oracle Mobile Cloud Service im Einsatz
Oracle Mobile Cloud Service im EinsatzOracle Mobile Cloud Service im Einsatz
Oracle Mobile Cloud Service im Einsatz
 
MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der Cloud
 
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
 
Portalserver Meets SOA: State of the Portal Art
Portalserver Meets SOA:  State of the Portal ArtPortalserver Meets SOA:  State of the Portal Art
Portalserver Meets SOA: State of the Portal Art
 
Ivory Soa Suite
Ivory Soa SuiteIvory Soa Suite
Ivory Soa Suite
 
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungAndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
 
Liferay als Java-Portal-Entwicklungsplattform
Liferay als Java-Portal-EntwicklungsplattformLiferay als Java-Portal-Entwicklungsplattform
Liferay als Java-Portal-Entwicklungsplattform
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)
 
BATbern48_Zero Trust Architektur des ISC-EJPD.pdf
BATbern48_Zero Trust Architektur des ISC-EJPD.pdfBATbern48_Zero Trust Architektur des ISC-EJPD.pdf
BATbern48_Zero Trust Architektur des ISC-EJPD.pdf
 
Process Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, RaiffeisenProcess Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, Raiffeisen
 
Enterprise UI
Enterprise UIEnterprise UI
Enterprise UI
 
Thin, Rich und RIA Clients entwirrt -- und Faktoren, die Sie zum geeigneten C...
Thin, Rich und RIA Clients entwirrt -- und Faktoren, die Sie zum geeigneten C...Thin, Rich und RIA Clients entwirrt -- und Faktoren, die Sie zum geeigneten C...
Thin, Rich und RIA Clients entwirrt -- und Faktoren, die Sie zum geeigneten C...
 
20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatenge20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatenge
 
AdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsightsAdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsights
 
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
 
Wieviel client braucht das web
Wieviel client braucht das webWieviel client braucht das web
Wieviel client braucht das web
 
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenGewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
 

Banking portal

  • 1. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Machet die Tore weit! Portaltechnologie in Bankanwendungen Ralph Henze Sparda-Datenverarbeitung eG ralph.henze@spb.de www.sparda.de
  • 2. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Kurze Vorstellung  Sparda-Datenverarbeitung eG  IT-Dienstleister für  Sparda-Banken  PSD Banken  NetBank AG  ca. 350 Mitarbeiter  Zwei Rechenzentrumsstandorte in Nürnberg  ca. 1,2 Mio. Kunden sind für Internet freigeschalten  ca. 6,5 Mio. Internet-Sitzungen pro Monat  Ralph Henze  Software-Architekt und Entwickler  Technischer Projektleiter Internet Endkundenportal 12 Sparda-Banken 15 PSD Banken NetBank AG
  • 3. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Überblick  Portalprojekt  Ausgangssituation  Warum ein Portal Server?  Projekt Arbeitspakete  Herausforderung Produktionsumgebung  Portal Basisarchitektur  Authentifizierung und Benutzerprofile  Login- und Logout-Vorgang  Portalisierung der bestehenden Anwendungen  Struts-basierte Anwendungen im Portalumfeld  Separation und Zentralisierung von Funktionalität
  • 4. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Ausgangssituation  2001 haben wir eine J2EE-basierte Lösung für Internetbanking eingeführt  Die Applet-basierte Lösung eines Drittherstellers wurde damit abgelöst.
  • 5. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Ausgangssituation  Mit dem Erfolg der Internetbanking Anwendung wuchsen die Anforderungen und Wünsche der Banken  Weitere Features müssen in die Anwendung eingebaut werden  Neue Anwendungen sind zu entwickeln  Postbox (juristisch gültige Kontoauszüge, Mitteilungen, etc.)  Zielgruppenorientierte Produktangebote auf Basis DWH  Direkter Verkauf von Bankprodukten  Integration der Anwendungen von Kooperationspartnern  Man soll sich nur ein einziges Mal anmelden müssen  Single Sign On Integration
  • 6. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Ausgangssituation  Es entstand die Gefahr, die Anwendungen zu überfrachten  Verringerte Wartbarkeit  Redundanzen in den Anwendungen  Mehrfache Logins sind für den Kunden unzumutbar  Single Sign On?
  • 7. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Ausgangssituation  Die Anforderungen aus Kundensicht waren:  Bedienung so einfach wie möglich  Nur ein Login nötig  Einheitliches Look & Feel über alle Anwendungen  Performance
  • 8. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Ausgangssituation  Die Anforderungen aus Sicht der Entwicklung waren:  Unabhängige Entwicklung der Anwendungen  Wiederverwendung/Migration eines großen Teils der bestehenden Anwendungen muss möglich sein  Investitionsschutz  Login soll nicht Bestandteil [je]der einzelnen Anwendung sein  Konzentration auf die Fachlichkeit der Anwendung  Gemeinsam benötigte Funktionalität soll ausgelagert sein  Gemeinsame benötigte Informationen sollen zentral zugängig sein
  • 9. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Ausgangssituation  Die Anforderungen aus Sicht des Betriebs waren:  Unabhängiges, revisionssicheres Übergabeverfahren für die Anwendungen  Unabhängiges Deployment für einzelne Anwendungen  Stabilität  Skalierbarkeit / Clusterfähigkeit
  • 10. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Warum ein Portal Server?  Alternative 1: Eigenes Framework entwickeln + Hoher Entwicklungsaufwand + zielgerichtete, spezialisierte Implementierung - Resultat ähnelt einem Portal Server Produkt!  Alternative 2: Portal Server Produkt einsetzen + Bringt viele, aber nicht alle der benötigten Funktionalitäten mit - Besitzt Funktionalität, die nicht benötigt/verwendet wird - Content Management - Personalisierung
  • 11. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Warum ein Portal Server?  Separation  Portlet-Anwendungen sind unabhängige Applikationen  Getrennter, unabhängiger Entwicklungsprozess  Unabhängige Deployments  Übersichtliche, wartbare Anwendungen  Integration  Gemeinsam benötigte Bestandteile werden zentralisiert z. B. gemeinsame Backend-Schnittstellen  Single Sign On: Gemeinsame Authentifikation  Präsentation: Gemeinsames Style / Theme / Layout  Kommunikation  Portlets können Informationen austauschen Gemeinsame Session, Benutzerprofil, Messaging (Event Mechanismus)
  • 12. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Warum ein Portal Server? Portalstrategie:  Integrations- bzw. Transaktionsportal  Kein Personalisierungsportal
  • 13. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Welches Portal Server Produkt?  Kommerzielles Produkt  IBM WebSphere Portal Server  BEA Portal Server  Open Source Produkt  Apache Jetspeed 1.x  Zum Zeitpunkt der Evaluation Ende 2002 war kein anderes Open Source Produkt verfügbar  Jetspeed war nicht für große, kritische Unternehmensanwendungen geeignet  Entscheidung fiel zugunsten IBM WebSphere Portal Server aus
  • 14. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Projekt Arbeitspakete  Architektur  Portal Struktur  Mandantenfähigkeit  Anbindung Backend-Systeme (Banken-Mainframe)  Implementierung  Portal Basis / Fundament  Authentifizierung & Single Sign On  Themes und User Interface  Erweiterung um nicht vorhandene Funktionalitäten  Portalisierung bestehender Anwendungen  Betrieb  Planung Infrastruktur  Rollout Prozedur
  • 15. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Herausforderung Produktionsumgebung  Die Produktionsumgebung für eine Bankenplattform im Internet ist mit höchster Sorgfalt zu planen  Im Mittelpunkt stehen dabei die Themen  Security  Verfügbarkeit  Performance  Wartbarkeit  Notwendige Maßnahmen  System zur permanenten Überwachung und Alarmierung  Lasttests mit unterschiedlichsten Konfigurationen  Entscheidung für mehrere unabhängige Portal Instanzen (kein WebSphere Cluster)
  • 16. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Security Hardening WebSphere Portal Server  Bugs von WebSphere Application Server / Portal Server beheben bzw. umgehen (LTPA Bug)  Löschen von Default Content  Cross Site Scripting anfällige JSPs  Detaillierte Versionsinformationen  Einschränkung von zulässigen URLs  Nicht alle URLs sollten vom Portal Server bedient werden  Configuration Servlet unzugängig machen  Administrativen Zugriff auf Admin Subnetz beschränken  Standard Fehlerseiten definieren (in Portal Server web.xml)  Deinstallation von Sample Applications / Portlets  …
  • 17. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Überblick  Generelles  Ausgangssituation  Warum ein Portal Server?  Projekt Arbeitspakete  Herausforderung Produktionsumgebung  Portal Basisarchitektur  Authentifizierung und Benutzerprofile  Login- und Logout-Vorgang  Portalisierung der bestehenden Anwendungen  Struts-basierte Anwendungen im Portalumfeld  Separation und Zentralisierung von Funktionalität
  • 18. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Portal Basisarchitektur  Portal Basis == Alles im Portal-Umfeld, was keine fachliche Portlet-Anwendung ist  Der Portal Server muss in die bestehende Systemlandschaft integriert werden  Ein LDAP-Server steht für die Internet-Kunden nicht zur Verfügung  Dazu sind eine Reihe von Schnittstellen und Komponenten zu implementieren:  Authentifizierung  Bereitstellen von Daten des Benutzerprofils  Eingriffe in den Login- und Logout-Vorgang des Portals  Zentralisierter Zugriff auf das Backend (Banken Mainframe)  Ergänzen des HTTP Datenstroms durch Servlet Filter
  • 19. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Authentifizierung  Der Portal Server läuft als gesicherte Web Application im WebSphere Application Server (J2EE Security)  WebSphere stellt mit UserRegistry eine Schnittstelle zur Verfügung, eigene Authentifizierungskomponenten an das System anzudocken  Custom User Registry (CUR) WebSphere Application Server WebSphere Portal Server Client CUR Portlet Container
  • 20. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Bereitstellen von Daten des Benutzerprofils  Die Portlet API bietet Portlets die Möglichkeit, Informationen über den angemeldeten Benutzer (“Profil”) zu erhalten  Das Benutzerprofil wird nach der Authentifizierung vom Portal Server über eine definierte Schnittstelle angefordert  Die Schnittstelle MemberRepository ist nicht veröffentlicht  Änderung der Schnittstelle zwischen verschiedenen Portal Server Releases sind wahrscheinlich L WebSphere Application Server WebSphere Portal Server Client CUR Portlet Container Member Repository
  • 21. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Eingriffe in den Login- und Logout-Vorgang  Aus einer Reihe von Gründen ist es erforderlich, in den Login- und Logout- Vorgang des Portals einzugreifen  Beschränkung des administrativen Zugriffs auf dediziertes Subnetz  An- und Abmeldung an Backend System  Freigabe von Resourcen  Dazu können Default Command-Klassen überschrieben werden WebSphere Application Server WebSphere Portal Server Client CUR Portlet Container Member Repository Login Command Logout Command
  • 22. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Zentralisierter Zugriff auf das Backend  Mehrere Portlets benötigen Zugriff auf das gleiche Backend  Daher sollte eine gemeinsame Anbindung innerhalb des Portals vorliegen, auf das die Portlets Zugriff haben  Dies ist mittels eines Portlet Service realisiert WebSphere Application Server WebSphere Portal Server Client CUR Portlet Container Member Repository Login Command Logout Command Portlet Service
  • 23. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Ergänzen des HTTP Datenstroms  Servlet Filter (nach Servlet API 2.3) werden verwendet, um den HTTP Datenstrom zu verändern/ergänzen  Hinzufügen von HTTP Headern für den Load Balancer  Beseitigen einer Schwäche des LTPA-Protokolls  Hinzufügen von P3P Compact Policy HTTP Headern WebSphere Application Server WebSphere Portal Server Client CUR Portlet Container Member Repository Login Command Logout Command Portlet Service Filter
  • 24. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Überblick Portal Basisarchitektur WebSphere Application Server WebSphere Portal Server Client CUR Portlet Container Member Repository Login Command Logout Command Portlet Service Filter Banken Kernsystem (IBM zSeries Mainframe) Backend Adapter
  • 25. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Überblick Gesamtarchitektur Client Banken Kernsystem (IBM zSeries Mainframe) WebSphere Application Server WebSphere Portal Server CUR Portlet Container Member Repository Login Command Logout Command Portlet Service Filter Backend Adapter Web Service Bus Service Adapter
  • 26. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Überblick  Generelles  Ausgangssituation  Warum ein Portal Server?  Projekt Arbeitspakete  Herausforderung Produktionsumgebung  Portal Basisarchitektur  Authentifizierung und Benutzerprofile  Login- und Logout-Vorgang  Portalisierung der bestehenden Anwendungen  Struts-basierte Anwendungen im Portalumfeld  Separation und Zentralisierung von Funktionalität
  • 27. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Portalisierung der bestehenden Anwendungen  Die bestehenden Anwendungen lagen in Form von Struts-basierten Web Applications vor  Internetbanking  Postbox  Die fachlichen Funktionalitäten der bestehenden Anwendungen mussten erhalten bleiben (Investitionsschutz)  Generell ist es wünschenswert, die Vorteile des Struts-Frameworks auch in der Portlet-Welt zu haben  Saubere MVC-Trennung  Performance, Stabilität, Praxiserprobung  haufenweise Literatur, exzellente Tool-Unterstützung  …
  • 28. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG IBM Struts Portlet Framework  IBM liefert mit dem Portal Server (ab Version 5.x) das Struts Portlet Framework mit (ist auch als separater Download erhältlich)  Das Struts Portlet Framework ermöglicht  die Neuentwicklung von Struts-basierten Portlets  die Portalisierung bestehender Struts-basierter Webanwendungen  Die entstehenden Portlets folgen wahlweise IBM Portlet API (org.apache.jetspeed.*) oder JSR 168 (javax.portlet.*)  Das Struts Portlet Framework besteht aus  Struts Controller Portlet und Portlet Request Processor  Taglib als Ersatz für die Struts <html:/> Taglib  einer Reihe von Utility Klassen
  • 29. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Portalisierung einer Struts-basierten Anwendung  Es gibt eine definierte Prozedur zur Portalisierung einer bestehenden Struts-basierten Anwendung:  Anpassung der JSPs der Anwendung  Ersetzen des Action Servlets durch das Action Portlet  Ersetzen des Standard Request Processor  Ersetzen der <html:/> Taglib in web.xml  Hinzufügen eines portlet.xml Deskriptors  Jar-Dateien nach WEB-INF/lib kopieren  Jedoch sind eine Reihe von Besonderheiten zu beachten, welche die Verwendung von Struts in Portlet-Projekten einschränken
  • 30. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Situation Struts Webanwendung Web Browser J2EE Web Container Web Application Action Servlet (Controller) struts-config.xml Struts Action (Logik) Anwendungszustand (Model) JSP (View) dispatch forward get (tag) provide HTTP Request HTTP Response
  • 31. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG J2EE Web Container Situation Struts Portlet Anwendungen Portlet Container Web Browser Struts Portlet Application Controller xml Action ModelView HTTP Request HTTP Response Portal Server Web Application Struts Portlet Application Controller xml Action ModelView Portal Controller Servlet Page Aggregation Portlet Invoker Any Portlet Application Any Portlet
  • 32. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Besonderheiten  Servlet- und Portlet-APIs haben eine Reihe von Gemeinsamkeiten, jedoch Servlet ≠ Portlet  Die Portlet-Request-Verarbeitung läuft in zwei Phasen ab  Action Processing Phase  Rendering Phase  Portal URIs haben ein spezielles Format  Forwards und HTTP Redirects werden nicht unterstützt
  • 33. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Problembereich Verarbeitung in zwei Phasen  Die Verarbeitung von Requests in Portalanwendungen ist in zwei Phasen aufgeteilt  Action Processing zur Reaktion auf Benutzerinteraktionen  Rendering erzeugt das Markup-Fragment des Portlets  Ein typischer Struts Request Flow umfasst jedoch Action Processing und Rendering vermischt in einem Schritt Web Browser J2EE Web Container Struts based Web Application Controller config Action ModelJSP
  • 34. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Problembereich Verarbeitung in zwei Phasen  Während der Action Processing Phase kann kein Output erzeugt werden  in einer Struts Action kann das HttpResponse Objekt nicht verwendet werden!  Das Rendering kann mehrfach hintereinander auch ohne Action Processing aufgerufen werden  Situation: Auf einer Page sind mehrere Portlets, der Benutzer arbeitet nur in einem.  Problem, falls die JSPs auf Beans im Page- oder Request Scope zugreifen  die zur Darstellung des View erforderlichen Beans müssen evtl. zwischengespeichert werden  Das Struts Portlet Framework erreicht dies durch View Commands, die Beans speichern und mehrfach ausgeführt werden können  Erfordert Eingriff in die Applikation
  • 35. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Problembereich URI Generierung  Mehrfache Controller müssen koordiniert werden  Die generierten URIs müssen immer auf den Controller des Portal Servers zeigen  Wird von den Tags der mitgelieferten <html:/> Taglib erledigt <html:form />, <html:link />, <html:rewrite />, <html:image />  Die Bestandteile für den Struts Controller müssen trotzdem in der URI codiert sein und vor der Verarbeitung decodiert werden  Wird vom mitgelieferten RequestProcessor erledigt  Pfade in der Anwendung, die nicht durch <html:/>-Tags generiert werden, funktionieren nicht mehr
  • 36. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Folgen der Portalisierung  Login-/Logout-Funktionen sind aus der Anwendung herausgenommen worden  Der Zugriff auf das gemeinsame Backend wird in Form von Portlet Services ermöglicht und ist ebenfalls nicht mehr Bestandteil der Anwendungen  Die Anwendungen haben sich insofern verändert:  Geringere Größe (weniger Actions, Forms, JSPs, …)  verbesserte Wartbarkeit  Konzentration auf fachliche Funktionalität
  • 37. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Fazit  Der strategische Einsatz von Portaltechnologie im Endkundengeschäft für Banken ist aus unserer Sicht sinnvoll und richtig  Das Einbringen eines Portal Servers in eine Systemlandschaft mit nichtstandardisierten Schnittstellen ist ein sehr komplexes und aufwändiges Unterfangen  Mit Hilfe des Struts Portlet Framework ist es möglich, bestehende Struts-basierte Anwendung mit vertretbarem Aufwand zu portalisieren
  • 38. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Links  Gruppe der Sparda-Banken http://www.sparda.de/  IBM developerWorks WebSphere Portal Zone http://www-128.ibm.com/developerworks/websphere/zones/portal/  Struts Portlet Framework http://catalog.lotus.com/wps/portal/portal dort nach “1WP10003N“ suchen  Java Specification Request 168 http://www.jcp.org/en/jsr/detail?id=168
  • 39. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG The End
  • 40. Portaltechnologie in Bankanwendungen für Internet-Endkunden – Copyright © 2005 Sparda-Datenverarbeitung eG Vielen Dank! ralph.henze@spb.de www.sparda.de