仇 雷
中國人民解放軍第八十二醫院信息科,江蘇 淮安 223001
在信息技術為關鍵要素的當今社會,用最快的速度開發、部署一套穩定、高效、安全的信息系統成了關鍵,而Java EE技術以其各種優越的條件成為了首選。Java EE建立在J2SE基礎上,增加了一些新的類庫。Java EE如何能夠承擔這一重任?它有何優越之處?在此就通過對企業信息發布與管理平臺的高層構建對相關技術進行簡要的探討。
Java EE,其目的就在于為開發者提供一整套強大而易用的API,以減少開發時間,降低應用復雜度并提升應用的各項表現。
回到企業信息發布與管理平臺這套系統上來,該系統根本的業務目標和流程并不復雜:其旨在為廣大中小企業以及個人提供一個可以進行網上交易、展示企業相關產品的信息平臺。通過該系統能更好地展示企業形象,以及為企業的最新產品、供求信息等提供一個方便的發布場所,為企業帶來實際效益。從系統最終使用者的角度來看,無非有兩類用戶:個人用戶和企業用戶。企業用戶可以發布自己的信息,個人用戶則主要是瀏覽信息,參與企業的活動,與企業之間形成買賣關系,也可以根據企業的崗位需求投遞職位請求。企業用戶之間當然也可以形成商業關系,構建自己的供應鏈,進行商品和信息服務的交易活動。總之,這是一個典型的電子商務系統。
基于上述業務需求,衍生出系統需求。該系統須至少具備如下模塊:用戶管理模塊,將每個注冊用戶作為實單個體,進行信息的管理,簡明一點,就是每個用戶都需要進行身份驗證,登錄并使用本系統;業務管理模塊,主要業務邏輯的實現部分,提供交易平臺,可供用戶之間進行商品的網上交易。
鑒于此,BS總體架構成為該網絡應用的最佳選擇。由于用戶范圍廣,分類構成復雜,充分簡化客戶端成為必然。相比于CS,BS只要求客戶端裝有瀏覽器就可以了。于是,所有的系統部件都需要部署在服務器端。而在服務器端,經典的MVC架構也成為首選。各種實體,包括用戶、企業、各種信息,成為Model;用戶能夠看到的界面成為View;Controller連接M和V,控制M的變化和V的顯示方式以及M和V的信息交互。由于系統可能擁有龐大的潛在用戶群體和市場,意味著巨大的信息訪問量,因此部署高效的數據庫系統勝于其他的信息存儲訪問方式。
客戶端的顯示邏輯并不復雜,使用HTML構建Web頁面。不過需要使用動態網頁進行與用戶的交互。單純的HTML僅能描述界面,不包含程序邏輯,這就需要服務器首先生成靜態頁面,捕捉到用戶輸入,然后進行后臺處理,再返回到客戶端瀏覽器生成新的靜態頁面。服務器端的控制部分則要銜接用戶界面和后臺數據庫,并進行各種邏輯處理,還包括對安全性和效率的技術實現。
經過簡單的分析,從開發人員的角度來看,系統主要邏輯便不再復雜:服務器端的控制器從用戶頁面上捕獲用戶的輸入,進行邏輯判斷和處理,與數據庫進行數據交互,再把處理結果生成新的頁面返回給用戶。所有的細節無非就是這個過程的迭代和重復。這一步分析將確保開發人員選擇合適的工具和架構進行系統實現。至于細節的設計,則是在這個框架的基礎上進行的創造性勞動了。J2EE已經為我們提供了全套的解決方案:
Java Server Pages(JSP),可以非常方便地幫助我們構建靜態和動態的Web頁面。它可以和Servlet技術結合起來以充分發揮動態頁面的優勢,更可以快速地構建普通靜態頁面。一個JSP頁面由兩部分內容構成:靜態數據,可以是HTML,SVG,WML或XML;JSP元素,用以構建動態內容。它可以被粗略地理解為靜態Web頁面嵌入Java代碼,內部邏輯由Java代碼控制。
Servlets是Java的一類,可以動態處理請求并生成回應結果。它通常和JSP結合起來使用,JSP在前臺捕獲用戶動作,交給后臺Servlets處理,然后Servlets將處理結果再返回給JSP呈現給用戶。
JDBC技術,用于Java的數據庫連接,使用針對于數據庫的驅動程序,提供一組用于訪問任何數據庫的API。訪問特定類型的數據庫:必須使用該數據庫特定的JDBC驅動程序,其由數據庫方提供。這里有一個重要概念,即Java持久化API。
Java EE之所以把商務數據當作對象來處理,而不是處理數據庫中的原始數據,是因為Java本身對于對象概念的理解:對象可以被更方便地操作和管理;可以把相關的數據聚合成為一個統一的對象;可以把一些簡單的對數據的處理方法和數據聯系在一起;可以將數據放到緩存中,提高效率;還可以從一個應用服務器上得到隱含的中間件服務。基于上述從前臺到后臺的應用,更有諸多的開發框架的支持,比如Spring,Struts,Hibernate等等,這些內容可以展開若干本書籍,對于它們的充分利用將大大簡化開發過程。
提到商務應用的開發,一個至關重要的內容就是安全。對此,Java EE當然為我們準備了周密的安全機制實現,限于篇幅,這里不再展開。
總之,信息技術并不是無端產生的一個異類,它和我們的生活息息相關,它的運行方式也從我們的生活中借鑒而來。假如我們要做一件事情,首先要明確我們要做什么,然后選擇合適的工具和方法,然后是規劃細節的實施方案,最后是按照我們的想法將事情完成好。信息系統架構也一樣,信息技術就是為了更好地解決現實中的問題而發展的,而一套完整的解決方案的誕生也為我們提供了良好的模板,讓我們在遇到類似問題的時候可以借用前人的智慧更高效地解決而不是一切從頭開始。
[1]夏天.J2EE應用服務器兼容研究[J].計算機工程,2006(2):65-67.
[2]陳國雄.J2EE應用服務器系統設計[J].軟件導刊,2007(11):29-31.
[3]李晨陽,焦海星.創建高性能的J2EE應用系統[J].計算機系統應用,2005(2):10-13.