SlideShare ist ein Scribd-Unternehmen logo
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 1
Einsatz von Portaltechnologie in
Bankanwendungen für Internet-Endkunden
Ralph Henze
Sparda-Datenverarbeitung eG
ralph.henze@spb.de
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 2
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,3 Millionen freigeschaltete Internet-Kunden
– ca. 6,5 Millionen Internet-Sitzungen pro Monat
 Ralph Henze
– Software-Architekt und Entwickler
– Technischer Projektleiter Internet Endkundenportal
12 Sparda-Banken
15 PSD Banken
NetBank AG
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 3
Überblick
 Portalprojekt
– Ausgangssituation
– Warum ein Portal Server?
– Projekt Arbeitspakete
– Challenge Produktionsumgebung
– Anwendungssicherheit
 Portal Basisarchitektur
– Authentifizierung und Benutzerprofile
– Login- und Logout-Vorgang
– Überblick Gesamtarchitektur
 Portalisierung bestehender Anwendungen
– Struts-basierte Anwendungen im Portalumfeld
– Struts Portlet Framework
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 4
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.
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 5
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
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 6
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?
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 7
Warum ein Portal Server?
 Alternative 1: Eigenes Framework entwickeln
+ zielgerichtete, spezialisierte Implementierung
- hoher Entwicklungsaufwand
- Resultat ähnelt einem Portal Server Produkt!
 Alternative 2: Portal Server Produkt einsetzen
+ bringt viele, aber nicht alle der benötigten Funktionalitäten mit
+ Portlet Features wirken sich positiv auf Anwendungen aus
- besitzt Funktionalität, die hier nicht benötigt/verwendet wird
- Content Management
- Personalisierung
- ...
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 8
Benefits eines Portal Servers
 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)
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 9
Portalstrategie
 Integrations- bzw. Transaktionsportal
 Kein Personalisierungsportal
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 10
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
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 11
Challenge 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 (K-Fallfähigkeit)
– 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)
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 12
Anwendungssicherheit
 Prüfung der Anwendungssicherheit hat einige kritische
Punkte offenbart
– Standard-Installation hinterlässt Default Content
– Cross Site Scripting anfällige JSPs
– Detaillierte Versionsinformationen zugänglich
 Maßnahmen zur Erhöhung der Anwendungssicherheit
wurden erforderlich
– Löschen von WebSphere Portal Server Default Content
– Einschränkung von zulässigen URLs
– 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
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 13
Überblick
 Portalprojekt
– Ausgangssituation
– Warum ein Portal Server?
– Projekt Arbeitspakete
– Challenge Produktionsumgebung
– Anwendungssicherheit
 Portal Basisarchitektur
– Authentifizierung und Benutzerprofile
– Login- und Logout-Vorgang
– Überblick Gesamtarchitektur
 Portalisierung bestehender Anwendungen
– Struts-basierte Anwendungen im Portalumfeld
– Struts Portlet Framework
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 14
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 waren eine Reihe von Schnittstellen und
Komponenten zu implementieren:
– Authentifizierung
– Bereitstellen von Informationen 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.01.2006 © 2006 Sparda-Datenverarbeitung eG 15
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) zur Anbindung an Bankensystem
WebSphere Application Server
WebSphere Portal Server
Client
CUR
Portlet Container
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 16
Bereitstellung 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 möglich
WebSphere Application Server
WebSphere Portal Server
Client
CUR
Portlet Container
Member
Repository
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 17
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
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 18
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
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 19
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
– Hinzufügen von P3P Compact Policy HTTP Headern
– Beseitigen einer Schwäche des LTPA-Protokolls
WebSphere Application Server
WebSphere Portal Server
Client
CUR
Portlet Container
Member
Repository
Login
Command
Logout
Command
Portlet
Service
Filter
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 20
Ü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
Anwendungen Verbundpartner
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 21
Überblick
 Portalprojekt
– Ausgangssituation
– Warum ein Portal Server?
– Projekt Arbeitspakete
– Challenge Produktionsumgebung
– Anwendungssicherheit
 Portal Basisarchitektur
