程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> 新手學堂:漫談EJB在Java中的應用

新手學堂:漫談EJB在Java中的應用

編輯:JAVA編程入門知識
 

客觀的看待Java

相對於其他編程語音,Java有一個無庸置疑的優點:用戶以及編譯器第一次不必了解生成可執行代碼的特定CPU細節。Java引入了一個編譯代碼中間層,叫做字節代碼,並使用一個虛擬抽象的機器,而不是一個真實的機器。當Java編譯器結束了一個源文件的編譯後,你所得到的不是可以立即在一個給定平台上運行的代碼,而是可以在任何真實的平台上運行的字節代碼,唯一的條件就是這個平台要理解和支持Java.這些發展包含著一個文化的變革。作為一個開發人員,你只需要確定Java虛擬機(JVM)提供的抽象層,不同的OS銷售商負責執行代碼層,從而將中立於平台的字節代碼映射到主機平台的機構中。在這種情況下,Java似乎是統一分布式計算機世界的領袖候選人了。“編寫一次,永遠運行”(並且無論在哪裡)就成為Java誘人但卻真實的口號。

但我們平心而論,Java的跨平台並不是一個非常誘人的特性?跨平台理論的發展很好地證明了這一點。我們看到,將Java代碼從一個平台移植到另一個平台?Java這個語言最重要和最受吹捧的特點?並不象宣傳的那樣容易。任何Java平台都有其自己的虛擬機,它可以理解通用的字節代碼,並且及時地將其編譯為本地代碼。矛盾由此產生,不同虛擬機的執行也很不相同,這一點足以使代碼的移植比預期耗費多得多的時間,而且基本上不是自動的。在企業用戶的角度上來說,也很少會有企業會頻繁的更換平台,因此這個特性是否能夠帶來高價值是很難評價的。

那麼,Java模型的好處在哪裡呢?首先,Java是一種先進的、面向對象的語言,包含了預防常見錯誤的內置功能,並在僅僅一兩個對象中攜帶了許多經常需要用到的功能。與C++相比,Java更易於讀寫,不容易出錯,而且更加美觀,但是它速度較慢也不太靈活。想實現在任何軟件和硬件平台上都可虛擬移植,Java盡可能少地使用了公分母模型,也就是說放棄了將每個平台開發到極限的能力。第二,虛擬機的概念本身就是可移植和可共用的,因此對於分布式環境來說是理想的。Java對於為非Windows平台開發代碼是最好的語言。

那麼對於Windows平台來說,Java又怎麼樣呢?讓Java適應Windows是不可能的,這是由於Sun的許可約束問題。但是Java實在是太吸引人了,Microsoft比誰都能更清楚這一點。Microsoft在以前推出的Visual J++證明了這一點,但是可惜的是,Microsoft又犯了霸權的老毛病,Visual J++並不好用。因此,Microsoft又一次采取了“拿來主義”的手法,很好地利用了Java 的眾多特性,隆重推出了Windows平台的新銳力量,它就是相當簡單但十分強大的面向對象的C#編程語言。C#超過了C++,它天生就包含了。NET框架類庫中的所有類,並使語法簡單化。說到這裡已經有一些離題了,不過Java也不是說在Windows平台上就不能夠使用,JDK和大部分的IDE都支持Windows平台。

Java技術的架構——J2ME、J2SE和J2EE

通常我們以 JDK(Sun 所開發的一套 Java 開發工具)的版本來定義 Java 的版本。JDK 1.0 版於 1996 年初公開,JDK 1.1 版於 1997 年初公開,JDK 1.2 版於 1998 年底公開。基於市場行銷的考量,Sun 在 JDK 1.2 版公開後旋即將 Java 改名為「Java 2」,將 JDK 改名為「Java 2 Software Development Kit(以下簡稱 J2SDK)」。J2SDK(原稱 JDK)1.3 於 2000 年 4 月公開,此版本仍稱做「Java 2」。目前 J2SDK 1.4 也已經公開了,大家可以到Sun的官方Java站點上查閱到大量的JDK1.4的信息。

