3. Novità
Non solo portlet
WCM e strumenti di amministrazione
Il portale può essere interamente
aggiornato dai web manager
Gestione avanzata dei gruppi e dei
documenti privati
Semplicità di cooperazione tra componenti
4. Il Portale permette....
Di ridurre i costi associando siti web ad applicazioni. Permette
agli sviluppatori di riutilizzare svariati tipi di applicazioni e
comporle all'interno di uno stesso contesto. Le portlet 2.0 sono lo
standard attuale. Sono pensate per ottenere il riutilizzo.
Agli utenti finali di personalizzare ogni parte del sito in maniera
sicura garantendo gli accessi.
Scalabilità - I portali sono predisposti alla replicazione dei dati su
macchine in cluster.
Di limitare i bug alla singola applicazione anzichè a tutta la pagina
o a tutto il portale. E' possibile continuare a lavorare nel portale
pur essendoci applicazioni in crash.
5. Licenze
JBoss – Gatein e JCR sono rilasciati con
licenza LGPL 2.1
Exo – Gli strumenti di amministrazione
sono rilasciati con licenza AGPL 3
Redhat - Rilascia la EPP 5 (Enterprise
Portal Platform). Contiene JBoss +
Gatein+ Portlet Bridge + eXo ECM
11. MOP (Model Object for Portal)
Permette l'assegnazione di una pagina o di un gruppo di
pagine per utente o gruppo. La stessa pagina può avere
diverse preferenze a seconda dell'utenza
Possibilità di esternalizzare la navigazione tramite import /
export
Le preferenze sono configurabili in 4 Scope: Contesto
globale, sito, pagina e finestra
Le preferenze sono ereditabili
12. MOP (Model Object for Portal)
Relazione tra container, finestra e body. Il container crea
una finestra tramite un meccanismo di template fornito da
Exo
Le pagine sono ereditabili, è possibile per una pagina
ereditare le proprietà da un padre mantenendo comunque
un diverso contenuto
Layout gerarchico. Ogni parte del portale (finestra, pagina,
sito, portale) ha la possibilità di ereditare un differente layout
Introduce Chromattic, un framework opensource per il
mapping tra oggetti e JCR
13. WCI (Web Container Integration)
Attualmente supporta JBoss , Tomcat e Jetty
Agisce durante il deploy per permettere una corretta
installazione e durante ogni richiesta http
Anticipa alcune funzionalità descritte nelle servlet 3.0
Verrà aggiunta la parte di integrazione di SSO
15. PC (Portlet Container)
Integra le portlet 2.0 in Exo portal in modo trasparente
Permette di deploiare le portlet all'interno del portale
mantenendo l'architettura di gestione delle finestre di Exo
<portlet>
<portlet-name>HelloWorldPortlet</portlet-name>
<portlet-class>
org.SimplestHelloWorldPortlet
</portlet-class>
<supports>
<mime-type>text/html</mime-type>
</supports>
<portlet-info>
<title>Simplest Hello World Portlet</title>
</portlet-info>
</portlet>
19. Implementa le JSR 301 e 329 (portlet 1.0 e 2.0)
Permette di usare JSF 1.2 all'interno di un portlet
container.
Qualunque applicazione web basata su JSF può
diventare parte di un portale
Supporta Seam e RichFaces
24. JCR
Ogni contenuto è condivisibile con REST
Supporta WebDav, FTP, RMI
REST CURRENT LOCAL
ENCODING IDENTITY SESSION
REST PROVIDER
SERVLET
POST
GET
DELETE
PUT
FTP BROWSER WEBDAV
25. JCR
Supporta autorizzazione e ACL
Introduce lo scripting Groovy
Funzioni di Import / Export
Gestione degli eventi
Script per inizializzare i repository
Clustering con JBoss Cache
Tutti i documenti sono versionabili
Supporta l'internazionalizzazione
27. JCR - workspace
Suddividono le informazioni in gruppi
Possono essere configurati su diversi database
Sono clusterizzabili
28. JCR - workspace
REPOSITORY(Gatein)
SYSTEM: Contiene i nodi e i namespace di base di
JCR
PORTAL-SYSTEM: Contiene le entità generate da
MOP , tutte le informazioni generate dall'application
registry (categorie, gadget, contenuti) e relativi
permessi.
PORTAL-WORK: Contiene i token per mantenere la
sessione autenticata in caso di 'autologin' e 'ricorda
password'.
WSRP-SYSTEM:Contiene le informazioni dei
producer e consumer WSRP.
PC-SYSTEM: Contiene gli stati delle portlet.
29. JCR - workspace
REPOSITORY(ECM)
COLLABORATION: Contiene le informazioni e i
contenuti delle applicazioni di collaboration (tags,
relazioni).
BACKUP: Mantiene i documenti scaduti e può essere
usato per implementare un meccanismo di backup
automatico.
DMS-SYSTEM: Contiene le info su applicazini e
contenuti del DMS.
WCM-SYSTEM:Contiene le info su applicazini e
contenuti del WCM.
33. Identity Management - gestione dei
profili
I campi degli utenti, gruppi e membership type sono
dinamici e gestiti dai singoli servizi
<object type="org.exoplatform.services.organization.
OrganizationConfig$User">
<field name="userName"><string>mary</string></field>
<field name="password"><string>gtn</string></field>
<field name="firstName"><string>Mary</string></field>
<field name="lastName"><string>Kelly</string></field>
<field name="email"><string>mary@localhost</string></field>
<field name="groups">
<string>member:/platform/users</string>
</field>
</object>
34. IDM: Fornisce un modello a oggetti per l'identità
(Utenti/Gruppi/Ruoli) e si interfaccia con LDAP
e RDBMS.
Federated Identity: Supporta SAMLv2, WS-Trust e
OpenID.
AuthZ: Authorization framework semplice da utilizzare
XACML: Implementazione di Oasis XACMLv2.
Negotiation: SPNego/Kerberos based Desktop SSO.
35. Database
Gatein
IDM (Creato da PicketLink IDM)
Portal (Creato da Exo JCR + MOP)
ECM
IDM (Creato da PicketLink IDM)
Portal (Creato da Exo JCR + MOP)
I Datasource sono configurabili tramite le common di
Exo
La EPP 5 utilizza i datasource di JBoss
49. Web UI
Si possono organizzare le sottodirectory
nell'applicazione usando un meccanismo di import
Le configurazioni possono essere sovrascritte da
un'applicazione che usa gli stessi path
Le portlet sono inserite sotto forma di nodi jcr. Risulta
così più facile ricercarle, catalogarle o eseguirle
C'è uno stretto legame tra componenti webui e classi
CSS per rendere più immediata la configurazione
grafica
50. Esempi - News - Portlet di lettura
Category Navigation - Ordina le news per categoria e
permette di navigarle (/private/acme/news)
Category Contents - Elenca le news a seconda della
categoria scelta. Se la categoria non è selezionata le
elenca tutte (/private/acme/news)
Content by Url - Rappresenta l'esploso della news
selezionata. La selezione di una news passa un URL
da cui è possibile prelevare il contenuto
(/private/acme/detail)
66. Esempi - News - Inserimento
Fast Content Creation - permette di inserire un
documento configurando lo spazio di destinazione, un
template grafico e degli eventi
DMS Console - è la console per la gestione dei
documenti. Contiene la Fast Content Creation portlet
Form Generator - permette di creare graficamente una
form di inserimento specificando i campi e una action
per l'invio in post
74. Clustering - PicketLink IDM
Gira su Hibernate (ehcache, JBoss Cache)
Cache di primo e secondo livello entrambe con JBoss
Cache
Utilizzabile su ogni piattaforma supportata da Gatein
<value-param>
<name>cacheConfig</name>
<value>war:/conf/organization/picketlink-idm/jboss-cache.xml</value>
</value-param>
<value-param profiles="cluster">
<name>cacheConfig</name>
<value>war:/conf/organization/picketlink-idm/jboss-cache-cluster.xml</value>
</value-param>
75. Clustering - Exo JCR
La configurazione è dipendente dal workspace
Clustering su 4 canali:
Dati
Indici
Lock Manager
Transaction Manager (da configurare)
Utilizzabile su ogni piattaforma
<cache enabled="true" class=
"org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.
JBossCacheWorkspaceStorageCache"> <properties>
<property name="jbosscache-configuration" value="conf/jcr/jbosscache/${gatein.jcr.config.
type}/config.xml" />
<property name="jgroups-configuration" value="jar:/conf/jcr/jbosscache/cluster/udp-mux.
xml" />
<property name="jgroups-multiplexer-stack" value="true" />
<property name="jbosscache-cluster-name" value="jcr-${container.name.suffix}-wsrp-
system" /> </properties>
</cache>