Alexander Frommelt | adesso AGWozu Portlets – reichen HTML5und Rest nicht aus für modernePortale
Alexander Frommelt [frommelt@adesso.de]Competence Center LeiterIT Consulting Versicherungen, adesso AGTätigkeitsschwerpunk...
PortaleAnforderungen und Beispiele
Enterprise Information Portal•  Baukastensystem zur Integration von Informationen,Benutzern und Prozessen über Unternehmen...
Beispiele für aktuelle Portale
Häufig gestellteAnforderungen an Portale•  24 x 7 Hochverfügbarkeit•  Stabilität•  Skalierbarkeit•  Elastizität•  Release ...
Herausforderungen (1)•  Application Integration–  Oberflächen–  Geschäftslogik–  Datenbank•  Berechtigung(Authentifikation...
Herausforderungen (2)•  Betrieb / Freigabeprozesse•  Qualitätsmanagement–  Prozesse–  Quality Gates•  Business Analyse•  S...
Portalserver und Portlets
Typische Funktionen vonPortal-Servern•  Anwendungsintegration /Prozessunterstützung•  Content-Management-System / Informat...
Eigenschaften Portlets•  Von einem Portlet Container gemanaged•  Erzeugen dynamischen Content•  Generieren nur Markup Frag...
Eigenschaften Portlets•  Können Konfigurations und Benutzerspezifische Informationenspeichern•  Portlet Session (zwei Scop...
Portalserver: Grundprinzip
SequenceFlow Portlet
Ziele von Portlets•  Service Orientierte Architektur widersprichtmonolithischen Applikationen•  Einzelne Services werden z...
Wenn alles so einfach wäre
AlternativeHTML5 und Rest
Unterteilung in KomponentenUnterteilung einer Portalseite inmögliche Content Komponenten•  Großteil der Komponenten wirddu...
Beispiel Suche(mit Portlet)•  Search Engine stellt RestSchnittstelle zur Verfügung•  Skalierung wird durchPortalserver bes...
•  HTTP ist Stateless per Definition•  Für einen geführten Weg durch eine Anwendungbenötigen wir einen Server State oder e...
Beispiel Suche(Rest + JS)•  Rest Schnittstelle SearchEngine wird direktangesprochen•  JS, CSS, Templates können imBrowser ...
Session Handling und Client ControlPrinzipBusiness ServiceModelControllerView View View
PrinzipController Model: Rest ViewLoad EntriesPopulate EntriesUpdate
function SearchResultListCtrl($scope, $http) {$http.get(search/result.json).success(function(data) {$scope.searchResults =...
RESTfulRoy Fielding Dissertation 2000: http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htmGrundprinzipien:•  Resour...
REST und JSON ein gutes Team•  HATEOS (Hypertext As The Engine Of ApplicationState)–  Response enthält Links auf Actions d...
Was brauchen wir fürsFrontend•  HTML 5•  CSS 3•  JavaScript•  Javascript Template Enginez.B. Dust JS, mustache, …•  JS Fra...
HTML 5 – FeatureclusterSemanticsOffline & StorageDevice AccessConnectivityMultimediaGraphics & EffectsPerformance & Integr...
Responsive Design•  Anpassungsfähiges Layout an–  Displaygröße–  Plattform–  Ausrichtung•  Bestandteile von Responsive Des...
Single Sign On•  Bspw. Single Sign On mit Oauth 2.0•  Verbreitetes, Token Basiertes AuthentifikationsProtokoll•  Facebook,...
BrowserCachePut it togetherAppServerAppServerBrowser BrowserStorageJSJSJSHTML...HTMLWebServer…WebServerHTTP/REST /JSONHTML...
Skalierbarkeit und Performance•  Stateless Ansatz erleichtert die Skalierbarkeit•  Updates können einfach produktiv gehen....
Fazit
Fazit•  Frontends für Service Orientierte Architekturen können rein aufWeb Technologie basieren•  Bestehende CMS Systeme k...
Ausblick•  NodeJS–  Content Aggregation auf dem Server–  Wiederverwendung des JSCodes•  NoSQL DatenbankenBieten häufig RES...
Keep ItSimple and Stupid
Vielen Dank für Ihre Aufmerksamkeit.Alexander Frommeltadesso AG T +49 89 189316-22Line of Business Insurance F +49 89 1893...
Security OAuth
Nächste SlideShare
Wird geladen in …5
×

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

2.118 Aufrufe

Veröffentlicht am

Präsentation von der JAX 2013 zu Portalen, Portlets, REST und HTML5.

Veröffentlicht in: Technologie
1 Kommentar
3 Gefällt mir
Statistik
Notizen
Keine Downloads
Aufrufe
Aufrufe insgesamt
2.118
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
65
Aktionen
Geteilt
0
Downloads
24
Kommentare
1
Gefällt mir
3
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

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

  1. 1. Alexander Frommelt | adesso AGWozu Portlets – reichen HTML5und Rest nicht aus für modernePortale
  2. 2. Alexander Frommelt [frommelt@adesso.de]Competence Center LeiterIT Consulting Versicherungen, adesso AGTätigkeitsschwerpunkte:Ø  Konzeption und Implementierung von Kunden- undVertriebsportalen, 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
  3. 3. PortaleAnforderungen und Beispiele
  4. 4. Enterprise Information Portal•  Baukastensystem zur Integration von Informationen,Benutzern und Prozessen über Unternehmensgrenzenhinweg.•  Sicherer und zentraler Einstiegspunkt meist in Formeiner webbasierten Benutzerschnittstelle.•  Vorgesehen für die Aggregation und Personalisierungvon Informationen durch applikationsspezifischeKomponenten.•  Dezentralisierte Inhaltsverteilung und Inhaltsverwaltung,die Informationen stets aktuell halten.
  5. 5. Beispiele für aktuelle Portale
  6. 6. Häufig gestellteAnforderungen 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. 7. Herausforderungen (1)•  Application Integration–  Oberflächen–  Geschäftslogik–  Datenbank•  Berechtigung(Authentifikation, Authorisation)•  CMS Integration•  Application Security(Schutz der Anwendung vor Angriffen)•  WiederverwendungJSR 286: Portlet 2.0 SpecJSR 127: Java Server FacesJSR 301: Portlet Bridge Spec.Login User commandLogin PortletLogin URLTeilnehmernummer und PasswortPreLoginAuthentificatePostLoginRedirectWAS LoginSuchen und ValidierenTNR und PasswortGruppen ermittelnPortal LoginWAS SecuritySubjectPortal StartseiteJAAS LoginPortal_LTPAWASSecurityBenutzerregistrierungFederatedRepositoryTeilnehmerverwaltungLDAP·∙·∙·∙ JAAS login·∙ Session anlegen·∙ Laden PortalbenutzerXML ZugriffPUMA/VMMLoginEinstiegspunkteBenutzerdefinierterRepository AdapterScriptingLegendeWebSphereKomponenteImplementierung
  8. 8. Herausforderungen (2)•  Betrieb / Freigabeprozesse•  Qualitätsmanagement–  Prozesse–  Quality Gates•  Business Analyse•  Styleguide•  Releasemanagement
  9. 9. Portalserver und Portlets
  10. 10. Typische Funktionen vonPortal-Servern•  Anwendungsintegration /Prozessunterstützung•  Content-Management-System / Information Retrieval•  Individuelle Anpassung derArbeitsumgebung•  Collaboration / Groupware•  Security / Single-Sign-On /Benutzerverwaltung
  11. 11. Eigenschaften Portlets•  Von einem Portlet Container gemanaged•  Erzeugen dynamischen Content•  Generieren nur Markup FragmenteDas Portal aggregiert die Markup Fragmente in komplette PortalSeiten•  Können nur über von Portlet API erzeugte Urls aufgerufenwerden•  Feineres Request Handling: Action, Event, Render undResource Request•  Können vielfach auf einer Portal Seite existieren
  12. 12. Eigenschaften Portlets•  Können Konfigurations und Benutzerspezifische Informationenspeichern•  Portlet Session (zwei Scopes): speichert Transient Data
  13. 13. Portalserver: Grundprinzip
  14. 14. SequenceFlow Portlet
  15. 15. Ziele von Portlets•  Service Orientierte Architektur widersprichtmonolithischen Applikationen•  Einzelne Services werden zu Applikation orchestriert•  Orchestrierung benötigt komponentenorientierteBenutzerschnittstellen für die Services•  Portlets bieten entsprechendes UI Modell•  Portlet UI Komponenten können in größere UI‘s mitkonsistentem Look and Feel aggregiert werden
  16. 16. Wenn alles so einfach wäre
  17. 17. AlternativeHTML5 und Rest
  18. 18. Unterteilung in KomponentenUnterteilung einer Portalseite inmögliche Content Komponenten•  Großteil der Komponenten wirddurch marktgängigekommerzielle und OpenSourceCMS Systeme bereitsabgedeckt.•  Verwaltung der Content-Seitenerfolgt innerhalb des CMS-Systems.•  Content Aggregation bzw.Layouting erfolgt über dieMechanismen des CMS-Systems•  CMS Systeme sind meisstschon vorhanden, seltenwerden Webseiten noch direkterstellt.
  19. 19. Beispiel Suche(mit Portlet)•  Search Engine stellt RestSchnittstelle zur Verfügung•  Skalierung wird durchPortalserver bestimmt•  Portal-State wird imPortalserver gehalten•  Portalserver bringt CMS mitPortal ServerSearchEngineBrowserCMSFWCSSJSHTMLPortlet
  20. 20. •  HTTP ist Stateless per Definition•  Für einen geführten Weg durch eine Anwendungbenötigen wir einen Server State oder eine Kopie aufder Client-Seite in Form einer eindeutigen Session•  Die Verteilung von Sessions ist komplex und schränktdie Skalierbarkeit ein•  AJAX wird für Usability und Resource Optimierunggebraucht
  21. 21. Beispiel Suche(Rest + JS)•  Rest Schnittstelle SearchEngine wird direktangesprochen•  JS, CSS, Templates können imBrowser gecached werden•  Search Engine kannunabhängig von CMS skaliertwerden•  Datenübertragung minimal(JSON Daten)•  Bestehendes CMS kannwiederverwendet werdenSearchEngineBrowserCMSHTTP/REST /JSONFWCSSJSHTML
  22. 22. Session Handling und Client ControlPrinzipBusiness ServiceModelControllerView View View
  23. 23. PrinzipController Model: Rest ViewLoad EntriesPopulate EntriesUpdate
  24. 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>ViewModelControllerBeispiel AngularJS
  25. 25. RESTfulRoy Fielding Dissertation 2000: http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htmGrundprinzipien:•  Resource Based•  Uniform Interface•  Stateless•  Cacheable•  Client-Server•  Layered System•  Code on Demand
  26. 26. REST und JSON ein gutes Team•  HATEOS (Hypertext As The Engine Of ApplicationState)–  Response enthält Links auf Actions die auf der aktuellenResource 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. 27. Was brauchen wir fürsFrontend•  HTML 5•  CSS 3•  JavaScript•  Javascript Template Enginez.B. Dust JS, mustache, …•  JS Frameworkz.B.: AngularJS, Jquery, Javascript MVC, Bootstrap, …
  28. 28. HTML 5 – FeatureclusterSemanticsOffline & StorageDevice AccessConnectivityMultimediaGraphics & EffectsPerformance & IntegrationCSS 3= HTML + CSS + Javascript
  29. 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 alleEndgeräte ab
  30. 30. Single Sign On•  Bspw. Single Sign On mit Oauth 2.0•  Verbreitetes, Token Basiertes AuthentifikationsProtokoll•  Facebook, Google, Cloud Foundry stellen z.B. OAuthAuthentification bereit•  Jboss Resteasy unterstützt Oauth
  31. 31. BrowserCachePut it togetherAppServerAppServerBrowser BrowserStorageJSJSJSHTML...HTMLWebServer…WebServerHTTP/REST /JSONHTMLFWFW
  32. 32. Skalierbarkeit und Performance•  Stateless Ansatz erleichtert die Skalierbarkeit•  Updates können einfach produktiv gehen.•  Keine spezielle Session Datenbank oder sonstigeVorkehrungen für Fail Over im Cluster Betriebnotwendig•  Übertragene Datenmenge ist deutlich geringer•  Vorsicht: Latenzzeiten haben erheblichen Einflussauf Performance
  33. 33. Fazit
  34. 34. Fazit•  Frontends für Service Orientierte Architekturen können rein aufWeb 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 dieVerfügbarkeit.•  Bestehende Caching Mechanismen werden ausgenutzt.•  Rest Services können auch als PHP, Python, … bereitgestelltwerden.•  Der Anwendungs-State wird auf dem Client gehalten.
  35. 35. Ausblick•  NodeJS–  Content Aggregation auf dem Server–  Wiederverwendung des JSCodes•  NoSQL DatenbankenBieten häufig REST/JSON Interfaces für Datenzugriff•  Nutzung von Public und Private Clouds
  36. 36. Keep ItSimple and Stupid
  37. 37. Vielen Dank für Ihre Aufmerksamkeit.Alexander Frommeltadesso AG T +49 89 189316-22Line of Business Insurance F +49 89 189316-99Leiter Competence Center IT Consulting M +49 178 2808023Landsberger Str. 110 E frommelt@adesso.de80339 München www.adesso.de
  38. 38. Security OAuth

×