liferay - quick start 1° episodio

15
Liferay – Quick Start 1° Episodio Bundle Tomcat and Plugin SDK Antonio Musarra’s Blog Twitter: @antonio_musarra Email: [email protected] Blog: www.dontesta.it GitHub: github.com/amusarra SlideShare: slideshare.net/amusarra (C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ} Liferay is a trademark of Liferay, Inc. in the United States, the European Union and other countries. The Liferay Logo is a trademark of Liferay Inc. in the United States, the European Union and other countries.

Upload: antonio-musarra

Post on 19-Jul-2015

333 views

Category:

Technology


1 download

TRANSCRIPT

Liferay – Quick Start 1° Episodio

Bundle Tomcat and Plugin SDK

Antonio Musarra’s BlogTwitter: @antonio_musarraEmail: [email protected]: www.dontesta.itGitHub: github.com/amusarraSlideShare: slideshare.net/amusarra

(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}

Liferay is a trademark of Liferay, Inc. in the United States, the European Union and other countries. The Liferay Logo is a trademark of Liferay Inc. in the United States, the European Union and other countries.

Sommario

• Liferay Overview• Quick Start• Tomcat Bundle• Plugins SDK• Risorse

(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}

1

Liferay Overview

• Liferay è un Enterprise Portal free e Open Source scritto in Java• E’ costituito da tre parti fondamentali

• Un Kernel (Liferay Portal) che funge da base per le applicazioni e i contenuti• Un Content Management System (Liferay CMS) • Una suite di applicazioni per realizzare collaboration e social networks (Liferay

Collaboration)

(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}

2

Liferay Overview

È basato su un'architettura di tipo Service Oriented (SOA) che rende possibile la realizzazione di applicazioni chiamate Portlet a partire da Servizi Web esistenti.

Liferay è standard. Le Portlet sono definite dagli standard JSR-168 e JSR-286 e sono componenti che definiscono il markup della singola applicazione all'interno di una pagina del portale.

Le Portlet sono gestite da un Portlet Container e da un Portal Server, responsabile di servire le pagine al browser o al client. Questi due sistemi, insieme, costituiscono l'infrastruttura del portale necessaria al deployment delle applicazioni.

Il Service Builder è un code-generator che permette di generare automaticamente entità, script sql e classi di interfaccia al database

(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}

3

Liferay Overview

• Liferay è Developer Friendly• E’ compatibile con l’infrastruttura IT esistente

• Aderisce e contribuisce alla definizione di nuovi standard

• Utilizza un sistema di autorizzazioni granulare

• Integrazione semplificata con i più comuni meccanismi di Single Sign On (SSO)

• Semplifica le attività di Enterprise Application Integration (EAI)

• Eseguire le altre applicazioni (PHP, Ruby, Python) in Liferay

• Aiuta a diventare social grazie a tag library, set di API, Widget e Mashup

(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}

4

Liferay Overview

(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}

5

Liferay segue i seguenti approcci architetturali Model Driven Architecture (MDA) Platform Independent Model (PIM) Platform Specific Model (PSM) Domain Specific Model (DSM)

Sviluppare e estendere funzionalità su Liferay è reso possibile e agevole grazie a vari framework, i principali sono: Extension Envinronment Plugins Framework Asset Framework

Quick Start

Cosa occorre fare per essere rapidamente operativi su Liferay Portal?• Scaricare e installare la Sun/Oracle JDK 6, consigliata la versione 7 della JDK. Se

non si dispone dell’ambiente Java installato nel proprio ambiente non è un problema, il Portal Bundle è fornito con Java JRE e sarà in grado di eseguire il portale

• Scaricare il Portal Bundle direttamente dalla sezione download del portale liferay.com. E’ consigliato iniziare la propria esperienza con il Bundle with Tomcat da installare sulla propria workstation

• Run Liferay Portal e andare all’indirizzo http://localhost:8080 accedendo con le credenziali [email protected]/test

(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}

6

Tomcat Bundle

• Il Bundle with Tomcat è la soluzione veloce e consigliata per l’installazione del portale in ambiente di sviluppo e comunque è facile trovare installazioni Liferay in esecuzione su Tomcat anche in ambienti di produzione

• Liferay e una Servlet Application che puo essere installata su tutti gli Application Server che sono JSR154 compliant

• Liferay è inoltre distribuito in bundle anche su:• Geronimo• Glassfish• JBoss• Jetty• Resin• JOnAS + Tomcat

(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}

7

Tomcat Bundle – Filesystem Layout

(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}

8

• bin: è la directory contenente i file eseguibili di Tomcat

• conf: è la directory contenente i file di configurazione di Tomcat

• lib: è la directory che contiene i jar comuni a tutte le Web Application di Tomcat

• lib/ext: Ci sono e andranno• i driver di connessione al data base• le librerie che implementano JavaMail• la libreria portlet.jar che contiene la

