存储 频道

利用 ESB 虚拟化 BPEL 流程服务端点

    自 Oracle 将企业服务总线 (ESB) 作为 SOA 套件的一部分发布以来,许多人都很好奇,与仅在 Oracle BPEL 流程管理器内进行完整的自包含实施相比,ESB 所具有的附加值及其使用场合。

  它的优势之一是能够对其用户透明地虚拟化服务端点,从而提供从其自有格式到规范格式的转换以及可靠路由。

  在该技术说明中,您将通过两个有指导的步骤了解如何通过重用现有产品采用 BPEL 流程来利用 ESB 将原有服务虚拟化,以及这样做可以获得怎样的宝贵价值。

  设置

  现在,开始启动流程,您将通过应用该流程了解使用 BPEL 和 ESB 的非常好的实践。我们已经创建了一个使用公用模式的异步流程,它代表一个规范的客户请求,以下为部分摘录:

[...]
<element name="CustomerUpdateProcessProcessRequest">
   <complexType>
  <sequence>
  <element name="customerName" type="string"/>
  <element name="ccard" type="string"/>
  <element name="ccardNr" type="string"/>
  <element name="email" type="string"/>
  <element name="pw" type="string"/>
  </sequence>
  </complexType>
</element>
[..]

  该规范客户请求 (CustomerUpdateProcessProcessRequest) 包含名称 (customerName)、信用卡类型 (ccard)、信用卡号 (ccardNr),以及电子邮件地址 (email) 和口令 (pw)。

  本说明中探讨的示例流程将更新一个原有系统(在本例中为一个数据库),该系统最后将由不同的数据结构替代,如下所示。

<xs:complexType name="Customer">
 <xs:sequence>
  <xs:element name="custid">
   <xs:simpleType>
    <xs:restriction base="xs:string">
     <xs:maxLength value="40"/>
    </xs:restriction>
   </xs:simpleType>
  </xs:element>
  <xs:element name="fname" minOccurs="0" nillable="true">
   <xs:simpleType>
    <xs:restriction base="xs:string">
     <xs:maxLength value="40"/>
    </xs:restriction>
   </xs:simpleType>
  </xs:element>
  <xs:element name="lname" minOccurs="0" nillable="true">
   <xs:simpleType>
    <xs:restriction base="xs:string">
     <xs:maxLength value="40"/>
    </xs:restriction>
   </xs:simpleType>
  </xs:element>
  <xs:element name="creditC" minOccurs="0" nillable="true">
   <xs:simpleType>
    <xs:restriction base="xs:string">
     <xs:maxLength value="40"/>
    </xs:restriction>
   </xs:simpleType>
  </xs:element>
 </xs:sequence>
</xs:complexType>

 

0
相关文章