幾種體系架構(gòu)與開發(fā)工具的組成_第1頁(yè)
幾種體系架構(gòu)與開發(fā)工具的組成_第2頁(yè)
幾種體系架構(gòu)與開發(fā)工具的組成_第3頁(yè)
幾種體系架構(gòu)與開發(fā)工具的組成_第4頁(yè)
幾種體系架構(gòu)與開發(fā)工具的組成_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

幾種體系架構(gòu)與開發(fā)工具的組成三層體系架構(gòu)WebServer/AppServer開發(fā)工具核心技術(shù)備注J2EEWebsphere(IBM)Jbuilder9.0WSAD5.0Eclipse(Java)免費(fèi)WebLogic(BEA)Jarguas(SYBASE)PB9.0+PJ非主流技術(shù).NETWindowsServer2003(WebServer+AppServer)Asp.NET北京瑞得公司、杭州創(chuàng)業(yè)公司采用.NETStudioBorlandC++;DelphiCorbaDephi非主流技術(shù)衛(wèi)寧公司采用項(xiàng)目上體系架構(gòu)與開發(fā)工具的選擇序號(hào)方案優(yōu)勢(shì)缺點(diǎn)備注第一種Websphere(IBM)+Eclipse單CPU價(jià)格:30-50萬(wàn)(估計(jì))跨平臺(tái)技術(shù),易移植和多平臺(tái)產(chǎn)品集成技術(shù)方案比較完整開發(fā)工具免費(fèi)技術(shù)比較復(fù)雜Websphere價(jià)格比較高(如果采用Bea也比較高)如果技術(shù)人員對(duì)IBM的技術(shù)比較熟悉可采用此方案,但Websphere的價(jià)格問(wèn)題需要斟酌與解決第二種.NET(Asp.Net)50用戶價(jià)格:5萬(wàn)以下(winserver2003版)技術(shù)簡(jiǎn)潔,開發(fā)簡(jiǎn)單價(jià)格上也有優(yōu)勢(shì)(.Net是內(nèi)嵌在Winserver2003中)只能在Windows平臺(tái)上使用因?yàn)榭紤]該項(xiàng)目需要集成的項(xiàng)目不多,沒(méi)有跨平臺(tái)的需要,再加上技術(shù)簡(jiǎn)單,容易掌握,如果人員比較熟悉微軟的技術(shù),建議采用此方案可以參考看如下幾篇文章:J2EE與.NET的比較毫無(wú)疑問(wèn),程序員,軟件開發(fā)商,企業(yè)IT經(jīng)理一直都在密切的關(guān)注著J2EE和.NET的發(fā)展,但是選擇一個(gè)在性能,價(jià)格,時(shí)間上滿足他們需求的平臺(tái)卻并不是一件簡(jiǎn)單的事情。本文試圖在技術(shù)上做一個(gè)簡(jiǎn)單的比較,希望對(duì)于他們做選擇時(shí)有所幫助。一.技術(shù)概觀在表現(xiàn)形式上,J2EE是一組規(guī)范,而.NET更象是一組產(chǎn)品。但它們的目的都是為了企業(yè)應(yīng)用提供分布式的,高可靠性的解決方案.它們?cè)诩軜?gòu)上有著很多的相似之處,下表是一個(gè)簡(jiǎn)單對(duì)照:J2EE.NET

通信協(xié)議RemoteMethodInvocationoverInternetInterOrbProtocol(RMI/IIOP),XML

編程語(yǔ)言JavaC#,VB.NET,COBOL

運(yùn)行時(shí)環(huán)境JavaVirtualMachine(JVM)CommonLanguageRuntime(CLR)

胖客戶端JavaSwingWindowsForms

目錄服務(wù)JavaNamingandDirectoryInterface(JNDI)ActiveDirectoryServicesInterface(ADSI)

數(shù)據(jù)訪問(wèn)JavaDatabaseConnection(JDBC),JavaConnectorsADO.NET