Java 技術根據硬件平台與適用環境的差異,分成幾個分支。JDK 1.1 的時代,適用於一般消費性電子產品等,嵌入式系統的 Java 平台是 PersonalJava 與 EmbeddedJava,此二者並無明確的界線,大致上來說,運算資源、內存、以及顯示裝置比較豐富者,使用 PersonalJava,例如 Set-Top Box、視訊電話 …… 等;反之,資源較有限者使用 EmbeddedJava,例如呼叫器、行動電話 …… 等。除了 PC 使用的 Java 平台、IA 使用的 PersonalJava 與 EmbeddedJava 平台之外,JavaCard 也是一個 Java 平台,使用於 Smart Card(IC Card)上。

Java 2 出現後,推翻了先前的 PersonalJava 與 EmeddedJava 的分法,改分成 Java 2 Platform Enterprise Edition(簡稱 J2EE)、Java 2 Platform Standard Edition(簡稱 J2SE)、Java 2 Platform Micro Edition(簡稱 J2ME)。J2EE 適用於服務器,目前已經成為企業運算、電子商務等領域中相當熱門的技術;J2SE 適用於一般的計算機;J2ME 適用於消費性電子產品。除了這三者之外,JavaCard 依然是獨立的一套標准。

目前,Java技術的架構包括三個方面:

J2EE(Java 2 Platform Enterprise Edition )?企業版 (J2EE) 是為面向以企業為環境而開發應用程序的解決方案。

J2SE(Java 2 Platform Stand Edition)?標准版 (J2SE) 為桌面開發和低端商務應用提供了可行的解決方案。

J2ME(Java 2 Platform Micro Edition )?小型版(J2ME)是致力於消費產品和嵌入式設備的最佳解決方案

J2EE

J2EE已經成為開發商創建電子商務應用的事實標准。正是認識到J2EE平台作為一種可擴展的、全功能的平台,可以將關鍵的企業應用擴展到任何Web浏覽器上並可適合多種不同的Internet數據流、可連接到幾乎任何一種傳統數據庫和解決方案、使企業經理根據多家企業所提供的產品和技術開發和部署最佳的解決方案進而降低開發網絡化應用的費用和復雜性這一巨大優勢,很多廠家都表示將對J2EE給予支持,並將J2EE技術作為大型BtoB市場和海量交易處理的安全穩定的端到端平台。J2EE技術的基礎就是J2SE標准版,它鞏固了標准版中的許多優點。其最終目的就是成為一個能夠使企業開發者大幅縮短投放市場時間的體系結構。它為靈活配置各種多層企業應用軟件,特別是B2B、B2C等電子商務應用,提供了強大的服務功能。最近又新加了Connector API服務,使企業應用的開發和部署有了一系列成熟的技術。

J2SE

J2SE是Java 2平台的標准版, 它適用於桌面系統,提供CORBA標准的ORB技術,結合Java的RMI支持分布式互操作環境。它運行在Java虛擬機上。在引入了Java IDL後, J2SE支持IIOP通信。它是高可移植性、異構性的實現環境和健壯平台,也是實現可伸縮性、可移植性、分布式異構互操作應用軟件開發的標准平台。

J2ME

J2ME提供了HTTP高級Internet協議,使移動電話能以Client/Server方式直接訪問Internet的全部信息,不同的Client訪問不同的文件,此外還能訪問本地存儲區,提供最高效率的無線交流。J2ME是Java 2平台的微型版,它分成CDC(connected device configuration)和CLDC(connected limited device configuration)兩部分。CDC運行在連接虛擬機上,為手提式計算機一類較復雜的移動設備提供應用平台;CLDC運行在核心虛擬機(KVM)上,它實現MIDP(Mobile Information Device Profile)移動信息設備應用平台,即針對手機之類的設備建立移動計算平台。

