PROBLEME ARHITECTURALE ÎN PROIECTE LIFERAY Alexandra Coldea
LIFERAY • • •
Portal open source pentru aplicații enterprise Funcționalități personalizabile Features ”out of the box” E nevoie de Liferay? Portal complex, conținut mult
Aplicație mare ca Aplicație simplă care dimensiune dar nu e manipulează conținut puțin ”content centric”
SERVICE BUILDER • •
• •
Tool dezvoltat de Liferay Generează cod pentru: model, persistență, servicii, mapări de Spring Entitățile configurate în xml Logica de business scrisă în cod
SERVICE BUILDER + ”time to market” redus + mecanism de clustering + tranzacționalitatea serviciilor + internaționalizarea entităților - documentație practic inexistentă
Alternativa: layer de servicii propriu
DECUPLAREA COMPONENTELOR
Service Builder-ul generează API-ul decuplat de implementare:
DECUPLAREA COMPONENTELOR ÎMPACHETAREA ÎN PACHETE Arhitectura unui proiect în care e folosit Service Builder pentru a defini servicii custom: Production environment
Development environment
DECUPLAREA COMPONENTELOR SEPARAREA ÎN PLUGINURI • •
•
•
Un plugin per portlet? Un plugin pentru toți portleții? Raspunsul depinde de dimensiunea proiectului și necesitățile clientului Crearea de module funcționale. E posibil să fie vândute separat.
INTERACȚIUNEA DINTRE COMPONENTE
Wrappere peste serviciile de Service Builder pentru a face legătura dintre pluginuri
INTERACȚIUNEA DINTRE COMPONENTE • •
• •
Servicii: Operații atomice Implementează logica de business și asigură consistența Wrapper: Afară din tranzacție Lucrează cu business objects
ÎNTREBARI?