異步消息處理JavaMessageService(JMS)MicrosoftMessageQueue

表示層技術(shù)Servlets,JavaServerPage(JSP)ASP.NET

中間層組件模型EJB,JavaBeanCOM+,COM

安全訪問(wèn)JAASCOM+Security

CallContext

事物處理JavaTransactionServer(JTS)MicrosoftDistributedTransactionCoordinator(MS-DTC)

開發(fā)工具WebGainVisualCafé

BorlandJbuilder

IBMVisualAge等

(第三方提供,規(guī)范本身沒(méi)有定義)VisualStudio.NET

J2EE平臺(tái)的構(gòu)成EJB-J2EE中間層,完成商業(yè)邏輯;JAAS-J2EE處理認(rèn)證和授權(quán)的API;JavaConnectors-J2EE用于連接異種數(shù)據(jù)源的API,對(duì)上層來(lái)講是透明的;JSP,JavaServlets-J2EE的表示層技術(shù),用于生成用戶界面;JavaVirtualMachine-Java語(yǔ)言運(yùn)行環(huán)境;JDBC-J2EE數(shù)據(jù)庫(kù)訪問(wèn);JMS-J2EE的異步消息隊(duì)列;JNDI-J2EE的名字查找API,獨(dú)立于目錄服務(wù)器;JTS-J2EE用于處理交易的API;RMI/IIOP-J2EE的分布式對(duì)象的通訊API,提供了和CORBA交互的能力。.NET平臺(tái)構(gòu)成.NETFramework-.NET應(yīng)用運(yùn)行的基礎(chǔ);IL(IntermediaryLanguage)-所有的.NET語(yǔ)言首先被編譯成該中間語(yǔ)言,然后在CLR中運(yùn)行;SOAP-用于服務(wù)訪問(wèn)的工業(yè)標(biāo)準(zhǔn);DCOM-組件間通信協(xié)議;MS-DTC-用來(lái)在.NET平臺(tái)上使用兩階段提交協(xié)議來(lái)處理分布式交易;CLR-.NET應(yīng)用的運(yùn)行時(shí)環(huán)境;COM+-.NET的中間層模型,用于構(gòu)建商務(wù)邏輯;ADO.NET-.NET對(duì)數(shù)據(jù)訪問(wèn)的API。此外.NET平臺(tái)還包括其他一些產(chǎn)品象ApplicationCenterServer,BizTalkServer,NLBS(NetworkLoadBalancingService),CommerceServer,EnterpriseServers,HIS(HostIntegrationServer),ISAS(InternetSecurityandAccelerationServer)用來(lái)提供象防火墻,安全訪問(wèn),B2B交易,負(fù)載平衡等服務(wù).J2EE規(guī)范本身沒(méi)有定義這些服務(wù),但可通過(guò)選擇第三方產(chǎn)品來(lái)滿足類似的要求。二.技術(shù)比較1.一vs多一種語(yǔ)言vs多種語(yǔ)言,一個(gè)平臺(tái)vs多個(gè)平臺(tái).這似乎是大家最喜于津津樂(lè)道的話題,也似乎是所有問(wèn)題的焦點(diǎn)。兩種平臺(tái)主流的開發(fā)語(yǔ)言Java和C#在架構(gòu)上有著驚人的相似:虛擬機(jī)技術(shù),基于沙箱的安全模型,分層的命名空間,垃圾回收等。所以從第一眼看上去,C#簡(jiǎn)直就是Java的克隆。但微軟并不這樣認(rèn)為,微軟的說(shuō)明是:“它集成了C++,Java,Modula2,C和Smalltalk等多種語(yǔ)言的精華,對(duì)它們共同的核心思想象深度面向?qū)ο?deepobject-orientation),對(duì)象簡(jiǎn)化(object-simplification)等都一一做了參考?!币环矫妫珻#的大多數(shù)關(guān)鍵字來(lái)源于C++,使它在書寫上有別于Java。但另一方面,C#的嚴(yán)格的類型轉(zhuǎn)換等概念卻明顯來(lái)自于Java(當(dāng)然,它的原始類型的定義更嚴(yán)格,并且據(jù)微軟聲稱沒(méi)有影響到效率.),使其在內(nèi)涵上有克隆之嫌.但即是Java,其有些特性也和Smalltalk頗有淵源.所以評(píng)價(jià)一種開發(fā)語(yǔ)言的優(yōu)劣不僅是看其外在的表現(xiàn)形式,更重要的是其實(shí)實(shí)在在的功效.作為一種新語(yǔ)言,C#加入了基于XML的標(biāo)記,可以被編譯器用來(lái)直接生成文檔,C#的另一個(gè)特點(diǎn):一站式軟件(one-stop-shoppingsoftware)強(qiáng)調(diào)了自解釋(self-describing)的編碼方式,即頭文件,IDL(InterfaceDefinitionLanguage),GUID和其他復(fù)雜的接口無(wú)需再被引用.也即是C#,VB.NET等代碼片斷可以任意的被加入到其他語(yǔ)言中.這無(wú)疑在多種語(yǔ)言混合編程的模式中是一次飛躍,但是,其難維護(hù)性也是不言而喻的。微軟的.NET的平臺(tái)提供了象C#,VB.NET,COBOL等多種開發(fā)語(yǔ)言,C#是新的,而其他的每一種語(yǔ)言都是在原有的基礎(chǔ)上改造而來(lái).這是微軟煞費(fèi)苦心并且也是不得以的要為習(xí)慣于這些語(yǔ)言的程序員鋪一條便捷之路.但是,這些語(yǔ)言的改造與其說(shuō)是整容到不如說(shuō)是一次開膛破肚的大手術(shù).首先是觀念變了,Basic,Cobol等語(yǔ)言先天的缺少面向?qū)ο蟮膬?nèi)涵,現(xiàn)在卻變成了面向?qū)ο蟮恼Z(yǔ)言,這就不是要求其傳統(tǒng)的程序員僅僅熟悉一些額外的關(guān)鍵字那么簡(jiǎn)單的問(wèn)題了.基于面向?qū)ο蟮能浖治鲈O(shè)計(jì)開發(fā)測(cè)試是完全不同于基于傳統(tǒng)過(guò)程性語(yǔ)言的質(zhì)變,所以這一過(guò)程的轉(zhuǎn)變對(duì)傳統(tǒng)程序員來(lái)講也是一個(gè)痛苦和漫長(zhǎng)的過(guò)程.在傳統(tǒng)程序員面前,微軟看似提供了豐富多采的解決方法,但對(duì)于實(shí)際問(wèn)題而言,卻怕是有些力不從心.所以一個(gè)簡(jiǎn)單的辦法是:直接使用C#.對(duì)于獨(dú)立軟件開發(fā)商來(lái)講,其轉(zhuǎn)換成本不容忽視.其次,在一個(gè)軟件項(xiàng)目中使用多種語(yǔ)言,開發(fā)商必須同時(shí)擁有多種語(yǔ)言專家和多個(gè)獨(dú)立的難以互相支援的開發(fā)小組,無(wú)疑的,這也使其軟件的維護(hù)的成本已非線性的曲線增長(zhǎng).多樣性是雙韌劍,實(shí)施時(shí)需仔細(xì)斟酌.跨平臺(tái)是J2EE的最大賣點(diǎn),也是至今為止還絆住微軟的柵欄.當(dāng)開發(fā)商完成了符合J2EE規(guī)范的軟件時(shí),其客戶可以依據(jù)其喜好和實(shí)力來(lái)選擇不同應(yīng)用服務(wù)器.從基于opensource的免費(fèi)軟件到高端滿足B2B需求的商業(yè)套件來(lái)搭建自己的平臺(tái).但是由于J2EE的規(guī)范還不完善,各個(gè)J2EE服務(wù)器的提供商為了使其提供其各自理解的完整的功能,不得不添加一些額外的特性.這就使得使用了這些特別功能的應(yīng)用軟件,綁定到了特定的應(yīng)用服務(wù)器上.隨著J2EE規(guī)范的發(fā)展,這種差別會(huì)逐漸減小.微軟的跨平臺(tái)解決方案是Webservices,它解決的是異種平臺(tái)上不同應(yīng)用之間的連通性問(wèn)題.從技術(shù)角度講,它除了以XML為介質(zhì)之外沒(méi)有什么新意.但它的重要意義在于:它是微軟這樣一個(gè)重量級(jí)選手所推出的,前景不容小視.構(gòu)造和使用Webservices的過(guò)程較為簡(jiǎn)單:服務(wù)提供者用他所選擇的語(yǔ)言構(gòu)造服務(wù);服務(wù)提供者用WSDL(theWebServicesDescriptionLanguage)來(lái)定義該服務(wù);服務(wù)提供者在UDDI(UniversalDescription,Discovery,andIntegration)中注冊(cè)該服務(wù);使用者的應(yīng)用程序從UDDI中查找已注冊(cè)服務(wù);使用者的應(yīng)用程序通過(guò)SOAP(theSimpleObjectAccessProtocol)來(lái)調(diào)用服務(wù).(SOAP使用HTTP來(lái)傳遞基于XML為表現(xiàn)形式的參數(shù))正如我們所討論的:Webservices解決的是異構(gòu)平臺(tái)上服務(wù)連通性的問(wèn)題,但在現(xiàn)實(shí)中所更迫切需要的是如何在異構(gòu)的平臺(tái)上構(gòu)造具有可擴(kuò)展性,高可靠性,高可用性,故障冗余,錯(cuò)誤恢復(fù)能力的企業(yè)應(yīng)用.缺少這一點(diǎn),從結(jié)構(gòu)上講,.NET平臺(tái)還遠(yuǎn)未完善.2.中間層基于組件的軟件開發(fā)技術(shù)可以在較高的級(jí)別上實(shí)現(xiàn)軟件復(fù)用,加快企業(yè)軟件開發(fā)的進(jìn)程.在J2EE構(gòu)架中,JavaBean和EJB(EnterpriseJavaBeans)被用來(lái)完成事物邏輯.其中EJB和JavaBean有著類似的模型,但它被用來(lái)創(chuàng)建分布式的企業(yè)應(yīng)用.它定義服務(wù)器端組件的模型,具有以下一些特性:生存期模型;訪問(wèn)模型;安全模型;事物處理模型;會(huì)話處理模型;數(shù)據(jù)封裝模型;部署模型根據(jù)這些模型,簡(jiǎn)單的編碼就可完成復(fù)雜的功能。在微軟的.NET平臺(tái)中,舊的COM和COM+的組件模型被新的組件模型所代替。增加了象基于沙箱的安全模型和垃圾回收等功能.并且實(shí)現(xiàn)了多重接口繼承,擴(kuò)展的元數(shù)據(jù)和新的代理模型等.舊有的COM和COM+組件也可被映射到新的運(yùn)行環(huán)境中。綜上所述,兩眾架構(gòu)在基于組件的中間層的設(shè)計(jì)上各有千秋,對(duì)于創(chuàng)建分布式的,復(fù)雜的,高效的,高可靠性的的應(yīng)用程序都有著足夠的能力。3.表示層兩種架構(gòu)都同時(shí)支持胖客戶端和瘦客戶端.即C/S模式和B/S模式.對(duì)于C/S模式,J2EE提供了替代JavaAWT的JavaSwing,同時(shí)作為可視化組件的JavaBean也可用來(lái)構(gòu)造系統(tǒng)。對(duì)于B/S結(jié)構(gòu)的表示層,J2EE使用servlet,JSP(JavaServerPage),HMTL,WML,XML等工具來(lái)實(shí)現(xiàn)。微軟的胖客戶端技術(shù)則由WindowsForms代替了MFC.它們起的作用相同,在結(jié)構(gòu)上WindowsForms被插入到.NET的運(yùn)行時(shí)框架(runtimeframework)和組件模型(componentmodel)中.在瘦客戶模型中,ASP.NET代替了舊有的ASP和HMTL,WML,XML作為表示層。在ASP.NET中,C#,VB.NET等語(yǔ)言的代碼片斷可被自由引用.ASP.NET頁(yè)面被首先轉(zhuǎn)換成中介語(yǔ)言(IntermediaryLanguage),然后再被中介語(yǔ)言及時(shí)編譯器(just-in-timeILcompiler)編譯,最后運(yùn)行于公共語(yǔ)言運(yùn)行環(huán)境中,并且ASP.NET提供了頁(yè)面的緩沖,所以,其運(yùn)行速度要遠(yuǎn)遠(yuǎn)快于ASP。大體上,兩種架構(gòu)所使用的表示層的技術(shù)非常類似,雖在細(xì)節(jié)上各有所長(zhǎng),但總體功能當(dāng)在伯仲之間。4.數(shù)據(jù)訪問(wèn)J2EE和.Net已不同的形式支持?jǐn)?shù)據(jù)的訪問(wèn)。JDBC和ADO一樣和所連接的數(shù)據(jù)庫(kù)無(wú)關(guān),并且通過(guò)連接,命令語(yǔ)句和結(jié)果集來(lái)對(duì)數(shù)據(jù)進(jìn)行操作.所以屬于中間層次的API.更高一級(jí)的數(shù)據(jù)封裝和數(shù)據(jù)管理是通過(guò)實(shí)體EJB(entityEJB)來(lái)完成的.基于容器管理的實(shí)體EJB使開發(fā)更快捷,管理更方便.事實(shí)上,由于實(shí)體EJB的load()和store()方法的同步機(jī)制,將大大緩解因并發(fā)而使數(shù)據(jù)庫(kù)產(chǎn)生的瓶頸.也可以采用不屬于J2EE規(guī)范的第三方數(shù)據(jù)訪問(wèn)工具,象WebGain的TopLink。而微軟的.NET的數(shù)據(jù)訪問(wèn)工具則由基于XML的ADO.NET代替了基于COM組件的ADO.任何以XML為輸出的數(shù)據(jù)源都可以作為ADO.NET的數(shù)據(jù)源.相應(yīng)的結(jié)果集升級(jí)為數(shù)據(jù)集(DataSets),命令語(yǔ)句則升級(jí)為數(shù)據(jù)集命令(DataSetCommands).從形式來(lái)看,微軟的ADO.NET更新潮和時(shí)髦一些,基于XML的特性使其可以處理極其豐富的數(shù)據(jù)源,并且,因其構(gòu)架在HTTP協(xié)議之上,易于穿透防火墻,使溝通更為便利.但由于XML本身的基于標(biāo)記的特性,很明顯限制了在有超大數(shù)據(jù)量和有網(wǎng)絡(luò)瓶頸的應(yīng)用中的使用.而J2EE的數(shù)據(jù)訪問(wèn)規(guī)則則顯得略有單薄,但同時(shí)卻更簡(jiǎn)單,更有效.并且通過(guò)對(duì)應(yīng)用程序有效的層次的設(shè)計(jì),對(duì)于數(shù)據(jù)庫(kù)和基于XML的數(shù)據(jù)源的訪問(wèn),也是可以無(wú)縫的整合的。三.整體評(píng)價(jià)在微軟還沒(méi)有足以和Java平臺(tái)相對(duì)抗的產(chǎn)品的時(shí)候,微軟所樂(lè)于做是大聲的宣傳:"w

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論