大音希聲、大象無形

          Java企業(yè)級應(yīng)用軟件開發(fā)探討

          企業(yè)級應(yīng)用為什么要分層?

          首先,需要知道什么是企業(yè)級應(yīng)用。

          企業(yè)級應(yīng)用(enterprise applications),其實是一個軟件行業(yè)內(nèi)部通用的一個術(shù)語。如果解釋成通俗易懂的話來說,那就是一個企業(yè)范圍內(nèi)所使用的、基于計算機的穩(wěn)定的、安全的和高效的分布式信息管理系統(tǒng)。
          對于企業(yè)級應(yīng)用而言它的分布式有兩種形式:B/S結(jié)構(gòu)和C/S結(jié)構(gòu)。由于瀏覽器的功能日益強大、網(wǎng)頁技術(shù)的日益流行和應(yīng)用服務(wù)器軟件和中間件產(chǎn)品的逐步成 熟,B/S結(jié)構(gòu)的企業(yè)級應(yīng)用已經(jīng)成為一種流行的趨勢,所以在下面的討論中所謂的企業(yè)級應(yīng)用統(tǒng)一為基于B/S結(jié)構(gòu)的分布式企業(yè)信息系統(tǒng)。

          一般說來企業(yè)級應(yīng)用都可以分為三層持久層(Persistence Layer)業(yè)務(wù)邏輯層(Business Logic Layer)展現(xiàn)層(Presentation Layer )
          為什么要分這么幾個層次呢?
          歸根結(jié)底主要原因只有一個——那就是提高軟件開發(fā)生產(chǎn)力,降低軟件開發(fā)成本,提高軟件產(chǎn)品質(zhì)量。
          因為軟件公司也是資本公司,公司的主要目標(biāo)是盈利而不是科技發(fā)展。所以,公司的技術(shù)架構(gòu)的優(yōu)劣主要應(yīng)該體現(xiàn)在公司的生產(chǎn)成本和產(chǎn)品的質(zhì)量上。
          對于降低軟件產(chǎn)品的開發(fā)成本是軟件產(chǎn)品出現(xiàn)以來所有軟件公司所追求的目標(biāo)。到目前為止,達(dá)到這個目標(biāo)的方式有這么幾種:
          1. 把 軟件產(chǎn)品根據(jù)功能進行分解,分別開發(fā):對于大的復(fù)雜系統(tǒng),如果沒有很好的分解開發(fā)的話,其結(jié)果是不可想象的。現(xiàn)實中企業(yè)需要分開各個職能部門,它們的職責(zé) 和業(yè)務(wù)是不同的,這樣開發(fā)中需要根據(jù)業(yè)務(wù)進行任務(wù)分解,把大的系統(tǒng)分解成為小的業(yè)務(wù)系統(tǒng)。這樣才能夠?qū)崿F(xiàn)系統(tǒng)開發(fā)過程中的并行開發(fā),并且會培養(yǎng)業(yè)務(wù)專精人 員,提高開發(fā)的效率。
          2. 業(yè)務(wù)系統(tǒng)根據(jù)技術(shù)架構(gòu)進行分層開發(fā):分層的開發(fā)方式實現(xiàn)了人類對復(fù)雜事物的普遍處理方式——分而治之。通過把復(fù)雜的系統(tǒng)分解成為相對簡單的獨立系統(tǒng),低耦 合的分解既可以實現(xiàn)開發(fā)人員的并行工作,又可以實現(xiàn)開發(fā)人員的任務(wù)分工。而且通過分層,對組件拼裝和流水化作業(yè)提供了理論和事實的基礎(chǔ)。
          3. 組件拼裝實現(xiàn)社會化分工:不必自己去創(chuàng)造輪子,直接付錢去買想要的輪子即可。這是從傳統(tǒng)的制造行業(yè)借鑒來的經(jīng)驗。J2EE得到的廣泛認(rèn)同從實質(zhì)上體現(xiàn)了業(yè)界對這種方式的肯定。
          4. 過去經(jīng)驗的積累和積累資源的重復(fù)利用:重用一直是一個爭議比較大的東西,爭論的雙方各執(zhí)一詞,各有道理也各有大師助陣,但是那更多的是在理論上和技術(shù)層面 上。理論和技術(shù)上的爭論對商業(yè)軟件開發(fā)是無用的。因為商業(yè)化的軟件開發(fā),最重要的是提供優(yōu)質(zhì)的產(chǎn)品和服務(wù)并且能夠最大可能的獲取利潤。所以,拋開具體實現(xiàn) 方式不談,我個人覺得公司過去經(jīng)驗的積累和積累資源的重復(fù)利用是有商業(yè)價值的。因為軟件公司必須得面對開發(fā)人員流動的問題,不管是升遷還是調(diào)動還是跳槽, 軟件公司總會面對業(yè)務(wù)專精人員的流失問題。業(yè)務(wù)專精人員的流失造成的成本是要計算在開發(fā)成本中的,所以怎樣以固化的形式積累業(yè)務(wù)人員的經(jīng)驗,和過去解決問 題的方案的可重復(fù)利用以及新員工職業(yè)培訓(xùn)成本的降低在降低開發(fā)成本的方面是值得考慮的。
          綜上所述,對于一個企業(yè)級應(yīng)用框架(還有人開發(fā)企業(yè)級應(yīng)用不用框架嗎?)而言,分層是提高開發(fā)效率、降低開發(fā)和培訓(xùn)成本的最佳實踐方案之一。
          但是,為什么要分為持久層(Persistence Layer)業(yè)務(wù)邏輯層(Business Logic Layer)展現(xiàn)層(Presentation Layer ) 3層呢?
          其實這三層不過就是從三個不同的視角去看這個企業(yè)信息系統(tǒng)罷了。從數(shù)據(jù)的角度看,企業(yè)信息系統(tǒng)不外乎就是對數(shù)據(jù)的存取。從功能的角度看,企業(yè)信息系統(tǒng)就是 對現(xiàn)實中的業(yè)務(wù)邏輯操作的信息化抽象而從用戶的角度上看,它是一個人機接口,它可以接受輸入并且會對所做的輸入做出相應(yīng)的反應(yīng)。這三層從底向上實現(xiàn)了底層 計算機數(shù)據(jù)和頂層人的業(yè)務(wù)操作的跨越,一般說來,從概念上講,所有的企業(yè)級應(yīng)用框架都可以分成這三層,因為這三個視角是客觀的。但是這并不保證所有的企業(yè) 級應(yīng)用都能保證這三個層之間不發(fā)生耦合。

          posted on 2006-03-20 17:29 guitarpoet 閱讀(1710) 評論(0)  編輯  收藏 所屬分類: 綜述


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 周至县| 湖北省| 玉溪市| 正蓝旗| 屯门区| 娱乐| 垫江县| 北票市| 滕州市| 克山县| 日照市| 沁源县| 郎溪县| 安庆市| 明溪县| 密山市| 汽车| 温泉县| 六枝特区| 来宾市| 新安县| 漳浦县| 赞皇县| 宁陕县| 衡阳县| 长子县| 历史| 枣庄市| 金平| 微山县| 华阴市| 清水河县| 霍邱县| 稻城县| 科技| 凉城县| 太湖县| 衡阳县| 攀枝花市| 邓州市| 莱芜市|