大話J2EE、J2SE和J2ME
隨著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 平臺是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),它幾乎規范了所有企業級消息服務,如可靠查詢、發布消息、訂閱雜志等各種各樣的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.
【編輯推薦】

















