Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Liferay Portal Server
GEDOPLAN Java Expertenkreis in Bielefeld
27.03.2014
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Agenda
 Kurzvorstellung ITSD
 Portal-Technol...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Wer ist ITSD Consulting?
 IT Systemhaus aus O...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Kompetenzen
HR-Lösungen
Stellenbe-
schreibung ...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Portal
ehemaliger Haupteingang des Ernst-Ludwi...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Was ist ein Portal?
 „Portal“ kommt vom latei...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Typische Portaldienste und -funktionen
 Darst...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Typische Portaldienste und -funktionen
 Navig...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Portale mit Unternehmensinformationen
 Ankünd...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Architektur
 Server delegiert Anfragen an Por...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
"marktführende" Hersteller laut Gartner
 IBM ...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Technologiestandards
 Darstellung
 HTML / XH...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Technologiestandards
 Content Management (CMS...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Vorteile
 relativ hohe Benutzerakzeptanz
 Ve...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Einsatzgebiete
 B2E - Mitarbeiter/Unternehmen...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Liferay?
 Im Jahr 2000 von Brian Chan begonne...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Was macht Liferay aus?
 Produktteile und Funk...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Was macht Liferay aus?
 Anpassbarkeit (Hooks,...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Liferay CE vs. EE
CE EE
LGPLv2 Enterprise Open...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Liferay Quellen
 Liferay.com
 Wiki, Forum, B...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Erweiterungen von Liferay
 Marketplace
 Biet...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Social Office
 Eigenes Theme
 Vorkonfigurier...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Liferay - Basics
 Unterstützt viele Datenbank...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Entwicklungsumgebung
 Liferay IDE
 Basis ist...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Unser erstes Portlet
 Liferay IDE 2.x
 Lifer...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Administration/Konfiguration
 Organisationen
...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Liferay-Entwicklungsschnittstellen
 Hooks
 P...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Hooks
 Schalten sich zwischen die Liferay Fun...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Hooks
 Was kann ein Hook?
 Portal properties...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Liferay Services
 Liferay Service Builder
 S...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Liferay Vorteile
 Umfang vorhandener Portlets...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Liferay Nachteile
 Hohe Komplexität und Funkt...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Unterschiede: HTTP Session und Portlet Session...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
HTTP Session
 ein Gültigkeitsbereich
 Zugrif...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
HTTP Session
 Beispiel auslesen public class ...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Portlet Session
 basiert auf HTTP-Session
 z...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Portlet Session
 Beispiel auslesen public cla...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
PortletRequest
 Basis-Interface stellt Portle...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
PortletResponse
 Basis-Interface stellt Portl...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
PortletResponse
 encodeURL
 übergebener Stri...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
HttpServlet
 1
 1
 Beispiel Servlet
doGet()...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
GenericPortlet
 1
 1
 1
 1
 Beispiel Port...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Migration: Analyse des vorhandenen Systems
 W...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Migration 1: Na ja, keine echte Migration…
 L...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Neues Portlet: Frontend anpassen
 Seiten-Aufb...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Implementierungen austauschen
 Servlet-Api ge...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Berechtigungssystem?
 Implementierung austaus...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Vorteile vom Portal nutzen
 Kalender, Blogs, ...
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Vielen Dank für Ihre
Aufmerksamkeit
Ihr Anspre...
Nächste SlideShare
Wird geladen in …5
×

Liferay als Java-Portal-Entwicklungsplattform

636 Aufrufe

Veröffentlicht am

Vortrag Expertenkreis Java am 27.3.2014
Frank Schlinkheider, ITSD Consulting GmbH

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

Liferay als Java-Portal-Entwicklungsplattform

  1. 1. Liferay Portal Server GEDOPLAN Java Expertenkreis in Bielefeld 27.03.2014
  2. 2. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Agenda  Kurzvorstellung ITSD  Portal-Technologien  Liferay Vorstellung  Mein erstes Portlet  Portlet- und Web-Entwicklung, die Unterschiede  Wie können vorhandene Web-Anwendungen migriert werden.
  3. 3. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Wer ist ITSD Consulting?  IT Systemhaus aus OWL  Anfang 2000 gegründet  Tätigkeitsradius: bundesweit  Standorte: Minden (Hauptsitz) und Bünde  Team aus 20 IT-Experten  Positionen: Projektleitung, Analyse und Design, Moderation, Anwendungsberatung, IT-Beratung  Schwerpunkte:  Open Source Softwareentwicklung mit Java  Beratung im Bereich Enterprise-Technologien  Umsetzung von IT-Projekten im Unternehmensumfeld
  4. 4. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Kompetenzen HR-Lösungen Stellenbe- schreibung u. - bewertung Leistungsbe- wertung (inkl. ZV) Personalent- wicklung BEM HR-Workflows Portale Web- Portal- Entwicklung (z.B. JSF 2.x) Liferay Enterprise 2.0 Unternehmens- portale Geschäftsprozesse Prozessanalyse BPMN 2.0 Umsetzung IT-Consulting Fachpersonal- leasing IT-Beratung Open Source Java Technologien IT-Projektleitung
  5. 5. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Portal ehemaliger Haupteingang des Ernst-Ludwig-Hauses mit Freitreppe (Museum Künstlerkolonie Darmstadt)
  6. 6. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Was ist ein Portal?  „Portal“ kommt vom lateinischen Wort „porta“ - die Tür bzw. das Tor. Es bezeichnet einen besonders ausgestalteten Eingang zu einem größeren Gebäude.  zentrales IT-System, in dem alle Arten von Informationen unterschiedlichsten Zielgruppen ortsunabhängig zugänglich gemacht werden können  Möglichkeit zur Integration von Anwendungen, Prozessen und Diensten  Verknüpfung und Datenaustausch zwischen heterogenen Anwendungen (Portlets) oftmals auf einer Portalseite unter dem "Dach" der Portalplattform  Unterstützung von Geschäftsprozessen
  7. 7. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Typische Portaldienste und -funktionen  Darstellung / Präsentation durch homogene Oberfläche zentrales IT-System, in dem alle Arten von Informationen unterschiedlichsten Zielgruppen ortsunabhängig zugänglich gemacht werden können.  Personalisierung durch individuelle Anpassungen des Hintergrundes, der Anordnung, der Größe aber auch inhaltlich der relevanten Informationen (Maßnahmen gegen Information Overflow)  hochentwickelte Suchmaschinen  wichtige Informationen schnell und unkompliziert auffinden  hochgradig skalierbar im Bezug auf Benutzeranzahl  eine Handvoll Benutzer  Infrastrukturdienste/Sicherheit  zentraler Zugriff via Single-Sign-On
  8. 8. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Typische Portaldienste und -funktionen  Navigation  Steuerung und Strukturierung der Bedienung  Benutzerverwaltung  Rollen, Rechte, ...  Wissens- bzw. Content Management  Bereitstellung von Inhalten verschiedener Quellen  Benachrichtigungen  Übermittlung relevanter Signale an den Benutzer (Notifikation)  Workflow Management  Gestaltung von Arbeitsabläufen z.B. Genehmigungsprozessen, …  Anwendungsintegration  Kollaboration: Zusammenarbeit in virtuellen Team- oder Projekträumen
  9. 9. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Portale mit Unternehmensinformationen  Ankündigungen, Events, Quartalszahlen  Berichte, Nachrichten, Wetter, Aktienkurse  E-Mail, Kalender, Geschäftsanwendungen  ggf. Zugang zu kleineren Abteilungsportalen
  10. 10. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Architektur  Server delegiert Anfragen an Portlet-Engine  Portlet-Engine verwaltet Lebenszyklus der Portlets mit Aktions- und Renderanfragen  Portlets können Daten aus mehreren verschiedenen Quellen beziehen  Datenbanken  WebServices  andere Anwendungen
  11. 11. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 "marktführende" Hersteller laut Gartner  IBM (WebSphere Portal Server)  Microsoft (Office SharePoint Server)  SAP (NetWeaver Portal)  Oracle (WebCenter)  Liferay (Portal)  Einziger Open-Source Anbieter unter den führenden Lösungen im Gartner Report „Magic Quadrant for Horizontal Portal Products“  Auf „Augenhöhe“ mit IBM, MS, Oracle und SAP
  12. 12. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Technologiestandards  Darstellung  HTML / XHTML  CSS  Integration  WebServices  Java EE Connector Architecture  Portlets  JSR 168  JSR 286  Web Services for Remote Portlets  Inhalte  RSS
  13. 13. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Technologiestandards  Content Management (CMS)  Web-based Distributed Authoring and Versioning (WebDAV)  Content Repository for Java Technology API  JSR 170  JSR 283
  14. 14. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Vorteile  relativ hohe Benutzerakzeptanz  Verknüpfung von Informationen über Applikationsgrenzen hinweg  transparente und effiziente Prozesse  Single-Sign-On  hoher Funktionalitätsumfang von vornherein "out-of-the-box"  ausgereifte technologische Konzepte  Einhaltung von Industriestandards
  15. 15. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Einsatzgebiete  B2E - Mitarbeiter/Unternehmens-Intranet  Kommunikation und Geschäftsprozesse innerhalb der eigenen Unternehmensinfrastruktur  B2B - Geschäftspartner/Unternehmens-Extranet  Kommunikation und Geschäftsprozesse mit externen Kundenbeziehungen  Kommunikations- und Presseplattform  Verlags- und Publikationsplattform  digitales Rechte Management (DRM)  B2C - Endkunden/Verkaufs-/Vertriebsplattform  Produktkatalog + Shop  Online-Banking und Finanzsystem  Bürgerportal öffentlicher Verwaltungen
  16. 16. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Liferay?  Im Jahr 2000 von Brian Chan begonnenes Projekt  Ziel: Non-Profit Enterprise Portal Alternative  Gründung Liferay, Inc. im Jahr 2004  Ende 2008: Software Umbenennung in „Liferay Portal“  Im Zuge dessen, neues Projekt: Liferay Social Office Brian Chan - Founder & Chief Software Architect
  17. 17. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Was macht Liferay aus?  Produktteile und Funktionen  Content-Management-System  Sozialnetzwerk  Blog, Freunde usw.  Web  Trennung durch Group, Site, Organisation  Kollaboration (Web-Zusammenarbeit)  Versionierung, Liferay Sync, Chat, Wiki, Forum, Workflow
  18. 18. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Was macht Liferay aus?  Anpassbarkeit (Hooks, Themes, Ext.)  Erweiterbarkeit (Portlets)  Authentifizierung und Autorisierung über Single Sign-on (SSO)  Personalisierung und Anordnung der Web-Elemente durch die Benutzer mittels Drag and Drop  WebDAV  Taggen und Suchen von beliebigen Inhalten  I18N (Standard-Übersetzungen für 32 Sprachen)  plattformunabhängig, skalierbar und replikationsfähig
  19. 19. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Liferay CE vs. EE CE EE LGPLv2 Enterprise Open Source Lizenz Im Schnitt alle 2-4 Monate ein Release Service Packs Hot Fixes Security Alerts Einige weitere Features 24h Support
  20. 20. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Liferay Quellen  Liferay.com  Wiki, Forum, Blogs  http://www.liferay.com/de/products/liferay-portal/tech-specs  Jira  issues.liferay.com  Sourceforge Projekt  sourceforge.net/projects/lportal  github.com  https://github.com/liferay/
  21. 21. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
  22. 22. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
  23. 23. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
  24. 24. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Erweiterungen von Liferay  Marketplace  Bietet Erweiterungen für EE und auch CE  Einige von Liferay aber auch externe Anbieter  Social Office  „Enterprise Collaboration“  vormals vorkonfiguriertes Liferay Portal  heute als .lpkg Installationspaket für Liferay Portal  neueste Version 3.0.0 setzt Liferay Portal 6.2 voraus
  25. 25. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Social Office  Eigenes Theme  Vorkonfigurierte Portlets  Wiki  Kalender  Dokumenten-Bibliothek  Forum  Freunde  Profil  uvm. siehe: http://www.liferay.com/de/products/liferay-social- office/features
  26. 26. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Liferay - Basics  Unterstützt viele Datenbanksysteme  IBM DB2, MySQL, Oracle, PostgresSQL, SQL Server, Sybase, (Developer Modus: HSQLDB)  Viele Applikationsserver und Servlet Engines  Geronimo, GlassFish, JBoss, JOnAS, OracleAS, SUN JSAS, WebLogic, WebSphere  Jetty, Resin, Tomcat  OS  Linux (CentOS, RHES, SUSE, Ubuntu und andere), Unix (AIX, HP- UX, Mac OS X, Solaris und andere), Windows
  27. 27. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Entwicklungsumgebung  Liferay IDE  Basis ist Eclipse  Viele Funktionen enthalten  Erstellung von Projekten  TestServer Management  Verwaltung von Projekten bzw. Erweiterung  Liferay-SDK (Unterstützung von Ant, Maven, Ivy)  Liferay Developer Studio (LR EE)
  28. 28. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Unser erstes Portlet  Liferay IDE 2.x  Liferay 6.2  JSF 2.x  Hello-World
  29. 29. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Administration/Konfiguration  Organisationen  Sites  Benutzer  Teams  Gruppen  Rollen  Berechtigungen
  30. 30. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Liferay-Entwicklungsschnittstellen  Hooks  Portlets  Themes  Layout Templates  Liferay Frameworks  Ext
  31. 31. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Hooks  Schalten sich zwischen die Liferay Funktionalitäten  Teile vom Liferay Core durch eigene Implementierungen überschreiben  Besser als Ext weil  Hot-deployable  Undeploy möglich  Leichter zu erstellen und zu warten (Maintenance, Server-Update)
  32. 32. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Hooks  Was kann ein Hook?  Portal properties  Language properties  JSP‘s  Services  Erweiterungen bzw. Anpassungen an den Liferay Seiten  Überschreiben von Ressourcen  Custom Actions  Struts Actions (old)  Portal.properties  Language.properties
  33. 33. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Liferay Services  Liferay Service Builder  Service wird mittels XML beschrieben  Liferay generiert Interfaces, Implementierungen, Zugriffsklassen, POJOs, SQL-Statements, Finder-Methoden, etc.  Beim Deployment von Portlets legt Liferay automatisch die benötigten Tabellen an.  Update-Mechanismus  Remote und lokaler Zugriff  Liferay liefert für seine Tabellen entsprechende Zugriffsklassen  Automatisches generieren von Web-Services bzw. JSON
  34. 34. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Liferay Vorteile  Umfang vorhandener Portlets (Wiki, Blogs, Mircoblogs, Chat, Freunde, Aufgaben, Kalender, etc.)  Vorhanden Portets und Portal-Funktionen können einfach angepasst werden  riesiger Funktionsumfang (SSO, CalDAV/WebDAV, Dokumentenmanagement, CMS, Berechtigungskonzept, Bootstrap, Lucene, …)  Unterstützung von JSF  Unterstützung vieler Standards (JSR168, JSR 286, etc.)  Große Community – Entwicklung Forenteilnehmer:  12/2009: 11.345  03/2014: 24.525  Enterprise 2.0 (Social Office)  Laut Gartner ein “Leader”
  35. 35. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Liferay Nachteile  Hohe Komplexität und Funktionsumfang (z.B. Berechtigungssystem)  Qualität der vorhandener Portlets unterschiedlich  Umsetzung vorhandener Portlets unterschiedlich (HTML5, JSP, JavaScript, Struts, JSF, etc.)  Eigener Service-Layer  Unterstützung von JSF nur teilweise in den vorhandenen Portlets  EE vs. CE
  36. 36. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Unterschiede: HTTP Session und Portlet Session  HTTP Session und Portlet Session  Ein Session-Objekt pro Sitzung  Bindung von Objekten an die Session  Lesen und Schreiben von Informationen  PortletSession bietet weiteren Gültigkeitsbereich (Scope)
  37. 37. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 HTTP Session  ein Gültigkeitsbereich  Zugriff aller Servlets innerhalb einer Webapplikation  Beispiel schreiben public class FirstServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) { try { response.setContentType("text/html"); PrintWriter out = response.getWriter(); HttpSession session = request.getSession(); session.setAttribute("uname", "User"); out.print("<a href='servlet2'>visit</a>"); out.close(); } catch (Exception e) { System.out.println(e); } } }
  38. 38. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 HTTP Session  Beispiel auslesen public class SecondServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) try{ response.setContentType("text/html"); PrintWriter out = response.getWriter(); HttpSession session=request.getSession(false); String n=(String)session.getAttribute("uname"); out.print("Hello "+n); out.close(); }catch(Exception e){System.out.println(e);} } }
  39. 39. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Portlet Session  basiert auf HTTP-Session  zwei Gültigkeitsbereiche  Application Scope  Zugriff von jedem Portlet und/oder Servlet  Sessionattribut mit diesem Scope auch in HTTP-Session verfügbar  Portlet Scope  default  Zugriff nur innerhalb eines Portlets  Container hängt intern PortletId an SessionKey  somit nicht in HTTP-Session verfügbar
  40. 40. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Portlet Session  Beispiel auslesen public class SecondPortlet extends GenericPortlet { @Override protected void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException { try { response.setContentType("text/html"); PrintWriter out = response.getWriter(); PortletSession session = request.getPortletSession(); String n = (String) session.getAttribute("uname"); out.print("Hello " + n); out.close(); } catch (Exception e) { System.out.println(e); } } }
  41. 41. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 PortletRequest  Basis-Interface stellt Portlet Client-Request bereit  ActionRequest  RenderRequest  Ähnlichkeiten zu HttpServletRequest bzw. ServletRequest
  42. 42. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 PortletResponse  Basis-Interface stellt Portlet Client-Request bereit  ActionRequest  RenderRequest  Ähnlich wie HttpServletRequest bzw. ServletRequest  wird im Unterschied zur ServletResponse nicht direkt an Client gesendet  wird stattdessen an den Portal Server gesendet  übliche Verwendung  encodeNamespace  fügt einem String als Präfix den Portletnamen hinzu  wichtig um etwa Namenskollisionen in JavaScript Variablen zu vermeiden
  43. 43. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 PortletResponse  encodeURL  übergebener String wird zu einer kompletten URL kodiert  test.gif -> http://www.example.com/../test.gif übergeben durch  createURI/createReturnURI  instantiiert ein neues PortletURI-Object
  44. 44. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 HttpServlet  1  1  Beispiel Servlet doGet() doPost() public class HelloWorld extends HttpServlet { public void init() throws ServletException { // Do required initialization } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Inhaltstyp für Ruckgabe festlegen response.setContentType("text/html"); PrintWriter writer = response.getWriter(); writer.println("<p>Hello Servlet World!</p>"); } }
  45. 45. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 GenericPortlet  1  1  1  1  Beispiel Portlet processAction() doView() public class HelloWorld extends GenericPortlet { public void init(PortletConfig portletConfig) throws UnavailableException, PortletException { super.init(portletConfig); } public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException { // Inhaltstyp für Rückgabe festlegen response.setContentType("text/html"); PrintWriter writer = response.getWriter(); writer.println("<p class='wpsPortletText'>Hello Portal World!</p>"); } } doEdit() doHelp()
  46. 46. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Migration: Analyse des vorhandenen Systems  Welche Web-Technologien wurden wie eingesetzt (JSP/Struts, JSF, etc., wurden Templates verwendet?)  Welches Persistenzframework wurde eingesetzt? (Hibernate/Spring, JPA, Eigenentwicklung?)  Soll nur Liferay unterstützt werden?  Was ist mit anderen Portal-Systemen (wie z.B. GateIn)?  Soll weiterhin die Web-Applikation unterstützt werden? Wenn ja warum?  Welche Funktionen sollen/müssen ausgetauscht werden? (Berechtigungssystem, bisherige Integrationen, etc.)  Welche LR Funktionen sollen zukünftig genutzt werden? (Portlets, Layout, SSO, Lucene, CMS, Wiki, etc.)
  47. 47. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Migration 1: Na ja, keine echte Migration…  LR IFrame-Portlet  Unterstützung von Auth.-Verfahren (Basic, Form)  Trotzdem oft Anpassung der Web-Anwendung notwendig  Individuelles IFrame-Portlet entwickeln  Beseitigung von Darstellungsproblemen  Bessere individuelle Parameter-Übergabe (z.B. User-Name, Gruppen-Name, etc.)  Zugriff auf LR-Umgebung  Bsp: BigBlueButton  Web Services for Remote Portlets (WSRP) (nur geeignet, wenn andere Anwendung schon im Portal läuft)
  48. 48. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Neues Portlet: Frontend anpassen  Seiten-Aufbau von LR zeigen  Anpassung der xhtml oder JSP Seiten  Header, Content, Footer  Css reduzieren
  49. 49. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Implementierungen austauschen  Servlet-Api gegen Portlet-Api austauschen  Service-Schicht anpassen  Implementierung austauschen  z.B. zur Ablage von Dokumenten  z.B. Lucene-Indexer  DAO-Schicht austauschen?  nicht unbedingt notwendig  abhängig von der Architektur  Datasource von LR verwenden  Connection-Pool PortletRequest request = (PortletRequest)facesContext.getExternalContext().getRequest(); PortletResponse response = (PortletResponse)facesContext.getExternalContext().getResponse(); PortletContext context = (PortletContext)facesContext.getExternalContext().getContext();
  50. 50. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Berechtigungssystem?  Implementierung austauschen  Action-Permission sind unproblematisch  in portlet.xml eintragen  Model-Permissions sind schwieriger  Berechtigung werden beim Speichern des Models festgelegt Portlet Scope  Hinzufügen von neuen Rollen/Rechten etc. aufwendig  Aber danach: Gute Performance!
  51. 51. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Vorteile vom Portal nutzen  Kalender, Blogs, Aufgaben, Aktivitäten  Permissions, Scopes etc.  Volltext-Suche (Lucene)  Dokumentenmanagement  SSO  Portlet-Navigation anstatt Faces-Navigation
  52. 52. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Vielen Dank für Ihre Aufmerksamkeit Ihr Ansprechpartner Frank Schlinkheider Projektleitung & Anwendungsberatung ITSD Consulting GmbH Lindenstr. 44 32423 Minden – Germany Mail: fs@itsd-consulting.de Fon: +49 - 571 - 934 152 10 Fax: +49 - 571 - 934 152 19

×