BusinessWare是一款企业应用集成(EAI)软件,更加注重“系统”间的交互,传统工作流只是它的一项普通功能而已,并且是符合WfMC规范的;BusinessWare还是一款可扩展的软件,对于已知的未知的系统/协议,它提供可单独配置的部件(Connector/Proxy)来对接,因此,BusinessWare可以看作企业现有系统间的总线/程控交换机
BusinessWare能够与标准的JavaEE应用服务器进行双向交互(发送/接收)等,不过当前只能交互,不能整合,当前版本(4.x)有独立运行的BusinessWare Server,下一版BusinessWare的Project将可以直接部署、运行在标准JavaEE服务器中
下面是BusinessWare中的几个基本概念:
Integration Model:顶级模型(root model),是整个应用的集成模型,由代表各种外部系统和内部业务流程的Component组成,直接建模各种外部系统 和内部业务流程之间的连接;Integration Model可以嵌套,称为Nested Integration Model,可在运行时动态连接到不同的实际子系统,这样可以使你分层的设计集成模型,隔离了复杂性,利于重用
Component:包含在Integration Model中,代表各种外部系统和内部业务流程,不过,它只是真正的SubSystem的占位符,是一个Logical Concept,这样你的整个整合模型(Integration Model)就成了一个逻辑视图,独立与实际的物理子系统,使系统更加灵活的应对变化
Process Model:即其它系统中的Workflow,由state,transition等组成;不过在BusinessWare中,只有human interaction的Process Model才称为Workflow
Transformer Model:内部数据适配器,分in和out两个方向
Connector:外部系统适配器,分两个方向:Source Connector和Target Connector;Connector对适配器显式建模,是EAI的关键;以前自己的系统把这种Connector建模为了自动型活动 ;BusinessWare带有几个基本的Connector,提供了对诸如file systems, email systems, Web servers, channels, 和queues的连接. 很多其它专用的Connector可以单独购买,如database connectors, SAP connectors, 和 Oracle Applications connectors.
Proxy:外部对象适配器,通常是远程过程调用的代理 ,如RMI,EJB,CORBA,WebService等;Proxy和Connector的区别是:Whereas connectors enable interaction between BusinessWare project components and external systems such as Oracle Applications and SAP, proxies enable interaction with external projects or software objects using specific protocols.
BPO:似乎对应 工作流中的相关数据,但比"相关数据"模型更清晰,更模块化
Project Module:共享的Project Library,类似编程语言中类库的概念,可以在不同项目中复用;应该超过 sub flow 的复用级别
BWE:BusinessWare Modeling Environment,是BusinessWare的建模工具,全程可视化,代码产生器,自动同步,调试、部署、运行...真是很强大 ;不过目前听说只有Windows和Solaris的版本,但下一版将基于Eclipse,会极大增加跨平台能力;试用中发现新建一个project的菜单居然不在File--New中,而是放在"Project--Project Manager"中,真是令初次见面者一头雾水
Types:算是Metadata,“Operations, parameters, exceptions, business process objects (BPOs), and events are all examples of BusinessWare types. To enable BusinessWare to store, transport, and manipulate your data, you describe it to BusinessWare using types. In addition to a generic BPO, you can define specific BPOs that describe your data and operations.”
Ports:类似UML 2.0的Ports,定义Component面向不同Client和Service的接口
LDAP:其实我不是很清楚BusinessWare是需要LDAP服务呢还是其它目录服务 协议也可以
Persistent Store:完全掩藏了建表语句,根据对象自动创建表,只需要指定连接信息即可;在各种存储机制中自由切换