用Rational Rose和UML开拓J2EE应用(二)
当前位置:以往代写 > JAVA 教程 >用Rational Rose和UML开拓J2EE应用(二)
2019-06-14

用Rational Rose和UML开拓J2EE应用(二)

用Rational Rose和UML开拓J2EE应用(二)

副标题#e#

实现软件

固然阐明模子可以辅佐你办理问题提供了一个基本,不外离实现照旧很远。在设计期间,你必需思量到所回收的技能带来的特别限制和需求,而且实验映射办理方案到最优化的实现。

在我们的例子中,假设我们正在成立一个基于Web的应用。实现这样一个应用需要一个深思熟虑的要领。阐明模子的浸染是作为一个出发点,用来抉择将差异的J2EE技能映射到方案。譬喻,<<control>> 类可很好地映射到Java Servlets可能Enterprise JavaBean (EJB) Session Beans。这个要领可以将J2EE层的实现模子和Sun的"Model 2"参考体系对应起来。

Rational Rose提供了一个简化的接口来开拓servlets和EJB Session Beans。图5显示了建设一个servlet的对话框。

用Rational Rose和UML开辟J2EE应用(二)

****图5 Servlet界说窗口*****

固然EJB包括有多个接口和类,Rational Rose照旧提供了建设EJB的便利接口。建设EJB的对话框如图6所示。在这里,对话框显示了需要建设一个无状态Session Bean的配置。

用Rational Rose和UML开辟J2EE应用(二)

****图6****


#p#副标题#e#

建设一个无状态Session Bean

获得的Session EJB如图7所示。这是基于为EJB开拓的UML模子,它是以Sun Java Community Process在JSR-26开拓的。它显示了组成EJB的各类元素之间的干系,出格是home和remote接口和EJB实现类。由于EJB并不真正实现home和remote接口(它们是通过设置东西自动发生的工具实现的),因此干系并不是实现home和remote接口而是别离发生<<EJBRealizeHome>>和<<EJBRealizeRemote>>。home和remote接口的依赖干系表白home接话柄例化remote接口。

用Rational Rose和UML开辟J2EE应用(二)

************图7**********

一个无状态Session Bean

<<boundary>>类大致地映射到JSP、HTML和form,假如你正在开拓一个传统的基于客户的应用,它映射到一个客户应用的对话框。我们利用JSP作为泛起实体和系统交互的的一个手段。JSP实际上由两个方面,也就是客户端的表示和处事器端的行为,所以它的模子包括有一个客户端页面和处事器端的页面,它们之间的干系是<<build>> 。一个例子如图8所示。

用Rational Rose和UML开辟J2EE应用(二)

***********图8***********

JSP作为处事器端和客户端页面

建设一个JSP比EJB还简朴,你只需要在browser的菜单中选择Web Modeler>New>Server Page就可以了,如图9所示。

用Rational Rose和UML开辟J2EE应用(二)

*************图9***********

#p#副标题#e#

在Rational Rose中建设一个JavaServer Page

诸如Catalog, Order和Customer的<<entity>> 类可映射为Entity Bean。它们的建设如上面图6所示。

J2EE应用中常操作的一个技能是利用JavaBean在servlets和JSPs之间传送信息。在Rational Rose中要做到这一点是很简朴的,通过在一个Java类上建设attributes,而且通过如图10中的attribute类型对话框来将attribute配置为属性。

用Rational Rose和UML开辟J2EE应用(二)

*************图10***********

将一个attribute配置为属性

在整体实现模子中,建设JSPs, servlets, JavaBeans和EJBs长短常有用的。Rational Rose可让你很容易地模子化干系和汇报工程师个中的根基细节,不只包罗JSPs, servlets, EJBs和JavaBeans,还包罗实现中涉及到的HTML页面和Form。这些可以送给表示层开拓者作进一步的处理惩罚,同时可与你的应用逻辑保持兼容性。

图11是某个类框图的一部门,它显示了实此刻线CD商店中涉及到的差异技能。该框图展示了各个类以及它们如何与表示、贸易逻辑和数据层分列在一起。这样,客户端的页面在左边,节制的servlet在中间,Entity Beans在右边。

用Rational Rose和UML开辟J2EE应用(二)

*************图11**************

在线CD商店的部门实现模子

