Simplify your Life with Liferay
Ivano Carrara - Note e considerazioni durante la mia attività di Liferay Solutions Architect

venerdì 17 agosto 2012

Stop wasting money on application servers (expecially to deploy Liferay Portal)

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.