SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
Alexander Frommelt | adesso AG
Wozu Portlets – reichen HTML5
und Rest nicht aus für moderne
Portale
Alexander Frommelt [frommelt@adesso.de]
Competence Center Leiter
IT Consulting Versicherungen, adesso AG
Tätigkeitsschwerpunkte:
Ø  Konzeption und Implementierung von Kunden- und
Vertriebsportalen, Moderne Portaltechniken
Ø  Serviceorientierte Architekturen
Ø  Beratung von Versicherungen und Finanzdienstleistern
Ø  adesso gehört zu den führenden IT-Dienstleister im deutschsprachigen Raum
Ø  Beratung und individuelle Softwareentwicklung
Ø  Mehr als 1000 Mitarbeiter
Ø  Zu den wichtigsten Kunden zählen die Allianz, Hannover Rück,
Ø  Union Investment, Westdeutsche Lotterie, Zurich Versicherung, DEVK und DAK
Portale
Anforderungen und Beispiele
Enterprise Information Portal
•  Baukastensystem zur Integration von Informationen,
Benutzern und Prozessen über Unternehmensgrenzen
hinweg.
•  Sicherer und zentraler Einstiegspunkt meist in Form
einer webbasierten Benutzerschnittstelle.
•  Vorgesehen für die Aggregation und Personalisierung
von Informationen durch applikationsspezifische
Komponenten.
•  Dezentralisierte Inhaltsverteilung und Inhaltsverwaltung,
die Informationen stets aktuell halten.
Beispiele für aktuelle Portale
Häufig gestellte
Anforderungen an Portale
•  24 x 7 Hochverfügbarkeit
•  Stabilität
•  Skalierbarkeit
•  Elastizität
•  Release Update im laufenden Betrieb
•  Service Orientierung
•  Single Sign On
•  Individualität (White Label, Wiedererkennung, …)
•  Multi – Kanalanbindung
•  Time to Market
Herausforderungen (1)
•  Application Integration
–  Oberflächen
–  Geschäftslogik
–  Datenbank
•  Berechtigung
(Authentifikation, Authorisation)
•  CMS Integration
•  Application Security
(Schutz der Anwendung vor Angriffen)
•  Wiederverwendung
JSR 286: Portlet 2.0 Spec
JSR 127: Java Server Faces
JSR 301: Portlet Bridge Spec.
Login User commandLogin Portlet
Login URL
Teilnehmernummer und Passwort
PreLogin
Authentificate
PostLogin
Redirect
WAS Login
Suchen und Validieren
TNR und Passwort
Gruppen ermitteln
Portal Login
WAS Security
Subject
Portal Startseite
JAAS Login
Portal_LTPA
WAS
Security
Benutzerregistrierung
Federated
Repository
Teilnehmerverwaltung
LDAP
·∙
·∙
·∙ JAAS login
·∙ Session anlegen
·∙ Laden Portalbenutzer
XML Zugriff
PUMA/VMM
Login
Einstiegspunkte
Benutzerdefinierter
Repository Adapter
Scripting
Legende
WebSphere
Komponente
Implementierung
Herausforderungen (2)
•  Betrieb / Freigabeprozesse
•  Qualitätsmanagement
–  Prozesse
–  Quality Gates
•  Business Analyse
•  Styleguide
•  Releasemanagement
Portalserver und Portlets
Typische Funktionen von
Portal-Servern
•  Anwendungsintegration /
Prozessunterstützung
•  Content-Management-
System / Information Retrieval
•  Individuelle Anpassung der
Arbeitsumgebung
•  Collaboration / Groupware
•  Security / Single-Sign-On /
Benutzerverwaltung
Eigenschaften Portlets
•  Von einem Portlet Container gemanaged
•  Erzeugen dynamischen Content
•  Generieren nur Markup Fragmente
Das Portal aggregiert die Markup Fragmente in komplette Portal
Seiten
•  Können nur über von Portlet API erzeugte Urls aufgerufen
werden
•  Feineres Request Handling: Action, Event, Render und
Resource Request
•  Können vielfach auf einer Portal Seite existieren
Eigenschaften Portlets
•  Können Konfigurations und Benutzerspezifische Informationen
speichern
•  Portlet Session (zwei Scopes): speichert Transient Data
Portalserver: Grundprinzip
SequenceFlow Portlet
Ziele von Portlets
•  Service Orientierte Architektur widerspricht
monolithischen Applikationen
•  Einzelne Services werden zu Applikation orchestriert
•  Orchestrierung benötigt komponentenorientierte
Benutzerschnittstellen für die Services
•  Portlets bieten entsprechendes UI Modell
•  Portlet UI Komponenten können in größere UI‘s mit
konsistentem Look and Feel aggregiert werden
Wenn alles so einfach wäre
Alternative
HTML5 und Rest
Unterteilung in Komponenten
Unterteilung einer Portalseite in
mögliche Content Komponenten
•  Großteil der Komponenten wird
durch marktgängige
kommerzielle und OpenSource
CMS Systeme bereits
abgedeckt.
•  Verwaltung der Content-Seiten
erfolgt innerhalb des CMS-
Systems.
•  Content Aggregation bzw.
Layouting erfolgt über die
Mechanismen des CMS-
Systems
•  CMS Systeme sind meisst
schon vorhanden, selten
werden Webseiten noch direkt
erstellt.
Beispiel Suche
(mit Portlet)
•  Search Engine stellt Rest
Schnittstelle zur Verfügung
•  Skalierung wird durch
Portalserver bestimmt
•  Portal-State wird im
Portalserver gehalten
•  Portalserver bringt CMS mit
Portal Server
Search
Engine
Browser
CMS
FW
CSS
JS
HTML
Portlet
•  HTTP ist Stateless per Definition
•  Für einen geführten Weg durch eine Anwendung
benötigen wir einen Server State oder eine Kopie auf
der Client-Seite in Form einer eindeutigen Session
•  Die Verteilung von Sessions ist komplex und schränkt
die Skalierbarkeit ein
•  AJAX wird für Usability und Resource Optimierung
gebraucht
Beispiel Suche
(Rest + JS)
•  Rest Schnittstelle Search
Engine wird direkt
angesprochen
•  JS, CSS, Templates können im
Browser gecached werden
•  Search Engine kann
unabhängig von CMS skaliert
werden
•  Datenübertragung minimal
(JSON Daten)
•  Bestehendes CMS kann
wiederverwendet werden
Search
Engine
Browser
CMS
HTTP/
REST /
JSON
FW
CSS
JS
HTML
Session Handling und Client Control
Prinzip
Business Service
Model
Controller
View View View
Prinzip
Controller Model: Rest View
Load Entries
Populate Entries
Update
function SearchResultListCtrl($scope, $http) {
$http.get('search/result.json').success(function(data) {
$scope.searchResults = data;
});
}
[
{
“titel": “RestServices”,
“beschreibung": “Beschreibung von RestServices",
...
},
...
]
<ul class=„searchResults">
<li ng-repeat=„entry in searchResults | filter:query ">
{{entry.titel}}
<p>{{entry.beschreibung}}</p>
</li>
</ul>
View
Model
Controller
Beispiel AngularJS
RESTful
Roy Fielding Dissertation 2000: http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
Grundprinzipien:
•  Resource Based
•  Uniform Interface
•  Stateless
•  Cacheable
•  Client-Server
•  Layered System
•  Code on Demand
REST und JSON ein gutes Team
•  HATEOS (Hypertext As The Engine Of Application
State)
–  Response enthält Links auf Actions die auf der aktuellen
Resource ausgeführt werden können
{
"members":
[
{ "href": "http://example.org/coll/1" },
{ "href": "http://example.org/coll/2" },
{ "href": "http://example.org/coll/3" },
....
{ "href": "http://example.org/coll/N" },
],
"next": "http://example/coll?page=2"
}
Was brauchen wir fürs
Frontend
•  HTML 5
•  CSS 3
•  JavaScript
•  Javascript Template Engine
z.B. Dust JS, mustache, …
•  JS Framework
z.B.: AngularJS, Jquery, Javascript MVC, Bootstrap, …
HTML 5 – Featurecluster
Semantics
Offline & Storage
Device Access
Connectivity
Multimedia
Graphics & Effects
Performance & Integration
CSS 3
= HTML + CSS + Javascript
Responsive Design
•  Anpassungsfähiges Layout an
–  Displaygröße
–  Plattform
–  Ausrichtung
•  Bestandteile von Responsive Design
–  flexible Layout-Raster
–  anpassungsfähige Grafiken
–  dynamische Skalierung
•  Ein Website deckt mit verschiedenen Layouts alle
Endgeräte ab
Single Sign On
•  Bspw. Single Sign On mit Oauth 2.0
•  Verbreitetes, Token Basiertes Authentifikations
Protokoll
•  Facebook, Google, Cloud Foundry stellen z.B. OAuth
Authentification bereit
•  Jboss Resteasy unterstützt Oauth
BrowserCache
Put it together
App
Server
App
Server
Browser Browser
Storage
JS
JS
JS
HTML
...
HTML
Web
Server
…
Web
Server
HTTP/
REST /
JSON
HTML
FW
FW
Skalierbarkeit und Performance
•  Stateless Ansatz erleichtert die Skalierbarkeit
•  Updates können einfach produktiv gehen.
•  Keine spezielle Session Datenbank oder sonstige
Vorkehrungen für Fail Over im Cluster Betrieb
notwendig
•  Übertragene Datenmenge ist deutlich geringer
•  Vorsicht: Latenzzeiten haben erheblichen Einfluss
auf Performance
Fazit
Fazit
•  Frontends für Service Orientierte Architekturen können rein auf
Web Technologie basieren
•  Bestehende CMS Systeme können wieder verwendet werden.
•  Single Sign On kann z.B. mit Oauth realisiert werden
•  Skalierbarkeit des Gesamtsystems ist leichter gewährleistet
•  Die niedrigere Komplexität des Gesamtsystems erhöht die
Verfügbarkeit.
•  Bestehende Caching Mechanismen werden ausgenutzt.
•  Rest Services können auch als PHP, Python, … bereitgestellt
werden.
•  Der Anwendungs-State wird auf dem Client gehalten.
Ausblick
•  NodeJS
–  Content Aggregation auf dem Server
–  Wiederverwendung des JSCodes
•  NoSQL Datenbanken
Bieten häufig REST/JSON Interfaces für Datenzugriff
•  Nutzung von Public und Private Clouds
Keep It
Simple and Stupid
Vielen Dank für Ihre Aufmerksamkeit.
Alexander Frommelt
adesso AG T +49 89 189316-22
Line of Business Insurance F +49 89 189316-99
Leiter Competence Center IT Consulting M +49 178 2808023
Landsberger Str. 110 E frommelt@adesso.de
80339 München www.adesso.de
Security OAuth

