帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > JAVA编程
开发完整J2EE解决方案的八个步骤
作者:佚名 发布时间:2005-04-02 来源:不详
 
  摘要                                                                          
  Java 2企业版本(The
规范,参考实现,兼容性测
最佳练习和设计指导方针。
基于Rational Unified Pro
解J2EE体系的许多重要主题
决各种特定的商业问题。
Java 2 Enterprise Edition,J
试包和BluePrints程序。BluePr
这篇文章介绍了一个由八个步骤
cess和BluePrints应用例子的。
,并且可以应用这些知识来扩展

2EE)平台由4个主要的部分组成:
ints描述了一个分布式组件体系的
组成的J2EE开发方法论,该方法是
通过这篇文章,你将可以更好地理
和修改这个简单的方法论,从而解

  在商业领域,我们使用
为其它的商业项目提供联系
站,在其整个开发周期中,
和数据库专家参与进来。
Java 2企业版本(J2EE)来解决
的服务。如果一个公司要使用多
通常都需要经理、体系构建人员

商业问题,开发商业的软件,或者
层的体系来建立一个电子商务的网
、设计人员、编程人员、测试人员

  为了让不同的部分可以
流程包括有瀑布模型、快速
个流行的软件设计流程--Ra
为不同的角色分配任务。它
件以符合用户的需要。
有效地工作,我们通常都需要一
应用开发(RAD)和最终编程。
tional Unified Process(RUP
的目标是在一个可预计进度和预

个软件开发流程。一个经典的开发
在这篇文章中,我们将集中介绍一
)。RUP提供了一个专门的方法来
算内,确保我们生产出高质量的软

  我使用RUP作J2EE开发有三个方面的
