秦燕
摘要:隨著計算機技術(shù)的不斷發(fā)展,人們對計算機軟件的開發(fā)提出了更高的要求。而分層技術(shù)是計算機軟件管理開發(fā)中得到廣泛使用的一項技術(shù),在各類軟件開發(fā)技術(shù)中有著一定的優(yōu)勢。因此,基于這種認識,該文對分層技術(shù)的概念和特點進行了分析。而在此基礎(chǔ)上,則對雙層結(jié)構(gòu)技術(shù)、三層結(jié)構(gòu)技術(shù)、四層結(jié)構(gòu)技術(shù)、五層結(jié)構(gòu)技術(shù)和中間件技術(shù)這幾種分層技術(shù)在計算機軟件分層管理開發(fā)中的應用問題展開了研究,以便為關(guān)注這一話題的人們提供參考。
關(guān)鍵詞:分層技術(shù);計算機軟件;應用
中圖分類號:TP311.11 文獻標識碼:A 文章編號:1009-3044(2015)05-0049-03
在日常生活中,計算機已經(jīng)逐漸成為了必不可少的辦公工具。但對計算機軟件技術(shù)人員來講,在計算機軟件得到廣泛應用的同時,軟件開發(fā)的環(huán)境和功能的實現(xiàn)也越來越復雜,需要從單一功能向多功能復合的方向發(fā)展。而在這種需求下,分層技術(shù)得到了廣泛的應用。在實現(xiàn)計算機軟件的多功能開發(fā)的目標的同時,分層技術(shù)的應用使軟件的靈活性和安全性都得了提高。因此,有必要對分層技術(shù)在計算機軟件中的應用問題展開研究,以便更好的應用該技術(shù)完成軟件的開發(fā)。
1 分層技術(shù)與軟件分層
早在20世紀80年代,單層結(jié)構(gòu)就在小型數(shù)據(jù)庫的結(jié)構(gòu)化編程的計算機發(fā)展領(lǐng)域中出現(xiàn)。而隨著計算機服務(wù)器關(guān)系模式的快速發(fā)展,雙層結(jié)構(gòu)逐漸成為了計算機形式的關(guān)系結(jié)構(gòu),可以滿足用戶日漸增多的需求。但就目前來看,計算機網(wǎng)絡(luò)數(shù)據(jù)關(guān)系得到了迅速發(fā)展,從而導致了雙層結(jié)構(gòu)也無法滿足用戶的需求。而所謂的分層技術(shù),其實就是指在不同層次上制定不同解決方案的技術(shù)。在整個計算機軟件結(jié)構(gòu)中,這些層次具有平等的地位,而計算機軟件的整體則是由不同功能的模塊所構(gòu)成。在使用計算機軟件的過程中,人們會在提出安全性、靈活性和可靠性的要求的基礎(chǔ)上,要求軟件能夠盡可以能多的提供各類功能。而分層技術(shù)可以為實現(xiàn)軟件的各類功能提供支持,所以在計算機軟件中得到了廣泛的使用。在軟件開發(fā)的軟件架構(gòu)方面,分層技術(shù)的使用效果極好。通過為實現(xiàn)多層次的軟件架構(gòu)提供支持,分層技術(shù)滿足了軟件的功能開發(fā)需求[1]。從整個計算機系統(tǒng)的開發(fā)上來看,計算機軟件沒有嚴格的層次關(guān)系。而所謂的計算機系統(tǒng)的層次化,其實就是多層次構(gòu)件的聚集現(xiàn)象。通過使用分層技術(shù),則能夠?qū)崿F(xiàn)系統(tǒng)設(shè)計的逐級抽象,繼而使系統(tǒng)的各部分功能得到分解,并轉(zhuǎn)化成軟件設(shè)計的一部分。
分層技術(shù)之所以能夠在計算機軟件開發(fā)中得到應用,主要是其在軟件開上具有一定的優(yōu)勢。從軟件開發(fā)目的上來看,軟件產(chǎn)品的設(shè)計和開發(fā)是為了滿足消費者的使用需求。但對于軟件開發(fā)者來講,除了確保軟件開發(fā)的質(zhì)量,還要確保軟件的開發(fā)具有一定的效率,以便盡量減少軟件開發(fā)的時間。所以,軟件開發(fā)者需要利用檢測構(gòu)件完成計算機軟件的檢測,以便確保短時間內(nèi)開發(fā)出的軟件具有較高的性能。而利用分層構(gòu)件建立底層構(gòu)件和物理硬件的關(guān)系,則可以使計算機軟件系統(tǒng)的性能得到不斷提高。因為,計算機并沒有嚴格意義上的軟件結(jié)構(gòu)系統(tǒng),而多個層次會使軟件上下層次產(chǎn)生一種依賴關(guān)系,繼而使系統(tǒng)分析聚集在層次的構(gòu)件上。因此,利用分層技術(shù)可以將軟件系統(tǒng)復雜部分的開發(fā)轉(zhuǎn)變成軟件設(shè)計問題,繼而使系統(tǒng)具有較好的穩(wěn)定性和擴展性。在開發(fā)復雜軟件時,分層技術(shù)可以按步驟或功能完成軟件的分層處理。具體來講,就是按照步驟或功能進行軟件的升級、改造或改進時,只進行相面層面的修改,而不影響其他層面的運行。具體來講,就是軟件設(shè)計的一個層次的變化只會影響到上下層次的變化,但并不會影響整體的變化,所以可以不修改軟件的整體。其次,分層技術(shù)的應用可以為計算機軟件開發(fā)和應用提供一定的安全保證,并使軟件的開發(fā)效率得到提高[2]。比如在開發(fā)新軟件時,可以直接在功能相似的層面進行二次開發(fā),從而避免進行軟件的重復開發(fā),繼而使軟件開發(fā)的時間得到有效節(jié)省。此外,通過分層次分模塊的進行軟件的定義,可以利用標準接口實現(xiàn)模塊的有效對接。而軟件能夠得到自動的開發(fā)和使用,則可以使軟件具有一定的可復用性。
2 分層技術(shù)在計算機軟件中的應用研究
2.1 雙層結(jié)構(gòu)技術(shù)在軟件開發(fā)管理中的應用
從根本上來講,計算機軟件的分層技術(shù)是由雙層結(jié)構(gòu)技術(shù)發(fā)展而來。所以,雙層結(jié)構(gòu)技術(shù)是分層技術(shù)實現(xiàn)的基礎(chǔ),三層、四層和五層等高等分層技術(shù)都是由雙層結(jié)構(gòu)技術(shù)發(fā)展而來。而所謂的雙層,在計算機軟件中指的就是服務(wù)器與客戶端(如下圖1)。在使用該結(jié)構(gòu)時,用戶的可操控界面是由客戶端提供。在接收用戶的操作指令后,客戶端將利用網(wǎng)絡(luò)將指令發(fā)送至服務(wù)器。然后,將由服務(wù)器中的操作系統(tǒng)等相關(guān)軟件完成指令的處理,并最終將結(jié)果通過客戶端反饋給用戶。從工作原理上來看,雙層結(jié)構(gòu)的正常運行主要取決于服務(wù)器端是否安全、可靠,并且需要有使用人數(shù)的限制[3]。在這兩個條件無法滿足的情況下,服務(wù)器需要的計算時間會越來越長,繼而出現(xiàn)安全問題或是給出錯誤的計算結(jié)果,而無論是哪種問題都會影響到用戶的數(shù)據(jù)安全。
雙層結(jié)構(gòu)技術(shù)的應用,在某種程度上滿足了軟件的發(fā)展需要。但就目前來看,計算機技術(shù)的發(fā)展速度較快,雙層結(jié)構(gòu)技術(shù)的應用已經(jīng)無法滿足計算機軟件的開發(fā)需求。以醫(yī)院信息系統(tǒng)的開發(fā)為例,過去的醫(yī)院信息系統(tǒng)的開發(fā)都是采用雙層的C/S方式。相較于單層主機/終端方式,該種結(jié)構(gòu)使醫(yī)院信息系統(tǒng)結(jié)構(gòu)的開發(fā)成本得到了降低。而分布式計算結(jié)構(gòu)的利用,則使整個系統(tǒng)的資源得到了充分的利用。在系統(tǒng)中,Clinet段的操作系統(tǒng)為GUI,為用戶在Windows上的操作提供了便利。而RAD技術(shù)的應用,則為開發(fā)人員開發(fā)應用提供了方便。但是,在系統(tǒng)的安裝和升級方面,C/S系統(tǒng)的維護需要花費大量的精力。針對如病案編目這樣的應用較少的系統(tǒng),系統(tǒng)的更新尚且較為容易。但是一旦需要對類似于門診收費系統(tǒng)進行更新,將涉及多且分散的護士工作站應用點,所以就需要完成大量的系統(tǒng)更新工作。同時,由于系統(tǒng)較為封閉,所以系統(tǒng)之間的交流難以實現(xiàn)。就目前來看,利用雙層技術(shù)開發(fā)的一些醫(yī)院信息系統(tǒng)已然難以使用,繼而導致了投資的浪費。而現(xiàn)有的醫(yī)院信息系統(tǒng)界面也并不統(tǒng)一,所以醫(yī)院需要承擔大量的培訓工作。此外,一旦需要進行管理模式的改革,就需要對醫(yī)院信息系統(tǒng)中的關(guān)鍵參數(shù)和公共模塊進行修改,繼而需要完成整個系統(tǒng)的重新編譯。
2.2 三層結(jié)構(gòu)技術(shù)在軟件開發(fā)管理中的應用
與雙層結(jié)構(gòu)相比較,三層結(jié)構(gòu)就是在服務(wù)器端使用了專業(yè)的應用服務(wù)器(如下圖2)。而三層結(jié)構(gòu)技術(shù)利用該服務(wù)器進行計算機用戶數(shù)據(jù)的存儲,從而通過設(shè)置服務(wù)器使計算機軟件的計算水平得到有效提高。所以,三層結(jié)構(gòu)技術(shù)的應用,使人與計算機之間的人機交互得以實現(xiàn),繼而使人們對計算機軟件的感知得到提高。例如,日立的ERP系統(tǒng)的軟件體系就為三層結(jié)構(gòu)。由于該體系的數(shù)據(jù)服務(wù)器可以為用戶提供訪問的數(shù)據(jù),并且能夠完成數(shù)據(jù)的存儲和優(yōu)化,所以可以滿足“瘦”客戶端的要求。從結(jié)構(gòu)組成上來看,三層結(jié)構(gòu)除了擁有服務(wù)器層面和客戶端層面,還有數(shù)據(jù)層面,而這樣的結(jié)構(gòu)就是將雙層結(jié)構(gòu)的服務(wù)器層面劃分成了處理層面和數(shù)據(jù)層面。其中,處理層面需要完成用戶需求的分析,而數(shù)據(jù)層面則需要根據(jù)處理層面的分析結(jié)果完成數(shù)據(jù)的處理,然后將處理結(jié)果反饋給用戶[4]。但是,由于設(shè)有專門的處理層面,用于處理用戶需求的網(wǎng)絡(luò)傳輸負擔得以減輕,而計算機的處理效率也得到了有效提高。
從優(yōu)點角度來看,應用三層技術(shù)構(gòu)建三層C/S結(jié)構(gòu),顯然使軟件的維護變得更加容易。首先,在三層C/S結(jié)構(gòu)中,Clinet段無需進行程序的配置,所以需要處理的界面代碼量得以減少。而利用Intranet技術(shù),則可以使Clinet端保持零配置,繼而使軟件的開發(fā)效率得到提高。在業(yè)務(wù)邏輯的變化方面,可以用中間層的更新替代系統(tǒng)的更新,所以可以使系統(tǒng)的維護費用得到降低。其次,三層C/S結(jié)構(gòu)是由Server端和Client端的模塊組成的,而這些模塊都是利用標準界面連接在儀器的。所以,系統(tǒng)的每個模塊都可以被其他應用共享,所以系統(tǒng)有可再用的對象。再者,在開發(fā)效率上,軟件開發(fā)工具選擇較為自由,所以為縮短軟件開周期提供了途徑。同時,由于程序員不必在業(yè)務(wù)邏輯分析上分心,所以軟件的開發(fā)質(zhì)量可以得到保證。此外,一般的情況下,數(shù)據(jù)庫需要面臨龐大的客戶數(shù)量。而三層C/S結(jié)構(gòu)的應用可以將用戶請求連接至中間層,繼而使直接連接數(shù)據(jù)庫的用戶數(shù)量得以減少,并確保系統(tǒng)的安全[5]。因此,三層結(jié)構(gòu)技術(shù)的應用在一定程度上促進了計算機軟件的發(fā)展。然而,三層結(jié)構(gòu)技術(shù)也有一定的局限性,所以沒能得到更加廣泛的應用。
2.3 四層結(jié)構(gòu)技術(shù)在軟件開發(fā)管理中的應用
在應用程序的計算環(huán)境越發(fā)復雜的情況下,需要處理的數(shù)據(jù)和邏輯也越來越多。在現(xiàn)實生活中,用戶需要利用計算機更快、更準的完成數(shù)據(jù)的處理和計算,并且完成規(guī)模更為復雜的邏輯的處理。因此,由于三層結(jié)構(gòu)具有無法實現(xiàn)彼此之間的相互獨立的問題,所以四層結(jié)構(gòu)技術(shù)應運而生。在層面上,各個層面結(jié)構(gòu)得到了重新的劃分,主要分為WEB層、存儲層、數(shù)據(jù)處理層和業(yè)務(wù)處理層。其中,WEB層主要負責根據(jù)用戶需要完成合適的處理路徑的選擇,而用戶需要的結(jié)構(gòu)越少,選擇也就會相對簡單。存儲層則會進行用戶數(shù)據(jù)的存儲,并且將數(shù)據(jù)處理信息發(fā)送至處理層表達需求。在需要進行大規(guī)模數(shù)據(jù)的處理時,數(shù)據(jù)處理層則會根據(jù)數(shù)據(jù)加工關(guān)系完成各方面運作效率的處理和改進,繼而完成大量數(shù)據(jù)和信息的分析和處理。具體來講,就是數(shù)據(jù)處理層可以將訪問代碼隱藏起來,并完成對關(guān)系數(shù)據(jù)庫和對象之間的計算機映射,繼而使關(guān)系與對象之間的阻抗不匹配問題得到解決。此外,業(yè)務(wù)邏輯層負責將數(shù)據(jù)處理層的結(jié)果傳送至WEB層,繼而實現(xiàn)計算機數(shù)據(jù)的交換[6]。而四層結(jié)構(gòu)的邏輯關(guān)系的確立,使計算機軟件開發(fā)中的環(huán)境問題得到解決,繼而使計算機軟件開發(fā)效率和復用性得到提高。
就目前來看,四層結(jié)構(gòu)技術(shù)有兩種形式的界面層,其中一種結(jié)構(gòu)相對簡單,主要包含JSP頁面。在該形式下,可以直接完成用戶需要的數(shù)據(jù)的查詢,并進行數(shù)據(jù)的反饋。但該模式下的系統(tǒng)升級和維護比較困難,所以在大型系統(tǒng)的開發(fā)方面很少使用。而另一種界面模式則以MVC結(jié)構(gòu)為基礎(chǔ),可以用于開發(fā)復雜的軟件系統(tǒng)[7]。所以,相較于三層結(jié)構(gòu)技術(shù),四層結(jié)構(gòu)技術(shù)雖然發(fā)展的仍然不夠成熟,但是在復雜系統(tǒng)的開發(fā)上具有一定的優(yōu)勢。因此,四層結(jié)構(gòu)技術(shù)已然成為了計算機軟件開發(fā)的主流技術(shù)。目前,為了使一些計算機的高度運行需求得到滿足,一些可以在特殊環(huán)境和特殊領(lǐng)域的計算機多層軟件得到了開發(fā)。而這些軟件的開發(fā)都是應用四層分層技術(shù),可以完成數(shù)據(jù)的快速處理。例如,在構(gòu)建新一代醫(yī)院信息系統(tǒng)時,為了使C/S系統(tǒng)的弊端得到克服,就可以應用四層分層技術(shù)。具體在軟件的開發(fā)的過程中,主要需要完成Client層和Server層等層別的部件的編寫。而四層分層技術(shù)的應用可以為JAVA、C語言等多種開發(fā)語言提供支持,所以能夠為程序員選擇開發(fā)語言提供便利。而Server層部件需要完成的業(yè)務(wù)邏輯功能是進行數(shù)據(jù)庫數(shù)據(jù)的查詢和修改,比如病人出入管理信息和平均住院日的計算等等。在系統(tǒng)安全方面,雖然醫(yī)院信息系統(tǒng)的用戶數(shù)量較多,但是所屬用戶組十分有限,因此可以通過對用戶組授權(quán)完成所有用戶的授權(quán)[8]。
2.4 五層結(jié)構(gòu)技術(shù)在軟件開發(fā)管理中的應用
在四層技術(shù)結(jié)構(gòu)的基礎(chǔ)上,五層技術(shù)結(jié)構(gòu)得以提出。具體來講,就是將數(shù)據(jù)層劃分成資源層和集成層,以便使系統(tǒng)的運行效率得到提高。同時,五層結(jié)構(gòu)技術(shù)的應用可以滿足數(shù)據(jù)運行的環(huán)境需求,可以在計算機數(shù)據(jù)運行的環(huán)境或特殊領(lǐng)域中應用。在應用的過程中,需要完成架構(gòu)分工的細化。就目前來看,J2EE環(huán)境中比較普遍的應用了五層結(jié)構(gòu)技術(shù),繼而使三層結(jié)構(gòu)得到了有效延伸。目前來看,J2EE環(huán)境中五層結(jié)構(gòu)由資源層、集成層、存儲層、WEB層和客戶層組成。其中,資源層與文件系統(tǒng)相對應,集成層則具有數(shù)據(jù)持久性特點,可以完成數(shù)據(jù)的持久性訪問[9]。在應用的過程中,則能夠完成事物的處理和數(shù)據(jù)庫的系統(tǒng)映射。而WEB層可以在服務(wù)器端上運行,客戶層則需要實施客戶機運行。利用這樣的模型結(jié)構(gòu),并按照具有一定規(guī)律的應用邏輯,就可以形成多個組件,繼而完成不同機器軟件的開發(fā)和配置。但就目前來看,五層結(jié)構(gòu)技術(shù)并沒有得到普遍的應用,只在一些特殊領(lǐng)域中有較大的應用價值。
2.5 中間件技術(shù)在軟件開發(fā)管理中的應用
在分層技術(shù)取得不斷發(fā)展的情況下,中間件技術(shù)得以出現(xiàn)。而該技術(shù)的應用可以在計算機運行環(huán)境下,并幫助計算機實現(xiàn)與各系統(tǒng)之間的資源優(yōu)勢互補(如下圖3)。所以,科學的使用中間件技術(shù)可以使異構(gòu)和分布集成匯總存在的多種復雜問題逐漸減少,繼而使計算機軟件的開發(fā)難度得到降低。從優(yōu)勢上來講,中間件技術(shù)的應用可以使應用軟件、操作系統(tǒng)和數(shù)據(jù)庫之間的關(guān)系得到優(yōu)化,并使計算機軟件開發(fā)的時間得到減少。此外,中間件技術(shù)的應用,還可以使軟件運行的穩(wěn)定性得到提高,繼而給軟件的使用提供一定的安全保障。而根據(jù)中間件技術(shù)在系統(tǒng)中的不同作用,目前可以將中間件分成是幾類,即面向?qū)ο笾虚g件、面向消息中間件和遠程調(diào)用中間件[10]。就目前來看,有關(guān)中間件技術(shù)的研究已經(jīng)取得了一定的成果,從而使其逐漸成為了一種獨立軟件。而計算機軟件的開發(fā)之所以具有較大的難度,主要是因為各種復雜技術(shù)的屏蔽程序的存在。但中間件技術(shù)的開發(fā)時間較短,所以幾乎可以在所有的軟件開發(fā)工作中使用。因此,中間件技術(shù)的應用,使系統(tǒng)整體得到優(yōu)化,并且確保了數(shù)據(jù)之間的安全聯(lián)系。在系統(tǒng)運行上,中間件技術(shù)的應用使軟件開發(fā)風險得以降低,繼而使計算機的資源互補性得到了保證。
3 結(jié)束語
分層技術(shù)的出現(xiàn)順應了時代的發(fā)展需要,有利于促進計算機技術(shù)的不斷發(fā)展。利用分層技術(shù),計算機軟件的開發(fā)質(zhì)量和效率都得了提高,并且滿足了客戶對軟件開發(fā)的各種需求。就目前來看,由于多層結(jié)構(gòu)具有較強的安全性和可擴展性,所以相較于雙層結(jié)構(gòu)技術(shù)和三層結(jié)構(gòu)技術(shù),四層結(jié)構(gòu)技術(shù)和五層結(jié)構(gòu)技術(shù)在軟件分層管理開發(fā)中的應用更具有優(yōu)勢。而中間技術(shù)在多層次的技術(shù)結(jié)構(gòu)中發(fā)揮的作用也十分顯著,因此該技術(shù)的應用對軟件開發(fā)技術(shù)的提高具有一定的意義。
參考文獻:
[1] 楊柯. 分層技術(shù)在計算機軟件開發(fā)中的應用效果分析[J]. 軟件, 2013(10): 47-48.
[2] 李大勇. 關(guān)于分層技術(shù)在計算機軟件中的應用研究與分析[J]. 計算機光盤軟件與應用, 2014(20): 78-79.
[3] 葉娜, 朱秀娟. 試論計算機軟件開發(fā)中的分層技術(shù)運用[J]. 無線互聯(lián)科技, 2013(6): 61.
[4] 徐愛蘭. 計算機軟件開發(fā)中的分層技術(shù)探討[J]. 計算機光盤軟件與應用, 2012(24): 162-163.
[5] 鄒濤. 分層技術(shù)在計算機軟件開發(fā)中的應用探討[J]. 電子技術(shù)與軟件工程, 2014(13): 90.
[6] 常鐵艦. 分層技術(shù)在軟件開發(fā)中的應用分析[J]. 硅谷, 2015(2): 83+71.
[7] 王彬華. 淺談運用分層技術(shù)豐富計算機軟件開發(fā)[J]. 計算機光盤軟件與應用, 2014(21): 66-67.
[8] 李成鋮. 基于RFID技術(shù)的第三方物流實時跟蹤系統(tǒng)的設(shè)計[D]. 濟南: 山東大學, 2012.
[9] 張世海, 梁曉梅. 論計算機軟件開發(fā)技術(shù)的應用[J]. 電子技術(shù)與軟件工程, 2013(23): 100.
[10] 邱志超. 計算機軟件開發(fā)技術(shù)的現(xiàn)狀及應用探究[J]. 電腦知識與技術(shù), 2014(10): 2261-2262.