– Authentifizierung und Benutzerprofile
– Login- und Logout-Vorgang
– Überblick Gesamtarchitektur
 Portalisierung bestehender Anwendungen
– Struts-basierte Anwendungen im Portalumfeld
– Struts Portlet Framework
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 22
Portalisierung bestehender Anwendungen
 Die bestehenden Anwendungen lagen in Form von
Struts-basierten Web Applications vor
– Internetbanking
– Postbox
 Die fachlichen Funktionalitäten der bestehenden
Anwendungen müssen 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
– Defacto-Standard: haufenweise Literatur, exzellente Tool-
Unterstützung
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 23
Struts Web Application
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
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 24
Struts Portlet Applications
J2EE Web Container Portlet Container
Web
Browser
Struts Portlet Application
Controller
config
Action
ModelView
HTTP
Request
HTTP
Response
Portal Server
Web Application
Struts Portlet Application
Controller
config
Action
ModelView
Portal Controller
Servlet
Page
Aggregation
Portlet
Invoker
Any Portlet Application
Any Portlet
1. Action
2. Render
Render
Render
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 25
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 Portalisierung bestehender Struts-basierter Webanwendungen
– die Neuentwicklung von Struts-basierten Portlets
 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
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 26
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 ist die Verwendung von Struts in Portlet-
Projekten eingeschränkt
– Verarbeitung in zwei Phasen (Request- und Render-Phase)
– URL-Generierung erzwingt Austausch der <html/> Taglib
– Redirects und Forwards nicht möglich
– ServletResponse in Actions unsinnig
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 27
Struts & Portlets
 Aber ist Struts wirklich das beste Framework für
Portlet-Anwendungen?
 NEIN, denn:
– Struts basiert zu stark auf der Servlet API
(z. B. ServletRequest / ServletResponse in Actions)
– Struts Request Flow passt nicht zu zwei Phasen Verarbeitung der
Portlet API
– Limitierung der Möglichkeiten in der Portlet-Umgebung
 Weitere bekannte Nachteile von Struts:
– intrusives Framework (erzwungene Ableitungshierarchie)
– starres Design (Actions und Forms)
 Evtl. bessere Alternativen:
– JavaServer Faces (MyFaces: org.apache.myfaces.portlet)
– Spring MVC (“Spring Portlet MVC”)
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 28
Auswirkungen 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
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 29
Fazit
 Der strategische Einsatz von Portaltechnologie im
Endkundengeschäft für Banken ist aus unserer Sicht
sinnvoll und richtig.
 Der Einbau eines Portal Servers in eine
Systemlandschaft mit nichtstandardisierten Schnittstellen
ist ein komplexes und aufwändiges Unterfangen.
 Mit Hilfe des Struts Portlet Framework ist es möglich,
bestehende Struts-basierte Anwendung mit vertretbarem
Aufwand zu portalisieren.
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 30
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
19.01.2006 © 2006 Sparda-Datenverarbeitung eG 31
Ende
 Vielen Dank für Ihre Aufmerksamkeit!
 Ihre Fragen und Kommentare bitte!

Weitere ähnliche Inhalte

Andere mochten auch

Juan Homborn May17 2208
Juan Homborn May17 2208Juan Homborn May17 2208
Juan Homborn May17 2208
panamasolrealty
 
The Dutch Experience Cluster
The Dutch Experience ClusterThe Dutch Experience Cluster
The Dutch Experience Cluster
guest449c1a
 
What Is Linked Data, and What Does it Mean for Libraries? ALAO TEDSIG Spring ...
What Is Linked Data, and What Does it Mean for Libraries? ALAO TEDSIG Spring ...What Is Linked Data, and What Does it Mean for Libraries? ALAO TEDSIG Spring ...
What Is Linked Data, and What Does it Mean for Libraries? ALAO TEDSIG Spring ...
Emily Nimsakont
 
Prezentacja IKP, wykład drugi
Prezentacja IKP, wykład drugiPrezentacja IKP, wykład drugi
Prezentacja IKP, wykład drugiAlek Tarkowski
 