全方位的开发之前,它首先开发出一个可
件的。该体系的基本通常是包含有一个架
响系统其它部分的基础上,自定义和扩展
言--UML,可以将系统的体系和组件以可
inception), 细化(elaboration), 构
章将从一个技术的观点来介绍J2EE开发的
原因。首先,RUP是以体系为中心的;在提交资源作
执行的体系原型。第二,RUP是迭代的而且是基于组
构,它可以方便地通过迭代地增加组件,从而在不影
一个系统的功能。第三。RUP使用一个工业标准的语
视化的模型展示。RUP有4个不同的开发阶段:初始(
建(construction)和转换(transition)。这篇文
8个基本步骤,它是维持以体系为中心的。
  1、需求分析                                                                  
  需求分析用来描述系统应该和不应该
业联系。你可以用商业的概念、该领域的
而非功能性的需求,例如性能和事务,可
创建高级别的UI模型,采取哪种方式,要
做什么,从而开发者和用户可以创建一个初始化的商
术语、框图或者其它方法将功能性的需求写成文档,
以写在附加的需求文档中。你可以用文本或者HTML来
看你在该项目中介入的深度。
  图一展示了一个典型的
统,查看订单的列表,并且
产品目录,选择感兴趣的产
电子商务系统。viewOrder图说
可点击进去查看每张订单的细节
品,并且将它们加入到购买订单
明的是一个用户通过web登录至系
。addLineItems说明的是用户浏览
中。
  

  图一                                                                          
  II、面向对象的分析                                                          
  分析产生问题域模型:类、对象和交
而应该包含有一个理想的模型。对象分析
须维护一个纯领域的模型,它不包含技术
多。
互。你的分析应该脱离任何的技术或者实现的细节,
可帮助你理解问题和获得问题领域方面的知识。你必
的细节,这是由于商业流程的改变要比信息技术慢得

  上面的两步--需求分析
来说,都是很常见的。图2
它说明了我们由需求分析us
且确定它们的关系。
和面向对象的分析并不是J2EE特
展示了一个高级别的对象分析模
e cases中确定的主要概念。我

有的,对于许多面向对象的方法论
型,它是一个宠物店的例子应用。
们将这些概念模型化到对象中,并

  

  ********图二********                                       
  需求和对象分析的结果
直的部分--通常是一个关键
和开发。(一个垂直的部分
子集,如图1所示,还有领
能的迷你系统,包括所有层
,例如是Enterprise JavaB
用到域对象中,并且将这些
是J2EE体系开发的一个入门点。
的部分,例如是订单领域的对象
,是一个RUP概念,是系统的一
域分析模型,如图三所示。一个
,例如用户界面层的JavaServer
eans (EJBs)和后台的数据库)
认识作为对象设计阶段的一个设
要开发一个体系,你可选择一个垂
模型--来作对象设计、实现、测试
小部分。开始点是use case的一个
垂直部分的实现就会产生一个全功
Pages(JSPs),中层的商业对象
。你可以将由原型中得到的经验应
计指导方针。
  

  *******图三*******                                             
  III、体系规范                                                              
  经过前面的两个步骤,
略和体系上。一个体系就是
进一步将一个体系划分为企
商业领域的问题和需求都应该清
各部分一起定义整个系统的蓝图
业和应用体系。
晰了。现在我们将集中讨论技术策
:结构,接口和通信技术。我们可

  企业系统体系                                                                  
  企业系统体系覆盖了硬件和软件架构
了一个企业的长线投资。在开发前,你需
J2EE的话,你可能会加入新的组件和升级
机,路由器、交换机和网络拓扑,因为它
的网络拓扑。
,网络拓扑,开发、测试和生产环境等。这些都反映
要评估现有的软件和硬件架构,如果它不能完全支持
你现有的系统。你需要彻底地评估硬件,包括有计算
们都会影响系统的性能和稳定,图4展示了一个多层

  

  ******图四**********                                       
  图4中的多层企业体系拥有以下主要的组件:                                      
  .Web浏览器客户端,它可能处在客户端公司的防火墙后面                        
  .HTTP服务器,它通常处在DMZ区                                          
  .Web容器主机提供表现或者商业逻辑组件                                      
  .应用容器提供商业逻辑组件                                                    
   .关系数据库管理系统(RDBMS)和数据库提供数据和数据逻辑                
  所使用的系统体系类型是根据你对安
的。要求很低时,你甚至可以使用一台二
放源代码的操作系统、Web服务器、应用
几百美金,当然,维护起来可能要麻烦一
全、性能、可靠性的需求以及你公司的财政状况而定
手的计算机和一条电话线。在Internet上,有许多开
服务器和数据库管理系统。这些系统的花费可能只有
点。
  高端的客户,例如许多
付不可预计网络通信的系统
务器和应用服务器,并且设
华尔街的财政机构,它们需要的
。在这种情况下,你通常就需要
置为群集而达到容错的目的。
是一个支持安全、高吞吐量和可应
一个n层的体系,该体系带有Web服

  你还需要评估软件架构
,数据库管理系统和第三方
中,选择一个J2EE的生产商
有很大不同的,有一些仅支
的快不少。除了实现J2EE规
的J2EE厂家也是重要的,因
开发的功能包括有:
,包括Web服务器,安全管理软
的软件组件,如果你还没有购买
将是一个重要的部分。我要提醒
持旧的J2EE版本。此外,一些We
范外,许多的厂家还售卖J2EE体
为这样可以得到长久的支持。你

件,应用服务器,域名管理服务器
你的应用服务器,那么在评估过程
你一点,不同厂家对J2EE的实现是
b容器或者应用容器可能要比其它
系的组件或者架构。选择一个稳定
通常可以购买或者在系统体系级别

  。事务处理                                                                    
  。国际化和本地化                                                              
  。群集和对象分布                                                              
  。Session管理                                                          
  。应用性能测量和描述                                                          
  。消息                                                                        
  。工作流管理                                                                  
  。入口和个性化管理                                                            
  。层到层通信协议                                                              
  。安全和防火墙                                                                
  应用体系                                                                      
  应用体系建立在企业系统体系之上,
系建立人员就会研究如何建立一个专门的
,你可能就需要首先升级你的系统。如果
旧版本的技术限制下工作。重要的是,要
的需要。
指的是一个特别的项目或者应用。在架构完成后,体
应用。如果你的企业体系只是支持一个旧的J2EE版本
由于预算或者时间关系而不能做升级,那么就必须在
建立企业级的可重用组件。最终的目标是要满足客户

  一个体系建立者并不是
是系统的主要结构、它的体
现的非功能性方面,而设计
型为一个技术对象模型的部
结构开发时要作出的决定包
一个设计者;体系和设计是两件
系设计模式以及你可以在上面增
是和商业的use cases有关,use
分。应用体系是项目的结构,一
括有:
不同的事情。一个应用体系的范围
加组件的架构。体系主要是涉及实
cases是指你应用来转换域对象模
个专门的应用。你通常在应用体系

  。层间的功能划分                                                              
  。模型域对象                                                                  
  。以前的系统需要保存的东西                                                    
  。购买的软件组件                                                              
  。需要建立的组件                                                              
  。如何集成第三方的组件                                                        
  图3中的订单域对象解
对象分布在几个地方,包括
务器中,或者作为存储过程
释了你如何做到模型化域对象。
有作为开发者管理的持续对象放
放在RDBMS主机中。
对于当前的Java技术,你可以将域
在Web容器中,作为EJB放在应用服

  在宠物店的设计图中,我们将订单对
访问对象,如图5和后面的图6所示。当你
想一下为什么一个在分析模型的域对象被
发生什么事情。你也许已经听到过EJB的
区别的。当新技术到来时,在将其放在到
其实所谓体系的开发,就是将设计和实现
象设计为一个实体bean、一个细节的对象和一个数据
看到这些时,你将会认识到其体系的重要性。你可以
映射为这么多对象,以及如果改变该设计的话,将会
好处,不过要注意的是不同厂家实现起来的性能是有
一个系统之前,你需要做研究并且动手做一些测试。
域对象模型的垂直块转换为设计其它许多域对象。
  

  *****图5*********                                             
  在J2EE出现的早期,一
在层间传送。他们拥有非常
的网络通信造成的。由对象
一个新技术,这样通常都会
些面向对象的设计者尝试将域对
好的UML框图,不过得到的结果
分析直接进入对象设计,而没有
导致一个项目失败。
象映射到实体bean中,并且将它们
是一个慢的系统,这是由于不必要
一个体系的设计,没有清楚地理解

  可交付的体系                                                                  
  由于J2EE体系是一个相对新的主题,
物店的例子应用中,是很难看出体系在哪
检查、Model-View-Controller设计模式
码。没有UML框图。Sun的J2EE企业体系认
不过,这里仅表示为一个类框图、一个组
J2EE应用来说都是不足够的。要开始的话
因此一个可交付的J2EE体系并没有很好地定义。在宠
里结束和设计在哪里开始。文档由高级别的应用体系
的讨论和一个体系概览开始。低级别的文档就是源代
证的委派部分要求所有的可交付体系都用UML表示。
件框图和一些对象交互框图,。这些对于一个真正的
,体系规范和流程至少需要以下的方面:
  .一份系统体系文档,用来描述你现有的硬件、软件、网络拓扑和其它的组件          
  .一个应用体系文档,
use case组件和以前的组件
用来描述应用的主要结构,包括
的一个逻辑视图
所有对于体系有重要作用的组件、

  .一个新组件设计指导
并且说明如果选择其它的选
以便进行新组件的设计时可
方针,用来描述所有的设计方针
项会有什么可能的结果。这些方
遵从这些规定,以维持系统体系
和体系决定,解释全部这些决定,
针应该包含所有重要的基本决定,
的完整性
  。一个工作体系原型来评估新的技术
;通过测量性能、扩展性来预示所冒的风
;从开发和配置J2EE应用中获取经验;建立体系架构
险;还有向客户证明你的方法是可行的
  在你开发过几个J2EE方
图和一些设计方针就可能已
案并且获得更多的经验后,原型
经足够了。
将不再那么重要,这时一些UML框

  IV、对象设计                                                                
  在体系规范的指导下,设计可在技术
化应该和技术的细节无关,而对象设计时
,采用哪一类的平台、语言和厂家。理论
的属性和行为而必须这样做。
上扩展和适应分析的结果。分析阶段时,域对象模型
则是和技术因素密切相关的,包括在体系开发阶段时
上,你不要修改商业对象,除非是为了维护它们基本

  在体系决议的指导下,一个详细的设
,它们详细的接口和伪代码或者操作的纯
结合,就可得到所有必要的编程信息。在
框图中产生代码的框架。要注意的是stub
们对于设计者和编程者来说都是透明的。
计说明应该提到所有类的规范,包括必要的实现属性
文本描述。规范的详细程度应该达到只要和模型框图
许多自动化的软件生产流程中,你可以从面向对象的
和skeleton通常是无需在框图中展示出来的,因为它
我在图6中包含它们只是为了说明EJB的基本点。
  

  *******图六********                                         
  在你完成详细的对象设
面向对象的方法论在目前是
客户的IT架构在许多方面都
型转换为关系模型或者数据
个好的关系数据库设计。
计后,你就完成了域对象的对象
比较先进的,不过最流行和持久
已经反映了现有的投资和商业RD
库表是非常重要的。有很多容器

相关映射。这样做的原因是,虽然
的商店都是关系型的。此外,一个
BMS厂家的选择。因此将域对象模
管理的工具,不过它们不能代替一

  V、实现                                                                      
  有了一个好的架构和细
阶段设计和实现了系统的一
公司中,开发者通常都是过
,做其它的事情等于浪费公
节设计,实现将是一个很清晰的
个垂直部分,因此在实现阶段我
早进入实现阶段,特别是当经理
司的时间。
任务。此外,由于我们在体系原型
们不会碰到很多麻烦事情。在许多
在监视他们的时候,因为对于他们

  结果是,不再花时间来画UML框图,
的时间,在这种情形下,所有的体系决议
会发现开发已经进入了一个错误的方向。
而是在代码开发中测试想法,这要花数星期和几个月
和设计都是在代码阶段作出的,通常要在几个月后才

  VI、确认                                                                    
  确认包括有测试以验证该系统符合设
发和安装阶段。单元测试、集成测试和用
计并且满足需求。在整个开发周期中,验证发生在开
户容忍度测试都是重要的主题
  VII、组合和配置                                                            
  组件装配和方案配置在
。如果EJB处在系统中,你
Web或者应用组件的配置对
任何厂家指定的代码实现。
支持增加配置新的或者旧的
J2EE的开发中是特别重要的。开
需要使用厂家的专门工具来提出
于不同的厂家都是不一样的。你
在一个可扩展的体系中,系统的
组件,而无需影响整个系统。
发和安装的环境可能是完全不同的
产生容器的类,上面我也提到过,
还必须考虑要配置的系统是否拥有
结构应该是稳定的,但是应该可以

  VIII、运作和维护                                                          
  在最后的阶段,应用交
发现问题和可能会提出新的
了配置一个新的组件或者替
付到用户的手中,你必须为他们
改进。你必须通过正确地修改管
换一个旧的组件而关闭一个正在
提供培训、文档和教育。用户将会
理过程来处理这些需求。你无需为
工作的系统。
  体系开发流程                                                                  
  我们必须做许多体系的
说,通常有许多应用项目,
在你的领域中,许多同样的
和可重用的体系,它们可能
求,可重用的软件架构可为
决定,因此我们必须整理出一个
其中的一些甚至会跨越几年,从
项目中都会出现同样的需求。你
在上个项目周期或者其它的项目
家族式的软件应用提供一个普遍
体系开发的流程。对于一个企业来
而导致系统围绕许多周期而变化。
应该很容易地重新使用一个扩展的
中。这样会有一个对普遍架构的需
的架构。
  如果这是你的首个J2EE
BluePrint提供了许多好的
系。要很快地提出一个好的
体系,然后插入到你自己的
项目,你的体系必须被原型化,
设计指导方针和最佳的练习,宠
并且是高质量的解决方案的有效
商业组件中。
进行测试、分析,然后再重复。
物店的例子也是一个很好的参考体
方法是使用和扩展BluePrint参考

  使用参考体系                                                                  
  就我的理解来说,宠物
这些模型应用到以Web-cent
JSP表现。一个controller
们使用前台的servlet作为
件到指定的域对象controll
事件处理的结果,一个cont
,我们可以修改并且应用在
店体系的本质是Model-View-Con
ric和EJB-centric的系统。对于
处理与商业相关的事件,而域对
中央的controller,以接收和解
ers,这些controllers可调用域
roller选择下一个显示的视图。
大部分的J2EE应用:
troller和Command模型。你可以将
每个域对象,一个视图是用嵌套的
象封装商业逻辑、事务和安全。我
释所有用户的操作。它分派商业事
对象来改变持续的状态。根据这个
以下的组件对于体系都是很重要的

  MainServlet: 前台的组件是Web容器和该架构之间的接口            
  ModelUpdateListener: 是获取模型更新事件的对象的接口      
  ModelUpdateNotifier:在更新模型事件发生的时候通知监听者    
  RequestProcessor: 处理由MainServlet接收的全部请求
  RequestHandler:plug-n-play请求处理器组件的接口      
  RequestHandlerMapping:包含有请求处理器映射规则          
  RequestToEventTranslator:根据请
到plug-n-play请求处理组件。到商业事
求处理器的映射规则,中央请求处理器委派请求处理
件的透明http请求
  EStoreEvent: 商业事件                                            
  ShoppingClientContro
llerWebImpl: Proxy-to-EJB层
前台控制器
  ScreenflowManager: 控制屏幕流,选择视图                    
  ModelUpdateManager:
EJB层模型更新管理器,通报由
于一个事件而导致的模型修改
  ShoppingClientControllerEJB: EJB
层前台,为EJB客户提供远程服务
  StateMachine:中央事
plug-n-play处理器组件
件处理器,根据状态处理器的映

射规则,委派事件处理至

  StateHandler: EJB层状态处理器接口                            
  StateHandlerMapping: 包含状态处理器映射规则              
  扩展参考体系                                                                  
  BluePrint的例子应用是一个好的起
模型是可重用的微体系,你可以使用它来
J2EE模型目录,而23个“Gang of Four”
以支持工作流管理,你可以在配置或者运
央controller要求每个注册的事件处理器
达命令串末尾的信息。
点,你还应该修改它以配合不同的项目和领域。设计
扩展参考体系。BluePrint提供了一个非常有用的
模型都是极好的资源。例如,如果你想扩展参考体系
行时使用中央controller来动态注册事件处理器。中
处理一个事件,直到一个处理器返回一个指示已经到

  插入你的商业组件                                                              
  J2EE技术对于每个人都
。一旦你建立了一个基本的
域工作。你可以通过选择一
可带来明显的技术上的冒险
端的设计模型,就象我们在
地运作。如果所有都如设想
测试以扩展体系的覆盖。在
认识到哪些组件是可以购买
一步就是软件设计,你可以
是一样的,但是对于不同的领域
J2EE框架,你就必须利用一些us
些情形,最好是该系统的一个重
的情形。由域分析模型开始,然
图5和6中的所示。实现低级别的
般运作,你就可以再重复上一步
经过反复的验证后,初始化的体
的,旧系统的哪些方面是应该保
使用设计指南中指定的类似方法
,我们需要解决的问题都是不同的
e cases来展示该体系可为你的领
要的功能,或者使用得最多的而且
后尝试映射你的域对象到高端和低
设计模型,并且测试看它是否真正
,即找冒险的情形、更多的设想来
系原型应该就会变得稳定。你可以
留的,以及如何为它们做接口。下
和流程来进行继续的开发。
  按部就班                                                                      
  我们使用了一个流程的
地理解和解决它们。在这篇
计。我这里介绍了重要的体
可交付。
形式,将一个复杂的问题分解为
文章中,我们将J2EE的开发分解
系主题和作出体系决定的一个流

几个小的部分,以便我们能更容易
为8个步骤,集中介绍了体系和设
程。我还讨论了J2EE体系的角色和

  学习通过这些步骤来开发J2EE的方案
习基本的舞步。一旦你熟悉了它们,你就
大小、速度、流和节奏。不过你不应该被
展该流程来满足你的特定需要。要记住,
的客户需求。
就象学习舞蹈一样。你首先需要自觉和坚持不懈地练
会想到将它们放在一起,并且更集中在曲子里每步的
一个流程来限制你的创造力。相反,你应该使用和扩
你的最终目标是设计出一个完整的J2EE方案来满足你

  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·帝国开发再次改版,希望您喜欢!  (2005-03-20)
 ·组件对象开发Web应用的实例分析  (2005-03-12)
 ·网络开发之编程技巧之一(有效验证  (2005-03-12)
 ·规划Web开发战略  (2005-03-12)
 ·使用Visual InterDev进行小组开发  (2005-03-12)
 ·用Java开发组件  (2005-03-12)
 ·有关微软新一代开发技术ASP+的介  (2005-03-12)
 ·用ASP开发一个在线考试程序(二)  (2005-03-12)
 ·用ASP开发一个在线考试程序(三)  (2005-03-12)
 ·用ASP开发一个在线考试程序(四)  (2005-03-12)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·谈谈JDBC
·JDBC专题介绍
·JDBC接口技术
·利用weblogic的POOL(连接池)连接
·Jsp中调用Oracle存储过程的小例子
·JSP数据库操作例程
·JSP数据库连接大全
·用连接池提高Servlet访问数据库的效
·一种简单JDBC连接池的实现
·数据库连接池Java实现小结
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统