步入J2EE架构和过程
来源:网络 更新时间:2014-12-11
摘要
Java2企业版(J2EE)平台由四个关键部分构成:规格说明、参考实现、兼容性测试套件
和蓝图(BluePrint)计划。蓝图描绘了分布式组件架构最好的实践和设计指导方针。本
文基于Rational统一过程和BluePrint示例程序介绍一个八步骤J2EE开发方法学。通过阅
读这篇文章,你可以了解许多重要的J2EE架构的话题,并且能够扩展和修改这个简单的
方法来解决自己特有的业务问题。
在商业世界里,我们使用Java2企业版(J2EE)解决业务问题、开发商业软件或者提供
转包服务。如果一家公司想使用多层体系结构建造一个电子商务网站,通常在整个开发
生命周期中需要涉及到管理者、架构师,设计人员、编程人员、测试人员和数据库专家
。
为了使不同部门能高效率地工作,他们经常需要一个软件开发过程。一些经典的开发过
程包括瀑布模型、快速应用开发(RAD)和极限编程(XP)。本文我们将集中于一个流行
的软件工程过程,即Rational统一过程(RUP)。RUP提供了一个给角色分配任务和责任
的严格方法。它的目标是保证我们在预期的进度和预算内开发出满足用户需求的高质量
软件。
我在J2EE开发中使用RUP出于以下三个原因。首先,RUP以架构为中心;在将资源分配给
全面开发之前,它先开发一个可执行的架构原型。其次,RUP是迭代并基于构件的。该架
构基线通常包括一个框架或基础设施以便于通过迭代增加构件,在不影响系统其他部分
的前提下定制和扩展一个系统的功能。最后,RUP利用一门工业标准语言--UML,可视化
建模系统的架构和构件。RUP有四个不同的开发阶段:初始、细化、构造和移交。然而,
本文从技术角度覆盖了J2EE开发的八个必要活动,主要集中在系统架构。
1、需求分析
需求分析描述系统应该做什么或不应该做什么使得开发者和客户可以签署一份原始的商
业合同。可以使用业务概念、领域术语、用例和用户界面(UI)模型形成功能需求文档
。对于非功能需求,如性能和事务,可以在需求文档附件中详细说明。根据参与项目深
度的不同,确定在纸上还是使用HTML建造高层UI模型。
图1展现了一个典型电子商务系统中的两个用例。查看订单(viewOrder)用例告诉我们
一个用户通过Web界面登陆系统、查看订单列表,点击链接查看特定订单的详细信息。增
加订单项(addLineItem)用例告诉我们浏览产品列表、选择感兴趣的产品并将它们添加
到购买订单中。
图1订购用例
2、面向对象分析
分析人员构造问题领域模型:类、对象和交互。分析应该与技术和实现细节无关,并包
含一个理想的模型。对象分析可以帮助理解问题并获得关于问题领域的知识。因为业务
过程的改变比信息技术的改变要慢得多,所以必须要维持一个不含技术细节的纯领域模
型。
这两个步骤--需求分析和面向对象分析--不是J2EE特有的;对许多面向对象方法学来说
,它们都非常通用。图2显示了一个宠物店示例程序的高层对象分析模型。它用图例说
明了我们从需求分析用例中识别的主要概念。我们把这些概念建模成对象并标识它们的
关系。
图2更高层分析模型:宠物店领域
需求和对象分析的结果是为J2EE架构的开发提供切入点。为了开发架构,可以选择一个
纵向联合部分(verticalpiece)--经常是关键部分,如订单领域对象模型--进行对象
设计、实现、测试和部署。(纵向联合部分,一个RUP概念,是指系统的一小部分。起始
点是图1所示的用例子集和图3所示的领域分析模型。一个纵向联合部分的实现结果是一
个全功能的微小系统,包括UI层的JSP,中间层业务对象如EJB和后端数据库。)可以将
从原型中获得的经验应用于领域对象并作为对象设计阶段的指导。
图3详细对象分析:订单
3、架构规格说明