Social Bookmarking
Social BookmarkingSocial Bookmarking
Social Bookmarking
Bryan Gall
 
Management Of Vascular Crisis In Microsurgical Operation
Management Of Vascular Crisis In Microsurgical OperationManagement Of Vascular Crisis In Microsurgical Operation
Management Of Vascular Crisis In Microsurgical Operationebonenow
 
Dibujo Digital
Dibujo DigitalDibujo Digital
Dibujo Digital
guest6ab766
 
Mobile Marketing China
Mobile Marketing ChinaMobile Marketing China
Mobile Marketing China
Vasco Marques
 
California Housing, Real Estate Market Update Shared by Howard E. Perry
California Housing, Real Estate Market Update Shared by Howard E. PerryCalifornia Housing, Real Estate Market Update Shared by Howard E. Perry
California Housing, Real Estate Market Update Shared by Howard E. Perry
Howard Perry
 
Empreendedorismo Digital
Empreendedorismo DigitalEmpreendedorismo Digital
Empreendedorismo Digital
Vasco Marques
 
Tim Pastoor
Tim PastoorTim Pastoor
Alek Tarkowski - Prawo autorskie a interes publiczny
Alek Tarkowski - Prawo autorskie a interes publicznyAlek Tarkowski - Prawo autorskie a interes publiczny
Alek Tarkowski - Prawo autorskie a interes publiczny
Alek Tarkowski
 
Reboot 2020
Reboot 2020Reboot 2020
Hero
HeroHero
Hero
chewsadhu
 
Plastic Surgery
Plastic SurgeryPlastic Surgery
Plastic Surgery
guest529758
 
Pr On The Web
Pr On The WebPr On The Web
Pr On The Web
bjbobbyjo1
 
Social Bookmarking 1
Social Bookmarking 1Social Bookmarking 1
Social Bookmarking 1
Naveen Gente
 
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
tonyosailing
 
"Cell" Me on Cellphones in Education
"Cell" Me on Cellphones in Education"Cell" Me on Cellphones in Education
"Cell" Me on Cellphones in Education
Kentucky Academy of Technology Education
 

Andere mochten auch (20)

Juan Homborn May17 2208
Juan Homborn May17 2208Juan Homborn May17 2208
Juan Homborn May17 2208
 
The Dutch Experience Cluster
The Dutch Experience ClusterThe Dutch Experience Cluster
The Dutch Experience Cluster
 
What Is Linked Data, and What Does it Mean for Libraries? ALAO TEDSIG Spring ...
What Is Linked Data, and What Does it Mean for Libraries? ALAO TEDSIG Spring ...What Is Linked Data, and What Does it Mean for Libraries? ALAO TEDSIG Spring ...
What Is Linked Data, and What Does it Mean for Libraries? ALAO TEDSIG Spring ...
 
Prezentacja IKP, wykład drugi
Prezentacja IKP, wykład drugiPrezentacja IKP, wykład drugi
Prezentacja IKP, wykład drugi
 
Social Bookmarking
Social BookmarkingSocial Bookmarking
Social Bookmarking
 
Management Of Vascular Crisis In Microsurgical Operation
Management Of Vascular Crisis In Microsurgical OperationManagement Of Vascular Crisis In Microsurgical Operation
Management Of Vascular Crisis In Microsurgical Operation
 
Dibujo Digital
Dibujo DigitalDibujo Digital
Dibujo Digital
 
Mobile Marketing China
Mobile Marketing ChinaMobile Marketing China
Mobile Marketing China
 
California Housing, Real Estate Market Update Shared by Howard E. Perry
California Housing, Real Estate Market Update Shared by Howard E. PerryCalifornia Housing, Real Estate Market Update Shared by Howard E. Perry
California Housing, Real Estate Market Update Shared by Howard E. Perry
 
Empreendedorismo Digital
Empreendedorismo DigitalEmpreendedorismo Digital
Empreendedorismo Digital
 
Tim Pastoor
Tim PastoorTim Pastoor
Tim Pastoor
 
