WEB开发网
开发学院软件开发Java Java 建模: UML 工作簿,第 4 部分 阅读

Java 建模: UML 工作簿,第 4 部分

 2009-11-06 00:00:00 来源:WEB开发网   
核心提示: 在 EJB 开发中, 会话虚包(Session Facade)模式常被用来使网络流量最小化和确保事务一致性,Java 建模: UML 工作簿,第 4 部分(5),在 Web 服务的开发中,这一模式也有极重要的作用,例如,会话 bean 会回滚无法完成的支付的任何借项,该模式还是匿名参与者在系统设

在 EJB 开发中, 会话虚包(Session Facade)模式常被用来使网络流量最小化和确保事务一致性。在 Web 服务的开发中,这一模式也有极重要的作用,该模式还是匿名参与者在系统设计中的用法的典型示例。会话虚包模式用对会话 bean 的单个调用来代替对实体 bean 的多个调用。新的会话 bean 代表客户机对服务器上的实体 bean 进行调用。

为了说明会话虚包模式,我们来考虑这样一个用例,用户能将贷款支付的帐目记入她的支票帐户的借方。如果我们用实体 bean 来实现这个付款用例,则一个简单的事务需要跨网络进行四个调用,如图 5 所示。此时您可能会回想起来,在序列图中,斜向箭头表明消息有较漫长的响应时间(这是跨网络发送消息而不是直接将消息发送到对象的结果)。此外,有可能其中某个事务永远也不会实际完成。

图 5 说明了实体 bean 将如何管理付款用例。

图 5. 用实体 bean 的办法来实现偿还贷款

Java 建模: UML 工作簿,第 4 部分

图片看不清楚?请点击这里查看原图(大图)。

对于我们的用例,单单实体 bean 显然不会是一种好的实现。性能就很成问题,而无法完成最后一个步骤(完成支付)可能会是一个更大的问题。通过在这个方案中加入一个会话 bean,会话虚包解决了这些问题。会话 bean 充当参与者的本地代理。

用会话 bean 进行建模

从逻辑上说,会话 bean 封装了它所代表的参与者所希望的操作。这样,会话 bean 就为我们与实体 bean 的交互提供了一个 虚包。会话 bean 让我们不用在网络间拖动数据几次,而是通过服务器上的一个事务就可以实现我们的目标。而且,注入会话 bean,就确保了用户事务的原子性,从而付款将被安全记入贷方。例如,会话 bean 会回滚无法完成的支付的任何借项。这就保证了我们用户的钱不会凭空消失。

上一页  1 2 3 4 5 6  下一页

Tags:Java 建模 UML

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接