Weitere ähnliche Inhalte

Andere mochten auch

Eine Weihnachtsgeschichte (Charles Dickens)
Eine Weihnachtsgeschichte (Charles Dickens)Eine Weihnachtsgeschichte (Charles Dickens)
Eine Weihnachtsgeschichte (Charles Dickens)Freekidstories
 
Friedensgebet - The Peace Prayer
Friedensgebet - The Peace PrayerFriedensgebet - The Peace Prayer
Friedensgebet - The Peace PrayerFreekidstories
 
Eine kleine praktische Philosophie über das Requirements Engineering
Eine kleine praktische Philosophie über das Requirements EngineeringEine kleine praktische Philosophie über das Requirements Engineering
Eine kleine praktische Philosophie über das Requirements Engineeringadesso AG
 
E-Mail-Kampagnen mit MailChimp
E-Mail-Kampagnen mit MailChimpE-Mail-Kampagnen mit MailChimp
E-Mail-Kampagnen mit MailChimpthomasgemperle
 
102 Tennessee Avenue N Martinsburg WV 25401
102 Tennessee Avenue N Martinsburg WV 25401102 Tennessee Avenue N Martinsburg WV 25401
102 Tennessee Avenue N Martinsburg WV 25401Heather Harley
 
7.30 ppt
7.30 ppt7.30 ppt
7.30 ppt78912
 
