SlideShare ist ein Scribd-Unternehmen logo
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-Technologien
 Liferay Vorstellung
 Mein erstes Portlet
 Portlet- und Web-Entwicklung, die Unterschiede
 Wie können vorhandene Web-Anwendungen
migriert werden.
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
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
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Portal
ehemaliger Haupteingang des Ernst-Ludwig-Hauses mit Freitreppe (Museum Künstlerkolonie Darmstadt)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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/
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
 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
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
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
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)
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
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Administration/Konfiguration
 Organisationen
 Sites
 Benutzer
 Teams
 Gruppen
 Rollen
 Berechtigungen
Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
Liferay-Entwicklungsschnittstellen
 Hooks
 Portlets
 Themes
 Layout Templates
 Liferay Frameworks
 Ext
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)
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
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
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”
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
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)
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);
}
}
}
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);}
}
}
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
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);
}
}
}
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
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
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
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>");
}
}
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()
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.)
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)
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
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();
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!
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
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

Weitere ähnliche Inhalte

Was ist angesagt?

Sponsorenbeschreibung Tools4AgileTeams 2012
Sponsorenbeschreibung Tools4AgileTeams 2012Sponsorenbeschreibung Tools4AgileTeams 2012
Sponsorenbeschreibung Tools4AgileTeams 2012
Martin Seibert
 
Zendesk Bootcamps - Einleitung, Mobile Apps, Salesforce-Integration
Zendesk Bootcamps - Einleitung, Mobile Apps, Salesforce-IntegrationZendesk Bootcamps - Einleitung, Mobile Apps, Salesforce-Integration
Zendesk Bootcamps - Einleitung, Mobile Apps, Salesforce-Integration
Martin Seibert
 
Csb Kundenforum 2007
Csb Kundenforum 2007Csb Kundenforum 2007
Csb Kundenforum 2007
Andreas Schulte
 
Whitecoast lcty12 x_pages
Whitecoast lcty12 x_pagesWhitecoast lcty12 x_pages
Whitecoast lcty12 x_pages
Whitecoast Solutions AG
 
SharePoint Revisionssicherheit
SharePoint RevisionssicherheitSharePoint Revisionssicherheit
SharePoint Revisionssicherheit
FLorian Laumer
 
SharePoint Community 12.02.2014: Realisierung einer Website mit SharePoint 2013
SharePoint Community 12.02.2014: Realisierung einer Website mit SharePoint 2013SharePoint Community 12.02.2014: Realisierung einer Website mit SharePoint 2013
SharePoint Community 12.02.2014: Realisierung einer Website mit SharePoint 2013
IOZ AG
 
projekt0708 PWR Solution (Release 3.0) für SAP NetWeaver
projekt0708 PWR Solution (Release 3.0) für SAP NetWeaverprojekt0708 PWR Solution (Release 3.0) für SAP NetWeaver
projekt0708 PWR Solution (Release 3.0) für SAP NetWeaver
projekt0708 - Scheffler, Galas & Partner IT Berater
 
BTEXX INTRANET-PORTAL – READY TO RUN
BTEXX INTRANET-PORTAL – READY TO RUNBTEXX INTRANET-PORTAL – READY TO RUN
BTEXX INTRANET-PORTAL – READY TO RUN
Björn Adam
 
[ecspw2013] Session Technik 01: ecspand 3.0 - Vorgangsbearbeitung für den Sha...
[ecspw2013] Session Technik 01: ecspand 3.0 - Vorgangsbearbeitung für den Sha...[ecspw2013] Session Technik 01: ecspand 3.0 - Vorgangsbearbeitung für den Sha...
[ecspw2013] Session Technik 01: ecspand 3.0 - Vorgangsbearbeitung für den Sha...
d.velop international
 
SaaS Web 2.0 Aktivitaetenmanagement
SaaS Web 2.0 AktivitaetenmanagementSaaS Web 2.0 Aktivitaetenmanagement
SaaS Web 2.0 Aktivitaetenmanagement
Bjoern Reinhold
 
Ice 2007
Ice 2007Ice 2007
Ice 2007
Andreas Schulte
 
Fachtagung records-management Project Consult
Fachtagung records-management Project ConsultFachtagung records-management Project Consult
Fachtagung records-management Project Consult
FLorian Laumer
 
Portalserver Meets SOA: State of the Portal Art
Portalserver Meets SOA:  State of the Portal ArtPortalserver Meets SOA:  State of the Portal Art
Portalserver Meets SOA: State of the Portal Art
adesso AG
 