definizione del JSR168 e JSR286• la libreria portal-service.jar che contiene i

bridge che permettono ai singoli portlet di invocare il Service Layer del core di Liferay

Gli eventuali Services sviluppati o di terze parti devono essere posizionati all’interno di lib/ext. • webapps: E la directory dove saranno installati

tutti i nostri plugin (temi, layout, portlet, hooks, etc.) e dove viene installata la webapp che conterrà Liferay.

Tomcat Bundle – Filesystem Layout

• I file della directory bin di nostro interesse sono:• catalina.[bat|sh]. All’interno di questi file è possibile specificare il percorso della JDK o JRE

tramite l'impostazione delle properties:• JAVA_HOME: nel caso d’utilizzo della JDK. Ricordo anche la possibilità di leggere il percorso della JDK dall’environment JAVA_HOME

• JRE_HOME: nel caso d’utilizzo della JRE. Ricordo anche la possibilità di leggere il percorso della JRE dall’environment JRE_HOME

• setenv.[bat|sh]. All’interno di questo file è possibile indicare le risorse in termini di memoria:• -Xms: imposta il valore iniziale della heap• -Xmx: imposta il valore massimo della heap• -XX:MaxPermSize: imposta il valore della PermGen

• startup.[bat|sh] e shutdown.[bat.sh]: I comandi per accendere e spegnere Tomcat

(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}

9

Leveraging the Plugins SDK

• Liferay mette a disposizione degli sviluppatori un Software Development Kit (SDK) basato su Apache Ant che può essere utilizzato con qualsiasi editor o ambiente di sviluppo integrato (IDE). L’SDK è lo strumento essenziale per lo sviluppo delle proprie applicazioni Liferay.

• Da qualche anno Liferay ha reso disponibile l’SDK Plugin basato su Apache Maven• Liferay ha realizzato un IDE (Open Source) basato sull’ambiente di sviluppo Eclipse

che semplifica lo sviluppo di ogni tipo di plugin per Liferay• Esiste anche una versione commerciale dell’IDE che si chiama Liferay Developer

Studio sempre basato su Eclipse che contiene alcune caratteristiche aggiuntive per lo sviluppo sull’edizione commerciale (Enterprise) di Liferay

(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}

10

Leveraging the Plugins SDK

Tramite questo strumento di sviluppo è possibile quindi:• Realizzare Portlet. Applicazioni Web scritte in Java che sono eseguite all’interno di

una porzione di una pagina web• Estendere e personalizzare Liferay attraverso gli Hook• Personalizzare il look and feel attraverso i Themes• Aggiungere dei nuovi layout di pagina attraverso i Layout Template• Implementare nuove estensioni avanzate attraverso gli Ext

(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}

11

Leveraging the Plugins SDK

Il Plugins SDK è articolato su diversi folder, dove sei di questi folder sono dedicati a rispettivi tipi di plugin. • liferay-plugins-<version>/ - Plugins SDK root directory

• ext/ - Ext plugins directory• hooks/ - hook plugins directory• layouttpl/ - layout templates directory• portlets/ - portlet plugins directory• themes/ - themes plugins directory• webs/ - web plugins directory

Tramite file di properties è possibile agire per esempio sull’ambiente di deployment e altre impostazioni di configurazione. Esistono due file di properties, uno globale e uno specifico per utente (esempio: build.<username>.properties), quest’ultimo sovrascrive le impostazioni del primo.

(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}

12

Leveraging the Plugins SDK

I nuovi plugin sviluppati sono messi all’interno della sottodirectory del tipo plug-in appropriato. Ad esempio, un nuovo portlet denominato “shirus-portlet” dovrebbe risiedere in:• liferay-plugins-[version]/portlets/shirus-portlet

Per ogni tipo di plugin esiste il file build.xml di Ant, tramite il quale è possibile eseguire i seguenti task:• build-service: costruisce il livello di servizio per un plugin, utilizzando Liferay servizio Builder• clean: pulisce i file residui creati durante la compilazione, archiviazione e distribuzione• compile: compilazione del plugin e posizionamento del WAR dentro la directory dist• deploy: builds e deploys il plugin sull’Application Server• format-source: formatta il codice sorgente secondo le linee guida di Liferay e informa su eventuali

violazioni.• format-javadoc: formatta i Javadoc

(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}

13

Risorse

Con queste “14 misere” slide ho cercato d’introdurre Liferay e come iniziare con il piede giusto per affrontare lo sviluppo di applicazioni ai voi che siete proprio “novelli”. Spero di essere riuscito con questo primo episodio a suscitare la vostra curiosità e interesse.

Vi lascio con delle ottime risorse da consulture per i vostri approfondimenti.

• Liferay Developer Network• Liferay Community Blog• Antonio Musarra’s Blog• D’vel Blog• Marco Napolitano

(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}

14