Alek Tarkowski - Prawo autorskie a interes publiczny
Alek Tarkowski - Prawo autorskie a interes publicznyAlek Tarkowski - Prawo autorskie a interes publiczny
Alek Tarkowski - Prawo autorskie a interes publiczny
 
Reboot 2020
Reboot 2020Reboot 2020
Reboot 2020
 
Hero
HeroHero
Hero
 
Plastic Surgery
Plastic SurgeryPlastic Surgery
Plastic Surgery
 
Pr On The Web
Pr On The WebPr On The Web
Pr On The Web
 
Social Bookmarking 1
Social Bookmarking 1Social Bookmarking 1
Social Bookmarking 1
 
رمضان
رمضانرمضان
رمضان
 
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
 
"Cell" Me on Cellphones in Education
"Cell" Me on Cellphones in Education"Cell" Me on Cellphones in Education
"Cell" Me on Cellphones in Education
 

Ähnlich wie OOP 2006: Einsatz von Portaltechnologie in Bankanwendungen für Internet-Endkunden

Banking portal
Banking portalBanking portal
Banking portal
JoeyNbg
 
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
 
MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der Cloud
Torsten Fink
 
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
Andreas Schulte
 
DOAG 2015 enterprise_securitymitlda_pundpki-pub
DOAG 2015 enterprise_securitymitlda_pundpki-pubDOAG 2015 enterprise_securitymitlda_pundpki-pub
DOAG 2015 enterprise_securitymitlda_pundpki-pub
Loopback.ORG
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc
Daniel Fisher
 
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Ulrike Schwinn
 
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
 
Webinar - SAP Gateway
Webinar  - SAP GatewayWebinar  - SAP Gateway
Webinar - SAP Gateway
Cadaxo GmbH
 
Lasttest auf Zuruf CloudTest On Demand
Lasttest auf Zuruf CloudTest On DemandLasttest auf Zuruf CloudTest On Demand
Lasttest auf Zuruf CloudTest On Demand
SOASTA
 
Oracle Mobile Cloud Service im Einsatz
Oracle Mobile Cloud Service im EinsatzOracle Mobile Cloud Service im Einsatz
Oracle Mobile Cloud Service im Einsatz
Volker Linz
 
#PinkDB DataVault
#PinkDB DataVault#PinkDB DataVault
#PinkDB DataVault
Torsten Glunde
 
C2 Teamwork Portal Mit Web Sphere 6.0
C2 Teamwork Portal Mit Web Sphere 6.0C2 Teamwork Portal Mit Web Sphere 6.0
C2 Teamwork Portal Mit Web Sphere 6.0
Andreas Schulte
 
BI-System mit OData und SharePoint Online
BI-System mit OData und SharePoint OnlineBI-System mit OData und SharePoint Online
BI-System mit OData und SharePoint Online
atwork
 
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
André Fleischer
 
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
 
Enterprise UI
Enterprise UIEnterprise UI
Enterprise UI
gedoplan
 
Icinga 2011 at FrOSCon 6
Icinga 2011 at FrOSCon 6Icinga 2011 at FrOSCon 6
Icinga 2011 at FrOSCon 6
Icinga
 
20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatenge20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatenge
Karin Patenge
 

Ähnlich wie OOP 2006: Einsatz von Portaltechnologie in Bankanwendungen für Internet-Endkunden (20)

Banking portal
Banking portalBanking portal
Banking portal
 
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?
 
MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der Cloud
 
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
 
imatics FormEngine
imatics FormEngineimatics FormEngine
imatics FormEngine
 
DOAG 2015 enterprise_securitymitlda_pundpki-pub
DOAG 2015 enterprise_securitymitlda_pundpki-pubDOAG 2015 enterprise_securitymitlda_pundpki-pub
DOAG 2015 enterprise_securitymitlda_pundpki-pub
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc
 
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)
 
Webinar - SAP Gateway
Webinar  - SAP GatewayWebinar  - SAP Gateway
Webinar - SAP Gateway
 
Lasttest auf Zuruf CloudTest On Demand
Lasttest auf Zuruf CloudTest On DemandLasttest auf Zuruf CloudTest On Demand
Lasttest auf Zuruf CloudTest On Demand
 