Wie lohnen sich Investitionen in erneuerbare Energien?
Wie lohnen sich Investitionen in erneuerbare Energien?Wie lohnen sich Investitionen in erneuerbare Energien?
Wie lohnen sich Investitionen in erneuerbare Energien?thermorent Energiemanagement
 
Meine Stadt Białystok
Meine Stadt BiałystokMeine Stadt Białystok
Meine Stadt BiałystokKABO1000
 
Das schulsystem in polen
Das schulsystem in polenDas schulsystem in polen
Das schulsystem in polenKABO1000
 
FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …
FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …
FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …Verein FM Konferenz
 
Trainings für Instandhaltung und Produktion - Termine 2014
Trainings für Instandhaltung und Produktion - Termine 2014Trainings für Instandhaltung und Produktion - Termine 2014
Trainings für Instandhaltung und Produktion - Termine 2014dankl+partner consulting gmbh
 
Grüne Märkte
Grüne MärkteGrüne Märkte
Grüne Märktejhuber_
 
Laenderprofil bolivien
Laenderprofil bolivienLaenderprofil bolivien
Laenderprofil bolivienkkreienbrink
 
Das Stockholm-Syndrom ...oder warum wir alle glauben, Maven lieben zu müssen
Das Stockholm-Syndrom ...oder warum wir alle glauben, Maven lieben zu müssenDas Stockholm-Syndrom ...oder warum wir alle glauben, Maven lieben zu müssen
Das Stockholm-Syndrom ...oder warum wir alle glauben, Maven lieben zu müssenadesso AG
 
Infografik: Die 20 beliebtesten Marken im Social Web
Infografik: Die 20 beliebtesten Marken im Social WebInfografik: Die 20 beliebtesten Marken im Social Web
Infografik: Die 20 beliebtesten Marken im Social WebFaktenkontor
 

Andere mochten auch (20)

Eine Weihnachtsgeschichte (Charles Dickens)
Eine Weihnachtsgeschichte (Charles Dickens)Eine Weihnachtsgeschichte (Charles Dickens)
Eine Weihnachtsgeschichte (Charles Dickens)
 
Friedensgebet - The Peace Prayer
Friedensgebet - The Peace PrayerFriedensgebet - The Peace Prayer
Friedensgebet - The Peace Prayer
 
Eine kleine praktische Philosophie über das Requirements Engineering
Eine kleine praktische Philosophie über das Requirements EngineeringEine kleine praktische Philosophie über das Requirements Engineering
Eine kleine praktische Philosophie über das Requirements Engineering
 
E-Mail-Kampagnen mit MailChimp
E-Mail-Kampagnen mit MailChimpE-Mail-Kampagnen mit MailChimp
E-Mail-Kampagnen mit MailChimp
 
