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

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

J2EE體系結(jié)構(gòu)

2019-11-18 12:30:24
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  與.NET平臺(tái)相比,Sun公司的標(biāo)準(zhǔn)定義的J2EE體系結(jié)構(gòu)有很少可以討論的空間,因?yàn)榫蜎]有什么可討論的。假如一個(gè)人注重某個(gè)具體開發(fā)商的產(chǎn)品,如IBM公司的WebSphere,那么就會(huì)看到其技術(shù)的最大的一部分是WebSphere專用的。比較所有開發(fā)商對(duì)J2EE的具體改進(jìn),已經(jīng)超出了本文的范圍,在我的經(jīng)驗(yàn)中,大多數(shù)對(duì)J2EE作為一個(gè)平臺(tái)感愛好的公司對(duì)該標(biāo)準(zhǔn)的可移值性感愛好。任何對(duì)可移值性感愛好的人都會(huì)需要將他們自己局限于Sun公司所定義的標(biāo)準(zhǔn)。
  J2EE體系結(jié)構(gòu)可以被分為5部分:
  
  · java語(yǔ)言系統(tǒng)
  
  · 客戶端程序設(shè)計(jì)模型
  
  · 中間層基礎(chǔ)結(jié)構(gòu)
  
  · 程序員企業(yè)級(jí)API
  
  · 非程序員可見API
  
  最后一部分,非程序員可見API,包括定義了如何將其他產(chǎn)品插入到J2EE中的API,如連接器API,以及J2EE模型中被最近的改進(jìn)有效替代的API,如JTA(Java Transaction API)。由于從比較微軟和Sun公司計(jì)劃的角度來(lái)說(shuō),非程序員可見API并不重要,因此在筆者的概述中將不涉及這些方面 (就如同筆者在.NET平臺(tái)概述中并沒有涉及功能相當(dāng)?shù)腁PI一樣)。
  
  Java語(yǔ)言系統(tǒng)
  
  在高層次上,Java語(yǔ)言系統(tǒng)看起來(lái)與.NET Framework類似。在這兩種情況中,源代碼都是被翻譯成一種中間語(yǔ)言。但是,在.NET平臺(tái)中,這種中間語(yǔ)言是MSIL,而在Java系統(tǒng)中,是Java Byte Code。在這兩種情況中,中間語(yǔ)言被帶入到運(yùn)行環(huán)境中。在Framework中,運(yùn)行環(huán)境是Common Language Runtime。對(duì)于Java,運(yùn)行環(huán)境是Java虛擬機(jī)(Java Virtual Machine)。總體而言,Common Language Runtime和Java虛擬機(jī)有類似的功能,并且在技術(shù)進(jìn)步方面,都無(wú)可置疑地在發(fā)展和彼此交互躍進(jìn)。
  
  這兩種系統(tǒng)之間最重要的區(qū)別與源代碼到中間語(yǔ)言的翻譯有關(guān)。在.NET平臺(tái)中,中間語(yǔ)言設(shè)計(jì)用來(lái)適應(yīng)各種語(yǔ)言的需求。在Java中,中間語(yǔ)言設(shè)計(jì)用來(lái)滿足Java的需求。雖然從理論上,從除Java外的語(yǔ)言生成Java Byte Code是可能的,但是實(shí)際上這還沒有在任何一種商業(yè)產(chǎn)品中證實(shí)。
  
  客戶端程序設(shè)計(jì)模型
  
  J2EE客戶端程序設(shè)計(jì)模型重點(diǎn)集中在與瀏覽器的交互上。客戶端程序設(shè)計(jì)模型有3部分:Java Applets,Java Servlets和Java Server Pages。
  
  Java Applets用來(lái)對(duì)在瀏覽器內(nèi)運(yùn)行的Java代碼進(jìn)行打包。在.NET平臺(tái)空間中,這在功能上與ActiveX相當(dāng)。在筆者的經(jīng)驗(yàn)中,applets或ActiveX組件使用的相對(duì)較少。電子商務(wù)體系結(jié)構(gòu)一般都是以向表示層發(fā)出請(qǐng)求的瀏覽器為基礎(chǔ),然后表示層使用Html頁(yè)面進(jìn)行響應(yīng)。這種系統(tǒng)并沒有使用ActiveX或Java Applets,因此筆者在本白皮書中并沒有討論這些技術(shù)的任何一種。
  
  處理HTTP請(qǐng)求和HTML響應(yīng)的重要技術(shù)是Java Servlets 和Java Server Pages 。這兩種技術(shù)與微軟空間中的asp.net(Active Server Pages)類似。
  
  .NET平臺(tái)與Java表示層中間的主要區(qū)別在于處理不同的客戶端功能的方式。Java表示層沿用了以前的Microsoft ASP (PRe .NET)模型,它使得表示層程序員的責(zé)任是決定最終的目的瀏覽器(或其他瘦客戶端系統(tǒng)),瘦客戶端系統(tǒng)的功能,以及如何生成HTML來(lái)充分發(fā)揮瘦客戶端系統(tǒng)的優(yōu)勢(shì)。
  
  中間層基礎(chǔ)結(jié)構(gòu)
  
  對(duì)于J2EE,中間層基礎(chǔ)結(jié)構(gòu)是Enterprise Java Beans (EJB)。該規(guī)范的當(dāng)前版本是2.0,可以從網(wǎng)上獲得 。與J2EE相當(dāng)?shù)?NET平臺(tái)是COM+。
  
  在EJB和COM+之間,體系結(jié)構(gòu)的差別非常少。這兩種體系結(jié)構(gòu)本質(zhì)上是從MTS(Microsoft Transaction Server)派生出來(lái)的,是由微軟公司在1996年引入的最初的面向組件的中間層基礎(chǔ)結(jié)構(gòu)。由MTS最先引入,然后合并到EJB和COM+中的重要想法包括:
  
  · 通過(guò)組件示例的共享所實(shí)現(xiàn)的高可伸縮性
  
  · 以中間層為中心的安全性
  
  · 自動(dòng)事務(wù)處理邊界治理
  
  EJB加入了一種新的體系結(jié)構(gòu)想法,一項(xiàng)自動(dòng)治理組件狀態(tài)的技術(shù)。這項(xiàng)技術(shù)被稱為entity beans(實(shí)體豆)。雖然這種想法具有吸引力,但是當(dāng)前的實(shí)施卻依靠于獨(dú)立于數(shù)據(jù)庫(kù)緩存的中間層數(shù)據(jù)緩存。很不幸的是,在這兩種緩存之間沒有保持一致性的機(jī)制。這意味著對(duì)實(shí)體豆的任何使用都會(huì)帶來(lái)數(shù)據(jù)庫(kù)損壞的高風(fēng)險(xiǎn)。在緩存一致性問(wèn)題解決之前,在最佳試驗(yàn)技術(shù)方面,必須得不斷考慮實(shí)體豆技術(shù)。
  
  要連接EJB和COM+的深入比較,請(qǐng)參閱筆者最近的著作 。
  
  程序員企業(yè)級(jí)API
  
  我們調(diào)用Java Enterprise API 時(shí)的最重要部分如下:
  
  · Java Database Connection (JDBC,Java數(shù)據(jù)庫(kù)連接) 2.0 – 是用于從Java中訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù)的API 。這與.NET平臺(tái)空間中的ADO.NET相當(dāng)。
  
  · Java Naming and Directory Interface (JNDI,Java命名與目錄接口) – 是用于從Java中訪問(wèn)企業(yè)名稱與目錄服務(wù)的信息的API 。這與.NET平臺(tái)空間中的Active Directory Services Interface (ADSI,活動(dòng)目錄服務(wù)接口)有點(diǎn)類似。
  
  · Java Message Service (JMS,Java消息服務(wù)) 1.0 – 是用于異步工作流的Java API 。這在功能上與Microsoft Message Queue API相當(dāng),這個(gè)API已經(jīng)被排隊(duì)組件所替代。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 丽水市| 潍坊市| 原平市| 共和县| 屏山县| 化州市| 尚志市| 利川市| 安徽省| 银川市| 北海市| 屯门区| 和平区| 双辽市| 辽阳市| 邵阳市| 和平县| 大方县| 湟源县| 巩义市| 收藏| 广安市| 卓资县| 滦南县| 伽师县| 普宁市| 得荣县| 沛县| 乃东县| 兰州市| 安义县| 庆阳市| 古交市| 阳泉市| 赫章县| 句容市| 会泽县| 宁夏| 大竹县| 九寨沟县| 柳河县|