Oracle Mobile Cloud Service im Einsatz
Oracle Mobile Cloud Service im EinsatzOracle Mobile Cloud Service im Einsatz
Oracle Mobile Cloud Service im Einsatz
 
#PinkDB DataVault
#PinkDB DataVault#PinkDB DataVault
#PinkDB DataVault
 
C2 Teamwork Portal Mit Web Sphere 6.0
C2 Teamwork Portal Mit Web Sphere 6.0C2 Teamwork Portal Mit Web Sphere 6.0
C2 Teamwork Portal Mit Web Sphere 6.0
 
BI-System mit OData und SharePoint Online
BI-System mit OData und SharePoint OnlineBI-System mit OData und SharePoint Online
BI-System mit OData und SharePoint Online
 
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
 
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...
 
Enterprise UI
Enterprise UIEnterprise UI
Enterprise UI
 
Icinga 2011 at FrOSCon 6
Icinga 2011 at FrOSCon 6Icinga 2011 at FrOSCon 6
Icinga 2011 at FrOSCon 6
 
20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatenge20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatenge
 

OOP 2006: Einsatz von Portaltechnologie in Bankanwendungen für Internet-Endkunden

  • 1. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 1 Einsatz von Portaltechnologie in Bankanwendungen für Internet-Endkunden Ralph Henze Sparda-Datenverarbeitung eG ralph.henze@spb.de
  • 2. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 2 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,3 Millionen freigeschaltete Internet-Kunden – ca. 6,5 Millionen Internet-Sitzungen pro Monat  Ralph Henze – Software-Architekt und Entwickler – Technischer Projektleiter Internet Endkundenportal 12 Sparda-Banken 15 PSD Banken NetBank AG
  • 3. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 3 Überblick  Portalprojekt – Ausgangssituation – Warum ein Portal Server? – Projekt Arbeitspakete – Challenge Produktionsumgebung – Anwendungssicherheit  Portal Basisarchitektur – Authentifizierung und Benutzerprofile – Login- und Logout-Vorgang – Überblick Gesamtarchitektur  Portalisierung bestehender Anwendungen – Struts-basierte Anwendungen im Portalumfeld – Struts Portlet Framework
  • 4. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 4 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. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 5 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. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 6 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. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 7 Warum ein Portal Server?  Alternative 1: Eigenes Framework entwickeln + zielgerichtete, spezialisierte Implementierung - hoher Entwicklungsaufwand - Resultat ähnelt einem Portal Server Produkt!  Alternative 2: Portal Server Produkt einsetzen + bringt viele, aber nicht alle der benötigten Funktionalitäten mit + Portlet Features wirken sich positiv auf Anwendungen aus - besitzt Funktionalität, die hier nicht benötigt/verwendet wird - Content Management - Personalisierung - ...
  • 8. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 8 Benefits eines Portal Servers  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)
  • 9. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 9 Portalstrategie  Integrations- bzw. Transaktionsportal  Kein Personalisierungsportal
  • 10. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 10 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
  • 11. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 11 Challenge 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 (K-Fallfähigkeit) – 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)
  • 12. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 12 Anwendungssicherheit  Prüfung der Anwendungssicherheit hat einige kritische Punkte offenbart – Standard-Installation hinterlässt Default Content – Cross Site Scripting anfällige JSPs – Detaillierte Versionsinformationen zugänglich  Maßnahmen zur Erhöhung der Anwendungssicherheit wurden erforderlich – Löschen von WebSphere Portal Server Default Content – Einschränkung von zulässigen URLs – 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
  • 13. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 13 Überblick  Portalprojekt – Ausgangssituation – Warum ein Portal Server? – Projekt Arbeitspakete – Challenge Produktionsumgebung – Anwendungssicherheit  Portal Basisarchitektur – Authentifizierung und Benutzerprofile – Login- und Logout-Vorgang – Überblick Gesamtarchitektur  Portalisierung bestehender Anwendungen – Struts-basierte Anwendungen im Portalumfeld – Struts Portlet Framework
  • 14. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 14 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 waren eine Reihe von Schnittstellen und Komponenten zu implementieren: – Authentifizierung – Bereitstellen von Informationen 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
  • 15. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 15 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) zur Anbindung an Bankensystem WebSphere Application Server WebSphere Portal Server Client CUR Portlet Container
  • 16. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 16 Bereitstellung 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 möglich WebSphere Application Server WebSphere Portal Server Client CUR Portlet Container Member Repository
  • 17. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 17 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
  • 18. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 18 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
  • 19. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 19 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 – Hinzufügen von P3P Compact Policy HTTP Headern – Beseitigen einer Schwäche des LTPA-Protokolls WebSphere Application Server WebSphere Portal Server Client CUR Portlet Container Member Repository Login Command Logout Command Portlet Service Filter
  • 20. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 20 Ü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 Anwendungen Verbundpartner
  • 21. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 21 Überblick  Portalprojekt – Ausgangssituation – Warum ein Portal Server? – Projekt Arbeitspakete – Challenge Produktionsumgebung – Anwendungssicherheit  Portal Basisarchitektur – Authentifizierung und Benutzerprofile – Login- und Logout-Vorgang – Überblick Gesamtarchitektur  Portalisierung bestehender Anwendungen – Struts-basierte Anwendungen im Portalumfeld – Struts Portlet Framework
  • 22. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 22 Portalisierung bestehender Anwendungen  Die bestehenden Anwendungen lagen in Form von Struts-basierten Web Applications vor – Internetbanking – Postbox  Die fachlichen Funktionalitäten der bestehenden Anwendungen müssen 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 – Defacto-Standard: haufenweise Literatur, exzellente Tool- Unterstützung
  • 23. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 23 Struts Web Application 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
  • 24. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 24 Struts Portlet Applications J2EE Web Container Portlet Container Web Browser Struts Portlet Application Controller config Action ModelView HTTP Request HTTP Response Portal Server Web Application Struts Portlet Application Controller config Action ModelView Portal Controller Servlet Page Aggregation Portlet Invoker Any Portlet Application Any Portlet 1. Action 2. Render Render Render
  • 25. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 25 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 Portalisierung bestehender Struts-basierter Webanwendungen – die Neuentwicklung von Struts-basierten Portlets  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
  • 26. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 26 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 ist die Verwendung von Struts in Portlet- Projekten eingeschränkt – Verarbeitung in zwei Phasen (Request- und Render-Phase) – URL-Generierung erzwingt Austausch der <html/> Taglib – Redirects und Forwards nicht möglich – ServletResponse in Actions unsinnig
  • 27. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 27 Struts & Portlets  Aber ist Struts wirklich das beste Framework für Portlet-Anwendungen?  NEIN, denn: – Struts basiert zu stark auf der Servlet API (z. B. ServletRequest / ServletResponse in Actions) – Struts Request Flow passt nicht zu zwei Phasen Verarbeitung der Portlet API – Limitierung der Möglichkeiten in der Portlet-Umgebung  Weitere bekannte Nachteile von Struts: – intrusives Framework (erzwungene Ableitungshierarchie) – starres Design (Actions und Forms)  Evtl. bessere Alternativen: – JavaServer Faces (MyFaces: org.apache.myfaces.portlet) – Spring MVC (“Spring Portlet MVC”)
  • 28. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 28 Auswirkungen 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
  • 29. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 29 Fazit  Der strategische Einsatz von Portaltechnologie im Endkundengeschäft für Banken ist aus unserer Sicht sinnvoll und richtig.  Der Einbau eines Portal Servers in eine Systemlandschaft mit nichtstandardisierten Schnittstellen ist ein komplexes und aufwändiges Unterfangen.  Mit Hilfe des Struts Portlet Framework ist es möglich, bestehende Struts-basierte Anwendung mit vertretbarem Aufwand zu portalisieren.
  • 30. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 30 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
  • 31. 19.01.2006 © 2006 Sparda-Datenverarbeitung eG 31 Ende  Vielen Dank für Ihre Aufmerksamkeit!  Ihre Fragen und Kommentare bitte!