我爱Aspx >> 数据库 >> 实现动态的可重用 SOA(组图)本文中,我们介绍Oracle 服务注册表 (OSR)。您将从中了解到如何在不牺牲性能的情况下放松紧密耦合的 BPEL 流程,同时创建一个使企业受益的可重用且可发现的文件库。
设置示例场景包含两个 BPEL 流程:一个主流程 (MasterProcess),它用以调用另一个名为 CalleeProcess 的流程。一般而言,构建场景时,主流程与它的服务通过引用其具体的绑定定义 (WSDL) 紧密耦合。
创建了 BPEL 流程后,创建者已确定了该流程提供的消息模式。根据其操作,可以是异步或同步。
请看以下的 CalleeProcess 定义。

在上述示例中,流程的服务接口提供了一个称为“process”的操作,该操作在其内部定义了一个输入 (CalleeProcessRequestMessage) 和一个输出 (CalleeProcessResponseMessage) 消息。
此时,BPEL 流程不包含任何有关其所在位置或用何种技术调用它的信息。
将 BPEL 流程部署到服务后,应实现 WSDL 接口并添加一个物理端点。此时,其定义将由抽象转为具体。

现在,流程 (CalleeProcess) 已变成了一个服务,可以通过使用其具体的 WSDL 位置并将将其作为 partnerlink 的基础,在另一个流程中重用它。

部署成功后,就可以调用 MasterProcess 了。这将触发 CalleeProcess 的执行,而其通信是完全在内存中处理的。
将服务绑定从 BPEL 流程剥离准备工作完成后,实现松散耦合系统的第一步,就是将实施从 CalleeProcess(从 MasterProcess 调用)的定义中剥离。
将该模式应用到 BPEL 流程可带来极大的灵活性,这是因为无需更改流程本身即可更改所使用的特定服务实施。
在本步骤中,将具体的服务定义注册到 OSR 后,它在整个企业中都可被发现了。
根据 UDDI 数据模型,服务是业务(允许按用途分组)的细目。(注意:业务与可视性没有联系。)
只需在 UDDI 业务实体下发布一个 WSDL 就可以添加服务定义(本例中为 CalleeProcess 的服务定义),如下所示。

完成发布过程后,可将服务定义添加到业务 (DynamicDiscoveryBusiness),为 CalleeProcess 创建一个 UDDI 项,以及添加一个与物理端点的绑定。
Ҷƪл˵?
Oracle商业智能套件企业版10g第三..[04-21]
Oracle应用服务器软件平台亚太增..[04-21]
最新版Oracle应用产品通过在Orac..[04-21]
两大Linux标准组织合并 叫板微软..[04-21]
手机操作系统,谁主沉浮?[04-21]
NEC推高端Linux容错服务器性能提..[04-21]
Solaris战胜Linux所需要的七大法..[04-21]
计世资讯:SI和ISV要不要支持Linu..[04-21]
2007年中国软件市场规模将超过75..[04-21]
JBoss进一步向轻量级和SOA升级靠..[04-21]