102 Tennessee Avenue N Martinsburg WV 25401
102 Tennessee Avenue N Martinsburg WV 25401102 Tennessee Avenue N Martinsburg WV 25401
102 Tennessee Avenue N Martinsburg WV 25401
 
Studie: Digitales OTC Marketing für die Generation 50+
Studie: Digitales OTC Marketing für die Generation 50+Studie: Digitales OTC Marketing für die Generation 50+
Studie: Digitales OTC Marketing für die Generation 50+
 
7.30 ppt
7.30 ppt7.30 ppt
7.30 ppt
 
Wie lohnen sich Investitionen in erneuerbare Energien?
Wie lohnen sich Investitionen in erneuerbare Energien?Wie lohnen sich Investitionen in erneuerbare Energien?
Wie lohnen sich Investitionen in erneuerbare Energien?
 
Meine Stadt Białystok
Meine Stadt BiałystokMeine Stadt Białystok
Meine Stadt Białystok
 
Irm basics
Irm   basicsIrm   basics
Irm basics
 
Das schulsystem in polen
Das schulsystem in polenDas schulsystem in polen
Das schulsystem in polen
 
HONG KONG
HONG KONG HONG KONG
HONG KONG
 
Haxe
HaxeHaxe
Haxe
 
FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …
FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …
FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …
 
Trainings für Instandhaltung und Produktion - Termine 2014
Trainings für Instandhaltung und Produktion - Termine 2014Trainings für Instandhaltung und Produktion - Termine 2014
Trainings für Instandhaltung und Produktion - Termine 2014
 
Grüne Märkte
Grüne MärkteGrüne Märkte
Grüne Märkte
 
ñññ333
ñññ333ñññ333
ñññ333
 
Laenderprofil bolivien
Laenderprofil bolivienLaenderprofil bolivien
Laenderprofil bolivien
 
Das Stockholm-Syndrom ...oder warum wir alle glauben, Maven lieben zu müssen
Das Stockholm-Syndrom ...oder warum wir alle glauben, Maven lieben zu müssenDas Stockholm-Syndrom ...oder warum wir alle glauben, Maven lieben zu müssen
Das Stockholm-Syndrom ...oder warum wir alle glauben, Maven lieben zu müssen
 
Infografik: Die 20 beliebtesten Marken im Social Web
Infografik: Die 20 beliebtesten Marken im Social WebInfografik: Die 20 beliebtesten Marken im Social Web
Infografik: Die 20 beliebtesten Marken im Social Web
 

Ähnlich wie Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?

Basta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der CloudBasta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der CloudMarc Müller
 
Frontend-Architektur der 1&1 Bestellsysteme
Frontend-Architektur der 1&1 BestellsystemeFrontend-Architektur der 1&1 Bestellsysteme
Frontend-Architektur der 1&1 BestellsystemeNico Steiner
 
Microsoft Azure Cloud mit der Sitecore Experience Platform
Microsoft Azure Cloud mit der Sitecore Experience PlatformMicrosoft Azure Cloud mit der Sitecore Experience Platform
Microsoft Azure Cloud mit der Sitecore Experience Platformcomspace GmbH & Co. KG
 
MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der CloudTorsten Fink
 
07 06 Xpertivy (Office 2003)
07 06 Xpertivy (Office 2003)07 06 Xpertivy (Office 2003)
07 06 Xpertivy (Office 2003)soreco
 
Webinar SharePoint auf AWS
Webinar SharePoint auf AWSWebinar SharePoint auf AWS
Webinar SharePoint auf AWSAWS Germany
 
new Html5 features and browser compatibility, Stand der Standardisierung, Übe...
new Html5 features and browser compatibility, Stand der Standardisierung, Übe...new Html5 features and browser compatibility, Stand der Standardisierung, Übe...
new Html5 features and browser compatibility, Stand der Standardisierung, Übe...Sinan Akalın
 
Continuous Delivery as a Way of Life
Continuous Delivery as a Way of LifeContinuous Delivery as a Way of Life
Continuous Delivery as a Way of LifeKremer Consulting
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt socDaniel Fisher
 
DACHNUG50 Domino REST API - Konzepte und Hintergruende.pdf
DACHNUG50 Domino REST API - Konzepte und Hintergruende.pdfDACHNUG50 Domino REST API - Konzepte und Hintergruende.pdf
DACHNUG50 Domino REST API - Konzepte und Hintergruende.pdfDNUG e.V.
 
DACHNUG50 Die Domino REST API - Konzepte und Hintergruende.pdf
DACHNUG50 Die Domino REST API - Konzepte und Hintergruende.pdfDACHNUG50 Die Domino REST API - Konzepte und Hintergruende.pdf
DACHNUG50 Die Domino REST API - Konzepte und Hintergruende.pdfDNUG e.V.
 
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsHTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsUlrich Schmidt
 
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
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsmatfsw
 
AdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsightsAdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsightsChristoph Adler
 
