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