[AIX Solaris HP-UX Linux Windows][z/OS]

配置 SCA 默认绑定(已弃用)

可以为服务和引用配置服务组件体系结构 (SCA) 缺省绑定。

已弃用的功能:8.5.5.19或更高版本服务组件体系结构 (SCA) 编程模型和示例已弃用,并将在将来的版本中删除。 无法部署新的 SCA 业务级应用程序。

请更新应用程序以使用其他编程模型。 您使用的编程模型将根据您先前在应用程序中合并 SCA 的方式而变。

如果将 SCA 用于绑定,请合并您的应用程序符合一些标准(例如,Java API for RESTful Web Services (JAX-RS) 或 Java 消息服务 (JMS))时所采用的方式。 例如,将 JAX-RS 用于应用程序绑定。 为了最大程度地减少绑定级别的实现重复,请构造应用程序以使用共享代码。

如果您想继续使用 SCA 作为长期战略的一部分,请考虑将您的应用程序托管在IBMBusiness Process Manager

有关此任务

绑定确定组件如何与它的域外部的世界进行通信。 服务使用绑定来描述客户机必须用来调用服务的访问机制。 引用使用绑定来描述用来调用服务的访问机制。 SCA 绑定也称为缺省绑定。 缺省绑定是未对组件引用或服务的配置指定任何其他绑定时,所使用的绑定。 当 SCA 客户机调用相同域中的 SCA 服务时,请使用此绑定。 它并非用来以任何方式与 SCA 运行时环境的其他实现进行互操作。

过程

  • 使用 SCA 缺省绑定来配置 SCA 服务。

    如果仅通过缺省绑定来公开服务,那么您不需要显式地添加 <binding.sca> 元素,因为此绑定是 SCA 的缺省绑定。 如果您的 SCA 服务具有多个绑定,且 SCA 缺省绑定必须是这些绑定之一,那么您必须在组合定义中指定 <binding.sca> 元素。

  • 使用 SCA 缺省绑定来配置 SCA 引用。

    对于引用,您也不需要指定 <binding.sca> 元素。 对于带有缺省绑定的引用,引用会指定一个指示目标服务的目标属性。 要在引用中指示目标,请指定 target=componentName/serviceName。 如果对于服务组件而言只存在一个服务,那么您只需要指定 componentName;例如:target=ComponentName

结果

您已隐式或显式地配置 SCA 服务或引用的 SCA 缺省绑定。

示例

以下示例说明多个用于配置 SCA 缺省绑定的方案。

具有 SCA 服务绑定的顶级组合
<?xml version="1.0" encoding="UTF-8"?> 

   <composite xmlns="https://www.osoa.org/xmlns/sca/1.0" targetNamespace="http://mysca/samples"
             name="MyComposite"> 

      <component name="HelloWorldServiceComponent">
         <implementation.java class="test.HelloWorldImpl"/>
      </component> 

   </composite>
具有 SCA 引用绑定的顶级组合
<?xml version="1.0" encoding="UTF-8"?> 

   <composite xmlns="https://www.osoa.org/xmlns/sca/1.0"  targetNamespace="http://mysca/samples"
       name="ClientComposite"> 


      <component name="ClientComponent">
        <implementation.java class="test.GreetingsServiceImpl"/> 
        <reference name="helloWorldService" target="TargetComponent"/> 
      </component> 

   </composite>

OR:

<?xml version="1.0" encoding="UTF-8"?> 

   <composite xmlns="https://www.osoa.org/xmlns/sca/1.0"  targetNamespace="http://mysca/samples"
        name="ClientComposite"> 


      <component name="ClientComponent">
        <implementation.java class="test.GreetingsServiceImpl"/> 
        <reference name="helloWorldService" target="TargetComponent/HelloWorld"/>
        <!-- compName/serviceName --> 
        </component> 

   </composite>
具有已定义事务策略属性的 SCA 服务绑定的顶级组合
<?xml version="1.0" encoding="UTF-8"?> 

   <composite xmlns="https://www.osoa.org/xmlns/sca/1.0"  targetNamespace="http://neworder/sca/jdbc"
       name="NewOrderComposite"> 


      <component name="NewOrderServiceComponent">
         <service name="NewOrderService" requires="propagatesTransaction.false"/> 
         <implementation.java class="neworder.sca.jdbc.NewOrderServiceImpl" requires="managedTransaction.local"/>
      </component> 

   </composite>
具有支持 WSDL 接口的 SCA 服务绑定的顶级组合
<?xml version="1.0" encoding="UTF-8"?> 

   <composite xmlns="https://www.osoa.org/xmlns/sca/1.0"  targetNamespace="http://mysca/samples"
         name="ClientComposite"> 

        <component name="ClientComponent"> 
           <service name="HelloWorldService">
             <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)"/>
           </service> 
          <implementation.java class="test.HelloWorldImpl"/>
         </component> 

   </composite>
具有支持 WSDL 接口的 SCA 引用绑定的顶级组合
<?xml version="1.0" encoding="UTF-8"?>

    <composite xmlns="https://www.osoa.org/xmlns/sca/1.0" targetNamespace="http://mysca/samples"
               name="ClientComposite"> 


       <component name="ClientComponent">
         <implementation.java class="test.GreetingsServiceImpl"/>
         <reference name="helloWorldService" target="MyServiceComponent">
            <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)"/>
         </reference>
       </component>

</composite>
通过 SCA 缺省绑定来引用的组合
<?xml version="1.0" encoding="UTF-8"?> 

   <composite xmlns="https://www.osoa.org/xmlns/sca/1.0" targetNamespace="http://mysca/samples"
         name="Service1Composite"> 

       <component name="HWServiceComponent">
         <implementation.java class="test.HelloWorldImpl"/>
         <reference name="component2Ref" target="Component2"/>
      </component> 


        <component name="Component2">
        <implementation.java class="test.Component2Impl"/>
        </component> 

   </composite>
带有所指定 workManager 的 SCA 服务
<?xml version="1.0" encoding="UTF-8"?>

   <composite xmlns="https://www.osoa.org/xmlns/sca/1.0"
              xmlns:wm="https://www.ibm.com/xmlns/prod/websphere/sca/1.0/2007/06"
         targetNamespace="http://mysca/samples" name="Composite2">


      <component name="Component2">
        <service name="OneWayService">
          <!-- This service uses the @oneway annotation to specify this operation only has an input message
                and no output message.   -->
            <wm:workManager value="wm/scatest"/>
            <!-- This service specifies a workManager where the jndiName is wm/scatest. -->
        </service>
        <implementation.java class="test.Component2Impl"/>
        <reference name="component3" target="Component3"/> 
      </component> 


      <!-- component service with @oneway (non blocking operation -->
      <component name="Component3"> 
        <!-- By not defining the workManager, the SCADefaultWorkmanager that is created by the SCA 
             runtime environment is used here. -->
        <implementation.java class="test.Component3Impl"/>
      </component>  

   </composite>

下一步做什么?

部署 SCA 组件或应用程序。