正如我之前發布的那樣,Interface21 正在參與 Java EE 6 的工作,我們的一些同事,包括我自己、Juergen Hoeller、Keith Donald 和 Rob Harrop 將參與多個專家小組。
這意味著我們將更廣泛地參與 JCP。我們尊重 JCP 的保密和其他規定,因此我們不會談論任何非公開的事情。但是,我想談談我們參與 JCP 的目標以及我們將採取的根本方法。當然,我們只是眾多公司和個人中的一家公司,所以我們只會是一個聲音,但這就是這個聲音所追求的
- 開放性:我們將盡可能地推動 JCP 的開放性。我一直覺得 Java 社群流程的「社群」部分有所欠缺——儘管很高興看到對流程的修訂似乎更有利於開放性。我們將盡力在所有階段盡快將盡可能多的資訊發布給社群,並反對一些專家小組將某些東西發布出來並將其視為福音的趨勢。
- 回應性:只有在傾聽時,開放性才有價值。過去,一些專家小組認為他們的角色是告訴人們該怎麼做,而不是傾聽。當人們指出缺陷時,如果您在仍然可以解決問題時傾聽,而不是攻擊批評者,那會好得多。另一方面,一些專家小組在開放性和回應性方面做得非常好,我們將嘗試鼓勵將這些作為模型使用。開源已經證明了開放性和回應性的許多優點,以及一些可以幫助其在實踐中發揮作用的技術。
- 了解大局:所有 JSR 都存在於更廣泛的背景下,忽略這一點會帶來危險。這是我們對 EE 6 感到滿意的原因之一:它是 Java EE 中第一個考慮到人們正在成功使用的先前技術和解決方案的提案。我們不希望再發生更多 java.util.logging 的慘敗。幾年前,J2EE 是企業 Java 的同義詞。企業 Java 開發人員將其視為所有答案的來源。那並沒有奏效,今天,Java EE 必須做出正確的選擇才能保持其相關性。這實際上是一件好事:沒有什麼比存在於競爭激烈的環境中更能推動改進了。而且,正如我在上一篇部落格中指出的那樣,現在的許多競爭來自完全不同的 Java 世界之外,這意味著整個 Java 社群從根本上站在同一邊。在 Java 的範疇內,需要考慮像 OSGi 這樣的技術,特別是當它們可以幫助實現 EE6 工作的一些目標時,例如伺服器的元件化。OSGi Alliance 技術總監 Peter Kriens 最近撰寫部落格關於這一點,並提出了有趣的觀點,即「在一個沒有上下文的社會中,將 JSR 316 基於 OSGi/JSR 291 將是絕對不費吹灰之力的。」我們希望做出最好的技術決策,而不管相關技術的起源如何。
<li><strong>Honesty</strong>: We intend to be completely honest about our opinions. There are parts of Java EE 5 that we think suck (notably the EJB interception model), and I recently <a href="http://blog.interface21.com/main/2007/07/03/java-ee-6-gets-it-right/">blogged </a>about why we think that Java EE 6 looks very promising. We're getting involved because we think EE6 is right and important. But we can bring most value by being honest about what we think doesn't work, as well. That way it might be made better.</li>
技術重點:從根本上說,我們的立場將受到我們認為將導致最佳技術解決方案(在現實世界中有效)的因素的驅動。
最終使用者重點:我們將提出一個問題,這對誰有利?如果對使用者沒有明顯的好處,那麼最好不要新增或更改功能,因為增加平台的複雜性絕對不是使用者想要的。
清晰度:我們認為,在可能的情況下,概念應在諸如 Java EE 之類的規範組中定義一次。例如,EJB3、Java 平台的通用註釋 (JSR-250) 和 Java EE 5 規範之間的重疊令人困惑。哪裡是對注入功能的單一明確討論?我們認識到在這方面可能存在限制
成熟度:過去最大的錯誤(CMP 實體 Bean,有人記得嗎?)大多數都是由於「標準化」未經證實、不成熟的技術造成的。標準化經過驗證的概念是有效的;標準機構在創新方面做得不好。(「委員會設計」是一種貶義詞是有原因的。)一旦你標準化了未經證實的東西,如果證明你犯了錯誤,你就會讓使用者遭受多年的痛苦。幸運的是,Java EE 6 中的可擴展性概念在負責任的標準化和平台上的創新之間提供了完美的平衡,因此 Java EE 現在已做好充分準備來應對這個棘手的領域。
我們才剛剛開始可能需要 2 年時間的流程。但我們很樂觀,並將盡力幫助使其發揮作用。我們需要您的幫助。作為 JCP 的成員,Interface21 致力於對社群保持開放。
很高興看到 Sun 的規範領導者 Bill Shannon 和 Roberto Chinnici 在 EE6 中也致力於開放。Roberto 最近撰寫了一篇關於近期討論的更新文章,並計劃每月再次這樣做。