国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

J2ee與ASP.NET平臺電子企業的兩種構想(4)

2019-11-18 16:03:57
字體:
來源:轉載
供稿:網友

J2EE體系結構

與.NET平臺相比,Sun公司的標準定義的J2EE體系結構有很少可以討論的空間,因為就沒有什么可討論的。如果一個人注意某個具體開發商的產品,如IBM公司的WebSphere,那么就會看到其技術的最大的一部分是WebSphere專用的。比較所有開發商對J2EE的具體改進,已經超出了本文的范圍,在我的經驗中,大多數對J2EE作為一個平臺感興趣的公司對該標準的可移值性感興趣。任何對可移值性感興趣的人都會需要將他們自己局限于Sun公司所定義的標準。

J2EE體系結構可以被分為5部分:

  • java語言系統
  • 客戶端程序設計模型
  • 中間層基礎結構
  • 程序員企業級API
  • 非程序員可見API

最后一部分,非程序員可見API,包括定義了如何將其他產品插入到J2EE中的API,如連接器API,以及J2EE模型中被最近的改進有效替代的API,如JTA(Java Transaction API)。由于從比較微軟和Sun公司計劃的角度來說,非程序員可見API并不重要,因此在筆者的概述中將不涉及這些方面 (就如同筆者在.NET平臺概述中并沒有涉及功能相當的API一樣)。

Java語言系統

在高層次上,Java語言系統看起來與.NET Framework類似。在這兩種情況中,源代碼都是被翻譯成一種中間語言。但是,在.NET平臺中,這種中間語言是MSIL,而在Java系統中,是Java Byte Code。在這兩種情況中,中間語言被帶入到運行環境中。在Framework中,運行環境是Common Language Runtime。對于Java,運行環境是Java虛擬機(Java Virtual Machine)。總體而言,Common Language Runtime和Java虛擬機有類似的功能,并且在技術進步方面,都無可置疑地在發展和彼此交互躍進。

這兩種系統之間最重要的區別與源代碼到中間語言的翻譯有關。在.NET平臺中,中間語言設計用來適應各種語言的需求。在Java中,中間語言設計用來滿足Java的需求。雖然從理論上,從除Java外的語言生成Java Byte Code是可能的,但是實際上這還沒有在任何一種商業產品中證明。

客戶端程序設計模型

J2EE客戶端程序設計模型重點集中在與瀏覽器的交互上。客戶端程序設計模型有3部分:Java Applets,Java Servlets和Java Server Pages。

Java Applets用來對在瀏覽器內運行的Java代碼進行打包。在.NET平臺空間中,這在功能上與ActiveX相當。在筆者的經驗中,applets或ActiveX組件使用的相對較少。電子商務體系結構一般都是以向表示層發出請求的瀏覽器為基礎,然后表示層使用Html頁面進行響應。這種系統并沒有使用ActiveX或Java Applets,因此筆者在本白皮書中并沒有討論這些技術的任何一種。

處理HTTP請求和HTML響應的重要技術是Java Servlets[1]和Java Server Pages[2]。這兩種技術與微軟空間中的asp.net(Active Server Pages)類似。

.NET平臺與Java表示層中間的主要區別在于處理不同的客戶端功能的方式。Java表示層沿用了以前的Microsoft ASP (PRe .NET)模型,它使得表示層程序員的責任是決定最終的目的瀏覽器(或其他瘦客戶端系統),瘦客戶端系統的功能,以及如何生成HTML來充分發揮瘦客戶端系統的優勢。

中間層基礎結構

對于J2EE,中間層基礎結構是Enterprise Java Beans (EJB)。該規范的當前版本是2.0,可以從網上獲得[3]。與J2EE相當的.NET平臺是COM+。

在EJB和COM+之間,體系結構的差別非常少。這兩種體系結構本質上是從MTS(Microsoft Transaction Server)派生出來的,是由微軟公司在1996年引入的最初的面向組件的中間層基礎結構。由MTS最先引入,然后合并到EJB和COM+中的重要想法包括:

  • 通過組件示例的共享所實現的高可伸縮性
  • 以中間層為中心的安全性
  • 自動事務處理邊界管理

EJB加入了一種新的體系結構想法,一項自動管理組件狀態的技術。這項技術被稱為entity beans(實體豆)。雖然這種想法具有吸引力,但是當前的實施卻依賴于獨立于數據庫緩存的中間層數據緩存。很不幸的是,在這兩種緩存之間沒有保持一致性的機制。這意味著對實體豆的任何使用都會帶來數據庫損壞的高風險。在緩存一致性問題解決之前,在最佳試驗技術方面,必須得不斷考慮實體豆技術。

要連接EJB和COM+的深入比較,請參閱筆者最近的著作[4]。

程序員企業級API

我們調用Java Enterprise API 時的最重要部分如下:

  • Java Database Connection (JDBC,Java數據庫連接) 2.0 ? 是用于從Java中訪問關系型數據庫的API[5]。這與.NET平臺空間中的ADO.NET相當。
  • Java Naming and Directory Interface (JNDI,Java命名與目錄接口) ? 是用于從Java中訪問企業名稱與目錄服務的信息的API[6]。這與.NET平臺空間中的Active Directory Services Interface (ADSI,活動目錄服務接口)有點類似。
  • Java Message Service (JMS,Java消息服務) 1.0 ? 是用于異步工作流的Java API[7]。這在功能上與Microsoft Message Queue API相當,這個API已經被排隊組件所替代。

J2EE:將一切合并到一起

圖 4 顯示了J2EE主要部分之間的關系,可以將其與圖3和和圖1進行比較。圖3顯示了.NET平臺的相當的形象描述,圖1中顯示了相當的一般體系結構。

 



[1]Java Servlet 1.2規范可以在http://java.sun.com/prodUCts/servlets獲得。

[2] Java Server Page 1.2規范可以在http://java.sun.com/products/jsp獲得。

[3] 請參閱http://java.sun.com/products/ejb/docs.html。

[4]COM+ and the Battle for the Middle TierRoger sessions著,John Wiley and Sons2000年1月發行

[5] 說明書可以在http://java.sun.com/products/jdbc得到。

[6] 說明書可以在http://java.sun.com/products/jndi得到。

[7] 說明書可以在http://java.sun.com/products/jms得到。


(出處:http://m.survivalescaperooms.com)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海丰县| 安顺市| 丹凤县| 桦川县| 奉化市| 贡觉县| 卫辉市| 保山市| 兴宁市| 石河子市| 大港区| 堆龙德庆县| 宁化县| 资中县| 上栗县| 台南县| 乌拉特后旗| 大安市| 桃园市| 平邑县| 大埔区| 昭苏县| 清苑县| 兴隆县| 双鸭山市| 察隅县| 大足县| 迁西县| 百色市| 法库县| 句容市| 左权县| 新巴尔虎左旗| 赤水市| 双柏县| 六盘水市| 天峨县| 章丘市| 洪湖市| 曲麻莱县| 开原市|