在小型的J2ME(Java 2 Micro Edition)方面,主要是應用在內存容量小、體積也較小的電子裝置上。小至智能卡、行動電話,個人數字助理都是運用J2ME的最佳平台。Java在Palm的應用上,PalmOS 4.0內含KJava,Sun也推出針對PalmOS使用的J2ME版本。所以,以既有的Java程序設計知識,就可以在Palm PDA上開發出Palm的各式各樣應用系統。Java和Palm這兩個標准平台的結合,將是下一波PDA應用的趨勢。Java在手機的應用上,Nokia、Motorola、Ericsson 都將推出利用J2ME技術的新手機,所以Java程序設計師有更多的平台可供施展。此種結合J2ME及無線通訊技術的無線開放應用平台,將提供行動商務極佳的解決方案。

在中型的J2SE(Java 2 Standard Edition)方面,Sun推出一個新的解決方案,稱為Java Web Start.原先的Java Applet是在WebBrowser 中間開出一塊方形區域來執行Java程序,但是這樣在執行效能和兼容性上都受限於原有的 Web Browser.現在新推出的Java Web Start則是在操作系統上直接執行的Java Application,但是可以在網頁上激活。如此一來既可和網頁結合,在執行上也更快、更有效率。並且,Sun和IBM都將推出支持64位運算的Java版本,這對一般計算機上執行的客戶端Java應用系統的開發將會是一大利器。

另外在大型的J2EE(Java 2 Enterprise Edition)應用上,可以說"J2EE"已經成為服務器運算環境的標准。Java Servlets、JSP(Java ServerPages)、EJB(Enterprise JavaBeans)、JavaMail、JDBC、JMS等,都是各家廠商產品開發的重點方向。J2EE兼容的是一般Intel個人計算機(Linux、Windows……)、麥金塔以及各家高效能高穩定度的UNIX伺服主機,未來必定成為服務器運算市場上的主要選擇之一。

除了以上這三大Java組合之外,Java和XML的整合也是未來的重點。Sun公司已經推出Java處理XML的標准延伸API - Java API for XML Parsing (JAXP),可以讓各家所制作的XML解析器有接口上的標准。所以在Java程序中,只要了解一套API(JAXP)就可以完全處理XML文件,讓XML的應用更加方便。Java這個跨平台的開發環境,加上XML這個跨平台的資料格式,此種跨平台優勢組合勢將成為未來訊息傳遞及資料交換的主要應用技術,如虎添翼地結合成一個最佳的跨平台解決方案。

藉由J2SE (Java 2 Standard Edition)可以開發在PC上的應用軟件,藉由J2ME (Java 2 Micro Edition) 可以跨足更廣大的家電、智能卡、電子裝置等市場,再藉由J2EE (Java 2 Enterprise Edition ) 可以整合伺服主機運算環境。Java技術的應用范圍幾乎已經無所不在,Java技術更可以在網際網絡及電子商務各領域中,提供全方位的解決方案。

隨著應用領域的不同,Java 有許多 API(Application Programming Interface),這些 API 分成三大類:

Java Core API:由 Sun 制定的基本 API,任何 Java 平台都必須提供。

Java Standard Extension API (javax):由 Sun 制定的擴充 API,Java 平台可以選擇性地提供或加裝。

廠商或組織所提供的 API:由各家公司或組織所提供。

其中 Core API 和 Standard Extension API 已經逐漸涵蓋了大部份的信息應用領域,例如多媒體、數據庫、Web、企業運算、語音、實時系統、網絡、電話、影像處理、加解密、GUI、分布式運算 ……。如果你有某項需求尚未有標准的 Java API 可遵循,你可以向 Sun 提出制定新 API 的請求。經過審核之後,你的要求可能會通過、駁回 …… 等。如果通過,就會開始進入制定 API 的程序。Java API 的制定過程因為公開,且經過許多業界技術領先公司的共同參與,所以相當完善而優異。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved