2013-07-06 163 views
13

我一直在做一些關於Java Web應用程序和企業應用程序之間的區別的研究,我發現他們有一點類似的體系結構。Java Web應用程序和Java企業應用程序有什麼區別?

例如,企業應用程序具有客戶端,演示文稿,業務邏輯和數據層。

客戶端層可以是Java客戶端,基於瀏覽器的客戶端和移動客戶端。
演示文稿層可以是JavaBeans組件,servlet,門戶和JSP組件。
業務邏輯層您可以擁有服務器,Web服務(SOAP,Restful等)和MDB組件。
數據層您可以擁有DBMS,LDAP和數據饋送。

現在,如果我們將這些組件與Web應用程序進行比較,則可以在不創建Java Enterprise應用程序的情況下使用它們。例如,我可以使用許多不同的技術來實現我的Web應用程序,例如Hibernate,Maven,JSP或JSF,數據庫,Servlets,JavaBeans等。

我最大的問題是Java Enterprise應用程序和Web應用?爲什麼我會使用Java Enterprise應用程序?

+7

有什麼區別?大約$ 60 /小時。 –

+0

@厄內斯特,這不是我尋找的主要區別。大部分來自技術方面,而不是來自利潤方面。 –

回答

6

爲什麼要使用Java Enterprise應用程序?

這個問題幾乎在規範本身看到光線的同時出現。

已經寫了幾本關於這個話題的書。

Expert One-on-One J2EE Development without EJB

POJOs in Action: Developing Enterprise Applications with Lightweight Frameworks

而且也技術,如Spring提供替代品。

因此,在大多數情況下,您可以構建滿足客戶需求的Web應用程序,而無需構建企業應用程序。

但是,有些應用程序具有特殊的功能和/或非功能性需求,需要在基礎架構上運行業務層,以提供某些服務,例如:分佈式事務,消息傳遞處理,計時器服務和遠程方法調用。

這種基礎架構服務在Web服務器中不可用,因此,您需要開發在大量應用程序服務器上運行的應用程序(或至少某些組件)。

5

the oracle website可以看出,Java企業版是一個規範。有許多來自不同供應商的實現。與標準版和企業版的主要區別在於,對於後者,您需要應用程序服務器,而不是像tomcat這樣的Web服務器。這是因爲您放置業務邏輯(僅存在於Java EE規範中)的EJBs需要一個處理它們的容器。

JBoss,Geronimo,Resin,WebSphere等是管理EJB的應用程序服務器。

相關問題