作者是 寶盛   

Java EE是什麼


Java EE (以前稱為J2EE)是Java Platform Enterprise Edition的縮寫,它是

Java平台在企業應用軟體上的版本,定義了分散多層式軟體架構(distributed multi-tiered)的技術規格。

只要是企業所需要的軟體功能,Java EE就會定義出規格讓軟體社群或廠商

實做出來,然後提供標準的API讓大家使用。在這樣的規範之下,沒有企業

會被特定廠商綁住,程式人員只要拿Java EE的API就可以非常方便地開發出企業應用軟體。



Java EE架構:分散多層式軟體架構


Java EE是分散多層式的架構,基本上可以分成3層: 前端、中間層與後端。


後端


後端是Database Server,存放著企業資料。


中間層


中間層是Application server。


在這一層還可以再細分成兩個Tier : Business Tier跟Web Tier。

Business Tier是一定會被使用到的,通常是用EJB來實做,負責企業邏輯的執行。

前端如果是透過網頁呈現,Web Tier才會存在,存放Servlet或JSP等待使用者瀏覽。


前端


前端是將中間層處理過的資訊呈現在使用者面前,可以使用Java application或網頁的形式呈現。

這樣的多層式架構更可以符合企業在系統分散佈建的需求,發揮Java EE在網路應用上的威力。

Java EE的重要成員


EJB (Enterprise Java Bean)


在整個Java EE的架構中,EJB是處理企業邏輯非常重要的部份。

EJB是寫好之後再佈到Application server等待別的Component來取用服務。

EJB有三種類別:Session Bean、Entity Bean跟Message-driven Bean。


Servlet與JSP


這是Java EE寫網頁程式所需要用到的部份,所有寫好的Servlet與JSP程式

都要包成WAR檔然後佈建在Application server上,然後等待使用者連上網頁瀏覽。


JDBC (Java Database Connectivity)


JDBC主要是提供連結至Data Source的方式,Data Source一般來說都是Database,但也可以是檔案的型式。


JMS (Java Message Service)


JMS主要是處理訊息服務的部份,它的概念是有一個Message Queue一直在收集訊息跟傳遞訊息。

所有的Client就是發出訊息給這個Queue,然後這個Queue再傳遞這些訊息

給該收到的Client。透過這樣的機制就可以達到非同步交換訊息的需求。

 

Web Services


Web services是溝通異質平台或異質系統的利器,Java EE提供了許多API來處理相關的Issue。

Java EE的優點


受到業界廣泛的支持


Java EE跟Java SE一樣,由一個跨廠商的委員會來訂定標準,參與的成員均是業界重要的領導企業。

由於它不會被單一廠商所主導,因此大家都願意遵循這個標準,在Java EE上面發展各種軟體系統。


跨平台


Java EE是有標準的,只要是遵循規範所開發出來的軟體,將可以在各種平台上執行。

對於企業界來說,在Java EE所投資的軟體就不會再因為平台的改變(換了資料庫、改變OS系統…等等)而泡湯了。


有彈性的建置成本


企業在不同的時點對軟體建置的成本會有不同考量。

以Java EE跨平台的特性,企業可以選擇的平台與工具,從高價到免費的都

有。所以企業可以針對自己的需求與預算選擇合適的平台與工具來建置自己的Java EE系統。

在現在的軟體業界,Open source的發展非常蓬勃,有些免費使用的產品其

實品質相當好,都有一定水準,所以企業也不用擔心選擇免費的產品會不會造成使用上的問題。


開發系統的方便性


Java EE本身就是為了開發企業應用軟體而發展出來的標準,所以它提供了相當多的套件讓系統開發者使用。

也就是說,一些底層的工作都被處理掉了,系統開發者只要專注於系統的邏輯就可以了。這個對開發系統而言,是相當方便的。

系統永續維護


有這麼多的廠商及軟體社群的投入,Java EE是會永續發展的,它不會因為單一廠商的問題就不見了。

過去,在封閉的技術下,在合作廠商無法支援的狀況下,企業使用的系統就停擺,無法維護了。

現在,Java EE是個開放的標準,沒有廠商可以壟斷它,所以,企業不會被單一廠商所綁住,系統當然可以永續維護。

Java EE架構圖