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相关。