第四章 设计外部应用接口
概述
将J2EE应用与外部应用进行通讯是很正常的. 例如,一个购买应该程序可能会通知一个所有购买交易的帐务应用程序,或者一个库存管理系统可能会通知一个所有货物的入库和出库的记帐应用程序. 架构师负责设计程序接口以及应用本身. 本章将详细的介绍如何定义外部的应用程序接口,让你能设计和实现这样的任务.
如果J2EE应用的初始化是在外部应用程序中进行时,你应该确定这些应用放在用例中进行分析,就像在第二章中讨论的那样. 所有在J2EE应用与外部应用之间信息传送的细节都应当成为这些用例的核心. 例如, 购买系统通知帐务系统中,所有的订单的存放应该是用例的核心.
对于外部应用程序的用例, 应该确定使用这些接口要触发的事件,以及每一个事件需要传递进去的信息.例如,考虑以下的用例:
库存系统将通知帐务系统所有的入库记录.
通知在入库记录时发生.
通知将包括每一笔入库的商家ID及时间戳, as well as the UPC, 以及出货的数量
来自帐务系统的确认.
定义和文档化外部接口以便双方的开发人员能有一个对象模型基础(在第六章中说明).架构师在两个系统需要建立一个基础以便进行建模和实现.还有,项目经理需要制定相应的合同来分配两边开发人员的各自的责任.
以下几方面应该与外部开发人员讨论并在团队之间达成共识:
交流方式
数据结构
触发事件(数据交换)
错误处理以及职责
架构师应该推动接口设计的讨论. 尽可能让讨论接近上述的话题.内部的应用设计与本次讨论毫不相干.与外部应用程序使用到的平台相关,因为它将影响到使用它提供的一些通信方法的J2EE应用程序的性能.For example, if the external application is not written in Java, the J2EE application cannot use any form of communication that uses RMI, such as enterprise beans.
概述
将J2EE应用与外部应用进行通讯是很正常的. 例如,一个购买应该程序可能会通知一个所有购买交易的帐务应用程序,或者一个库存管理系统可能会通知一个所有货物的入库和出库的记帐应用程序. 架构师负责设计程序接口以及应用本身. 本章将详细的介绍如何定义外部的应用程序接口,让你能设计和实现这样的任务.
如果J2EE应用的初始化是在外部应用程序中进行时,你应该确定这些应用放在用例中进行分析,就像在第二章中讨论的那样. 所有在J2EE应用与外部应用之间信息传送的细节都应当成为这些用例的核心. 例如, 购买系统通知帐务系统中,所有的订单的存放应该是用例的核心.
对于外部应用程序的用例, 应该确定使用这些接口要触发的事件,以及每一个事件需要传递进去的信息.例如,考虑以下的用例:
库存系统将通知帐务系统所有的入库记录.
通知在入库记录时发生.
通知将包括每一笔入库的商家ID及时间戳, as well as the UPC, 以及出货的数量
来自帐务系统的确认.
定义和文档化外部接口以便双方的开发人员能有一个对象模型基础(在第六章中说明).架构师在两个系统需要建立一个基础以便进行建模和实现.还有,项目经理需要制定相应的合同来分配两边开发人员的各自的责任.
以下几方面应该与外部开发人员讨论并在团队之间达成共识:
交流方式
数据结构
触发事件(数据交换)
错误处理以及职责
架构师应该推动接口设计的讨论. 尽可能让讨论接近上述的话题.内部的应用设计与本次讨论毫不相干.与外部应用程序使用到的平台相关,因为它将影响到使用它提供的一些通信方法的J2EE应用程序的性能.For example, if the external application is not written in Java, the J2EE application cannot use any form of communication that uses RMI, such as enterprise beans.