Versteckte Schätze in Oracle BPM und SOA Suite - DOAG Konferenz 2011 - OPITZ...
Versteckte Schätze in Oracle BPM und SOA Suite  - DOAG Konferenz 2011 - OPITZ...Versteckte Schätze in Oracle BPM und SOA Suite  - DOAG Konferenz 2011 - OPITZ...
Versteckte Schätze in Oracle BPM und SOA Suite - DOAG Konferenz 2011 - OPITZ...
OPITZ CONSULTING Deutschland
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & Tools
Ulrich Krause
 
B3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite ApplicationsB3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite Applications
Andreas Schulte
 
Enterprise Content Management am SharePoint mit ecspand
Enterprise Content Management am SharePoint mit ecspandEnterprise Content Management am SharePoint mit ecspand
Enterprise Content Management am SharePoint mit ecspand
Christian Kiesewetter
 
Enterprise user security manuskript zum vortrag doag 2014
Enterprise user security   manuskript zum vortrag doag 2014Enterprise user security   manuskript zum vortrag doag 2014
Enterprise user security manuskript zum vortrag doag 2014
Marcel Pils
 
Andreas Pleschek zu den Clients der Zukunft
Andreas Pleschek zu den Clients der ZukunftAndreas Pleschek zu den Clients der Zukunft
Andreas Pleschek zu den Clients der Zukunft
IBM Lotus
 

Was ist angesagt? (20)

Sponsorenbeschreibung Tools4AgileTeams 2012
Sponsorenbeschreibung Tools4AgileTeams 2012Sponsorenbeschreibung Tools4AgileTeams 2012
Sponsorenbeschreibung Tools4AgileTeams 2012
 
Zendesk Bootcamps - Einleitung, Mobile Apps, Salesforce-Integration
Zendesk Bootcamps - Einleitung, Mobile Apps, Salesforce-IntegrationZendesk Bootcamps - Einleitung, Mobile Apps, Salesforce-Integration
Zendesk Bootcamps - Einleitung, Mobile Apps, Salesforce-Integration
 
Csb Kundenforum 2007
Csb Kundenforum 2007Csb Kundenforum 2007
Csb Kundenforum 2007
 
Whitecoast lcty12 x_pages
Whitecoast lcty12 x_pagesWhitecoast lcty12 x_pages
Whitecoast lcty12 x_pages
 
SharePoint Revisionssicherheit
SharePoint RevisionssicherheitSharePoint Revisionssicherheit
SharePoint Revisionssicherheit
 
SharePoint Community 12.02.2014: Realisierung einer Website mit SharePoint 2013
SharePoint Community 12.02.2014: Realisierung einer Website mit SharePoint 2013SharePoint Community 12.02.2014: Realisierung einer Website mit SharePoint 2013
SharePoint Community 12.02.2014: Realisierung einer Website mit SharePoint 2013
 
projekt0708 PWR Solution (Release 3.0) für SAP NetWeaver
projekt0708 PWR Solution (Release 3.0) für SAP NetWeaverprojekt0708 PWR Solution (Release 3.0) für SAP NetWeaver
projekt0708 PWR Solution (Release 3.0) für SAP NetWeaver
 
BTEXX INTRANET-PORTAL – READY TO RUN
BTEXX INTRANET-PORTAL – READY TO RUNBTEXX INTRANET-PORTAL – READY TO RUN
BTEXX INTRANET-PORTAL – READY TO RUN
 
[ecspw2013] Session Technik 01: ecspand 3.0 - Vorgangsbearbeitung für den Sha...
[ecspw2013] Session Technik 01: ecspand 3.0 - Vorgangsbearbeitung für den Sha...[ecspw2013] Session Technik 01: ecspand 3.0 - Vorgangsbearbeitung für den Sha...
[ecspw2013] Session Technik 01: ecspand 3.0 - Vorgangsbearbeitung für den Sha...
 
2010 09 30 11-30 thomas marx
2010 09 30 11-30 thomas marx2010 09 30 11-30 thomas marx
2010 09 30 11-30 thomas marx
 
SaaS Web 2.0 Aktivitaetenmanagement
SaaS Web 2.0 AktivitaetenmanagementSaaS Web 2.0 Aktivitaetenmanagement
SaaS Web 2.0 Aktivitaetenmanagement
 
Ice 2007
Ice 2007Ice 2007
Ice 2007
 
Fachtagung records-management Project Consult
Fachtagung records-management Project ConsultFachtagung records-management Project Consult
Fachtagung records-management Project Consult
 
Portalserver Meets SOA: State of the Portal Art
Portalserver Meets SOA:  State of the Portal ArtPortalserver Meets SOA:  State of the Portal Art
Portalserver Meets SOA: State of the Portal Art
 
Versteckte Schätze in Oracle BPM und SOA Suite - DOAG Konferenz 2011 - OPITZ...
Versteckte Schätze in Oracle BPM und SOA Suite  - DOAG Konferenz 2011 - OPITZ...Versteckte Schätze in Oracle BPM und SOA Suite  - DOAG Konferenz 2011 - OPITZ...
Versteckte Schätze in Oracle BPM und SOA Suite - DOAG Konferenz 2011 - OPITZ...
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & Tools
 