该框图只显示了付费和欣赏CD细节用例中需要用到一些类。我们可以通过一个简朴的付费情景来实验“阅读”该框图。假定你已经欣赏完毕,而且选择了一些筹备购置的CD,你在主页(左边的顶部)上选择“checkout”的选项。这样将会挪用经过相关stereotyped <<link>>显示的MainSerlet节制器。MainServlet由Order EJB中获得订单的细节,结构一个Order JavaBean,而且将它配置为session的一个属性,而且将请求向前送,如<<forward>>标识的一样,直到一个Checkout JSP。Checkout JSP利用Order JavaBean,如JSP和Order JavaBean之间所示的<<Use Bean>>干系一样,它会结构Checkout_Client页面而且泛起给用户。

#p#分页标题#e#

很明明,我们忽视了个中的一些细节。譬喻,在实际的项目中,你大概将利用购物车来跟踪项目;节制的责任或者会更分手,而不可是用独一一个MainServlet等。这里的主要概念是汇报你,对付设计和开拓巨大的J2EE应用,UML是一个强大的东西,通过上面的例子,你将会认识到这一点。

#p#副标题#e#

实现事情

Rational Rose可让你直接从框图中发生, JavaBean, HTML, Servlet和EJB代码。譬喻,两个JSP间的<<include>>干系将会在导致在相应的JSP中发生<%@ include file="header.jsp" %> 。同样,<<Use Bean>>将会在JSP中发生<jsp:useBean id="cd" class="com.rational.cdshop.util.CD" scope="session">,这样就可利用CD JavaBean。

在EJB方面,除了可为EJB2.0中的全部三种EJB发生代码外(以及切合EJB1.1的EJB),Rational Rose还提供了一些特性以简化EJB的开拓。譬喻,在开拓EJB时,个中一个较贫苦的是需要在接口和实现类中写要领的代码。Rational Rose提供了一个菜单的选项,你只需要按一下按钮就办理了。它还提供了一个"check and repair"菜单选项,可以验证界说的EJB的正当性(譬喻,remote接口中的remote要领和EJB实现类中的是对应的),假如不是,可觉得你修复它们。

Rational Rose中另一个和EJB相关的特性是Rational Quality Architect (RQA),可用作设计测试EJB。譬喻,可以利用RQA为EJB作单位测试。还可以利用在Rose中界说的顺序图来作多个EJB的测试。当依赖某个软件组件,可是它还未设计好,那么可以利用RQA来发生框架。

为了确保可以用本身的条件来实现,而无需担忧UML模子的改变,反之亦然,Rational Rose提供了一个内置的代码编辑器,用户可以配置同步的选项。譬喻,你可以选择一直保持同步。在这种环境下,每当你更新源代码而且生存时,Rose中的UML模子就会自动被更新。有些时候,你可以只是想看一下它们是如那里理惩罚的,并不想影响你的模子。在这种环境下,你可以在全局可能基于每个类的配置将同步关掉。

虽然,当谈到实现和编码时,你将需要一个好的IDE,譬喻Sun’s Forte for Java可能Borland JBuilder。Rational Rose 2001a提供的主流IDE的深度集成和自动同步,所以可以在享受Rational Rose在UML模子和开拓J2EE应用长处的同时,继承利用本身最喜爱的IDE。

关于UML和J2EE的更多方面

我们只是很大略地谈了一下利用UML作模子及开拓J2EE应用。譬喻,通过session中涉及到的各类实体,你可以利用UML勾当图来模子化session打点。

另一个挑战是转达session EJB需要的正确操纵挪用顺序。一个顺序图可以标识某个情景,可是你需要大量的顺序图来暗示组件支持的各类情景(有些人实验利用带有节制和分支语句的顺序图,可是这样只会获得一个巨大和费解的顺序图)。另一方面,UML状态图提供了一个强大的成果,可以模子化和转达这些信息。通过状态图,你可以查察顺序图的每个情景,这样你就可以验证每个顺序图,而且看组件是否支持你需要用的操纵。

总结

通过利用UML,你可以领略需求,作正确的阐明和设计,而且在一个颠末验证的法则上开拓一个方案和作最佳的实现,从而可以明明的晋升开拓可扩展、易维护和可长时间利用的软件的时机。

Rational Rose是仅有的可以支持全程建模及J2EE应用设计的UML模子东西。

    关键字:

在线提交作业