he Future of SharePoint is Now – Tipps für On-Premise, Cloud oder Hybride Mig...
he Future of SharePoint is Now – Tipps für On-Premise, Cloud oder Hybride Mig...he Future of SharePoint is Now – Tipps für On-Premise, Cloud oder Hybride Mig...
he Future of SharePoint is Now – Tipps für On-Premise, Cloud oder Hybride Mig...AvePoint
 
Serverless Application Framework
Serverless Application FrameworkServerless Application Framework
Serverless Application FrameworkBATbern
 

Ähnlich wie Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale? (20)

imatics FormEngine
imatics FormEngineimatics FormEngine
imatics FormEngine
 
Basta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der CloudBasta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der Cloud
 
Frontend-Architektur der 1&1 Bestellsysteme
Frontend-Architektur der 1&1 BestellsystemeFrontend-Architektur der 1&1 Bestellsysteme
Frontend-Architektur der 1&1 Bestellsysteme
 
Microsoft Azure Cloud mit der Sitecore Experience Platform
Microsoft Azure Cloud mit der Sitecore Experience PlatformMicrosoft Azure Cloud mit der Sitecore Experience Platform
Microsoft Azure Cloud mit der Sitecore Experience Platform
 
MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der Cloud
 
07 06 Xpertivy (Office 2003)
07 06 Xpertivy (Office 2003)07 06 Xpertivy (Office 2003)
07 06 Xpertivy (Office 2003)
 
Webinar SharePoint auf AWS
Webinar SharePoint auf AWSWebinar SharePoint auf AWS
Webinar SharePoint auf AWS
 
new Html5 features and browser compatibility, Stand der Standardisierung, Übe...
new Html5 features and browser compatibility, Stand der Standardisierung, Übe...new Html5 features and browser compatibility, Stand der Standardisierung, Übe...
new Html5 features and browser compatibility, Stand der Standardisierung, Übe...
 
GWT
GWTGWT
GWT
 
Continuous Delivery as a Way of Life
Continuous Delivery as a Way of LifeContinuous Delivery as a Way of Life
Continuous Delivery as a Way of Life
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc
 
DACHNUG50 Domino REST API - Konzepte und Hintergruende.pdf
DACHNUG50 Domino REST API - Konzepte und Hintergruende.pdfDACHNUG50 Domino REST API - Konzepte und Hintergruende.pdf
DACHNUG50 Domino REST API - Konzepte und Hintergruende.pdf
 
DACHNUG50 Die Domino REST API - Konzepte und Hintergruende.pdf
DACHNUG50 Die Domino REST API - Konzepte und Hintergruende.pdfDACHNUG50 Die Domino REST API - Konzepte und Hintergruende.pdf
DACHNUG50 Die Domino REST API - Konzepte und Hintergruende.pdf
 
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsHTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
 
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...
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOps
 
AdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsightsAdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsights
 
C5 Mashup
C5 MashupC5 Mashup
C5 Mashup
 
he Future of SharePoint is Now – Tipps für On-Premise, Cloud oder Hybride Mig...
he Future of SharePoint is Now – Tipps für On-Premise, Cloud oder Hybride Mig...he Future of SharePoint is Now – Tipps für On-Premise, Cloud oder Hybride Mig...
he Future of SharePoint is Now – Tipps für On-Premise, Cloud oder Hybride Mig...
 
Serverless Application Framework
Serverless Application FrameworkServerless Application Framework
Serverless Application Framework
 

Mehr von adesso AG

SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)adesso AG
 
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMPSNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMPadesso AG
 
Mythos High Performance Teams
Mythos High Performance TeamsMythos High Performance Teams
Mythos High Performance Teamsadesso AG
 
A Business-Critical SharePoint Solution From adesso AG
A Business-CriticalSharePoint SolutionFrom adesso AGA Business-CriticalSharePoint SolutionFrom adesso AG
A Business-Critical SharePoint Solution From adesso AGadesso AG
 
Was Sie über NoSQL Datenbanken wissen sollten!
Was Sie über NoSQL Datenbanken wissen sollten!Was Sie über NoSQL Datenbanken wissen sollten!
Was Sie über NoSQL Datenbanken wissen sollten!adesso AG
 
Continuous Delivery praktisch
Continuous Delivery praktischContinuous Delivery praktisch
Continuous Delivery praktischadesso AG
 
Agilität, Snapshots und Continuous Delivery
Agilität, Snapshots und Continuous DeliveryAgilität, Snapshots und Continuous Delivery
Agilität, Snapshots und Continuous Deliveryadesso AG
 
Getriebene Anwendungslandschaften
Getriebene AnwendungslandschaftenGetriebene Anwendungslandschaften
Getriebene Anwendungslandschaftenadesso AG
 
Google App Engine JAX PaaS Parade 2013
Google App Engine JAX PaaS Parade 2013Google App Engine JAX PaaS Parade 2013
Google App Engine JAX PaaS Parade 2013adesso AG
 
Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)
Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)
Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)adesso AG
 
OOP 2013 NoSQL Suche
OOP 2013 NoSQL SucheOOP 2013 NoSQL Suche
OOP 2013 NoSQL Sucheadesso AG
 