B3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite ApplicationsB3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite Applications
 
Enterprise Content Management am SharePoint mit ecspand
Enterprise Content Management am SharePoint mit ecspandEnterprise Content Management am SharePoint mit ecspand
Enterprise Content Management am SharePoint mit ecspand
 
Enterprise user security manuskript zum vortrag doag 2014
Enterprise user security   manuskript zum vortrag doag 2014Enterprise user security   manuskript zum vortrag doag 2014
Enterprise user security manuskript zum vortrag doag 2014
 
Andreas Pleschek zu den Clients der Zukunft
Andreas Pleschek zu den Clients der ZukunftAndreas Pleschek zu den Clients der Zukunft
Andreas Pleschek zu den Clients der Zukunft
 

Ähnlich wie Liferay als Java-Portal-Entwicklungsplattform

Extend Workflows to the cloud and beyond - Office 365 Conference (DE)
Extend Workflows to the cloud and beyond - Office 365 Conference (DE)Extend Workflows to the cloud and beyond - Office 365 Conference (DE)
Extend Workflows to the cloud and beyond - Office 365 Conference (DE)
Patrick Hosch
 
Top 10 Internet Trends 2007
Top 10 Internet Trends 2007Top 10 Internet Trends 2007
Top 10 Internet Trends 2007
Jürg Stuker
 
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
Bjoern Reinhold
 
comundus Kundenportal mit Liferay
comundus Kundenportal mit Liferaycomundus Kundenportal mit Liferay
comundus Kundenportal mit Liferay
Stefan Hilpp
 
Gentics Webinar: Unser Intranet mit SAP Netweaver Portal und CMS 22-09-2009
Gentics Webinar: Unser Intranet mit SAP Netweaver Portal und CMS 22-09-2009Gentics Webinar: Unser Intranet mit SAP Netweaver Portal und CMS 22-09-2009
Gentics Webinar: Unser Intranet mit SAP Netweaver Portal und CMS 22-09-2009
Manuel Aghamanoukjan
 
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch SalzburgSlides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
DNUG e.V.
 
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
Bjoern Reinhold
 
Banking portal
Banking portalBanking portal
Banking portal
JoeyNbg
 
Tk roadschow-icinga-pdeneu
Tk roadschow-icinga-pdeneuTk roadschow-icinga-pdeneu
Tk roadschow-icinga-pdeneu
Werner Fischer
 
20040921 Serviceorientierte Architektur für WebSphere und WebSphere Portal
20040921 Serviceorientierte Architektur für WebSphere und WebSphere Portal20040921 Serviceorientierte Architektur für WebSphere und WebSphere Portal
20040921 Serviceorientierte Architektur für WebSphere und WebSphere Portal
Frank Rahn
 
Dokumentenmanagement als SaaS, Dokumentenmanagement SaaS
Dokumentenmanagement als SaaS, Dokumentenmanagement SaaSDokumentenmanagement als SaaS, Dokumentenmanagement SaaS
Dokumentenmanagement als SaaS, Dokumentenmanagement SaaS
GBS PAVONE Groupware GmbH
 
Ivory Soa Suite
Ivory Soa SuiteIvory Soa Suite
Ivory Soa Suite
Predrag61
 
Aktivitaetenmanagement SaaS, Aktivitaeten SaaS, Aktivitaetenmanagement Softw...
Aktivitaetenmanagement SaaS,  Aktivitaeten SaaS, Aktivitaetenmanagement Softw...Aktivitaetenmanagement SaaS,  Aktivitaeten SaaS, Aktivitaetenmanagement Softw...
Aktivitaetenmanagement SaaS, Aktivitaeten SaaS, Aktivitaetenmanagement Softw...
GBS PAVONE Groupware GmbH
 
Webinar Modern Valo - Ready-to-go Intranet
Webinar Modern Valo - Ready-to-go IntranetWebinar Modern Valo - Ready-to-go Intranet
Webinar Modern Valo - Ready-to-go Intranet
Beetroot AG
 
Webcast SAP Cloud Platform 2 - Developing Tools
Webcast SAP Cloud Platform 2 - Developing ToolsWebcast SAP Cloud Platform 2 - Developing Tools
Webcast SAP Cloud Platform 2 - Developing Tools
Patric Dahse
 
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungAndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
Eduard Hildebrandt
 
OSDC 2013 | Configuration Management with Verbosy by Eric Lippmann
OSDC 2013 | Configuration Management with Verbosy by Eric LippmannOSDC 2013 | Configuration Management with Verbosy by Eric Lippmann
OSDC 2013 | Configuration Management with Verbosy by Eric Lippmann
NETWAYS
 
