BO(Business Object),Business Object是业务对象层,是对数据进行检索和处理的组件,表示应用程序领域内“事物”的所有实体类。这些实体类驻留在服务器上,并利用服务类来协助完成它们的职责。Business Objects,也简称BO,是全球领先的商务智能(BI)软件公司,公司主要业务是帮助企业更加深入地跟踪和了解其业务,改善决策水平,优化企业绩效。业务对象代表具体的业务数据,因此业务对象类型都有相对应的数据字典结构对应。

中文名

业务对象

外文名

Business Object

别名

Remote Data Service

所属行业

软件抽象

类型

商务智能软件公司

简介

BO为Business Object的缩写,Business Object是业务对象层,表示应用程序领域内“事物”的所有实体类。这些实体类驻留在服务器上,并利用服务类来协助完成它们的职责。Business Objects,也简称BO,是全球领先的商务智能(BI)软件公司。公司主要业务是帮助企业更加深入地跟踪和了解其业务,改善决策水平,优化企业绩效。

必要条件

⒈由状态和行为组成 ⒉表达了来自业务域的一个人,地点,事物或概念 ⒊可以重用

分类

实体业务对象

表达了一个人,地点,事物或者概念.根据业务中的名词从业务域中提取的.如客户,订单,物品.在EJB应用程序中,一般为实体Bean.在传统的web应用程序中,可能是包含业务应用的状态和行为的普通javabean.

过程业务对象

表达应用程序中业务处理过程或者工作流程任务.通常依赖于实体业务对象,是业务的动词.在EJB应用程序中,通常是模型的会话bean,或者消息驱动bean.在非EJB应用中,可能是javabean,包含特定的行为,作为应用程序的管理者或者控制者.

抽象与整合

业务对象的抽象和整合有何联系呢,或许有人会问我这样的一个问题(以前的我也老想着这个问题),就这个问题我个人觉得,如果脱离业务抽象而想象一个架构体系,那么是一个本末倒置的愚蠢的做法,因为只有做了一个业务的抽象才能根本上满足需求本质,这样才能更实际的充分的得到现实业务现象的抽象才能合理有效的模拟实现的IT系统(一个IT化的过程第一步骤)。 整合IT系统面临一个很大问题如何抽象IT系统的交互问题,这个方面IBM采取了消息通信的抽象;

它这样做当然有他的道理(也是比较接近现实场景的),但是我在这里顺便提一下我个人的想法,消息其实只是通信和协调的一个实现而已,但是还没有到本质;本质就是通信的协议的定制。我自己采取的就是在底层使用一个会话协议抽象(工作的保密关系不能再细说了,但是我的实践告诉我这样做有很高的架构体系扩展上,大家有机会可以试一试)。 所以业务抽象十分重要,只有把握好这一点,你的架构系统将体现更高的架构体系高度。你会发现需求的现象的本质,已经没有太多的需求变动能破坏你的架构还没有把握业务的本质)。

应用

业务需求

这一节中,将用一个实例说明BO的应用,这里假设有一业务需求:订单和物品,订单中可以有很多物品,每一个物品都有自己的ID,名称,单价和数量,而订单有自己的ID,编码,总价。 订单在传输过程中经历了如下操作,先创建一个订单实例,在这个订单实例中添加了两个物品,并且计算了订单的总价,但是在传送走后发现订单的代码被改动过了,需要重新找回原来的订单代码,最后这个订单实例被序列化并存储。

相关组件

WID(WebSphere Integration Develpor)是WPS开发的工具,我们可以在WID中非常方便地开发BO的定义。 首先,在WID中的Business Integration视图中建立一个Module,名称是:Purchase。 其次,在新建的Module上单击右键,选择New->Business Object,新建一个名叫Purchase的Business Object,按照此步骤,分别创建Purchase BO和Item BO

调试和运行

WID是一个集成的开发环境,为我们提供了良好的对WPS6.0的支持,BO可以在WPS6.0下运行,但是同时也提供了一个轻量级的J2SE的调试环境,我们可以使用J2SE来测试我们的BO。主要作用是把业务逻辑封装为一个对象。[2]在WID中,我们可以任意创建一个可以运行的Java类来运行BO,下面是一些BOF服务的使用方法,我们将具体介绍每一个服务的调用方法和功能,读者可以比较一下SDO相应接口的调用方式。