目前我們在Java陣營間看到的是良性競爭,但是彼此之間仍然存在門戶之見,而J2EE 1.4所提供的一些方式,減輕Java的複雜度,讓你更容易游走在各家的平台上。你準備好使用J2EE了嗎?來看看新的J2EE 1.4帶來了哪些的更新吧。
J2EE 1.4
J2EE 1.4已在今年年中正式推出,昇陽將J2EE 1.4與Web Services劃上等號,因為J2EE 1.4在Web Services的支援上,有很明顯的改進。 Java代表著開放(Open)、可攜性的(Portable)應用程式,而Web Services代表著開放、可攜性的資料(Data), 兩者的結合再自然不過。J2EE 1.4裡對於Web Services的支援包括:
這些對Web Services新增的支援,讓你能夠在J2EE的平台上更聰明、簡易地撰寫、部署及管理Web Services。
J2EE 1.4其它的更新還包括了:
J2EE 1.4所有更新有兩大效益,一是提供解決方案更迅速,二是讓整合更容易。就提供解決方案更迅速來說,J2EE 1.4裡提供了更多可重覆使用的元件,例如EJB、Servlets、JSP等等,元件可重覆使用代表開發程式更快速、簡單而有效率。因為少寫了許多程式碼,意謂寫錯的機率愈小,而且因為一些必要的元件可以直接用系統的,當然跟系統能更緊密結合。
另外J2EE 1.4裡也降低了EJB、JSP等元件使用的複雜度。隨著更穩定的新工具的提供,開發、部署管理J2EE應用系統變得更容易。更新過的J2EE 藍圖(Blue Prints)更是你學習開發J2EE應用系統的好幫手,你想撰寫更穩定、可靠、安全、俱擴充和高移植性的J2EE應用系統,照著上面教的準沒錯。
關於整合的部份,Web Services前面已經提過了,J2EE 1.4提供了Connector,讓你更容易透過RMI/IIOP、CORBA等方式跟企業後端的系統做整合(例如SAP)。新的JDBC也讓你容易的連接資料庫。
雖然Java從一開始標榜「Write Once, Run Anywhere」,但相信你一定有這樣的經驗,當選擇了某個應用程式伺服器後,往往用了它所獨有的元件或是連線的方式,你的J2EE應用系統就無法直接移植到其它應程式伺服器上。 J2EE 1.4提供的一項新的技術,稱為AVK (Application Verification Kit),它可以幫助你很容易檢測出你的J2EE應用系統是否符合J2EE的標準,讓你的系統做到真正的Write Once, Run Anywhere。
EJB 3.0
除了上面提到可利用AVK來檢測J2EE應用系統是否合乎規範,部署EJB時最大的麻煩也來自不同應用程式伺服器有其各自的部署方式,這使IT人員將系統部署到不同應用程式伺服器上的負擔雪上加霜。雖然EJB 3.0會在下一版的J2EE 1.5的規格之中,但還是先跟大家分享一下EJB 3.0的新功能。(EJB只是J2EE中的一部份 ,到時EJB 3.0正式release之後,是可以把J2EE 1.4裡的2.1給抽換掉的,因為EJB 3.0把EJB變的很簡單,所以就在這先提一下。)
大家還記得在J2SE 5.0裡的一項新功能Metadata嗎?透過Metadata的語法(或是稱為Annotation),你可以將部署所需要的條件寫在類別或方法之前,以適當的工具加以讀取,就能自動幫你產生出各式部署EJB所需的設定檔或是類別。當然這只是Annotaion應用在EJB上的一小部份, EJB 3.0 所帶給大家的方便與震撼還不止這一些,在網路上已經有不少EJB 3.0的介紹文章,大家可以上網去了解一下。
J2SE 1.5已正式更名為J2SE 5.0,同樣的從J2EE 1.5之後,也不再使用1.x的版本編號,改成J2EE 5.0、J2EE 6.0。J2EE其實是一標準的規範,而不像.Net單單只是套產品,而這個標準也不是只由昇陽一家廠商所制定,而是透過JCP來制定的,任何人你有需要,就可以招集志同道合的廠商,開啟一個JSR來討論你所需要的元件標準。
已經有更多廠商加入J2EE陣營,提供更多符合標準且效能不錯的應用程式伺服器和產品,除了原本的Sun、IBM、BEA、JBoss之外,新的像是Apache、ObjectWeb、Tmax、Trifork等等。目前我們在Java陣營間看到的是良性競爭,但我認為Java 跟微軟的競爭也應該是要良性的,畢竟不同的環境有不同的需求,Java也不是適用於所有環境,不足的部份若可以跟其它平台合作,這才是使用者最大的福氣。