Ec2009 Templates
Ec2009 TemplatesEc2009 Templates
Ec2009 Templates
Ulrich Krause
 

Ähnlich wie Liferay als Java-Portal-Entwicklungsplattform (20)

Extend Workflows to the cloud and beyond - Office 365 Conference (DE)
Extend Workflows to the cloud and beyond - Office 365 Conference (DE)Extend Workflows to the cloud and beyond - Office 365 Conference (DE)
Extend Workflows to the cloud and beyond - Office 365 Conference (DE)
 
Top 10 Internet Trends 2007
Top 10 Internet Trends 2007Top 10 Internet Trends 2007
Top 10 Internet Trends 2007
 
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
 
comundus Kundenportal mit Liferay
comundus Kundenportal mit Liferaycomundus Kundenportal mit Liferay
comundus Kundenportal mit Liferay
 
Gentics Webinar: Unser Intranet mit SAP Netweaver Portal und CMS 22-09-2009
Gentics Webinar: Unser Intranet mit SAP Netweaver Portal und CMS 22-09-2009Gentics Webinar: Unser Intranet mit SAP Netweaver Portal und CMS 22-09-2009
Gentics Webinar: Unser Intranet mit SAP Netweaver Portal und CMS 22-09-2009
 
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch SalzburgSlides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
 
Jug muenchen bpmn in der praxis
Jug muenchen bpmn in der praxisJug muenchen bpmn in der praxis
Jug muenchen bpmn in der praxis
 
Lean Collaboration
Lean CollaborationLean Collaboration
Lean Collaboration
 
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
 
Banking portal
Banking portalBanking portal
Banking portal
 
Tk roadschow-icinga-pdeneu
Tk roadschow-icinga-pdeneuTk roadschow-icinga-pdeneu
Tk roadschow-icinga-pdeneu
 
20040921 Serviceorientierte Architektur für WebSphere und WebSphere Portal
20040921 Serviceorientierte Architektur für WebSphere und WebSphere Portal20040921 Serviceorientierte Architektur für WebSphere und WebSphere Portal
20040921 Serviceorientierte Architektur für WebSphere und WebSphere Portal
 
Dokumentenmanagement als SaaS, Dokumentenmanagement SaaS
Dokumentenmanagement als SaaS, Dokumentenmanagement SaaSDokumentenmanagement als SaaS, Dokumentenmanagement SaaS
Dokumentenmanagement als SaaS, Dokumentenmanagement SaaS
 
Ivory Soa Suite
Ivory Soa SuiteIvory Soa Suite
Ivory Soa Suite
 
Aktivitaetenmanagement SaaS, Aktivitaeten SaaS, Aktivitaetenmanagement Softw...
Aktivitaetenmanagement SaaS,  Aktivitaeten SaaS, Aktivitaetenmanagement Softw...Aktivitaetenmanagement SaaS,  Aktivitaeten SaaS, Aktivitaetenmanagement Softw...
Aktivitaetenmanagement SaaS, Aktivitaeten SaaS, Aktivitaetenmanagement Softw...
 
Webinar Modern Valo - Ready-to-go Intranet
Webinar Modern Valo - Ready-to-go IntranetWebinar Modern Valo - Ready-to-go Intranet
Webinar Modern Valo - Ready-to-go Intranet
 
Webcast SAP Cloud Platform 2 - Developing Tools
Webcast SAP Cloud Platform 2 - Developing ToolsWebcast SAP Cloud Platform 2 - Developing Tools
Webcast SAP Cloud Platform 2 - Developing Tools
 
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungAndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
 
OSDC 2013 | Configuration Management with Verbosy by Eric Lippmann
OSDC 2013 | Configuration Management with Verbosy by Eric LippmannOSDC 2013 | Configuration Management with Verbosy by Eric Lippmann
OSDC 2013 | Configuration Management with Verbosy by Eric Lippmann
 
Ec2009 Templates
Ec2009 TemplatesEc2009 Templates
Ec2009 Templates
 

Liferay als Java-Portal-Entwicklungsplattform

  • 1. Liferay Portal Server GEDOPLAN Java Expertenkreis in Bielefeld 27.03.2014
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
  • 22. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
  • 23. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014
  • 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. 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. 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. 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. 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. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Administration/Konfiguration  Organisationen  Sites  Benutzer  Teams  Gruppen  Rollen  Berechtigungen
  • 30. Liferay Portal Server GEDOPLAN Expertenkreis Java in Bielefeld – 27.03.2014 Liferay-Entwicklungsschnittstellen  Hooks  Portlets  Themes  Layout Templates  Liferay Frameworks  Ext
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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