SlideShare une entreprise Scribd logo
1  sur  35
Andy Bosch | www.jsf-academy.com JavaServerFaces im Portal Statusbestimmung: Was geht, was geht nicht?
Agenda Portale und Portlets Motivation für JSF+Portlets JSR-301& Co: Portlet Bridge for JSF Was ist der JSR-301? Was ist der JSR-329? Funktionsweise der Portlet Bridge Ausblick JSF 2.0 und Portlet 2.0 Fazit
Wer bin ich? Name: Andy Bosch Entwickler, Berater und Trainer Fokusiert auf JSF und Portlets Mitglied der Expert Group des JSR-301 undJSR-329 Buchautor „Portlets und JSF“ Betreiber von www.jsf-academy.com
Agenda Portale und Portlets Motivation für JSF+Portlets JSR-301& Co: Portlet Bridge for JSF Was ist der JSR-301? Was ist der JSR-329? Funktionsweise der Portlet Bridge Ausblick JSF 2.0 und Portlet 2.0 Fazit
Ich rede von „Echten Portalen“
Portallösungen IBM WebSphere Portal SAP Netweaver Portal Oracle Portal Liferay Portal JBoss Portal / GateIn … Portale unterliegen keinem Standard. Dennoch bieten heutige Portallösungen ähnliche Funktionalität, allerdings ist die Umsetzung zum Teil komplett unterschiedlich.
Von Portalen zu Portlets Ein Portal aggregiert verschiedene Dienste, Services und Inhalte. Dazu wird eine Portalseite in verschiedene Fragmente zerlegt. Ein Fragment ist somit ein Portlet. ,[object Object]
JSR-168 und JSR-286,[object Object]
Lifecycle eines Portlets (JSR-168) Init Render Action Destroy Der JSR-286 (PortletV2) erweitert diesen Lifecycle.
Ein triviales Portlet … publicclassSimplePortletextendsGenericPortlet { protectedvoiddoView( ... ) { PrintWriterwriter = response.getWriter(); writer.println( "Hallo Portlet Welt" );     String link = .... writer.println( "<a href='" + link + "'>                        Klick mich</a>" );   } publicvoidprocessAction( ... ) {     // TODO do someactionlogic } }
Aufgaben des JSR-168 Festlegung des PortletLifecycles Interfaces und Basisklassen  Window States und Portlet Modes PortletSessions PortletPreferences ...  Fokus auf dem Portlet selbst
Aktuell: JSR-286 Alles aus JSR-168 ist weiterhin gültig Public Render Parameter Portlet Events Resource Serving Portlet Filter Basis für Ajax-Integration  Fokus auf dem Zusammenspiel von Portlets
Agenda Portale und Portlets Motivation für JSF+Portlets JSR-301& Co: Portlet Bridge for JSF Was ist der JSR-301? Was ist der JSR-329? Funktionsweise der Portlet Bridge Ausblick JSF 2.0 und Portlet 2.0 Fazit
Warum kombinieren? Portlets (bzw. die Portlet-API) ist recht „basisnah“. Trotz des JSR-286 ist eine direkte Verwendung der API nicht gerade komfortabel. Konzepte wie Pageflow, Konvertierung, Validierung, Eventhandling, UI-Komponenten fehlen komplett. Es muss somit die Portlet-Technologie  mit einem „reichhaltigen“ UI-Gerüst  kombiniert werden.
Die Lösung: JavaServer Faces JavaServerFaces ist ein Framework spezialisiert auf das User Interface JavaServerFaces kennt Konzepte wie Konvertierung, Validierung, Bean Management und Fehlerhandling JSF hat zahlreiche Erweiterungen für Ajax-Integration, Templating oder Persistenz
JSF + Portlets? Das Problem jedoch ist der „Glue-Code“ Jede Technologie soll ihre „ureigene“ Funktionalität beibehalten  Integrationsaufwände sollen möglichst gering sein Geht das überhaupt?  Ja, mit dem JSR-301 und dem JSR-329
Agenda Portale und Portlets Motivation für JSF+Portlets JSR-301& Co: Portlet Bridge for JSF Was ist der JSR-301? Was ist der JSR-329? Funktionsweise der Portlet Bridge Ausblick JSF 2.0 und Portlet 2.0 Fazit
JSR-301: PortletBridgeSpecification              for JavaServerFaces Ziel ist die Bereitstellung einer standardisierten Bridge Unterscheidung nach Versionen:JSF 1.2 + Portlet 1.0 = JSR-301JSF 1.2 + Portlet 2.0 = JSR-329JSF 2.0 + Portlet 2.0 = … sage ich nachher
Überblick von „ganz oben“
Grundsätzliche Herausforderung Mapping der Lifecycles JSF-Lifecycle Portlet-Lifecycle
Mapping der Lifecycles: JSF
Zur Erinnerung: Portlet Lifecycle Init Render Action Destroy
Mapping der Lifecycles: Bridge
Mapping der Lifecycles: Bridge
Bridge Request Scope JSF geht davon aus, dass der komplette Lebenszyklus in einem Request abgearbeitet wird. Bei Portlets wird die Render- und die Action-Phase in zwei komplett unabhängigen Requests durchgeführt Die Bridge muss dafür sorgen, dass alle notwendigen Informationen für JSF in beiden Requests vorhanden sind.
JSF-Bridge Implementierungen Referenzimplementierunghttp://myfaces.apache.org/portlet-bridge/index.html Open Portal Implementierunghttps://jsfportletbridge.dev.java.net/ JBoss Implementierunghttp://www.jboss.org/portletbridge/ …
Einsatz der PortletBridge (1) Entwicklung einer „normalen“ JSF-Anwendung Entfernen „verbotener“ Tags wie <html>, <body>, <head> etc. Einbinden der JSR-301 / JSR-329 Libs Einbinden der portlet.xml und Hinterlegen des GenericFacesPortlet
GenericFacesPortlet Die Portletspezifikation verlangt eine Klasse, die das Portlet-Interface implementiert. Eine JSF-Anwendung hat zunächst keine Klasse, die das Portlet-Interface implementieren könnte. Der JSR-301/ JSR-329 stellt ein GenericFacesPortlet bereit, das als erster Ansprechpartner dienen kann
Einsatz der PortletBridge (2) <portlet>    <portlet-name>HelloJSFPortlet</portlet-name>    <portlet-class>javax.portlet.faces.GenericFacesPortlet </portlet-class> <init-param>      <name>javax.portlet.faces.defaultViewId.view   </name>      <value>/helloJSF.jsp</value>   </init-param>   ... </portlet>
JSF-Komponentenbibliotheken? Eine generelle Aussage zur Einbindung von Komponentenbibliotheken kann nicht getroffen werden. Jede Bibliothek muss auf ihre „Portal-Tauglichkeit“ hin überprüft werden. Ggf. muss eine eigene Lösung ergänzt werden. Mit JSF 2.0 ist vieles besser 
Agenda Portale und Portlets Motivation für JSF+Portlets JSR-301& Co: Portlet Bridge for JSF Was ist der JSR-301? Was ist der JSR-329? Funktionsweise der Portlet Bridge Ausblick JSF 2.0 und Portlet 2.0 Fazit
JSF 2.0 und Portlet 2.0 Noch kein Standard in Sicht Persönliche Versuche und einzelne Initiativen Z.B.: Liferayhat ein neues Projekt initiiert: www.portletfaces.org Mit den aktuellen JSF-Bridges für 2.0 sind schon gute Ergebnisse erziehlbar.
Agenda Portale und Portlets Motivation für JSF+Portlets JSR-301& Co: Portlet Bridge for JSF Was ist der JSR-301? Was ist der JSR-329? Funktionsweise der Portlet Bridge Ausblick JSF 2.0 und Portlet 2.0 Fazit
Fazit Eine Kombination von JSF und Portlets ist standard-basiert möglich. Der Vorteil der JSR-301/JSR-329 Lösung ist: Konzentration auf die JSF-Entwicklung, dann eine einfache und schnelle Portierung Auch JSF 2.1 geht schon im Portal, auch wenn der JSR noch nicht in Sicht ist.
Sind noch Fragen offen geblieben? Follow me on Twitter: @andybosch Kontakt gerne über: andy.bosch@jsf-academy.com

Contenu connexe

En vedette

WordPress for Small Business Plugins
WordPress for Small Business PluginsWordPress for Small Business Plugins
WordPress for Small Business PluginsJames Cryer
 
Plano Anual De Actividades Grupo De Trabalho Lagoa
Plano Anual De Actividades Grupo De Trabalho LagoaPlano Anual De Actividades Grupo De Trabalho Lagoa
Plano Anual De Actividades Grupo De Trabalho LagoaIsabel Rosa
 
Bills Enabling Alternative Investment Bonds and Sukuk in the States of New Yo...
Bills Enabling Alternative Investment Bonds and Sukuk in the States of New Yo...Bills Enabling Alternative Investment Bonds and Sukuk in the States of New Yo...
Bills Enabling Alternative Investment Bonds and Sukuk in the States of New Yo...Camille Silla Paldi
 
Growth opportunity for SAP partners with partner managed Cloud
Growth opportunity for SAP partners with partner managed CloudGrowth opportunity for SAP partners with partner managed Cloud
Growth opportunity for SAP partners with partner managed CloudSAPPartnerCloud
 
Hooks and Red Herrings - InOrbit 2016
Hooks and Red Herrings - InOrbit 2016Hooks and Red Herrings - InOrbit 2016
Hooks and Red Herrings - InOrbit 2016Hannah Smith
 
Teaching alliance 2016 student leadership
Teaching alliance 2016   student leadershipTeaching alliance 2016   student leadership
Teaching alliance 2016 student leadershipMrsMcGinty
 
What is great teaching at chalfonts community college (2)
What is great teaching at chalfonts community college (2)What is great teaching at chalfonts community college (2)
What is great teaching at chalfonts community college (2)MrsMcGinty
 
Topicos como crear
Topicos como crearTopicos como crear
Topicos como crearornamary
 
Franco sirito tp ptrimonio municipal
Franco sirito tp ptrimonio municipalFranco sirito tp ptrimonio municipal
Franco sirito tp ptrimonio municipalFran Sirito
 
Llei 3 2004 morositat
Llei 3 2004 morositatLlei 3 2004 morositat
Llei 3 2004 morositatjgraciac
 
Ambiente laboral
Ambiente laboralAmbiente laboral
Ambiente laboralnamexi6
 
Presentación materiales imanol
Presentación materiales imanolPresentación materiales imanol
Presentación materiales imanolImanolPerez17
 

En vedette (20)

Introduction-2
Introduction-2Introduction-2
Introduction-2
 
Журнал о металлоснабжении Сибирское металлоснабжение № 7 (152) 2015
Журнал о металлоснабжении  Сибирское металлоснабжение № 7 (152) 2015Журнал о металлоснабжении  Сибирское металлоснабжение № 7 (152) 2015
Журнал о металлоснабжении Сибирское металлоснабжение № 7 (152) 2015
 
Журнал о металлопрокате Сибирское металлоснабжение №4 (149) 2015
Журнал о металлопрокате  Сибирское металлоснабжение №4 (149) 2015Журнал о металлопрокате  Сибирское металлоснабжение №4 (149) 2015
Журнал о металлопрокате Сибирское металлоснабжение №4 (149) 2015
 
WordPress for Small Business Plugins
WordPress for Small Business PluginsWordPress for Small Business Plugins
WordPress for Small Business Plugins
 
Красноярский журнал Вестснаб №23 (314) 2016
Красноярский журнал Вестснаб №23 (314) 2016Красноярский журнал Вестснаб №23 (314) 2016
Красноярский журнал Вестснаб №23 (314) 2016
 
Plano Anual De Actividades Grupo De Trabalho Lagoa
Plano Anual De Actividades Grupo De Trabalho LagoaPlano Anual De Actividades Grupo De Trabalho Lagoa
Plano Anual De Actividades Grupo De Trabalho Lagoa
 
Bills Enabling Alternative Investment Bonds and Sukuk in the States of New Yo...
Bills Enabling Alternative Investment Bonds and Sukuk in the States of New Yo...Bills Enabling Alternative Investment Bonds and Sukuk in the States of New Yo...
Bills Enabling Alternative Investment Bonds and Sukuk in the States of New Yo...
 
Growth opportunity for SAP partners with partner managed Cloud
Growth opportunity for SAP partners with partner managed CloudGrowth opportunity for SAP partners with partner managed Cloud
Growth opportunity for SAP partners with partner managed Cloud
 
Italy CRE Q2 2016
Italy CRE Q2 2016Italy CRE Q2 2016
Italy CRE Q2 2016
 
Hooks and Red Herrings - InOrbit 2016
Hooks and Red Herrings - InOrbit 2016Hooks and Red Herrings - InOrbit 2016
Hooks and Red Herrings - InOrbit 2016
 
Teaching alliance 2016 student leadership
Teaching alliance 2016   student leadershipTeaching alliance 2016   student leadership
Teaching alliance 2016 student leadership
 
Alhuda CIBE - Presentation on Diminishing Musharakah
Alhuda CIBE - Presentation on Diminishing MusharakahAlhuda CIBE - Presentation on Diminishing Musharakah
Alhuda CIBE - Presentation on Diminishing Musharakah
 
Quimica ii
Quimica iiQuimica ii
Quimica ii
 
What is great teaching at chalfonts community college (2)
What is great teaching at chalfonts community college (2)What is great teaching at chalfonts community college (2)
What is great teaching at chalfonts community college (2)
 
Topicos como crear
Topicos como crearTopicos como crear
Topicos como crear
 
Franco sirito tp ptrimonio municipal
Franco sirito tp ptrimonio municipalFranco sirito tp ptrimonio municipal
Franco sirito tp ptrimonio municipal
 
Llei 3 2004 morositat
Llei 3 2004 morositatLlei 3 2004 morositat
Llei 3 2004 morositat
 
Ambiente laboral
Ambiente laboralAmbiente laboral
Ambiente laboral
 
Presentación materiales imanol
Presentación materiales imanolPresentación materiales imanol
Presentación materiales imanol
 
IM Projekt
IM ProjektIM Projekt
IM Projekt
 

Similaire à ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"

Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan ScheidtAutomatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan ScheidtOPITZ CONSULTING Deutschland
 
Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Jürg Stuker
 
Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...
Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...
Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...kaftanenko
 
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
 
Enterprise Java Batch mit Spring
Enterprise Java Batch mit SpringEnterprise Java Batch mit Spring
Enterprise Java Batch mit Springdenschu
 
SCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - Winterberg
SCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - WinterbergSCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - Winterberg
SCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - WinterbergOPITZ CONSULTING Deutschland
 
Top 10 Internet Trends 2000
Top 10 Internet Trends 2000Top 10 Internet Trends 2000
Top 10 Internet Trends 2000Jürg Stuker
 
Ajax hands on - Refactoring Google Suggest
Ajax hands on - Refactoring Google SuggestAjax hands on - Refactoring Google Suggest
Ajax hands on - Refactoring Google SuggestBastian Feder
 
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne BallastJava EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne Ballastgedoplan
 
Top 10 Internet Trends 2003
Top 10 Internet Trends 2003Top 10 Internet Trends 2003
Top 10 Internet Trends 2003Jürg Stuker
 
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz EditionEffiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz EditionMartin Leyrer
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions
 
Effiziente Fehlersuche in Web 2.0 Anwendungen
Effiziente Fehlersuche in Web 2.0 AnwendungenEffiziente Fehlersuche in Web 2.0 Anwendungen
Effiziente Fehlersuche in Web 2.0 AnwendungenMartin Leyrer
 
Metaprogrammierung und Reflection
Metaprogrammierung und ReflectionMetaprogrammierung und Reflection
Metaprogrammierung und ReflectionStefan Marr
 
B3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite ApplicationsB3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite ApplicationsAndreas Schulte
 
Spring Boot - Wird Spring jetzt wirklich einfach?
Spring Boot - Wird Spring jetzt wirklich einfach?Spring Boot - Wird Spring jetzt wirklich einfach?
Spring Boot - Wird Spring jetzt wirklich einfach?jenspresser
 
2009 03 17 Spring101
2009 03 17 Spring1012009 03 17 Spring101
2009 03 17 Spring101gueste4be40
 

Similaire à ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung" (20)

Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan ScheidtAutomatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
 
Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Top 10 Internet Trends 2006
Top 10 Internet Trends 2006
 
GWT
GWTGWT
GWT
 
Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...
Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...
Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...
 
3. Night of the pack
3. Night of the pack3. Night of the pack
3. Night of the pack
 
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
 
Enterprise Java Batch mit Spring
Enterprise Java Batch mit SpringEnterprise Java Batch mit Spring
Enterprise Java Batch mit Spring
 
SCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - Winterberg
SCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - WinterbergSCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - Winterberg
SCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - Winterberg
 
Top 10 Internet Trends 2000
Top 10 Internet Trends 2000Top 10 Internet Trends 2000
Top 10 Internet Trends 2000
 
Ajax hands on - Refactoring Google Suggest
Ajax hands on - Refactoring Google SuggestAjax hands on - Refactoring Google Suggest
Ajax hands on - Refactoring Google Suggest
 
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne BallastJava EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne Ballast
 
Top 10 Internet Trends 2003
Top 10 Internet Trends 2003Top 10 Internet Trends 2003
Top 10 Internet Trends 2003
 
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz EditionEffiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09
 
Effiziente Fehlersuche in Web 2.0 Anwendungen
Effiziente Fehlersuche in Web 2.0 AnwendungenEffiziente Fehlersuche in Web 2.0 Anwendungen
Effiziente Fehlersuche in Web 2.0 Anwendungen
 
Wicket Kurzübersicht
Wicket KurzübersichtWicket Kurzübersicht
Wicket Kurzübersicht
 
Metaprogrammierung und Reflection
Metaprogrammierung und ReflectionMetaprogrammierung und Reflection
Metaprogrammierung und Reflection
 
B3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite ApplicationsB3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite Applications
 
Spring Boot - Wird Spring jetzt wirklich einfach?
Spring Boot - Wird Spring jetzt wirklich einfach?Spring Boot - Wird Spring jetzt wirklich einfach?
Spring Boot - Wird Spring jetzt wirklich einfach?
 
2009 03 17 Spring101
2009 03 17 Spring1012009 03 17 Spring101
2009 03 17 Spring101
 

Plus de Aberla

Mobile Banking 2011: Clairmail
Mobile Banking 2011: ClairmailMobile Banking 2011: Clairmail
Mobile Banking 2011: ClairmailAberla
 
Mobile Banking 2011: DAB
Mobile Banking 2011: DABMobile Banking 2011: DAB
Mobile Banking 2011: DABAberla
 
Mobile Banking 2011: Sparkasse
Mobile Banking 2011: SparkasseMobile Banking 2011: Sparkasse
Mobile Banking 2011: SparkasseAberla
 
Mobile Banking 2011: Credit Suisse
Mobile Banking 2011: Credit SuisseMobile Banking 2011: Credit Suisse
Mobile Banking 2011: Credit SuisseAberla
 
Mobile Banking 2011: Danske Bank
Mobile Banking 2011: Danske BankMobile Banking 2011: Danske Bank
Mobile Banking 2011: Danske BankAberla
 
Mobile Banking 2011: Postfinance
Mobile Banking 2011: PostfinanceMobile Banking 2011: Postfinance
Mobile Banking 2011: PostfinanceAberla
 
ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"
ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"
ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"Aberla
 
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"Aberla
 
ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...
ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...
ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...Aberla
 
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...Aberla
 
ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...
ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...
ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...Aberla
 
ESEconf2011 - Schilling Rüdiger: "Generative Konzepte für den Plattform-Zoo -...
ESEconf2011 - Schilling Rüdiger: "Generative Konzepte für den Plattform-Zoo -...ESEconf2011 - Schilling Rüdiger: "Generative Konzepte für den Plattform-Zoo -...
ESEconf2011 - Schilling Rüdiger: "Generative Konzepte für den Plattform-Zoo -...Aberla
 
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"Aberla
 
ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"
ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"
ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"Aberla
 
ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...
ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...
ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...Aberla
 
ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"
ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"
ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"Aberla
 
ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...
ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...
ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...Aberla
 
ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...
ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...
ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...Aberla
 
ESEconf2011 - Buschmann Frank: "What architects need to know"
ESEconf2011 - Buschmann Frank: "What architects need to know"ESEconf2011 - Buschmann Frank: "What architects need to know"
ESEconf2011 - Buschmann Frank: "What architects need to know"Aberla
 
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...Aberla
 

Plus de Aberla (20)

Mobile Banking 2011: Clairmail
Mobile Banking 2011: ClairmailMobile Banking 2011: Clairmail
Mobile Banking 2011: Clairmail
 
Mobile Banking 2011: DAB
Mobile Banking 2011: DABMobile Banking 2011: DAB
Mobile Banking 2011: DAB
 
Mobile Banking 2011: Sparkasse
Mobile Banking 2011: SparkasseMobile Banking 2011: Sparkasse
Mobile Banking 2011: Sparkasse
 
Mobile Banking 2011: Credit Suisse
Mobile Banking 2011: Credit SuisseMobile Banking 2011: Credit Suisse
Mobile Banking 2011: Credit Suisse
 
Mobile Banking 2011: Danske Bank
Mobile Banking 2011: Danske BankMobile Banking 2011: Danske Bank
Mobile Banking 2011: Danske Bank
 
Mobile Banking 2011: Postfinance
Mobile Banking 2011: PostfinanceMobile Banking 2011: Postfinance
Mobile Banking 2011: Postfinance
 
ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"
ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"
ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"
 
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"
 
ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...
ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...
ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...
 
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
 
ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...
ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...
ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...
 
ESEconf2011 - Schilling Rüdiger: "Generative Konzepte für den Plattform-Zoo -...
ESEconf2011 - Schilling Rüdiger: "Generative Konzepte für den Plattform-Zoo -...ESEconf2011 - Schilling Rüdiger: "Generative Konzepte für den Plattform-Zoo -...
ESEconf2011 - Schilling Rüdiger: "Generative Konzepte für den Plattform-Zoo -...
 
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
 
ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"
ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"
ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"
 
ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...
ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...
ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...
 
ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"
ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"
ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"
 
ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...
ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...
ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...
 
ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...
ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...
ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...
 
ESEconf2011 - Buschmann Frank: "What architects need to know"
ESEconf2011 - Buschmann Frank: "What architects need to know"ESEconf2011 - Buschmann Frank: "What architects need to know"
ESEconf2011 - Buschmann Frank: "What architects need to know"
 
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...
 

ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"

  • 1. Andy Bosch | www.jsf-academy.com JavaServerFaces im Portal Statusbestimmung: Was geht, was geht nicht?
  • 2. Agenda Portale und Portlets Motivation für JSF+Portlets JSR-301& Co: Portlet Bridge for JSF Was ist der JSR-301? Was ist der JSR-329? Funktionsweise der Portlet Bridge Ausblick JSF 2.0 und Portlet 2.0 Fazit
  • 3. Wer bin ich? Name: Andy Bosch Entwickler, Berater und Trainer Fokusiert auf JSF und Portlets Mitglied der Expert Group des JSR-301 undJSR-329 Buchautor „Portlets und JSF“ Betreiber von www.jsf-academy.com
  • 4. Agenda Portale und Portlets Motivation für JSF+Portlets JSR-301& Co: Portlet Bridge for JSF Was ist der JSR-301? Was ist der JSR-329? Funktionsweise der Portlet Bridge Ausblick JSF 2.0 und Portlet 2.0 Fazit
  • 5. Ich rede von „Echten Portalen“
  • 6. Portallösungen IBM WebSphere Portal SAP Netweaver Portal Oracle Portal Liferay Portal JBoss Portal / GateIn … Portale unterliegen keinem Standard. Dennoch bieten heutige Portallösungen ähnliche Funktionalität, allerdings ist die Umsetzung zum Teil komplett unterschiedlich.
  • 7.
  • 8.
  • 9. Lifecycle eines Portlets (JSR-168) Init Render Action Destroy Der JSR-286 (PortletV2) erweitert diesen Lifecycle.
  • 10. Ein triviales Portlet … publicclassSimplePortletextendsGenericPortlet { protectedvoiddoView( ... ) { PrintWriterwriter = response.getWriter(); writer.println( "Hallo Portlet Welt" ); String link = .... writer.println( "<a href='" + link + "'> Klick mich</a>" ); } publicvoidprocessAction( ... ) { // TODO do someactionlogic } }
  • 11. Aufgaben des JSR-168 Festlegung des PortletLifecycles Interfaces und Basisklassen Window States und Portlet Modes PortletSessions PortletPreferences ...  Fokus auf dem Portlet selbst
  • 12. Aktuell: JSR-286 Alles aus JSR-168 ist weiterhin gültig Public Render Parameter Portlet Events Resource Serving Portlet Filter Basis für Ajax-Integration  Fokus auf dem Zusammenspiel von Portlets
  • 13. Agenda Portale und Portlets Motivation für JSF+Portlets JSR-301& Co: Portlet Bridge for JSF Was ist der JSR-301? Was ist der JSR-329? Funktionsweise der Portlet Bridge Ausblick JSF 2.0 und Portlet 2.0 Fazit
  • 14. Warum kombinieren? Portlets (bzw. die Portlet-API) ist recht „basisnah“. Trotz des JSR-286 ist eine direkte Verwendung der API nicht gerade komfortabel. Konzepte wie Pageflow, Konvertierung, Validierung, Eventhandling, UI-Komponenten fehlen komplett. Es muss somit die Portlet-Technologie mit einem „reichhaltigen“ UI-Gerüst kombiniert werden.
  • 15. Die Lösung: JavaServer Faces JavaServerFaces ist ein Framework spezialisiert auf das User Interface JavaServerFaces kennt Konzepte wie Konvertierung, Validierung, Bean Management und Fehlerhandling JSF hat zahlreiche Erweiterungen für Ajax-Integration, Templating oder Persistenz
  • 16. JSF + Portlets? Das Problem jedoch ist der „Glue-Code“ Jede Technologie soll ihre „ureigene“ Funktionalität beibehalten Integrationsaufwände sollen möglichst gering sein Geht das überhaupt?  Ja, mit dem JSR-301 und dem JSR-329
  • 17. Agenda Portale und Portlets Motivation für JSF+Portlets JSR-301& Co: Portlet Bridge for JSF Was ist der JSR-301? Was ist der JSR-329? Funktionsweise der Portlet Bridge Ausblick JSF 2.0 und Portlet 2.0 Fazit
  • 18. JSR-301: PortletBridgeSpecification for JavaServerFaces Ziel ist die Bereitstellung einer standardisierten Bridge Unterscheidung nach Versionen:JSF 1.2 + Portlet 1.0 = JSR-301JSF 1.2 + Portlet 2.0 = JSR-329JSF 2.0 + Portlet 2.0 = … sage ich nachher
  • 20. Grundsätzliche Herausforderung Mapping der Lifecycles JSF-Lifecycle Portlet-Lifecycle
  • 22. Zur Erinnerung: Portlet Lifecycle Init Render Action Destroy
  • 25. Bridge Request Scope JSF geht davon aus, dass der komplette Lebenszyklus in einem Request abgearbeitet wird. Bei Portlets wird die Render- und die Action-Phase in zwei komplett unabhängigen Requests durchgeführt Die Bridge muss dafür sorgen, dass alle notwendigen Informationen für JSF in beiden Requests vorhanden sind.
  • 26. JSF-Bridge Implementierungen Referenzimplementierunghttp://myfaces.apache.org/portlet-bridge/index.html Open Portal Implementierunghttps://jsfportletbridge.dev.java.net/ JBoss Implementierunghttp://www.jboss.org/portletbridge/ …
  • 27. Einsatz der PortletBridge (1) Entwicklung einer „normalen“ JSF-Anwendung Entfernen „verbotener“ Tags wie <html>, <body>, <head> etc. Einbinden der JSR-301 / JSR-329 Libs Einbinden der portlet.xml und Hinterlegen des GenericFacesPortlet
  • 28. GenericFacesPortlet Die Portletspezifikation verlangt eine Klasse, die das Portlet-Interface implementiert. Eine JSF-Anwendung hat zunächst keine Klasse, die das Portlet-Interface implementieren könnte. Der JSR-301/ JSR-329 stellt ein GenericFacesPortlet bereit, das als erster Ansprechpartner dienen kann
  • 29. Einsatz der PortletBridge (2) <portlet> <portlet-name>HelloJSFPortlet</portlet-name> <portlet-class>javax.portlet.faces.GenericFacesPortlet </portlet-class> <init-param> <name>javax.portlet.faces.defaultViewId.view </name> <value>/helloJSF.jsp</value> </init-param> ... </portlet>
  • 30. JSF-Komponentenbibliotheken? Eine generelle Aussage zur Einbindung von Komponentenbibliotheken kann nicht getroffen werden. Jede Bibliothek muss auf ihre „Portal-Tauglichkeit“ hin überprüft werden. Ggf. muss eine eigene Lösung ergänzt werden. Mit JSF 2.0 ist vieles besser 
  • 31. Agenda Portale und Portlets Motivation für JSF+Portlets JSR-301& Co: Portlet Bridge for JSF Was ist der JSR-301? Was ist der JSR-329? Funktionsweise der Portlet Bridge Ausblick JSF 2.0 und Portlet 2.0 Fazit
  • 32. JSF 2.0 und Portlet 2.0 Noch kein Standard in Sicht Persönliche Versuche und einzelne Initiativen Z.B.: Liferayhat ein neues Projekt initiiert: www.portletfaces.org Mit den aktuellen JSF-Bridges für 2.0 sind schon gute Ergebnisse erziehlbar.
  • 33. Agenda Portale und Portlets Motivation für JSF+Portlets JSR-301& Co: Portlet Bridge for JSF Was ist der JSR-301? Was ist der JSR-329? Funktionsweise der Portlet Bridge Ausblick JSF 2.0 und Portlet 2.0 Fazit
  • 34. Fazit Eine Kombination von JSF und Portlets ist standard-basiert möglich. Der Vorteil der JSR-301/JSR-329 Lösung ist: Konzentration auf die JSF-Entwicklung, dann eine einfache und schnelle Portierung Auch JSF 2.1 geht schon im Portal, auch wenn der JSR noch nicht in Sicht ist.
  • 35. Sind noch Fragen offen geblieben? Follow me on Twitter: @andybosch Kontakt gerne über: andy.bosch@jsf-academy.com