J2EE軟件開發過程

  需求調查

J2EE軟件開發過程

規格說明書要點:完整性、正確性、可行性、必要性、劃分優先級、無二義性、可驗證性

原形分析法--主要用戶界面

1、開始窗口

2、歡迎窗口

3、種類窗口

4、貨架/產品窗口

5、貨物Item窗口

6、購物車窗口

7、登錄窗口

8、帳戶信息

9、窗口訂單信息

10、窗口訂單

11、完成窗口

  功能介紹

PetStore共有四個子系統組成

1、PetStore Web Site,該部分是petstore的核心,客戶登錄系統進行選擇,定購,提交訂單

2、PetStore Admin,該部分是系統的管理功能,提供銷售統計,手工接受.拒絕訂單等功能,界面也是個web界面

3、Order Processing Center訂單調度中心,對客戶提交的訂單進行處理,用java mail來通知客戶,通過JMS發訂單給供應商

4、PetStore Supplier爲產品供應者提供維護畫面。通過JMS接受訂單,派送貨物給用戶,提供一個基於web的庫存管理,維護庫存數據庫

軟件開發--概要設計

總體設計、接口設計、運行設計、數據結構設計、出錯處理、系統維護

  設計考慮

1、應用框架的選擇

Model1=JSP+JavaBean

Model2=JSP+Servlet+JavaBean MVC

功能分離使得應用程序具有更好的重用性,和可維護性

2、WEB層處理商業邏輯和EJB層處理商業邏輯的選擇

EJB層可提供一個穩定的,大規模的,基於組件的開發模式,以及各種穩定的企業特性,如持續性管理,安全管理,異步通訊,事務處理特性

本地和遠程接口EJB的選擇

遠程EJB提高穩定性和性能

本地EJB提高性能,可實現細粒度的操作

配置和編程實現事務控制的選擇

在顯示數據的時候使用了程序控制

在更新數據的時候,採用了配置方式(EJB JDBC)

同步和異步方式的選擇

使用同步方式讀取貨品的目錄

使用異步方式發送訂單

J2EE與MVC的結合

最上層Application Logic是用戶視圖;Web Application Framework(WAF)用來控制應用的視圖跳轉,產生模板視圖,調用商業組件,完成商業處理,提供了許多WEB應用所需的服務,包括請求的過濾和分發;Components封裝了業務邏輯,商業數據,並且操作這些商業數據,實體EJB代表了商業實體

PetStore模塊劃分:控制模塊、客戶登錄和註冊控制模塊、購物車模塊、異步消息模塊、貨架目錄模塊、客戶模塊

數據庫結構:ACCOUNTEJB、ADDRESSEJB、CATEGORY、 CATEGORY_DETAILS、CONTACTINFOEJB、COUNTEREJB、CREDITCARTDEJB、CUSTOMEREJB、 INVENTORYEJB、ITEMEJB、ITEM_DETAILS、LINEITEMEJB、MANAGEREJB、PRODUCTEJB、 PRODUCT_DETAILS、PROFILEEJB、PURCHASEORDEREJB、SEQUENCEGEN、 SUPPLIERORDEREJB、SUPPLIER_ADDRESSEJB、SUPPLIER_CONTACTINFOEJB、 SUPPLIER_LINEITEMEJB、USEREJB

  軟件開發--詳細設計與實現

1、控制模塊:控制用戶的請求,商業邏輯,過濾器分析

2、客戶登錄和註冊控制模塊:做爲客戶註冊登錄,也CUSTOMEREJB連接

3、異步信息模塊:客戶下了訂單以後,把消息通過JMS放在消息 列,對消息隊列進行處理

4、貨架目錄模塊:列出商品貨架、種類,客戶根據需求

5、客戶模塊:管理客戶帳戶

6、購物車模塊:在逛網店時,添加商品

  控制模塊組成應用的框架

必須能處理所有的HTTP請求

HTTP響應輸入可以是任何的Content-Type

商業邏輯可以容易擴展

新的視圖應容易添加

必須提供靈活的外觀控制

當應用變大時應容易維護

顆粒必須有很好的權衡

新功能必須容易添加

PetStore的 Application Framework是對J2EE藍圖的web層規範的實現。

控制模塊由WEB層的前臺控制servlet和EJB層的EJBController構成

每個請求執行下列操作:

請求過濾

映射請求到某個HTML Action類

執行HTML Action

選擇視圖

結果視圖的裝配

映射事件到EJB Action

執行EJB Action

前臺控制Servlet

負責接受和處理每個HTTP請求,協調其它控制組件分發請求和產生下一個view。請求處理類RequestProcessor將URLs映射到Action

Servlet Filter

可放置到前臺控制Servlet之前,用來完成一些所有請求共同的處理

EJB層的EJBController

解釋執行一個EJBAction,Event和EJBAction使得新的業務功能很容易加入到系統中。

模版Servlet(TemplateServlet)

用來拼裝所有的頁面,形成統一風格的界面

控制模塊實現客戶化功能

過濾請求

EncodeFilter(完成輸碼的功能)和SignOnFilter(用來檢查用戶是否登錄)

集中控制

MainServlet處理所有的請求,控制屏幕走向和視圖的產生

把一個請求映射到一個HTMLAction類執行

  用戶登錄和註冊控制模塊

PetStore採用的是應用程序層來控制安全,使用實體EJB來記載客戶和客戶的帳戶信息,在一些受保護的頁面,應用系統判斷客戶是否登錄,如未登錄,應用系統先保存這個請求地址,然後強制跳轉到一個登錄頁面。客戶選擇使用已有帳戶登錄或註冊新的用戶。登錄或註冊成功後,應用系統把保存在sessions中的信息和URL取出,跳轉到那個URL中,讓客戶繼續購物