JBoss AS 4: un application server J2EE 1.4 open source

JBoss Application Server 4.0 (dicembre 2004): J2EE 1.4 certificato, microkernel JMX, Tomcat integrato, Hibernate 3, JMS e JAAS. La maturità del middleware Java enterprise open source sotto LGPL.

Open SourceWebR&D JBossJ2EEJava EEApplication ServerHibernateOpen SourceLGPLFull-Stack

Un application server J2EE nato open

JBoss Application Server 4.0 è stato rilasciato a fine 2004 (versione 4.0.0 a settembre, 4.0.1 a dicembre 2004) come primo application server open source certificato J2EE 1.4 da Sun Microsystems. Sviluppato da JBoss Inc. — fondata da Marc Fleury — sotto licenza LGPL, rappresenta a quel momento l’alternativa più matura ai prodotti commerciali dominanti (BEA WebLogic, IBM WebSphere, Oracle AS) per il deploy di applicazioni J2EE.

Cosa include la 4.0

  • J2EE 1.4 completo: EJB 2.1, Servlet 2.4, JSP 2.0, JMS 1.1, JNDI 1.2, JTA 1.0.1B, JCA 1.5, JAAS, Web Services (JAX-RPC 1.1, SAAJ 1.2)
  • Apache Tomcat 5.x come web container integrato — sostituisce Jetty come default
  • Hibernate 3 come implementazione JPA-predecessor per la persistenza
  • JBoss Messaging (evoluzione di JBossMQ) per JMS
  • JGroups per il clustering multicast
  • Anteprima EJB 3 (disponibile in beta; full support arriverà in AS 5)
  • JMX Console e Twiddle per la gestione runtime

L’architettura a microkernel

Il tratto architetturale distintivo di JBoss AS è il microkernel JMX: il core è un’implementazione JBossMX di JMX 1.2, e tutti i servizi (datasource, deployer, transaction manager, messaging, security) sono MBeans caricati dinamicamente. La configurazione è dichiarativa tramite file XML in deploy/:

  • Drop di un .war, .ear, .sar, .rar, .jar nella directory di deploy attiva il componente
  • Hot deployment senza restart
  • Le dipendenze tra MBeans sono gestite automaticamente

Il modello è flessibile e modulare: è possibile rimuovere MBeans non necessari per scenari embedded o aggiungerli per esigenze specifiche.

Deployment stack tipico

Un’applicazione enterprise su JBoss AS 4 segue tipicamente questo stack:

  • Struts 1.x o Tapestry o Spring MVC per il web layer
  • EJB 2.1 Session/Entity Beans (o Hibernate 3 direttamente) per business/persistenza
  • MySQL, PostgreSQL o Oracle come database
  • JBoss Cache (TreeCache) per caching distribuito
  • JGroups per comunicazione in cluster
  • Apache HTTP Server + mod_jk come front-end con load balancing

La combinazione JBoss + PostgreSQL + Apache su Linux diventa uno stack standard per applicazioni Java in ambito pubblica amministrazione e aziende italiane nella metà degli anni 2000.

Licenza e modello di business

JBoss Inc. adotta un modello open core ante-litteram: codice LGPL accessibile liberamente, con sottoscrizioni commerciali (JBoss Enterprise Application Platform, poi JBoss EAP) che offrono QA estesa, supporto 24x7, indennizzo legale, patch certificate. La LGPL consente l’uso in prodotti commerciali proprietari senza obblighi copyleft estesi.

La traiettoria successiva è conosciuta: aprile 2006Red Hat acquisisce JBoss Inc. per 350 milioni di dollari, integrando il middleware nella propria offerta enterprise. JBoss AS continuerà a evolvere in JBoss AS 5, 6, 7 e poi rinominato WildFly dalla versione 8 (2014), mentre il ramo commerciale diventerà JBoss EAP.

Concorrenti open source

Lo scenario al dicembre 2004 dei Java application server open source:

  • Apache Geronimo 1.0 — in fase di pre-release (1.0 finale giugno 2005), J2EE 1.4, backend Apache Software Foundation
  • Apache Tomcat — servlet container, non application server J2EE completo
  • JOnAS — ObjectWeb, EJB 2.x, usato in contesto francese
  • JFox — meno diffuso

Tra questi, JBoss AS è il più maturo e largamente adottato, con una comunità dimensionalmente paragonabile a quella di vendor commerciali.

Adozione italiana

Nell’ecosistema IT italiano al 2004-2005, JBoss AS è la scelta naturale per:

  • Pubblica amministrazione — piattaforme di front-end a sportello, portali regionali, sistemi di back-office
  • Banche e assicurazioni di medie dimensioni — alternative ai costosi prodotti commerciali per progetti interni
  • Telco — OSS/BSS, portali self-care
  • Software house italiane che distribuiscono applicazioni Java multi-client — la LGPL agevola il bundling del server con il prodotto

Formazione e certificazioni JBoss si diffondono tramite la JBoss Authorized Training; diverse università italiane integrano JBoss nei corsi di Ingegneria del Software.

Strumenti di ecosistema

Attorno a JBoss AS cresce un ecosistema:

  • JBoss IDE — plugin Eclipse
  • Hibernate Tools per la generazione reverse/forward engineering
  • Seam (dopo il 2005) — framework di integrazione JSF + EJB3
  • JBoss Portal per portali basati su JSR-168
  • Drools (di cui abbiamo parlato altrove) — entra in orbita JBoss e poi Red Hat

Il ruolo storico

JBoss AS 4 consolida l’idea che middleware Java enterprise di qualità può essere open source. Prima del suo arrivo, la scelta tipica per applicazioni J2EE in produzione era un prodotto proprietario con costi di licenza sostanziali. JBoss dimostra che LGPL + sottoscrizioni commerciali è un modello economicamente sostenibile e competitivo, e prepara il terreno per un’intera generazione di middleware open source che dominerà la seconda metà degli anni 2000.

L’impatto sul mercato italiano è duraturo: molte applicazioni Java enterprise avviate in questi anni su JBoss sono ancora in produzione oggi, migrate progressivamente alle versioni successive fino a WildFly.


Riferimenti: JBoss Application Server 4.0 (settembre-dicembre 2004). JBoss Inc., Marc Fleury. Licenza LGPL. Certificazione J2EE 1.4 Sun Microsystems. Apache Tomcat integrato. Hibernate 3. JMX/JBossMX microkernel. Acquisizione Red Hat aprile 2006.

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi