Liferay Portal è sviluppato
utilizzando una strategia SOA aperta, che lo ha reso la scelta di
riferimento per aziende di tutto il mondo e di tutte le dimensioni
nella realizzazione di progetti di Enterprise Integration, e non solo
di Web Content Management.
Alcuni mesi fa ho partecipato ad un
paio di progetti – per entrambi si trattava di commercio
elettronico e la piattaforma era costituita sostanzialmente da tre
elementi: Liferay Portal installato su JBoss Application Server, il
prodotto Hybris per la parte di eCommerce e JBoss ESB per le
comunicazioni tra l'ambiente Liferay e Hybris (gli ultimi due non
rilevanti per quanto concerne queste note).
Scrivo queste note, indirizzate a chi
si accinge ad impiegare costosi e complessi J2EE Application Servers,
che però non sono richiesti per il deploy di Liferay Portal.
Nei due progetti che ho citato, il
deploy di Liferay Portal è stato eseguito impiegando, quale
application server, il prodotto JBoss Enterprise Application Platform
5.1. In particolare, nell'ambiente di produzione, erano presenti otto
istanze del suddetto application server: sei per la piattaforma
utilizzata dal primo store e due per la piattaforma utilizzata
dall'altro store.
Analizzando però il codice
dell'applicazione sviluppata sotto forma di portlets installate su
Liferay, e consultando sia i progettisti che i programmatori del
sistema, risultò che non fossero stati utilizzati componenti EJB.
Al tempo stesso, è da considerare che
Liferay Portal non ha bisogno necessariamente di uno stack
application server/J6EE per poter
funzionare, ed offre comunque tutte le sue funzionalità attraverso
il deploy su un servlet container, come ad esempio Tomcat.
L'indipendenza di Liferay Portal dall'uso di un application server
vale anche per l'accesso al database – per questo punto
particolare, rimando ad un prossimo articolo dal titolo “Liferay -
Metodo di accesso al database”.
Non c'era motivo quindi per utilizzare
JBoss Enterprise Application Platform per il deploy di Liferay
Portal, introducendo di fatto una notevole complessità e pesantezza
dell'ambiente di produzione, senza apparentemente alcun vantaggio.
Sostanzialmente, gli otto application server jBoss AS, per di più
con licenza Enterprise onerosa, nel caso esaminato non forniscono
alcuna funzione necessaria a Liferay Portal per i quali sono stati
impiegati.
E' questo un caso eclattante di quante
risorse, non solo economiche, potevano essere risparmiate in un caso
così tipico di allestimento di una piattaforma di eCommerce basata
su Liferay Portal.
A supporto di quanto sopra, e per chi
fosse interessato ad approfondire l'argomento, cito un interessante
articolo di Mike Gualtieri del 15 luglio 2011 dal titolo “Stop
Wasting Money On WebLogic, WebSphere, And JBoss Application Servers”.
Di seguito l'introduzione:
“Use Apache Tomcat. It is free. I
don’t understand why firms spend millions of dollars on Java
application servers like Oracle Weblogic or IBM WebSphere Application
Server. I get why firms spend money on Red Hat JBoss -- they want to
spend less on application servers. But, why spend anything at all?
Apache Tomcat will satisfy the deployment requirements of most Java
web applications.”
L'intero articolo, del quale consiglio
vivamente la lettura, può essere letto su questo blog:
L'autore è Mike Gualtieri, Principal
Analyst per Forrester Research, Inc.