用J2EE架構企業級應用(1)

企業級應用是指那些爲商業組織、大型企業而創建並部署的解決方案及應用。這些大型企業級應用的結構複雜,涉及的外部資源衆多、事務密集、數據量大、用戶數多,有較強的安全性考慮。

當代的企業級應用決不可能是一個個的獨立系統。在企業中,一般都會部署多個彼此連接的、相互通過不同集成層次進行交互的企業級應用,同時這些應用又都有可能與其它企業的相關應用連接,從而構成一個結構複雜的、跨越Intranet和Internet的分佈式企業應用羣集。其中,連接企業內部各種應用的技術稱爲EAI(Enterprise Application Integration, 企業應用集成),而連接企業間各種應用的技術稱爲B2BI(Business-To-Business Integration, 企業間集成),採用EAI、B2BI技術及早先的N層體系架構就是當今企業級應用的最大特徵。

此外,作爲企業級應用,其不但要有強大的功能,還要能夠滿足未來業務需求的變化,易於升級和維護。

 

企業級應用架構

下面我們使用一個圖示來簡單地解析一下企業級應用的架構,見圖1。

 

 

圖1 企業級應用的體系架構

這個體系架構的主體是MVC架構。MVC是Model/View/Control的縮寫。Model/View/Control是軟件設計的典型結構。在這種設計結構下,一個應用被分爲三個部分:Model、View和Controller,每個部分負責不同的功能。Model是指對業務數據/信息的處理模塊,包括對業務數據的存取、加工、綜合等;View是指用戶界面,也就是面向用戶的數據表示;Controller則負責View和Model之間的流程控制,也就是完成兩個方向的動作:1.將用戶界面(View)的操作映射到具體的Model,以完成具體的業務邏輯;2. 將通過Model處理完的業務數據及時反應到用戶界面(View)上。

MVC架構使得應用程序的結構更加清晰,通過將代碼按照層次劃分爲業務邏輯/數據、用戶界面和應用流程控制這三個層次,增強代碼穩定性。我們知道,對於Model、View、Controller這三部分功能來講,View的實現一般是由界面設計人員和界面程序員來完成,Model則是由業務邏輯程序員來完成,Controller則一般由負責整體控制的程序員來完成。Controller部分的代碼比較穩定,一般會實現一個通用的架構;而Model則跟隨商務流程的變化而變化;View的更改則是隨着用戶需求的更改而更改。這種模塊功能的劃分有利於在代碼修改過程中進行模塊的隔離,而不需要把具有不同功能的代碼混雜在一起造成混亂。對於項目開發而言,有利於在項目小組內按照小組成員各自的擅長進行分工,有利於三個部分並行開發、加快項目進度。

 

企業級資源連接

對於Model部分,也就是業務邏輯的處理部分,一般總是對商務數據進行處理、加工、綜合等。對於企業級應用而言,商務數據有兩種來源,一種是數據庫,另一種則是其它的企業級應用系統。

對於數據庫而言,這應當是大家熟悉的領域。我們通過使用數據庫驅動程序,利用SQL來查詢、操縱數據庫。而對於其它的企業級應用而言,一般這些應用都會提供API,通過這些API,其它的應用就能夠存取訪問其中的數據,甚至是觸發這些企業級應用中的一些業餘流程。

 

企業級平臺的特徵

企業級應用需要使用優秀的企業級應用體系結構,而優秀的企業級應用體系結構通常來自於優秀的解決方案。應用程序設計開始就要考慮其體系結構的合理性、靈活性、健壯性,從而既可滿足企業級應用的複雜需求,也能爲今後系統的調整和升級留有餘地。體系結構影響了整個應用的生命週期,實際上能夠延長整個應用的生命週期,同時增強了用戶在多變的商業社會中的適應性,減少了系統維護的開銷和難度,從而給用戶帶來最大的利益。

一個理想的企業級應用系統平臺應該具有如下特徵:

◆ 部署、開發和維護的有效性;

◆ 系統運行的健壯性和可靠性;

◆ 具備失敗恢復的能力;

◆ 能夠處理海量的數據;

◆ 能夠同時支持數百個用戶;

◆ 具備很高的安全性;

◆ 數據的高可用性;

◆ 可以迅速地開發和部署新的應用程序;

◆ 簡化組件重用;

◆ 直觀的編程模型;

◆ 支持行業標準和通用編程接口;

◆ 適用與小、中、大各種規模的應用系統;

◆ 系統費用隨系統規模的增長而線性增長;

◆ 不斷進行技術升級,以滿足不斷涌現的需求。

 

使用J2EE架構企業級應用

爲了滿足架構企業級應用的需求,Java的創始人Sun公司在早期的J2SE(Java 2 Platform Standard Edition)基礎上,針對企業級應用的各種需求,主導並創造了J2EE(Java 2 Platform Enterprise Edition)。

那麼到底什麼是J2EE呢?從整體上講,J2EE是使用Java技術開發企業級應用的一種事實上的工業標準(Sun公司出於其自身利益的考慮,至今沒有將Java及其相關技術納入標準化組織的體系),它是Java技術不斷適應和促進企業級應用過程中的產物。目前,Java平臺有三個版本:適用於小型設備和智能卡的J2ME(Java 2 Platform Micro Edition)、適用於桌面系統的J2SE和適用於企業級應用的J2EE。Sun推出J2EE的目的是爲了克服傳統Client/Server模式的弊病,迎合Browser/Server架構的潮流,爲應用Java技術開發服務器端應用提供一個平臺獨立的、可移植的、多用戶的、安全的和基於標準的企業級平臺,從而簡化企業應用的開發、管理和部署。J2EE是一個標準,而不是一個現成的產品。各個平臺開發商按照J2EE規範分別開發了不同的J2EE應用服務器,J2EE應用服務器是J2EE企業級應用的部署平臺。由於它們都遵循了J2EE規範,因此,使用J2EE技術開發的企業級應用可以部署在各種J2EE應用服務器上。

爲了推廣並規範化使用J2EE架構企業級應用的體系架構,Sun同時給出了一個建議性的J2EE應用設計模型:J2EE Blueprints。J2EE Blueprints提供了實施J2EE企業級應用的體系架構、設計模式和相關的代碼,通過應用J2EE Blueprints所描述的體系模型,能夠部分簡化架構企業級應用這項複雜的工作。J2EE Blueprints是開發人員設計和優化J2EE組件的基本原則,同時爲圍繞開發工作進行職能分工給出了指導性策略,以幫助應用開發設計人員合理地分配技術資源。

下面我們參照J2EE Blueprints,結合最新版的J2EE規範(J2EE 1.4),從整體上闡述如何使用J2EE架構企業級應用。

 

 

圖2 使用J2EE架構企業級應用的體系架構

圖2給出了使用J2EE架構企業級應用的體系架構。J2EE將組成一個完整企業級應用的不同部分納入不同的容器(Container),每個容器中都包含若干組件(這些組件是需要部署在相應容器中的),同時各種組件都能使用各種J2EE Service/API。J2EE容器包括:

 
發佈了30 篇原創文章 · 獲贊 11 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章