业务层及集成层的应用程序设计架构

1) Business Delegate 使用 Service Locator,查找部署在 EJB 容器中的 Session Facade。Service Locator 将创建所需的EJBHome对象并返回 EJBRemote 对象供 Business Delegate 作远程调用。在系统设计里,Business Delegate 及 Session Facade 存在着一对一的对应关系。
2) Business Delegate 调用 Session Facade EJBRemote 对象上的业务方法,并把序列化后的Transfer Object 作为Session Facade 业务方法中的输入参数,进行远程调用。对于Session Facade,将以Stateless Session EJB 实现。此外,为了保持框架上的通用性及可复用性,Transfer Object将以 ArrayList 来实现,并以 HashMap 作为 ArrayList 里的成员 或者 用VO值对象作为其成员。
3) 为了达到组件与组件间的松散耦合效果及提高系统的灵活性及扩展性(如把EJB 发布为 Web Services 等),Session Facade 将不负责具体的业务实现。在软件架构中,Session Facade 只会利用J2EE EJB 容器中的服务对其业务方法作事务管理及安全性管理,至于具体的业务实现,将交由Application Service 负责。即,当 Session Facade 的业务方法被调用时,Session Facade 的业务方法将创建新的Application Service及调用Application Service 中的业务方法去处理请求。
4) Application Service 以 POJO 来实现。Application Service 除了可以自己独立完成业务外,也可以调用其他的Application Service 进行协作,完成业务。
5) 为了达到组件与组件间的松散耦合效果及提高系统的灵活性与扩展性,Application Service 将不会直接访问EIS 层数据源的数据。对于需要访问 EIS 层数据源进行CRUD操作的业务方法,Application Service 将会创建 Data Access Object 作为代理,并通过Data Access Object 来访问EIS数据源。为了保持系统架构的通用性及提高系统的扩展性,每一个不同的数据源将对应一个Data Access Object。而且,在Data Access Object的方法中,其输入及输出对象均为 Transfer Object。

如果不是访问数据库,而是访问文件系统,Application Service 将会创建 File Access Object 作为代理,并通过File Access Object 来访问文件信息,对于涉及下载的情况,可以把文件信息封装成Transfer Object(s),然后返回给 Session Facade ,Session Facade 把 Transfer Object 序列化,再返回给 Business Delegate。( 后面的7至13步骤可以省略)。另外,对于只涉及下载的场景,也可考虑采用省略Session Facade 的方式,即采用 Business Delegate  Application Service  File Access Object的实现方式。
1) Data Access Object 使用 Service Locator 查找所需的 EIS 层数据源。
2) Data Access Object 对 EIS 层数据源进行 CRUD 的操作。
3) Data Access Object 创建 Transfer Object,并把 EIS 层数据源在进行 CRUD 操作后的结果或返回数据集,封装在Transfer Object里。
4) Data Access Object 把 Transfer Object 返回给 Application Service。
5) Application Service 收到从(不同的) Data Access Object 所返回的 Transfer Object(s)。
6) 对于使用到多个Data Access Object 的Application Service,Application Service 将会把收到的多个 Transfer Objects 再封装为一个 Composite Transfer Object。
7) Application Service 把 Composite Transfer Object / Transfer Object 返回给 Session Facade。
8) Session Facade 把 Composite Transfer Object / Transfer Object 序列化,再返回给 Business Delegate。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值