JSR arm wrestling

Cosa succede in seno al JCP mentre sale la trepidazione per l'imminente rilascio di Java EE 6? Chi o cosa avrà scatenato le "ire" di Big Blue? Scopriamolo assieme...

la JSR-316, alias JavaTM Platform, Enterprise Edition 6 (Java EE 6) Specification, è in Final Approval Ballot fino al 30 Novembre. Siamo quindi prossimi al rilascio ed è consuetudine, come sempre in occasione di eventi di tale portata, che tutta la comunità si accenda di fermento. Le "testate" più blasonate si prodigano nello scrivere articoli estremamente interessanti. Tra i migliori citerei:
- Java EE 6 Proposed Final Draft Hints at Future Direction of the Platform (InfoQ)
- Q&A with Gavin King on the Impact of JSR-299 and Weld 1.0 on Java EE and JBoss (InfoQ)
- How to start learning Java EE 6 (Gavin King/InRelationTo)
- EE 6 tsunami (Emmanuel Bernard/InRelationTo)
- ...and the Adoption Of EJB 3 / Java EE is: (Adam Bien's Weblog)
- Devoxx 09: JDK 7, Java EE 6, JavaFX, Java Store and more (The Planetarium)
- Dependency Injection in Java EE 6 - Part 1 (TSS)

In apparenza sembrerebbe tutto perfetto, quasi armonioso, se non fosse per una piccola stonatura che tra l'altro si avverte appena, si sente e non si sente, diciamo...
Bisogna certo aguzzare un po' la vista e provare a guardare tra i fumi dell'ebbrezza javica...Il primo indizio potrebbe fornirlo un post di Gavin King dal blog InRelationTo, in particolare quando dice "...re-use of dependency injection annotations defined by JSR-330...", e poi "...I would like to thank Mike Keith from Oracle for his work on alignment of JSR-330 with JSR-299...".
Subito ci si chiede: "cos'è sta JSR-330?" Sul sito JCP risulta:
- JSR 330: Dependency Injection for Java.

Quindi, in pratica, la JSR-299 ovvero WebBeans, ovvero Java Contexts and Dependency Injection, si è dovuta allineare alla Dependency Injection for Java...Mha...
Poi basta vedere come sono andate le cose. Il 5 Giugno 2006 in occasione del JSR Review Ballot per la 299 tutto sembrerebbe essere andato per il verso giusto. Poi però il 9 Febbraio 2009, data del Public Review Ballot, una certa SpringSource decide di non votare...
Passa poco ed ecco arrivare la JSR-330, tra i cui Specification Leads figura Rod Johnson, CEO di quella stessa SpringSource che aveva scelto di non pronunciarsi. E così, mentre al Public Review Ballot della 330 è RedHat a non votare, al Final Approval Ballot del 12 Ottobre scorso arriva un secco no da parte di IBM; che dichiara: "The original proposed goal of this JSR has not been met and that has created programming model portability issues...The current state of JSRs 330 and 299 do not provide a single extensible programming model. JSR 330 did not cover the proposed type-safe injector configuration API, nor were default binding rules defined in the absence of a configuration API. As as result, applications written for SE will require a porting effort to run them in an EE environment. Given that a single extensible programming model has not been achieved, we cannot support the standardization of two different injection models with divergent and non-portable behaviors. We remain expectant that these portability issues will be resolved through updates to JSR 330 and the final version of JSR 299."
Anche RedHat, pur dimostrandosi favorevole, esprime una forma di perplessità nei confronti della 330, arrivando ad esprimersi con termini molto inusuali per un contesto così formale: "We are proceeding in good faith that the 330 group will treat 299 as an important customer going forward despite minor last minute differences. In order to maintain a consistent programming model for dependency injection throughout the Java platform, it is vital that the expert groups for any future revisions of JSR-330 and JSR-299 continue to cooperate closely."

Avrà ragione IBM di lamentarsi per la discordante presenza delle specifiche gemelle? Che ne pensate?

Cerca
Login utente
Chi è online
Ci sono attualmente 0 utenti e 2 visitatori collegati.