NoSQL in der Cloud - Why?
NoSQL in der Cloud -  Why?NoSQL in der Cloud -  Why?
NoSQL in der Cloud - Why?adesso AG
 
Lean web architecture mit jsf 2.0, cdi & co.
Lean web architecture mit jsf 2.0, cdi & co.Lean web architecture mit jsf 2.0, cdi & co.
Lean web architecture mit jsf 2.0, cdi & co.adesso AG
 
Zehn Hinweise für Architekten
Zehn Hinweise für ArchitektenZehn Hinweise für Architekten
Zehn Hinweise für Architektenadesso AG
 
Agile Praktiken
Agile PraktikenAgile Praktiken
Agile Praktikenadesso AG
 
Java und Cloud - nicht nur mit PaaS
Java und Cloud - nicht nur mit PaaS Java und Cloud - nicht nur mit PaaS
Java und Cloud - nicht nur mit PaaS adesso AG
 
Neue EBusiness Perspektiven durch HTML5
Neue EBusiness Perspektiven durch HTML5Neue EBusiness Perspektiven durch HTML5
Neue EBusiness Perspektiven durch HTML5adesso AG
 
CloudConf2011 Introduction to Google App Engine
CloudConf2011 Introduction to Google App EngineCloudConf2011 Introduction to Google App Engine
CloudConf2011 Introduction to Google App Engineadesso AG
 
Scala 4 Enterprise
Scala 4 EnterpriseScala 4 Enterprise
Scala 4 Enterpriseadesso AG
 
10 Hinweise für Architekten
10 Hinweise für Architekten10 Hinweise für Architekten
10 Hinweise für Architektenadesso AG
 

Mehr von adesso AG (20)

SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
 
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMPSNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP
 
Mythos High Performance Teams
Mythos High Performance TeamsMythos High Performance Teams
Mythos High Performance Teams
 
A Business-Critical SharePoint Solution From adesso AG
A Business-CriticalSharePoint SolutionFrom adesso AGA Business-CriticalSharePoint SolutionFrom adesso AG
A Business-Critical SharePoint Solution From adesso AG
 
Was Sie über NoSQL Datenbanken wissen sollten!
Was Sie über NoSQL Datenbanken wissen sollten!Was Sie über NoSQL Datenbanken wissen sollten!
Was Sie über NoSQL Datenbanken wissen sollten!
 
Continuous Delivery praktisch
Continuous Delivery praktischContinuous Delivery praktisch
Continuous Delivery praktisch
 
Agilität, Snapshots und Continuous Delivery
Agilität, Snapshots und Continuous DeliveryAgilität, Snapshots und Continuous Delivery
Agilität, Snapshots und Continuous Delivery
 
Getriebene Anwendungslandschaften
Getriebene AnwendungslandschaftenGetriebene Anwendungslandschaften
Getriebene Anwendungslandschaften
 
Google App Engine JAX PaaS Parade 2013
Google App Engine JAX PaaS Parade 2013Google App Engine JAX PaaS Parade 2013
Google App Engine JAX PaaS Parade 2013
 
Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)
Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)
Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)
 
OOP 2013 NoSQL Suche
OOP 2013 NoSQL SucheOOP 2013 NoSQL Suche
OOP 2013 NoSQL Suche
 
NoSQL in der Cloud - Why?
NoSQL in der Cloud -  Why?NoSQL in der Cloud -  Why?
NoSQL in der Cloud - Why?
 
Lean web architecture mit jsf 2.0, cdi & co.
Lean web architecture mit jsf 2.0, cdi & co.Lean web architecture mit jsf 2.0, cdi & co.
Lean web architecture mit jsf 2.0, cdi & co.
 
Zehn Hinweise für Architekten
Zehn Hinweise für ArchitektenZehn Hinweise für Architekten
Zehn Hinweise für Architekten
 
Agile Praktiken
Agile PraktikenAgile Praktiken
Agile Praktiken
 
Java und Cloud - nicht nur mit PaaS
Java und Cloud - nicht nur mit PaaS Java und Cloud - nicht nur mit PaaS
Java und Cloud - nicht nur mit PaaS
 
Neue EBusiness Perspektiven durch HTML5
Neue EBusiness Perspektiven durch HTML5Neue EBusiness Perspektiven durch HTML5
Neue EBusiness Perspektiven durch HTML5
 
CloudConf2011 Introduction to Google App Engine
CloudConf2011 Introduction to Google App EngineCloudConf2011 Introduction to Google App Engine
CloudConf2011 Introduction to Google App Engine
 
Scala 4 Enterprise
Scala 4 EnterpriseScala 4 Enterprise
Scala 4 Enterprise
 
