資源描述:
《基于j2ee架構的企業(yè)應用開發(fā)新思維》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在學術論文-天天文庫。
1、基于J2EE架構的企業(yè)應用開發(fā)新思維1前言22Web開發(fā)的困境32.1概述32.2Web系統(tǒng)開發(fā)的復雜性32.3開發(fā)人員的困境52.4維護人員的困境62.5科技公司(乙方)的困境72.6客戶(甲方)的困境82.7原因分析103Web應用以誰為中心?瀏覽器?服務器?113.1B/S的歷史發(fā)展沿革123.2計算模式歷史143.3初步結論143.4新模式技術架構143.5新模式技術范圍163.6新模式下人員分工174J2EE框架批判184.1關于J2EE開發(fā)的比喻184.2從C/S開發(fā)模式反思分層的必要性194.3技術框架上的皮之不存
2、,毛將焉附204.4J2EE系統(tǒng)架構的致命缺陷214.5Hibernate是垃圾224.6為什么J2EE如此低效-------用戶無法參與開發(fā)234.7談談對web開發(fā)UI基礎架構的一些看法275Web企業(yè)開發(fā)困境原因分析315.1分工過細315.2技術路線多頭并進325.3開發(fā)維護復雜度太高335.4客戶無法參與336解決之道346.1WebDW產(chǎn)品說明346.1.1WebDW簡介346.1.2WebDW設計思路356.1.2.1WebDW釋義356.1.2.2WebDW的設計理念366.1.2.3數(shù)據(jù)窗口對象說明376.1.
3、3界面示意圖(同一個界面文件,VB,Java,F(xiàn)lex版本不同實現(xiàn))386.2其它可行的技術方向396.2.1跨越語言和平臺的鴻溝397結束語401前言在企業(yè)級的應用系統(tǒng)開發(fā)領域,J2EE架構現(xiàn)在已經(jīng)被普遍接受了。雖然它并未完全兌現(xiàn)剛剛出現(xiàn)時的種種美好許諾,跨平臺,分布式,易于開發(fā)維護等等,但J2EE的廣泛普及,已經(jīng)是一個不爭的事實。雖然J2EE已經(jīng)非常普及,但從技術上來講,它本身還是存在很多缺陷的,比較突出的缺點,就是開發(fā)效率低,維護更加復雜,許多項目組都陷入其中不可自拔。本文將就造成這一現(xiàn)象的原因進行初步探討,并在此基礎上提
4、出自己的解決思路。本文討論的范圍僅限于采用B/S開發(fā)企業(yè)的應用系統(tǒng),不涉及網(wǎng)站類型的應用開發(fā)。討論的技術方向,主要針對J2EE,其余技術方向不作為重點討論,僅供參考。本文先從Web開發(fā)的現(xiàn)狀困境開始,分析造成目前困境的原因,然后通過回顧B/S技術架構的演化,以及對比C/S和B/S的開發(fā)模式的差異,提出一套新的開發(fā)解決思路,最后介紹WebDW系列產(chǎn)品的設計目的和簡單功能,再以此為基礎來進行擴展討論。2Web開發(fā)的困境2.1概述說明:Web應用系統(tǒng)的開發(fā),像一座大山一樣,把所有的人都壓垮了。自互聯(lián)網(wǎng)出現(xiàn)以來,企業(yè)應用系統(tǒng)的架構發(fā)生了
5、很大的變化,C/S架構被廢棄,B/S成為絕對的主流。但B/S架構本身,要比C/S復雜的多,加上新技術層出不窮,整個行業(yè)都處于巨大的困境之中。Web應用系統(tǒng)的開發(fā),就像一座大山一樣,把所有的人,無論是甲方還是乙方,無論是開發(fā)人員,維護人員還是系統(tǒng)用戶,都被累垮了。2.2Web系統(tǒng)開發(fā)的復雜性B/S系統(tǒng)本身的架構設計,要比C/S系統(tǒng)復雜很多,在C/S架構中,一般是兩層結構。如下圖。一般在這種架構中,服務器是一個數(shù)據(jù)庫服務器,只負責數(shù)據(jù)的存儲和讀取訪問支持;前臺程序采用VB,PB,Delphi等圖形開發(fā)工具來開發(fā),通過網(wǎng)絡直接連接到后
6、臺的數(shù)據(jù)庫服務器,通過發(fā)送SQL命令來實現(xiàn)數(shù)據(jù)庫的訪問。這種開發(fā)環(huán)境下可以使用圖形化的控件來搭建用戶界面,用戶的交互性比較好。缺點在于應用程序發(fā)布在客戶端,如果客戶機數(shù)量很多的話,客戶機程序的安裝,升級都比較困難。而在B/S結構中,涉及到了多種服務器類型,Web服務器,App服務器,DB服務器。如下圖。在B/S系統(tǒng)中,用戶通過客戶機上的瀏覽器來訪問后臺的Web服務器,Web服務器再把相應的請求轉(zhuǎn)發(fā)給應用服務器來處理,應用服務器再將其中的數(shù)據(jù)訪問請求轉(zhuǎn)發(fā)給數(shù)據(jù)庫服務器進行處理。在C/S系統(tǒng)中,應用系統(tǒng)或者應用程序本身是一個完整的,
7、獨立的整體,一般采用一種開發(fā)語言來開發(fā)即可,這種開發(fā)語言不僅負責用戶界面,也負責業(yè)務邏輯控制,以及數(shù)據(jù)訪問請求的生成發(fā)送,主要的開發(fā)和執(zhí)行工作是在客戶機上完成的。而在B/S系統(tǒng)中,整個系統(tǒng)的架構要復雜的多。首先,客戶機上只有一個通用的瀏覽器,用戶操作界面是通過Web服務器返回的HTML語言來進行描述的,如果需要一些動態(tài)特征,則不得不通過在HTML頁面中嵌入JavaScript來實現(xiàn)。在應用系統(tǒng)中,大量的頁面是動態(tài),而非靜態(tài)頁面,因此必須在應用服務器上完成動態(tài)頁面到靜態(tài)HTML的轉(zhuǎn)換工作。如果動態(tài)頁面中包含數(shù)據(jù)訪問請求,則又必須訪
8、問后臺的數(shù)據(jù)庫服務器來協(xié)助完成此項工作。以J2EE標準流程為例,當用戶在瀏覽器上輸入一個地址,或者URL以后,這個URL首先傳遞給Web服務器,然后再轉(zhuǎn)發(fā)給App服務器來解釋執(zhí)行。假如請求是一個jsp頁面,應用服務器首先讀取這個文件,然后把它翻譯成一個java文