一、現有技術情況及后期展望 參見《現有技術情況及后期展望》一文。 二、目標系統: 因為對于ASP角色的特定要求和用戶的可能大量訪問等情況,目標系統為基于J2EE分布式的分布式構架系統,保證系統的健壯性和擴展性,。 三、技術描述 建模: 采用rational rose 2001進行商務建模,粒化的程度參見《建模規范》,需求的變動采用迭代的方式去修正 開發: 采用rational rose 2001/Jb60進行模型的程序化和實際的代碼編寫,相應參考《編程規范》《建模規范》,需求的變動采用迭代的方式去修正 中間層: Weblogic 61,相關的環境配置文檔參見《開發環境配置說明》 數據庫: Oracle 817(根據需要,可以增加異種數據庫或是分布式的數據存儲) 總體描述:
四、開發模式 基于MVC的開發模式,其中: V – 表現層,在本系統中可能是一個系統,也可能是HTML/JSP的頁面 C – 控制,本系統中的商務邏輯和大部分的程序邏輯 M – 數據載體:通常是一些能通過網絡傳輸的簡單對象或是基礎數據,都必須實現了序列化的接口
五、角色劃分 a)前端界面開發(美工) b)前端View層的數據顯示(前端程序員) c)前端Controller層的開發(bean開發程序員) d)后端Model層(entity bean/stateless session bean)開發(后臺開發人員) e)后端Controller層(stateful /stateless session bean)的開發(后臺開發人員) f)EJB的Deploy (集成發布人員) g)數據庫的設計(DBA) h)系統技術框架設計(程序分析員) i)系統商務設計(BA) j)項目整體控制及協調(項目經理)
六、圖例
1、WEB前端系統
1)層次的劃分為: HTML/jsp-view tier JspAction/servlet/beanAction--controller Bean(data) --model
2)描述: 1、客戶看到的就是HTML,并與之交互; 2、HTML通過JSP/servlet/HTML(server)生成,其中這些在server端的內容通常就只和作為數據載體的bean打交道,簡單的將里邊的數據提取出來,這里會包含部分的程序邏輯,比如客戶端的數據格式校驗,以及安全性的校驗; 3、JspAction/servlet實際上是一些web層的控制,主要是用在調用ActionBean 來UPDATE/INSERT用戶在HTML中提交的數據 4、ActionBean 提供了對所有的EJB的調用,提供了數據的采集和更新的方法,在此之前的代碼不能看到任何的數據庫信息和EJB信息
2、EJB后臺系統
a)層次的劃分: stateless session beans & stateful session beans ----controller Entity beans & beans(data)-model tier 調用該部分的系統-- view tier b)描述 1、該部分是基于J2EE的分布式構架的,因此每個EJB都是可能是分布式的,通過JNDI實現的對象級的訪問,現實中可以是物理上的,也可以是邏輯上的分布 2、采用的EJB規范為1.1和2.0,因此在實現的時候需要注意 3、stateless session bean的主要目的是用來提供工具性質的方法(也可以是比較獨立的邏輯或是通用化的信息/邏輯)或是需要得到大量對象數據的時候 4、stateful session bean包含了個性化的信息和邏輯,同時可能提供了基于對象級別的個性化安全信息 5、因為整個體系是基于分布式的,但是從性能上考慮stateless session bean可以相互的調用(分布式的或是local的),但是stateful session & entity bean一盡量不要采用分布式調用。 6、訪問數據庫的方式有兩種:通過entity bean的調用來查詢/更新/插入數據或是通過stateless session bean來查詢數據 7、因為整個系統是基于分布式的體系的,因此,數據庫的邏輯將被最小化,根據實際情況,可能會用到異種數據庫和多個數據庫(擴展),整個系統應該是可以跨數據庫的
3、系統整體設計
a)層次的劃分: 后臺系統 ----controller Bean(data) -model tier 前端WEB系統-- view tier b)描述 1、前端WEB系統可以是一個,也可以是多個,在現實中的分布是邏輯上的而不是物理上的 2、基于J2EE的后臺系統如前所述在現實中的分布可以是是邏輯上的也可以是物理上的多個并行處理 3、database 在現實中的分布可以是是邏輯上的也可以是物理上的多個提供數據服務
|