J2EE這種應用模型允許不同的開發人員同時進行開發的各個元素。這里闡述一下對不同層次的設計人員,開發人員的技術要求。對以下幾個分類進行描述。
設計師組建團隊
表現邏輯層的團隊角色
業務邏輯層等團隊角色
數據庫訪問層的團隊角色
團隊的組成可以根據人員的數量和系統的范圍大小。例如,不一定所有的角色都要分配,有些人可以擔當不能的角色。
設計師
在基于組件的應用系統開發中,一個或幾個人必須對這個系統的整體需求有全面的了解,比如系統的控制流程,和其他的接口等等。有些公司稱這個角色為總工程師,不管怎么叫,這個角色非常重要,他承擔協調不同開發小組之間的工作,幫助他們考慮系統這個“大圖”。
表現邏輯層的團隊角色
在表現層,用戶界面是動態生成的。需要如下開發人員:
Java servlet 開發人員
JSP 開發人員
HTML 設計人員
美工人員
客戶端的JavaScript 開發人員
Servlet 開發人員建立表現層的邏輯,而其他人員建立表現的形式。
Java Servlet 開發人員
Servlet處理頁和頁之間的瀏覽,會話管理,簡單的輸入驗證。Servlet也將業務邏輯的元素連接起來。
Servlet開發人員必須理解一些相關事宜,HTTP請求,安全,多語言,和一些頁面元素如session, cookie,超時等等。J2EE的應用里面,servlet必須用Java來寫,Servlet可能會調用JSP, EJB, JDBC等等。因此,servlet開發人員要與應用系統的其他人員緊密合作。
JSP 開發人員
JSP開發人員與servlet開發人員密切合作來定義系統的表現層頁面。即使在復雜的開發項目里,JSP和servlet的開發人員也可能是一個人。
然而,如果一個系統中大部分Java在servlet而不是在JSP里,JSP人員不必對Java非常熟悉。
HTML 設計人員
HTML 設計人員對HTML頁面進行優化。例如,他可能要完成以下任務:
保證在不同的瀏覽器中所有的頁面都能正常顯示
保證低速的調制解調器訪問也不受影響
對JSP設計人員的頁面進行進一步的優化
美工人員
美工人員創建圖片等等。這些圖片要能小體積,快速下載。美工與HTML頁面人員緊密合作。
客戶端的JavaScript 開發人員
使用客戶端的JavaScript有很多原因。比如,可以處理簡單的輸入驗證,不必提交給服務器,還可以讓用戶界面更生動。這個角色和servlet, JSP人員緊密合作。
業務邏輯層的團隊角色
業務邏輯層包含業務規則和業務實體。需要以下人員:
Session bean 開發人員
Entity bean 開發人員
Session Bean 開發人員
Session beans包含業務處理和業務規則的邏輯。比如,一個session bean 可能設計成計算一個支票的稅率。如果一個系統面臨處理經常變化的復雜邏輯,而又大量使用session bean,結果是,session bean需要不斷的更新。
Session bean 的開發人員一般是一個領域的專家,理解復雜的,專門領域的邏輯,還有數據驗證的規則。這個人員與servlet和entity bean開發人員緊密合作。
Session bean可能需要調用JDBC接口,和其他的EJB。無狀態的session bean系統運行的會更好一些。因為,如果計算費率是一個有狀態的session bean,系統必須訪問一個保存bean的狀態信息的服務器。如果那個服務器恰巧出現問題,整個流程會受阻。
Entity Bean 開發人員
Entity bean代表的對象,如一個數據庫中的一條記錄。Entity bean開發人員的任務是設計一個面向對象的所有業務數據的組織圖。建立面向對象的試圖意味著要將數據庫中的表(關系型的)映射成entity bean。例如,開發人員需要將客戶表,發票表,和訂單表轉換成相應的客戶,發票,和訂單對象。
一個entity bean 開發人員與session bean, Servlet開發人員密切合作,保證應用系統提供快速的,靈活的,可擴展的對業務數據的訪問。
Entity bean 可能會大量的調用JDBC接口。而entity bean 之間的調用會很少。
數據庫訪問層的團隊角色
在數據庫訪問層,開發人員需要建立關系型數據庫的ER圖,數據字典等等相關文檔。所有對數據庫的修改,訪問等等權限操作都要經過數據庫訪問層開發人員。這個角色在大部分項目中擔當DBA的角色。
團隊組建之后,可以開始設計用戶界面。
設計用戶界面
建議從前到后開始設計應用系統。是說,先設計用戶界面,再設計EJB,這樣效率高。
下面提一些常用的建議性問題:
頁面流程是什么?
每個頁面上的命令按鈕是什么?
是否適用frame?
是否有公司標準的Logo,廣告條幅?
在什么地方需要登錄過程?
多語言的問題?
這些和設計servlet, JSP相關。