□文/耿麗霞
(鄭州輕工業(yè)學(xué)院圖書館 河南·鄭州)
圖書館知識管理的技術(shù)實現(xiàn)最終需要開發(fā)實用的知識管理系統(tǒng),一個關(guān)鍵問題就是知識管理系統(tǒng)開發(fā)平臺的選擇,當(dāng)前基本上是J2EE 和.NET 的選擇。
它在三層模式基礎(chǔ)上,提供了一個多層次的分布式應(yīng)用模型和一系列開發(fā)技術(shù)規(guī)范,使應(yīng)用邏輯根據(jù)功能劃分成多層,每層支持相應(yīng)的服務(wù)器和組件,組件在分布式服務(wù)器各自的組件容器中運行,并通過相關(guān)協(xié)議進(jìn)行通訊,實現(xiàn)組件的相互調(diào)用。J2EE 這種基于組件的集成管理系統(tǒng),具有平臺無關(guān)性,即高度的可移植性和兼容性平臺的多層體系結(jié)構(gòu),符合圖書館知識管理技術(shù)平臺的要求。
(一)J2EE平臺的基本構(gòu)成。Java2 技術(shù)是J2EE 的平臺基礎(chǔ),它的本質(zhì)就是一個可移植的面向?qū)ο蟮沫h(huán)境,各個供應(yīng)商的產(chǎn)品可以通過使用Java 語言的API 接口實現(xiàn)與J2EE 的兼容。APPLET、EJB、web 組件及各種客戶應(yīng)用均獲得J2EE 的支持,在各自的容器內(nèi)運行。在J2EE 平臺規(guī)范中,定義了數(shù)據(jù)存取服務(wù)接口、事務(wù)服務(wù)接口、命名與目錄服務(wù)接口、安全服務(wù)接口和消息服務(wù)接口這五種服務(wù)接口來提供一些基本的服務(wù)。通過INTERNET 協(xié)議、RMI 協(xié)議和CORBA 協(xié)議來實現(xiàn)各系統(tǒng)平臺、各層、各組件間的通訊與相互操作的兼容。
(二)J2EE平臺的分布層次。J2EE 是基于三層/多層分布式的體系結(jié)構(gòu),由客戶層、web 層、業(yè)務(wù)層和信息系統(tǒng)層構(gòu)成。客戶層方面由客戶端負(fù)責(zé)用戶與系統(tǒng)的交互,用戶的瀏覽器在客戶層中可以選擇基于web 運行,或不基于web 而獨立運行的應(yīng)用程序。web 層由JSP 頁面和顯示HTML 頁面的SERVLER 組成,響應(yīng)客戶請求、調(diào)用相應(yīng)的業(yè)務(wù)邏輯、EJB 查詢等需要通過運行此層的web 組件。業(yè)務(wù)層也稱EJB 層,是J2EE 體系結(jié)構(gòu)中的核心層,EJB 容器負(fù)責(zé)實現(xiàn)目錄服務(wù)、事務(wù)處理、持久性、安全性等底層系統(tǒng)邏輯,實現(xiàn)信息系統(tǒng)的業(yè)務(wù)邏輯功能需通過運行EJB 組件,EJB 從客戶端接收數(shù)據(jù)進(jìn)行處理,再將數(shù)據(jù)送達(dá)信息系統(tǒng)層儲存,或者從信息系統(tǒng)層檢索獲取數(shù)據(jù),處理后返回客戶端。數(shù)據(jù)庫系統(tǒng)、基礎(chǔ)系統(tǒng)、事務(wù)處理系統(tǒng)、其他遺留信息系統(tǒng)軟件的運行則要在企業(yè)信息系統(tǒng)層中運行。
(三)J2EE平臺的優(yōu)勢特性
1、J2EE的集成性與擴展性。J2EE 的集成性和擴展性主要體現(xiàn)在能達(dá)到一定程度的互操作性,這不僅表現(xiàn)在支持異構(gòu)環(huán)境,包括各類操作系統(tǒng)、機器平臺、各種軟件語言和開發(fā)工具生成的各種功能,還表現(xiàn)在對遺留系統(tǒng)和應(yīng)用的集成能力上。目前得到業(yè)界重視的是,J2EE 只作為互聯(lián)網(wǎng)的底層基礎(chǔ)構(gòu)架服務(wù)于互聯(lián)網(wǎng),被采用最多的web 服務(wù)器軟件大多基于J2EE,實現(xiàn)了支持互聯(lián)網(wǎng)應(yīng)用的首要目的。J2EE 是SUN 公司引導(dǎo)、眾多廠商共同發(fā)起的,而非SUN 公司單獨制定的公司產(chǎn)品,它是IBM、Oracle、BEA 等業(yè)界許多大公司的廣泛認(rèn)可并參與的一系列工業(yè)規(guī)范,現(xiàn)在已經(jīng)有IBM Web-sphere application server、Oracle application server等數(shù)十個應(yīng)用服務(wù)器支持J2EE。
2、J2EE的效率性和靈活性。J2EE 的一個主要目的就是簡化企業(yè)應(yīng)用系統(tǒng)的開發(fā),EJB 組件分離了業(yè)務(wù)邏輯和表示邏輯代碼,也把應(yīng)用程序邏輯和系統(tǒng)服務(wù)分開,使研發(fā)人員的工作簡化,僅專注實現(xiàn)業(yè)務(wù)邏輯,而與信息系統(tǒng)層數(shù)據(jù)的連接由容器自動實現(xiàn),開發(fā)效率大幅度提升。易于升級維護(hù)的客戶端幾乎沒有維護(hù)成本,只需要改動業(yè)務(wù)組件,客戶端就會自動跟隨改變。J2EE 的靈活性表現(xiàn)在客戶端顯示的靈活多樣性,既可以使用客戶端應(yīng)用程序為內(nèi)部工作人員提供更深層的檢索,也可以使用瀏覽器為外部用戶提供OPAC 的web 檢索。組件的可移植和可重新部署也體現(xiàn)了它的靈活性,使得圖書館的業(yè)務(wù)流程可以在其他圖書館的系統(tǒng)軟件中進(jìn)行移植和重新組合。
3、J2EE的重用性和安全性。J2EE 在圖書館應(yīng)用中的重用性體現(xiàn)在圖書館服務(wù)于不同的群體,在針對用戶和工作人員時圖書檢索功能要顯示不同的檢索界面和結(jié)果界面,應(yīng)用EJB 組件重用技術(shù),可以實現(xiàn)“一次編寫、多次運行”,使用同一個組件檢索,既可以拆分同一組件提供給不同的應(yīng)用,也可將一個組件與其他組件集成為復(fù)合組件來應(yīng)用。J2EE 體系結(jié)構(gòu)中業(yè)務(wù)邏輯和表示邏輯分離,可在EJB 組件與web 組件間設(shè)置防火墻,EJB 技術(shù)允許在每個EJB 組件上實施安全策略,J2EE 的安全服務(wù)接口還可以采用身份認(rèn)證和資源授權(quán)訪問模式來保證安全。圖書館可以設(shè)置組件功能訪問權(quán)限、設(shè)置用戶權(quán)限、增設(shè)防火墻等方面來提高安全性。
(四)J2EE存在的問題
1、J2EE的兼容性問題。目前因為各個廠商采用的方案不同,使用的數(shù)據(jù)庫、中間件開發(fā)平臺、開發(fā)工具等差異,J2EE在實際使用中還是有一個兼容性問題。
2、項目進(jìn)度慢的問題。與.NET 的開發(fā)平臺相比,J2EE 的開發(fā)工具雖然多,但在數(shù)據(jù)庫的集成性和易用性方面還有一定的差距,研發(fā)同一項目時,對時間有要求的項目來說占優(yōu)勢。
3、費用問題。大多數(shù)環(huán)境下J2EE 是通用的,但是不同廠商的數(shù)據(jù)庫、web 服務(wù)器和中間件服務(wù)器等均存在差異,跨平臺產(chǎn)品的開發(fā)需要為不同的搭配設(shè)置不同的參數(shù),而且時間消耗非常久,這對中小單位的資金投入是一個考驗。J2EE 研發(fā)費用遠(yuǎn)遠(yuǎn)高于微軟的研發(fā)費用,這主要消耗在精通整個J2EE 多種平臺的項目經(jīng)理和系統(tǒng)分析師的酬勞方面。
它創(chuàng)新地整合了計算和通信,為每個研發(fā)人員提供用于轉(zhuǎn)換web 和所有其他計算體驗的工具,第一次使研發(fā)人員、企業(yè)和用戶按照自己的習(xí)慣進(jìn)行工作,這一高級軟件就是Microsoft.NET,它創(chuàng)建了真正意義上的分布式“web 服務(wù)”。
(一)Microsoft.NET的構(gòu)建思路。將側(cè)重點從連接到互聯(lián)網(wǎng)的單一網(wǎng)站或設(shè)備上,轉(zhuǎn)移到計算機、設(shè)備和服務(wù)群組上,通力合作提供更廣泛、更豐富的解決方案,由用戶控制信息的傳送方式、時間和內(nèi)容,計算機、設(shè)備和服務(wù)融合,打破過去由用戶提供唯一的集成,隨時隨地利用任何設(shè)備上的信息。
(二)Microsoft.NET的構(gòu)建組成。Microsoft.NET 由Microsoft.NET 平臺、Microsoft.NET 產(chǎn)品和服務(wù)、第三方.NET 服務(wù)三部分內(nèi)容所組合,它開辟了互聯(lián)網(wǎng)新局面。Microsoft.NET 平臺包括用于創(chuàng)建和操作新一代服務(wù)的.NET 基礎(chǔ)結(jié)構(gòu)和工具;用于建立新一代高度分布的數(shù)以百萬計的.NET 積木式組件服務(wù);可以啟用大量客戶機的.NET USER EXPERIENCE,以及用于啟用新一代智能互聯(lián)網(wǎng)設(shè)備的.NET 設(shè)備軟件。Microsoft.NET 產(chǎn)品和服務(wù)包括WINDWS.NET、連同建立積木式服務(wù)的核心集成套件、MSNTM.NET、個人訂購服務(wù)、OFFICE.NET、VISUALSTUDIO.NET 以及用于.NET 的BCENTRAL TM。第三方.NET 服務(wù)是指在綜合性門戶和專業(yè)性門戶間進(jìn)行的合作服務(wù)和垂直服務(wù),研發(fā)人員以及合作伙伴將有機會提供基于.NET 上的選擇性服務(wù)。
(三).NET的優(yōu)勢特性
1、.NET的突破性和創(chuàng)新性。.NET 是一個連接系統(tǒng)、人員、設(shè)備和信息的平臺,是通往協(xié)同工作的一條捷徑。它解除了不同系統(tǒng)之間的障礙、解除了知識分享的障礙、解除了日常使用中的信任溝通障礙,創(chuàng)造了彼此聯(lián)系的用戶體驗,更新了人們工作和生活方式的基礎(chǔ)平臺。
2、.NET的綜合性和簡潔性。Microsoft.NET 的功能在綜合性方面,它超越了單方向的web 功能,借助先進(jìn)的軟件,Microsoft.NET 利用一套應(yīng)用程序、服務(wù)及裝置來提供個人化的數(shù)字體驗,在多重、協(xié)作、交互的環(huán)境中完成計算和通信。Microsoft.NET 的功能在簡潔性方面,它對消費者和企業(yè)而言,瀏覽、編輯和協(xié)作的一體化;在線和脫機訪問所有文件、作業(yè)和媒體;全盤接觸各種裝置、隨時進(jìn)行個人化及零管理;多方位的通信以及無縫的可移動的體驗;也是信息管理和電子商務(wù)的工具,支持在內(nèi)部和基于互聯(lián)網(wǎng)的多種服務(wù)之間進(jìn)行透明移動,開辟動態(tài)貿(mào)易關(guān)系新紀(jì)元。
3、.NET的平衡性和挖掘性。在“互聯(lián)網(wǎng)時代”,Microsoft.NET 給獨立的軟件開發(fā)人員提供了創(chuàng)造新型的先進(jìn)服務(wù)的機會,這些服務(wù)能夠在任何裝置和語言下實現(xiàn),不必根據(jù)不同的環(huán)境重新編制代碼,能自動訪問及平衡本地和遠(yuǎn)地信息。Microsoft.NET 開啟了互聯(lián)網(wǎng)的新起點,基于HTML 的顯示信息將通過可編程的基于XML 的信息得到增強(XML 提供了一種從數(shù)據(jù)的演示視圖分離出實際數(shù)據(jù)的方式),這是新一代互聯(lián)網(wǎng)的關(guān)鍵,可以更有效地將數(shù)據(jù)分布到不同的數(shù)字設(shè)備?;ヂ?lián)網(wǎng)上的任何東西都成了這些新服務(wù)的潛在的積木式組件,每個應(yīng)用程序都可以作為互聯(lián)網(wǎng)上的一項服務(wù)。Microsoft.NET對消費者、企業(yè)、軟件研發(fā)者乃至整個行業(yè)授予更大的權(quán)限,是對互聯(lián)網(wǎng)全部潛能的一次深挖掘。
(四).NET存在的問題
1、供應(yīng)商的唯一性。.NET 供應(yīng)商只有微軟。選擇了微軟也就選擇了微軟的操作系統(tǒng)、開發(fā)工具、開發(fā)規(guī)則,以及最后生成的產(chǎn)品也只能在微軟平臺上運行。
2、平臺的安全性。使用了解微軟的人很多,病毒的出現(xiàn)、黑客的攻擊大部分都是針對微軟平臺的。涉及到訪問量高、安全性高、可靠性高的系統(tǒng),對使用微軟平臺均持謹(jǐn)慎態(tài)度。
3、費用問題。微軟的產(chǎn)品更新?lián)Q代升級非???。微軟的產(chǎn)品開發(fā)效率高、成本低的同時,操作系統(tǒng)、數(shù)據(jù)庫、中間件的不斷升級打補丁的后續(xù)成本非常高。面對產(chǎn)品的更新?lián)Q代產(chǎn)生的員工巨額培訓(xùn)費,還有購買微軟的技術(shù)服務(wù)的龐大費用,不是每個用戶單位都容易承受的。
需求單位的環(huán)境決定了應(yīng)用平臺的選擇。在系統(tǒng)壓力不大、使用頻率不高的局部環(huán)境中,.NET 的使用操作性強、易入手、維護(hù)成本低;當(dāng)局部環(huán)境業(yè)務(wù)量擴充,系統(tǒng)需要擴展時候,J2EE 不失為一個好的選擇。目前,圖書館所使用的系統(tǒng)均在J2EE 開放性的構(gòu)架平臺上使用。信息化時代,圖書館使用的圖書館管理系統(tǒng),必須要考慮到知識管理信息門戶在技術(shù)上與現(xiàn)有的各類遺留系統(tǒng)的兼容性,以及新系統(tǒng)、新應(yīng)用、新的web 服務(wù)等的集成性和可擴展性。無論J2EE 還是.NET 都需要WebService 來實現(xiàn)網(wǎng)上系統(tǒng)的功能。WebService 是一個應(yīng)用程序,一個能夠通過web 進(jìn)行調(diào)用的API,能夠運用編程的方法通過web 來調(diào)用這個程序。Web-Service 平臺是一套標(biāo)準(zhǔn),它定義了應(yīng)用程序如何在web 上實現(xiàn)互操作性。在傳統(tǒng)的J2EE 和創(chuàng)新的.NET 之間展開的競爭,有望在業(yè)界人士的努力下,以WebService為基礎(chǔ)走向融合。
[1]吳彥.基于J2EE的系統(tǒng)設(shè)計模式[J].電腦知識與技術(shù),2009.12.
[2]姚麗.淺談開發(fā)模式技術(shù)架構(gòu)的發(fā)展趨勢——J2EE技術(shù)[J].遼寧師專學(xué)報(自然科學(xué)版),2011.3.
[3]楊慧.MVC模式在J2EE和.NET中的對比研究[J].中國科技信息,2011.24.