freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于j2ee架構(gòu)的企業(yè)應(yīng)用開發(fā)新思維-資料下載頁

2025-06-22 01:05本頁面
  

【正文】 目的架構(gòu)優(yōu)化。分工過細(xì)帶來的另一個負(fù)面效果,就是很多人一開始就只能局限在自己的一個工作崗位上,對其他人的工作缺乏真正的認(rèn)知,項目組成員里面,除了項目經(jīng)理以外,幾乎沒有機(jī)會真正掌握整個系統(tǒng)的整體概念,因此在思考問題的時候,無法超越本身角色的限制,只能就事論事。在整個項目角度來看,幾乎每個人都在盲人摸象,沒有整體概念,項目的很多問題都被掩蓋起來,到了最后關(guān)頭才集中爆發(fā)出來。在軟件工程的觀點中,適度的信息屏蔽可以減少無效信息對工作人員的干擾,以提高其工作效率和判斷能力;但當(dāng)這種觀點走向極致,試圖把每個工作人員都當(dāng)成只關(guān)心一點的機(jī)械裝置以后,整個項目組就變得極為機(jī)械,因為沒法掌握整體上的信息,也無法真正從整體上對項目本身進(jìn)行自省和改進(jìn)。整個項目組很快就會陷入一種集體無意識之中。技術(shù)路線的問題和分工過細(xì)的問題有很強(qiáng)的聯(lián)系。正因為分工被強(qiáng)化和強(qiáng)調(diào)了,不同崗位,不同角色的工作人員自然采用不同的技術(shù)路線來試圖解決問題,并逐漸發(fā)展出自己的一套技術(shù)路線出來。例如前端開發(fā)使用的是HTML語言,后來發(fā)展出CSS,JavaScript,而JavaScript又自己發(fā)展出若干套不同版本,適應(yīng)不同瀏覽器環(huán)境的框架平臺出來;而在后臺開發(fā)的Java語言,先是發(fā)展出了JSP的標(biāo)簽庫,又發(fā)展出JSTL,有了WebWork,又發(fā)展出Struts,又發(fā)展出Spring;和數(shù)據(jù)庫交互訪問的地方,有了Hibernate,又有了itabits等等之類;與此同時,又發(fā)展出log4j, 緩存工具等多種東西出來。之所以發(fā)展出這么多新東西出來,原因之一就是強(qiáng)化分工以后,每個人都在試圖解決自己面臨的問題的時候,按照自己的思路提出了一個新東西,然后逐步發(fā)展,于是一個一個新東西就出現(xiàn)了。這些新技術(shù),新框架的出現(xiàn),一方面確實簡化了某一部分的開發(fā)工作,另一方面,從整個項目開發(fā)的角度來看,使用的技術(shù)越多,項目本身也變得越來越混亂,開發(fā)和維護(hù)的隱性成本在不知不覺中在迅速增加。Spring的出現(xiàn)就是這種情況的一個很好的注解,因為開發(fā)中使用的東西太多了,不好配置,于是Spring的發(fā)明人想了一個辦法,把所有這些東西打了個大包,裝在一起,起了個大名叫Spring。但坦率的講,這么做真的可以簡化整個項目的開發(fā)嗎,我非常懷疑。開發(fā)維護(hù)的復(fù)雜度問題,與分工過細(xì),技術(shù)路線多頭并進(jìn)又是互為因果的一個因素。當(dāng)分工越來越細(xì),越來越瑣碎,使用的技術(shù)越來越多,使用者只能大概有個了解的情況下,整個系統(tǒng)的開發(fā)復(fù)雜度增加了,需要懂很多技術(shù)知識的人組合起來才能完成一個項目;從維護(hù)的角度來看,維護(hù)的人員也必須懂得這么多技術(shù)知識,才能保證系統(tǒng)的長期穩(wěn)定運行。開發(fā)的時候分工太細(xì),使用的技術(shù)過多,最終必然導(dǎo)致開發(fā)和維護(hù)的復(fù)雜度增加,必然導(dǎo)致開發(fā)維護(hù)的成本居高不下。然而不行的是,許多人面對這種問題的時候,本能的第一反應(yīng)是繼續(xù)強(qiáng)化分工,試圖投入更多的人力來解決這一問題,卻忽略了分工過細(xì)本身就是這個問題的一部分,在試圖解決問題的同時反而強(qiáng)化了這一問題。由于J2EE整個開發(fā)模式的設(shè)計,沒有考慮客戶該如何參與,如何提出自己的意見。詳細(xì)的分析請見上面章節(jié)的分析。同時,在一個如此復(fù)雜的開發(fā)環(huán)境中,開發(fā)人員自己都無法從整體上描述開發(fā)整體過程,開發(fā)的整體結(jié)構(gòu),在這種情況下,客戶本身更加無法介入開發(fā)的整個過程之中,而只能在程序開發(fā)完成以后再提出意見進(jìn)行修改。從用戶的需求到最終的程序?qū)崿F(xiàn),在一個復(fù)雜的開發(fā)流程中,需要消耗很長的時間才能完成,在此過程中,客戶是無法參與的。而對最終程序的修改意見,又將使項目的開發(fā)進(jìn)入新的一輪變動之中,從而進(jìn)一步拉長項目的周期。最后所有人都疲憊不堪。6解決之道要解決J2EE企業(yè)應(yīng)用開發(fā)的種種問題,就必須轉(zhuǎn)換思路,從減少分層,簡化技術(shù)架構(gòu),銷減系統(tǒng)復(fù)雜度,加強(qiáng)用戶參與這幾個方面同時努力。我在十年以前,曾經(jīng)使用PowerBuilder開發(fā)過很多系統(tǒng),驚嘆于其快速開發(fā)能力,界面描述能力等等,在痛苦的進(jìn)行J2ee開發(fā)多年以后,開始發(fā)心,將PowerBuilder里面的DataWindow控件重新設(shè)計實現(xiàn),命名為WebDW。WebDW是我設(shè)計用來簡化J2EE開發(fā)的一個嘗試,也許這個產(chǎn)品本身并不完善,但整個考慮問題的思路我認(rèn)為是可以借鑒的。 WebDW產(chǎn)品說明 WebDW簡介WebDW是在Web上運行的數(shù)據(jù)窗口,它提供直接和后臺數(shù)據(jù)庫交互的功能,是一個Web應(yīng)用系統(tǒng)快速開發(fā)工具。WebDW的設(shè)計目的,是簡化Web開發(fā)流程,提高開發(fā)效率,降低開發(fā)和系統(tǒng)維護(hù)的成本。WebDW參照PowerBuilder的Data Window技術(shù)開發(fā),對它進(jìn)行重新實現(xiàn),不再依賴于PowerBuilder環(huán)境。WebDW是一個跨平臺,跨語言的界面解釋器,通過讀取并解析數(shù)據(jù)窗口文件,在不同環(huán)境下提供統(tǒng)一的用戶界面和數(shù)據(jù)操縱功能。WebDW可以采用不同語言進(jìn)行實現(xiàn),目前提供ActiveX版本和Java版本,未來將增加Flex版本。WebDW可提供源代碼銷售,您可以購買源代碼進(jìn)行改造,把WebDW的功能完全集成到您的系統(tǒng)或者平臺之中。采用WebDW,您可以在不同開發(fā)工具和語言之間遷移您的應(yīng)用,無須重新編寫,保護(hù)您的技術(shù)投資。采用WebDW,您可以把您現(xiàn)有的PowerBuilder程序快速轉(zhuǎn)換成Web應(yīng)用程序。圖片說明:WebDW可以使得同樣一個數(shù)據(jù)窗口定義文件在不同平臺,不同環(huán)境下得到同樣的展示。 WebDW設(shè)計思路最基本的設(shè)計思路是:圖形化界面定義,所見即所得,直接數(shù)據(jù)庫訪問,不再層層轉(zhuǎn)發(fā)。通過借鑒PowerBuilder中的DataWindow控件,從零開始重新進(jìn)行編碼實現(xiàn),實現(xiàn)完全自主開發(fā),不依賴任何第三方控件的Data Window控件。 WebDW釋義WebDW,并不是我們發(fā)明的一個新名詞,它的原始出處在Sybase 公司的PowerBuilder產(chǎn)品里面。在PowerBuilder里面,WebDW是指web data window技術(shù),即通過一個控件在界面上直接解釋和顯示PowerBuilder內(nèi)部定義的數(shù)據(jù)窗口對象。這個思路應(yīng)該說是一個很好的思路,但不幸的是,PB中WebDW的使用存在諸多限制,無論在后臺對應(yīng)的應(yīng)用服務(wù)器(限定服務(wù)器類型),還是本地客戶機(jī)(需要安裝本地庫),都有非常不便的地方。我們所設(shè)計的WebDW,借鑒了PowerBuilder中DataWindow控件的設(shè)計思想,采用全新的語言環(huán)境和工具,重新設(shè)計實現(xiàn)了DataWindow控件,使數(shù)據(jù)窗口由PB專有的一項功能,變成了各種語言環(huán)境都可以使用的通用工具。在數(shù)據(jù)窗口的表示上,選用和PowerBuilder完全相同的文件表示形式,可以直接解釋PowerBuilder所繪制的數(shù)據(jù)窗口對象。為了適應(yīng)跨平臺應(yīng)用的需要,采用Java語言重新編寫了DataWindow控件,稱之為JWebDW,這樣java語言也可以直接使用PB繪制的數(shù)據(jù)窗口來進(jìn)行數(shù)據(jù)庫的訪問。WebDW控件和后臺數(shù)據(jù)庫的交互,通過在Web服務(wù)器上定義一個數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器來實現(xiàn),WebDW控件直接向后臺發(fā)送SQL命令,經(jīng)轉(zhuǎn)發(fā)給后臺數(shù)據(jù)庫以后返回結(jié)果再在前臺進(jìn)行數(shù)據(jù)展現(xiàn)。 WebDW的設(shè)計理念WebDW正是為了從根本上解決上面的問題,簡化系統(tǒng)的復(fù)雜度而設(shè)計出來的產(chǎn)品。它的設(shè)計目的,就是在web上,實現(xiàn)PowerBuilder中Datawindow控件的部分功能,使得以瀏覽器為載體,可以在界面上直接操縱后臺數(shù)據(jù)庫,前臺的控件和后臺的數(shù)據(jù)庫服務(wù)器實現(xiàn)直接通訊,而不再層層加卡,轉(zhuǎn)換。WebDW的系統(tǒng)技術(shù)架構(gòu)圖如下:WebDW控件,是一段嵌入到瀏覽器中執(zhí)行的程序,這個程序的封裝形式,可以是Windows平臺上的ActiveX控件;也可以是Java的Applet,甚至可以是利用Flash技術(shù)單獨編寫的控件也可以。目前提供ActiveX控件形式和Java控件,F(xiàn)lash格式的將在未來提供。在網(wǎng)頁中的程序?qū)ο?,不能夠真正直接和?shù)據(jù)庫進(jìn)行交互,因此中間需要一個中轉(zhuǎn)站,這個中轉(zhuǎn)站,就是Web服務(wù)器上的一個請求轉(zhuǎn)發(fā)服務(wù)。這個服務(wù),可以是Java編寫的Servlet,也可以是其它語言編寫的后臺服務(wù)程序??丶旧硎侵苯油ㄟ^底層的Socket來訪問后臺轉(zhuǎn)發(fā)服務(wù)的,不通過瀏覽器本身。WebDW控件,就是在Web上運行的DataWindow組件對象。數(shù)據(jù)窗口對象這一概念是PowerBuilder提出的,它是一段文本描述,其中既描述了數(shù)據(jù)的展示界面,即數(shù)據(jù)如何展現(xiàn),也描述了數(shù)據(jù)來源,即從哪里得到這些數(shù)據(jù)。它是應(yīng)用程序的靜態(tài)描述部分。WebDW控件本身不包括這些信息,它就是一段程序,根據(jù)數(shù)據(jù)窗口對象所定義的描述,來繪制界面,自動生成所需要的SQL腳本,和后臺交互,提交命令并處理結(jié)果。WebDW控件是應(yīng)用程序的動態(tài)執(zhí)行部分,數(shù)據(jù)窗口對象是應(yīng)用程序的靜態(tài)定義部分。在WebDW中,數(shù)據(jù)窗口對象采用和PowerBuilder兼容的數(shù)據(jù)窗口對象格式定義。這樣您可以在PowerBuilder中用數(shù)據(jù)窗口畫板來圖形化繪制一個數(shù)據(jù)窗口對象出來,然后在WebDW控件中直接使用它。您也可以利用WebDW來遷移您現(xiàn)有的PowerBuilder程序到Web上來。WebDW應(yīng)用程序本身也會提供數(shù)據(jù)窗口對象的繪制功能,未來會根據(jù)用戶需要逐步細(xì)化,提升。 界面示意圖(同一個界面文件,VB,Java,F(xiàn)lex版本不同實現(xiàn))VB ActiveX 的界面Java 版本的界面Flex 版本的界面這方面的考慮還不是很成熟。只是驚嘆于目前的各種語言層出不窮,設(shè)想能否有一個跨越語言鴻溝的辦法。關(guān)鍵字: webdw, powerbuilder 最近十年以來,新的開發(fā)語言層出不窮,現(xiàn)有的語言也不斷升級換代,推出新版本,在一個語言的上面,又不斷涌現(xiàn)出一些新的框架,平臺,技術(shù)出來. 整個技術(shù)環(huán)境,完全可以用一個五花八門來形容. 相比較以前一門語言包打天下的狀態(tài),現(xiàn)在形勢確實發(fā)生了很大的變化. 語言的快速升級變化,使得架構(gòu)在其上面的應(yīng)用軟件和應(yīng)用系統(tǒng),VB,Delphi,PB流行一時,當(dāng)時有多少開發(fā)人員?多少開發(fā)公司?開發(fā)了多少系統(tǒng)?現(xiàn)在這些系統(tǒng)在那里?這些代碼在那里?都已經(jīng)被扔到了垃圾堆里面 Java也是一樣,java本身的jdk就在不斷升級,在上面還有各種各樣的框架,并不比以前的系統(tǒng)壽命更長,做一次技術(shù)架構(gòu)的升級,往往原來的代碼就所剩無幾了. ,或者再遷移到Flex等RIA平臺,那么基本上原來的程序就全軍覆沒,徹底消失了. 這種升級,替換的游戲已經(jīng)進(jìn)行很久了,而且還在持續(xù)進(jìn)行中. 但這種游戲的代價是高昂的,難以計算的金錢,人力,時間都被升級這個怪獸所吞噬. 現(xiàn)在應(yīng)該是結(jié)束這個游戲的時候了. 怎么辦呢,真正的解決之道,就在于構(gòu)建一套新的應(yīng)用開發(fā)體系,從根本上解決跨語言開發(fā)的問題,讓應(yīng)用系統(tǒng)本身,與開發(fā)語言進(jìn)行脫離,不再限制于特定的開發(fā)語言和開發(fā)平臺,而是能夠在多個語言之間進(jìn)行遷移. 這個想法本身有些怪異,就是這一思想的具體體現(xiàn)者. 譬如,PowerBuilder里面有一個DataWindow控件,是一個很強(qiáng)大的功能,但是只能在PB里面使用,那么假如我的程序原來用PB開發(fā)的,現(xiàn)在要用VB來寫,因為沒有這個控件,? 假如我用VB可以來寫一個DataWindow控件,那么PB寫的程序不就可以直接遷移到VB上來運行嗎?這就是我最開始基本的思路,于是我開始嘗試,并編寫了WebDW的VB版本,實踐證明,. 現(xiàn)在換一種語言,現(xiàn)在要遷移到Java上,怎么辦? 按照同樣的思路,我們用Java來編寫一個DataWindow控件,于是PB的程序就可以遷移到Java上來運行了. 按照同樣的思路,我們又編寫了Flex版本和JavaScript版本的DataWindow控件. 于是PB寫的數(shù)據(jù)窗口,就被平滑的遷移到了VB,Java,Flex,JavaScript四個平臺7結(jié)束語
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1