10 Hinweise für Architekten
10 Hinweise für Architekten10 Hinweise für Architekten
10 Hinweise für Architekten
 

Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?

  • 1. Alexander Frommelt | adesso AG Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale
  • 2. Alexander Frommelt [frommelt@adesso.de] Competence Center Leiter IT Consulting Versicherungen, adesso AG Tätigkeitsschwerpunkte: Ø  Konzeption und Implementierung von Kunden- und Vertriebsportalen, Moderne Portaltechniken Ø  Serviceorientierte Architekturen Ø  Beratung von Versicherungen und Finanzdienstleistern Ø  adesso gehört zu den führenden IT-Dienstleister im deutschsprachigen Raum Ø  Beratung und individuelle Softwareentwicklung Ø  Mehr als 1000 Mitarbeiter Ø  Zu den wichtigsten Kunden zählen die Allianz, Hannover Rück, Ø  Union Investment, Westdeutsche Lotterie, Zurich Versicherung, DEVK und DAK
  • 4. Enterprise Information Portal •  Baukastensystem zur Integration von Informationen, Benutzern und Prozessen über Unternehmensgrenzen hinweg. •  Sicherer und zentraler Einstiegspunkt meist in Form einer webbasierten Benutzerschnittstelle. •  Vorgesehen für die Aggregation und Personalisierung von Informationen durch applikationsspezifische Komponenten. •  Dezentralisierte Inhaltsverteilung und Inhaltsverwaltung, die Informationen stets aktuell halten.
  • 6. Häufig gestellte Anforderungen an Portale •  24 x 7 Hochverfügbarkeit •  Stabilität •  Skalierbarkeit •  Elastizität •  Release Update im laufenden Betrieb •  Service Orientierung •  Single Sign On •  Individualität (White Label, Wiedererkennung, …) •  Multi – Kanalanbindung •  Time to Market
  • 7. Herausforderungen (1) •  Application Integration –  Oberflächen –  Geschäftslogik –  Datenbank •  Berechtigung (Authentifikation, Authorisation) •  CMS Integration •  Application Security (Schutz der Anwendung vor Angriffen) •  Wiederverwendung JSR 286: Portlet 2.0 Spec JSR 127: Java Server Faces JSR 301: Portlet Bridge Spec. Login User commandLogin Portlet Login URL Teilnehmernummer und Passwort PreLogin Authentificate PostLogin Redirect WAS Login Suchen und Validieren TNR und Passwort Gruppen ermitteln Portal Login WAS Security Subject Portal Startseite JAAS Login Portal_LTPA WAS Security Benutzerregistrierung Federated Repository Teilnehmerverwaltung LDAP ·∙ ·∙ ·∙ JAAS login ·∙ Session anlegen ·∙ Laden Portalbenutzer XML Zugriff PUMA/VMM Login Einstiegspunkte Benutzerdefinierter Repository Adapter Scripting Legende WebSphere Komponente Implementierung
  • 8. Herausforderungen (2) •  Betrieb / Freigabeprozesse •  Qualitätsmanagement –  Prozesse –  Quality Gates •  Business Analyse •  Styleguide •  Releasemanagement
  • 10. Typische Funktionen von Portal-Servern •  Anwendungsintegration / Prozessunterstützung •  Content-Management- System / Information Retrieval •  Individuelle Anpassung der Arbeitsumgebung •  Collaboration / Groupware •  Security / Single-Sign-On / Benutzerverwaltung
  • 11. Eigenschaften Portlets •  Von einem Portlet Container gemanaged •  Erzeugen dynamischen Content •  Generieren nur Markup Fragmente Das Portal aggregiert die Markup Fragmente in komplette Portal Seiten •  Können nur über von Portlet API erzeugte Urls aufgerufen werden •  Feineres Request Handling: Action, Event, Render und Resource Request •  Können vielfach auf einer Portal Seite existieren
  • 12. Eigenschaften Portlets •  Können Konfigurations und Benutzerspezifische Informationen speichern •  Portlet Session (zwei Scopes): speichert Transient Data
  • 15. Ziele von Portlets •  Service Orientierte Architektur widerspricht monolithischen Applikationen •  Einzelne Services werden zu Applikation orchestriert •  Orchestrierung benötigt komponentenorientierte Benutzerschnittstellen für die Services •  Portlets bieten entsprechendes UI Modell •  Portlet UI Komponenten können in größere UI‘s mit konsistentem Look and Feel aggregiert werden
  • 16. Wenn alles so einfach wäre
  • 18. Unterteilung in Komponenten Unterteilung einer Portalseite in mögliche Content Komponenten •  Großteil der Komponenten wird durch marktgängige kommerzielle und OpenSource CMS Systeme bereits abgedeckt. •  Verwaltung der Content-Seiten erfolgt innerhalb des CMS- Systems. •  Content Aggregation bzw. Layouting erfolgt über die Mechanismen des CMS- Systems •  CMS Systeme sind meisst schon vorhanden, selten werden Webseiten noch direkt erstellt.
  • 19. Beispiel Suche (mit Portlet) •  Search Engine stellt Rest Schnittstelle zur Verfügung •  Skalierung wird durch Portalserver bestimmt •  Portal-State wird im Portalserver gehalten •  Portalserver bringt CMS mit Portal Server Search Engine Browser CMS FW CSS JS HTML Portlet
  • 20. •  HTTP ist Stateless per Definition •  Für einen geführten Weg durch eine Anwendung benötigen wir einen Server State oder eine Kopie auf der Client-Seite in Form einer eindeutigen Session •  Die Verteilung von Sessions ist komplex und schränkt die Skalierbarkeit ein •  AJAX wird für Usability und Resource Optimierung gebraucht
  • 21. Beispiel Suche (Rest + JS) •  Rest Schnittstelle Search Engine wird direkt angesprochen •  JS, CSS, Templates können im Browser gecached werden •  Search Engine kann unabhängig von CMS skaliert werden •  Datenübertragung minimal (JSON Daten) •  Bestehendes CMS kann wiederverwendet werden Search Engine Browser CMS HTTP/ REST / JSON FW CSS JS HTML
  • 22. Session Handling und Client Control Prinzip Business Service Model Controller View View View
  • 23. Prinzip Controller Model: Rest View Load Entries Populate Entries Update
  • 24. function SearchResultListCtrl($scope, $http) { $http.get('search/result.json').success(function(data) { $scope.searchResults = data; }); } [ { “titel": “RestServices”, “beschreibung": “Beschreibung von RestServices", ... }, ... ] <ul class=„searchResults"> <li ng-repeat=„entry in searchResults | filter:query "> {{entry.titel}} <p>{{entry.beschreibung}}</p> </li> </ul> View Model Controller Beispiel AngularJS
  • 25. RESTful Roy Fielding Dissertation 2000: http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm Grundprinzipien: •  Resource Based •  Uniform Interface •  Stateless •  Cacheable •  Client-Server •  Layered System •  Code on Demand
  • 26. REST und JSON ein gutes Team •  HATEOS (Hypertext As The Engine Of Application State) –  Response enthält Links auf Actions die auf der aktuellen Resource ausgeführt werden können { "members": [ { "href": "http://example.org/coll/1" }, { "href": "http://example.org/coll/2" }, { "href": "http://example.org/coll/3" }, .... { "href": "http://example.org/coll/N" }, ], "next": "http://example/coll?page=2" }
  • 27. Was brauchen wir fürs Frontend •  HTML 5 •  CSS 3 •  JavaScript •  Javascript Template Engine z.B. Dust JS, mustache, … •  JS Framework z.B.: AngularJS, Jquery, Javascript MVC, Bootstrap, …
  • 28. HTML 5 – Featurecluster Semantics Offline & Storage Device Access Connectivity Multimedia Graphics & Effects Performance & Integration CSS 3 = HTML + CSS + Javascript
  • 29. Responsive Design •  Anpassungsfähiges Layout an –  Displaygröße –  Plattform –  Ausrichtung •  Bestandteile von Responsive Design –  flexible Layout-Raster –  anpassungsfähige Grafiken –  dynamische Skalierung •  Ein Website deckt mit verschiedenen Layouts alle Endgeräte ab
  • 30. Single Sign On •  Bspw. Single Sign On mit Oauth 2.0 •  Verbreitetes, Token Basiertes Authentifikations Protokoll •  Facebook, Google, Cloud Foundry stellen z.B. OAuth Authentification bereit •  Jboss Resteasy unterstützt Oauth
  • 31. BrowserCache Put it together App Server App Server Browser Browser Storage JS JS JS HTML ... HTML Web Server … Web Server HTTP/ REST / JSON HTML FW FW
  • 32. Skalierbarkeit und Performance •  Stateless Ansatz erleichtert die Skalierbarkeit •  Updates können einfach produktiv gehen. •  Keine spezielle Session Datenbank oder sonstige Vorkehrungen für Fail Over im Cluster Betrieb notwendig •  Übertragene Datenmenge ist deutlich geringer •  Vorsicht: Latenzzeiten haben erheblichen Einfluss auf Performance
  • 33. Fazit
  • 34. Fazit •  Frontends für Service Orientierte Architekturen können rein auf Web Technologie basieren •  Bestehende CMS Systeme können wieder verwendet werden. •  Single Sign On kann z.B. mit Oauth realisiert werden •  Skalierbarkeit des Gesamtsystems ist leichter gewährleistet •  Die niedrigere Komplexität des Gesamtsystems erhöht die Verfügbarkeit. •  Bestehende Caching Mechanismen werden ausgenutzt. •  Rest Services können auch als PHP, Python, … bereitgestellt werden. •  Der Anwendungs-State wird auf dem Client gehalten.
  • 35. Ausblick •  NodeJS –  Content Aggregation auf dem Server –  Wiederverwendung des JSCodes •  NoSQL Datenbanken Bieten häufig REST/JSON Interfaces für Datenzugriff •  Nutzung von Public und Private Clouds
  • 37. Vielen Dank für Ihre Aufmerksamkeit. Alexander Frommelt adesso AG T +49 89 189316-22 Line of Business Insurance F +49 89 189316-99 Leiter Competence Center IT Consulting M +49 178 2808023 Landsberger Str. 110 E frommelt@adesso.de 80339 München www.adesso.de