2.1 基本系統模型
2.2 體系結構
2.3 Web應用編程模型
2.4 WebSphere
要轉變傳統的業務過程,就需要開發和部署電子商務應用系統的一個基礎,電子商務應用框架正是這樣的一個基礎。許多企業希望電子商務應用系統具備下列特征:
1) 基于標準;
2) 以服務器為中心;
3) 可伸縮;
4) 能利用已有的核心系統;
5) 可快速部署和易用;
6) 易管理。
本章介紹的電子商務應用框架能滿足企業開發電子商務應用系統的上述需求。所謂一個框架是指一個可復用的設計,表示為一組抽象的元素范例以及元素范例之間合作的接口。框架是有針對性的,如一個用戶界面框架只為軟件系統的用戶界面提供了一個設計,而一個應用框架為整個應用系統提供了一個設計。一個應用框架中的元素范例也可稱之為組件。本節介紹的電子商務應用框架基于業界標準;它為開發和部署電子商務應用系統提供了一組完整的服務;它提供的Web應用編程模型定義了Web應用拓撲結構以及使用框架提供的服務來設計Web應用的一個模型。這個框架基于獨立于平臺和提供商的技術標準,包括關于客戶端、應用服務器、網絡、數據和基礎設施的標準。這些標準使得客戶能在任何時候在網絡上的任何地方存取有關數據和服務,也使得開發的應用軟件只需寫一次就能到處運行,并能即插即用各種組件。下面介紹電子商務應用框架的基本系統模型、體系結構和Web應用編程模型。
2.1 基本系統模型
電子商務應用框架為設計電子商務解決方案提供了一個模型。這個框架基于一個多層的分布式環境,在這個環境中,任何多的各層應用邏輯和商業服務分離為各種組件,這些組件通過網絡相互通信。在它的最基本的形式中,可以被描述為一個“邏輯上”的3層計算模型,即分層是在邏輯上的,并不要求是物理上的。這個基本的3層系統模型包括客戶、Web 應用服務器、服務器(見圖2-1)。在這3個邏輯層中的應用元素通過一組業界標準的協議、服務和軟件連接器互相連接起來。
圖2-1:基本系統模型
1. 客戶。這個應用框架支持廣泛的客戶端設備,從個人數字助理(PDA)、智能卡(smartcard)、數字無繩電話等大眾普遍使用的設備到網絡計算機和個人計算機。將這些客戶端設備連結到Web應用服務器的思路是使用一組被廣泛支持的基于Internet的技術和協議。客戶端的主要作用是將應用產生的結果信息顯示給用戶。正因為如此,這種客戶通常被稱為“瘦客戶”,也就是說在客戶端執行的應用邏輯很少或沒有,這樣,很小的軟件(如Web瀏覽器)需要在客戶端安裝。
2. Web應用服務器。Web應用服務器是這樣的一個平臺,它為應用的業務邏輯提供了一個運行環境。它包括HTTP服務器和企業Java服務,支持分布式網絡環境下應用軟件的快速開發和部署。應用軟件在Web應用服務器及其內嵌的JVM(Java Virtual Machine,Java虛擬機)中運行。這些服務端的組件通過HTTP或IIOP(Internet Inter-ORB Protocol)與客戶和其它組件通信,并利用網絡基礎架構提供的目錄和安全服務。這些組件還可以利用數據庫、事務處理、和群件等設施。
3. 連到外部服務的連接器。外部服務通常是企業在信息技術上多年投資的結果,是人們日常工作所依賴的應用和數據。這些應用和數據是重要的商務資源,需要以一種安全且可控的方式連接到Web上,使得企業充分發揮它們的作用為顧客、業務伙伴和員工服務。連接器就是使得它成為現實的一種機制。連接器將中間層內新增的業務邏輯連結到企業已有的應用和數據,從而將Internet的力量無縫地連接到企業中來。
這個電子商務基本系統模型集中體現了面向Web的網絡計算風格,并結合了顯示、業務邏輯、數據存貯這3層應用元素。這個基本系統模型的特性如下:
1. 基于Web瀏覽器/Java applet使能的廣泛的客戶連接。
2. 易管理的客戶,通過配置需要很少或無須本地的軟件安裝和數據備份。
3. 寫一次、到處可運行的應用軟件的快速開發及即時部署。
4. 提倡軟件復用,使得新添程序量最小化、生產效率最大化,并提高軟件質量。
5. 與外部服務的連接,在這些外部服務系統中駐留著已有業務應用和數據,充分發揮它們的作用為顧客、業務伙伴和員工服務。
2.2 體系結構
電子商務應用框架的體系結構為開發和部署電子商務應用系統提供了一組完整的服務。這個體系結構由下列關鍵元素構成(參見圖2-2):
圖2-2:應用框架的體系結構
1) 客戶基于Web瀏覽器/Java applet模式,使得對應用系統的存取變得很普遍,并且應用組件能即時發送。
2) 網絡基礎設施提供了如TCP/IP、目錄和安全等服務,這些服務的能力可通過開放且標準的接口和協議來存取。
3) 應用服務器軟件為電子商務應用系統提供了一個平臺,包括HTTP服務器、數據庫和事務處理服務、郵件和群件服務、和消息服務。
4) 應用集成使得異構應用系統間相互通信,使得Web能存取現有數據和應用系統。
5) Web應用編程環境為創建動態和健壯的電子商務應用系統提供了服務端Java編程環境。
6) 電子商務應用服務為方便電子商務解決方案的創建提供了高層應用的特定功能。
7) 系統管理用來滿足網絡計算的管理需求,系統中的元素包括用戶、應用、服務、基礎構架、和硬件。
8) 開發工具用來創建、組裝、部署、和管理應用系統。
1. 客戶
客戶通常為“瘦客戶”,也就是說在客戶端執行的應用邏輯很少或沒有,這樣,很小的軟件(如Web瀏覽器)需要在客戶端安裝。在這個模型中,應用被安排在服務器上并動態地即時(on-demand )下載到發出請求的客戶。正因為如此,新一代應用的客戶端部分應該用HTML、DHTML、XML、Java applets來實現。這種新一代應用支持廣泛的客戶端設備,從大眾普遍使用的個人數字助理(PDA)和智能卡(smartcard)等設備到網絡計算機和個人計算機。
2. 網絡基礎設施
它為整個體系結構提供了一個安全的可伸縮的分布式網絡平臺,包括下列均基于開放標準的服務:
1) TCP/IP和網絡服務。如DHCP和WAP,DHCP為進入網絡的設備動態地分配IP地址,而WAP(Wireless Application Protocol、無繩應用協議)將信息和電話服務發送到移動電話和其它的無繩設備。
2) 安全服務。基于公開密鑰技術的安全服務支持用戶辨認和鑒別、存取控制、保密、數據完整性和交易的無否認性。
3) 目錄服務。基于LDAP(Lightweight Directory Access Protocol、輕型目錄存取協議)的目錄服務定位網絡中的用戶、服務和資源。
4) 文件和打印服務。可以通過Web瀏覽器來存取和管理文件和打印服務
3. 應用服務器軟件
應用服務器軟件層為開發和支撐運行在Web應用服務器上的電子商務應用系統的商務邏輯提供了核心功能。包括下列服務:
1) HTTP服務器。它協調、收集并組合包含靜態和動態內容的Web頁面,并將它們發送給客戶。
2) 郵件和社團服務。它們提供e-mail、工作日歷、小組工作安排、聊天、新聞組討論等服務。
3) 群件服務。它提供一個豐富的共享的虛擬工作間,并支持業務工作流程的協調。
4) 數據庫服務。它將一個面向對象數據庫的特性及功能與Web應用服務器集成起來。
5) 事務處理服務。它通過提供一個高可用的、健壯的、可擴充的、安全的事務處理應用執行環境來擴展Web應用服務器的功能。
6) 消息發送服務。它提供健壯的異步通信和消息代理設施來支持通信的發表/訂閱模型和消息轉換。
4. 應用集成
應用集成部分使得異構應用系統間在企業內或跨越企業相互通信,這些異構應用系統可能是用不同的程序設計語言實現的,也可能建立在不同的體系結構之上。企業目前的大量關鍵數據和應用程序(特別是事務處理程序)駐留在已有的系統中。應用集成使得Web客戶以及服務器能與企業已有系統中的數據和程序一起工作,將Internet的力量無縫地連接到企業中來。所支持的集成方法包括連接器、應用消息發送服務、商務過程集成與工作流服務、組件集成服務。
5. Web應用編程環境
Web應用編程環境基于Java servlets、Java Server Pages (JSP)、Enterprise Java services 和 Enterprise JavaBean 組件模型, 為創建在Web應用服務器上的動態和健壯的商務應用提供了編程環境。該環境提供了有關服務來鼓勵業務邏輯與顯示的分離,使得應用能按用戶興趣和客戶端設備來動態剪裁內容。
6. 電子商務應用服務
電子商務應用服務部分便利電子商務解決方案的創建。該部分包括的是面向高層應用的組件。它們建立在應用服務器軟件及網絡基礎設施的基礎上,并面向特定應用類型的功能需求按照應用框架的編程模型來實現的。比如支付服務和定單管理服務。
7. 系統管理
對于企業內部,系統管理服務為支持端到端的管理提供了核心功能,提供的有關工具和服務來支持應用系統整個生命周期的管理,從安裝和配置到運作特性的監控。跨越企業,系統管理服務提供一個協作管理途徑,包括策略管理和數據倉庫等。
8. 開發工具
開發工具用來創建、組裝、部署、和管理應用系統。
2.3 Web應用編程模型
Web應用是這樣的應用系統,它利用Web客戶(如Web瀏覽器)、Web服務器和標準的Internet協議。通常,Web應用也能利用來自外部非Web服務的應用系統和數據。Web應用編程模型定義了Web應用拓撲結構以及使用框架提供的服務來設計Web應用的模型。
圖2-3:Web應用的拓撲結構
圖2-3顯示了Web應用的拓撲結構(包括主要的元素)。值得注意的是,Web應用服務器和外部服務是不同邏輯層,它們可能運行在同一臺機器上。另外,Web應用服務器的功能可能分散在多臺機器上。通常,一個Web應用中的前端和業務邏輯部分運行在不同的機器上。Web應用的拓撲結構包含的元素有客戶、Web應用服務器、基礎設施服務和外部服務。
1. 客戶
客戶使用Internet技術標準(如TCP/IP、HTTP、HTML和XML)與Web應用服務器通信來存取業務邏輯和數據。客戶端的基本功能是接受并驗證用戶輸入,顯示從Web應用服務器到用戶的返回結果。客戶可以是Internet 、Intranet(內部網)和Extranet(外部網)中的客戶。Web應用編程模型的重要準則之一是Web應用的商務邏輯總是運行在服務端而不是在客戶端。其優點如下:
1) 支持更廣泛的客戶端設備
2) Web應用服務器能集成對資源(如數據庫)的存取,從而簡化應用的設計,增強可伸縮性,并提供對資源的更好保護。
3) 運行在服務端的商務邏輯容易得到保護、更新和維護。
4) 運行在服務端的商務邏輯使得用戶的應用環境得到集中管理并能在不同的客戶機上重建。
2. Web應用服務器
Web應用服務器是 Web應用拓撲結構的核心,它為Web應用提供了廣泛的程序設計、數據存取和應用集成等服務。我們可以把一個Web應用看作一個客戶與Web站點之間一系列的交互作用。整個交互過程從顯示在Web瀏覽器中一個頁面開始。用戶單擊該頁面上的一個按鈕或鏈接就產生一個請求,該請求被送到Web應用服務器。Web應用服務器對這個請求進行處理,產生新的頁面,并送回到客戶端。在Web瀏覽器中顯示的新頁面就是這一次請求的結果,可能也是下一次請求的開始。所以說,Web應用包含了一組交互或處理步驟,每一步必須產生一個頁面形式的響應,這個頁面作為后繼交互作用的入口。
圖2-4:Web應用的交互模型
深究單個交互的細節,不難發現這里有三個共用的處理要求,包括業務邏輯層、用戶界面層和交互控制器層(參見圖2-4)。具體來講:
1) 業務邏輯層。記錄并處理用戶輸入的部分。比如:對應于在購物籃中添加一項商品的數據庫更新操作,或從一個銀行帳戶到另一個的資金轉帳操作。
2) 用戶界面層。構造HTML頁面的部分。構造出來的頁面將被送回給用戶,它決定了交互結果的顯示形式和風格。
3) 交互控制器層。控制其它元素的部分。處理HTTP請求,從業務邏輯層選擇要運行的組件,根據業務邏輯的運行結果從用戶界面層選擇相應的組件,以構造響應頁面。
這三層正好對應到經典的M/V/C(Model/View/Controller,模型/視圖/控制器)范例。這一點很重要,因為不同層通常需要不同的開發技術和工具。應用框架為各層提供使用各種組件的支持,這些組件之間有一個良定的接口。
3. 基礎設施服務
除了上述程序設計機制, 應用開發者還需要運行時刻的服務來支撐Web應用。方便地定位應用組件、保證它們的可用性以及對它們安全的存取和執行等等都是在Internet、Intranet和Extranet環境中實施Web應用的關鍵要素。基礎設施服務為支持Web應用提供下列設施:
1) 目錄服務,本框架支持使用JNDI來存取基于LDAP協議的安全目錄服務。
2) 認證授權,這個設施能產生用來鑒別用戶和服務器的證書。公開密鑰技術已經成為電子商務首選的可信賴的機制,而認證授權是公開密鑰技術中的一個關鍵部分,它提供了數據保密、數據完整性、簽名驗證和用戶鑒別等特性。
3) 防火墻,它作為可信賴的內部網絡和不可信賴的外部網絡之間的一個接口。通常,防火墻使用報文過濾器根據報文的源地址、宿地址、和服務類別(即端口號)來過濾報文流。使用防火墻來控制外部網絡中的那些(IP級)能允許存取內部網絡、能使用那種類別的應用服務;同樣的模式能控制內部網絡對外部網絡的存取。
4) 代理服務器,它起到為多個瀏覽器檢索Internet上數據的作用。作為客戶和Web應用服務器之間的一個管道,代理服務器將客戶的請求遞交給有關的服務器并把服務器的響應返回給客戶。這種工作方式還可以提供附加功能,如地址安全性和緩沖功能。
4. 外部服務
在這些外部服務系統中駐留著企業已有的應用和數據、以及商業伙伴的服務系統,如支付服務和外部信息服務。通常,這些應用和服務系統控制著關鍵的商務過程,需要與Web服務器集成起來為顧客、業務伙伴和員工服務。
使用電子商務應用框架開發和部署電子商務應用系統帶來下列優勢:
1) 極大地方便電子商務應用系統的快速開發和部署。
2) 適應任何客戶端設備。
3) 確保應用系統能移植到各種不同的服務器環境中。
4) 利用并擴展已有的信息技術資源。
這也是形成這個電子商務應用框架的重要原則。
2.4 WebSphere
電子商務的靈魂是軟件,而電子商務應用系統通常采用以Web服務器為中心的計算模式(參見基本系統模型),因此,Web應用服務器軟件是電子商務市場的焦點。IBM WebSphere Application Server(WebSphere應用服務器)是眾多Web應用服務器軟件中的杰出代表。
事實上,IBM WebSphere產品系列是一套典型的電子商務應用開發工具及運行環境。該產品系列包括:
1) NetObject Fusion提供許多構建和組織站點的工具,可用來建立和管理整個Web站點;
2) NetObject BeanBuilder是一個構建applets的可視化寫作工具;
3) NetObjects ScriptBuilder提供了Smart HTML、JavaScript、JSP等的編輯器;
4) Lotus Domino Go Webserver是一個Servlet使能的Web服務器;
5) IBM WebSphere Studio提供了項目工作臺和有關向導,這些向導可用來存取數據庫、創建JavaBean和servlet等等;
6) IBM WebSphere Application Server (WebSphere應用服務器)是一個Web應用服務器(內含IBM Http Server),它本質上是適合于servlet的Web服務器插件,提供了增強的Servlet API和Servlets管理工具,并集成了JSP技術和數據庫連接技術。