隨著Internet網路的迅速發展,基於互連網的公司專屬應用程式要求軟體平台具有開放性、分布性和平台無關性。於是就相繼出現了RPC/COM/CORBA等技術,但這些技術在實際應用中存在著許多不足和局限。它們的特定協議難以通過防火牆,因而不適於Web上的應用開發。為了進一步開發基於Web的應用,出現了Sun公司的Sun ONE(Open Net Environment 開發網路環境)和Microsoft公司的.NET等Web 服務技術體系。
Sun ONE體繫結構以Java語言為核心,包括J2SE/J2EE/J2ME和一系列的標準、技術及協議。它包括Sun專屬的iPlanet軟體系列,其中有在市場上受歡迎的LDAP目錄伺服器軟體,以及Forte for Java――便於在任何環境下書寫Java 語言的軟體工具。我們很容易就能從網上免費獲得和使用包括Java 整合式開發環境、Java資料庫和中介軟體(Application Server)伺服器等產品,以及它們的原始碼。Sun ONE更接近或能滿足互連網在智能化Web服務方面對分布性、開發性和平台無關性的要求。
隨著Java技術的不斷髮展,它根據市場進一步細分為:針對企業網應用的J2EE(Java 2 Enterprise Edition)、針對普通PC應用的J2SE(Java 2 Standard Edition)和針對嵌入式裝置及消費類電器的J2ME(Java 2 Micro Edition)三個版本。本文就Sun ONE的Java核心應用――J2SE/J2EE/J2ME作一些介紹。
J2EE技術應用
J2EE是Sun公司推出的一種全新概念的模型,比傳統的互連網應用程式模型更有優勢。
J2EE模型
J2EE的應用編程模型(J2EE Blueprints)提供了一種用於實施基於J2EE多層應用的文檔和執行個體套件的體系模型,簡化了這項複雜的工作。它被開發人員用作設計和最佳化組件,以便開發人員從策略上對開發工作進行分工。
J2EE應用編程模型要求開發人員將自己的工作分成兩類:商業邏輯和表示邏輯,其餘則由系統資源自動處理,不必為中介層管道進行編碼。這樣,開發人員就能將更多的時間花在商業邏輯和表示邏輯上。對重視縮短項目周期的公司來說,這種轉變深受歡迎。
J2EE平台
J2EE平台是運行J2EE應用的標準環境,由J2EE部署規範(一套所有J2EE平台產品都必須支援的標準)、IETF標準集和CORBA標準組成。最新的J2EE平台還添加了JavaBean組件模型。開發人員可以利用JavaBean組件模型來自訂Java類執行個體,並可通過已定義的事件訪問 Java類。
J2EE支援EJB,因此開發人員可以執行多使用者交易功能。當在J2EE伺服器上運行時,Enterprise JavaBeans將應用邏輯分成可再利用和可擴充的程式碼片段。Enterprise JavaBeans並不是新特徵,但是通過定義標準用戶端和服務API,J2EE增強了它的能力和可移植性。
EJB在伺服器的一個容器內運行,提供所有典型的中介層服務,如交易管理、安全、遠程客戶串連、生存周期管理和資料庫連接緩衝。為了讓事務系統在存在EJB容器的情況下運行,開發人員只需在部署描述檔案中定義Beans的事務屬性即可。
J2EE通過定義一組標準的結構來實現它的優勢,例如:
1.J2EE Application Programming Model,是一種用於開發多層次、瘦型客戶使用者程式的標準設計模型;
2. J2EE Platform,是一個標準的平台,用來整合J2EE的應用程式,並指定一系列的介面和方法;
3. J2EE Compatibility Test Suite,是一套相容測試組件,用來檢測產品是否同J2EE平台相容;
4.J2EE Reference Implementation,用來示範J2EE的能力。
J2EE伺服器
Sun的J2EE伺服器通過Java 命名和目錄介面(JNDI)、認證、HTTP及與Enterprise JavaBeans相容的能力,提供命名和目錄服務。JNDI是Java平台的一種標準擴充版,向企業內的命名和目錄服務提供具有Java功能的,帶有統一介面的應用,包括LDAP。
J2EE伺服器還利用了Java Servlet技術。Java Servlet可以看作是運行在伺服器上的一個小程式,它向開發人員提供以組件為基礎建立基於Web應用的、獨立於平台的方法。它不像利用CGI那樣具有效能局限。Java Servlet是一種擴充Web伺服器功能的簡單技巧。由於它是用Java編寫的,因而能夠訪問整個Java API庫,也包括用於訪問企業資料庫的JDBC API。
JSP是Java Servlet的一種擴充。Java Servlet提供開發和顯示來自伺服器的互動式Web頁。如今JSP又有了進一步的改進,它使得建立和支援靜態模板和動態內容相結合的HTML和XML頁面更加容易。
J2EE應用部署(一):基礎篇
J2EE應用部署(二):實踐篇
J2EE應用部署(三):進階篇
安全性
J2EE平台定義了一種標準的公開存取控制規則,當程式在企業平台上開發時就已被程式師定義和解釋了。J2EE也需要提供一個標準的註冊機制,以便應用程式不會將這些註冊機制和邏輯相混合,從而使相同的工作執行於大量的不同環境中時並不需要改變原始碼。例如:J2EE應用程式開發人員可以指定幾個安全層級,當使用者訪問資料時,他們可寫出代碼來檢查目前使用者許可權的層級。在開發階段,開發人員賦予多組使用者適當的安全級,使應用程式在執行限制操作之前能夠容易的判斷限制級。
J2EE 平台是Java技術企業級應用的最佳平台,它可以讓程式員迅速、快捷地開發和分布企業級應應用程式。以下便是它的相關技術:
1.Enterprise JavaBeans Architecture,企業級JavaBeans 定義了一個應用程式介面。它可以使程式員迅速開發、發布和管理跨平台的、基於組件的企業級應用程式。
2.JavaServer Pages,JSP 技術提供了一種簡單、快速的方法來建立動態網頁。通過它,可以快速地開發基於Web的應用程式,並且這些應用程式都是與平台無關的。因為JSP與ASP很相似,所以熟悉ASP的人學習它就很容易了。
3.Java Servlet,提供了應用程式介面。通過它可以簡單快速地開發並擴充伺服器功能。就發展趨勢來看,它將來有可能取代CGI。
4.J2EE Connector,提供了一種標準結構來聯結不同的公司資訊平台。
5.Java Naming and Directory Interface(JNDI),在Java 平台與商業資訊之間,JNDI提供了統一、無縫的標準化串連。通過使用JNDI,程式員可以在企業多命名與目錄服務之間傳送Java 應用程式。
6.Java Interface Definition Language(JIDL),通過使用CORBA,可以提供協同工作的能力。JIDL包括一個IDL-to-Java 編譯器和支援IIOP(Internet Inter-Orb Protocol)的ORB。
7.JDBC,幾乎是為所有的資料庫提供了統一的介面,同時可以建立進階工具和介面。
8.Java Message Service(JMS),它幾乎規範了所有企業級Message Service,如可靠查詢、發布訊息、訂閱雜誌等各種各樣的PUSS/PULL技術的應用,並且為它們提供了一個標準介面。
9.Java Transaction API(JTA),為分布式系統中可處理的應用程式規定了一個進階的管理規範。
10.JavaMail,JavaMail應用程式介面提供了一整套類比郵件系統的抽象類別。通過JavaMail,可以建立郵件或訊息應用程式。
11.RMI-IIOP,使用它就可以只用Java 技術和Java RMI介面開發客戶機與伺服器的遠程介面。
J2EE使用固定的檔案格式捆綁某個模組:用.ear檔案捆綁J2EE應用程式;用.jar捆綁Enterprise Bean。例如,一個.ear檔案包含一個.xml檔案作為其分布描述,還包含一個或多個.jar和.war檔案;一個.jar檔案除了包含它的分布描述外,還包含了作為Enterprise bean的.class檔案。
J2EE應用程式的開發階段分為四步:1.Enterprise Bean建立;2.Web Component建立;3.J2EE應用程式裝配;4.J2EE應用程式分布。以下是J2EE相容產品部分列表:
BEA WebLogic Server 6.0、Borland App Server、HP Bluestone Total-e-Server、IBM WebSphere Application Server、IONA iPortal Application Server、iPlanet Application Server、Macromedia JRun Server、Oracle 9i Application Server、SilverStrean Application Server、Sybase EAServer、TogetherSoft ControlCenter、Java 2 SDK Enterprise Edition。
J2ME技術的應用
J2ME(Java 2 Platform Micro Edition)是為無線電子市場所設計的,包括JVM規範和API規範。其API規範是基於J2SE(Java 2 Standard Editon)的。J2ME 定義了一套合適的類庫和虛擬機器技術。這些技術可以使使用者、服務提供者和裝置製造商通過物理(有線)串連或無線串連,按照需要隨時使用豐富的應用程式。
J2ME又被稱為Java 2 微型版,被使用在各種各樣的消費電子產品上,例如智慧卡、手機、PDA、電視機頂盒等方面。當然了,J2ME也提供了Java語言一貫的特性,那就是跨平台和安全網路傳輸。它使用了一系列更小的包,而且Javax.microedition.io 為J2SE包的子集。J2ME可以升級到J2SE和J2EE。
在J2ME出現之前,我們更多接觸到的是Java卡(Java Card)、嵌入式Java(Embedded Java)和即時Java(Real Time Java)等。其中Java卡是針對SIM卡、智慧卡等裝置而定製的最小Java子集,比J2ME還要小,移植性也不強。嵌入式Java則針對特殊使用者自行配置Java類庫和VM(Virtual Machine,虛擬機器)。它對資源需求極小,可運行在無圖形使用者介面和網路的裝置上,可以添加使用者專用的API,但是它就無法移植。即時Java是由 IBM領導的即時定製Java專家組負責實施的,現在還在不斷完善中。不過,從嚴格意義上來說,它們都不是真正的J2ME。
////////////////////////////////////////////////////////////////////////////////////////
解析J2EE、J2SE、J2ME、JDK的區別
解析J2EE、J2SE、J2ME、JDK的區別
本文向大家簡單介紹一下JDK、J2EE、J2SE、J2ME概念及區別,J2EE,J2SE,J2ME是java針對不同的的使用來提供不同的服務,也就是提供不同類型的類庫。
Java2平台包括:標準版(J2SE)、企業版(J2EE)和微縮版(J2ME)三個版本
J2SE是Java 2 standard edition是Java2的標準版,主要用於案頭應用軟體的編程
J2EE即Java2 enterprise edition是Java2的企業版,主要用於分布式的網路程式的開發,如電子商務網站和ERP系統
J2ME即Java 2 Micro Edition是Java的微型版,主要應用於嵌入式系統開發,如手機和PDA的編程
JDK是Java development toolkit,相當於是Java的庫函數,是編譯,運行java程式的工具包。
Standard Edition(標準版) J2SE 包含那些構成Java語言核心的類。比如:資料庫連接、介面定義、輸入/輸出、網路編程
Enterprise Edition(企業版) J2EE 包含J2SE 中的類,並且還包含用於開發企業級應用的類。比如:EJB、servlet、JSP、XML、事務控制
Micro Edition(微縮版) J2ME 包含J2SE中一部分類,用於消費類電子產品的軟體開發。比如:呼機、智慧卡、手機、PDA、機頂盒
他們的範圍是:J2SE包含於J2EE中,J2ME包含了J2SE的核心類,但新添加了一些專有類
對於初學者,都是從J2SE入手的。
2.J2EE和J2SE的區別:
J2EE是在J2SE的基礎上添加了一系列的企業級應用編程介面.J2EE包含有很多的技術。其中有你熟悉的jsp,
servlet,jdbc,jme等13中技術。
J2EE主要是用來做B/S結構的應用程式。也就是說是基於瀏覽器和伺服器的。
J2SE給我的感覺只需要一個容器就夠了,J2EE支援分布式組件可以同時存在多個容器
1、J2EE到底是什麼。
J2EE,是sun公司提出的一個標準,符合這個標準的產品叫“實現”;其中你下載的sun公司的J2EE開發包中就有一
個這樣的“實現”,而jboss,weblogic,websphere都是J2EE標準的一個“實現”。由於jboss,weblogic,
websphere自身帶有J2EE的api,所以可以不使用sun的J2EE實現。
2、J2EEsdk和j2sdkee的區別
其實你可以把J2EEsdk和j2sdkee當成是一回事,官方叫法為J2EEsdk。不過如果你仔細推敲,也可以用下面的方
法來理解:J2EEsdk就是JDK,這個是開發ejg必須要安裝的,j2sdkee是J2EE開發環境,這也是要安裝的,其實如果
你安裝了jboss的話,就不用全部安裝j2sdkee了,只要把其中的一個名為J2EE的檔案複製過去就可以了,也就是說
JDK是必須要裝的,而j2sdkee則不需要,看你用什麼做容器了。
3、裝過J2EEsdk還需要裝J2SEsdk嗎。
在sun的網站下載J2EE1.4時,有兩種下載包:
◆一種是J2EE1.4sdk完整包(allinone),包含J2EEserver,J2SE,sample,apidoc;J2EE好像包含J2SE幾乎所
有東西.我看J2EE裡也有一個JDK,它下面的lib和J2SE下面的lib一樣大(同版本的).但jre不一樣大,因為J2EE比
J2SE多了好多,如java.servlet.*,java.servlet.http.*等.
J2EE是讓你用來開發J2EEspecification的東西.如果是用於web伺服器,不裝J2EE也行,只要裝一個jre(連
J2SE都不用裝),外加一個servlet引擎(如tomcat)就夠了.
看下面這個,一目瞭然:
J2SE==JDK==bin+demo+include+jre+lib+src.rar//SUN官方的JDK1.4.2
J2EE==JDK+....//這裡的JDK和上面的只有jre檔案不一樣大,原因上文已說.
◆另一種為單獨的J2EEserver,安裝前需要先安裝J2SEsdk。
不管哪個,安裝完成後,都要設定java_home,J2EE_home,classpath環境變數,再運行J2EEserver即可。
為了方便開發人員,Sun把Java區分為J2SE(Java2StandardEdition)、 J2EE(Java2EnterpriseEdition)、J2ME(Java2MicroEdition)和JavaCard四種平台。J2SE是所有Java技術的基礎,不管開發人員要開發什麼平台的Java應用程式,都必須先從J2SE學起。J2EE技術著重於企業伺服器端的應用。J2ME主要針對嵌入式系統,包括手機、PDA等。針對手機應用程式的開發,Sun還提供了免費的J2MEWirelessToolkit。JavaCard技術用來開發可以植入IC智慧卡中的應用程式。
以上四種平台的軟體開發包(SoftwareDevelopmentKit,SDK)都是免費的,可以從Sun的網站下載。當然,只用SDK未免太不講究,我們需要開發工具來提高開發效率。這樣的工具叫做整合式開發環境(IntegratedDevelopmentEnvironment,IDE)。以往,BorlandJBuilder和IBMEclipse這兩個IDE最受Java程式員的青睞,而Sun自己的IDE卻名不見經傳。2004年以後,Sun把自己的IDE擺放到重要的位置,努力推進NetBeans和JavaStudio的開發。前者是完全用Java撰寫的開放原始碼的工具,而後者則是重量級的官方開發工具。Sun的開發工具可謂根正苗紅,Java程式員終於可以沐浴Sun(陽光)了。
另:API:
API(Application Programming Interface,API)是一些預先定義的函數,目的是提供應用程式與開發人員基於某軟體或硬體的以訪問一
組常式的能力,而又無需訪問源碼,或理解內部工作機制的細節。