SCA学习入门

1.         SCA的目标:

Ø       很好的集成现有的系统

Ø       服务组件与传输协议的绑定达到一定的松散耦合,服务组件可以自由的选择传输协议,从而达到服务组件的最大可重用性。

2.         SCA的优势:

组件之间处于一种松散耦合的状态,不需要在自己的代码中加入对方组件的接口代码不需要指导对方的技术系统,在组件客户端的调用程序中不能有任何和具体技术相关的接口。

3.       SCA服务组件的组成部分:

Ø         服务(Service):用来让其他组件调用。是一个接口,类似于JavaInterface

Ø      组件实现(Implementation):实现上面所创建的服务,类似于Java的接口的实现类

Ø      引用(Reference):一个组件可能需要调用其他组件,需要创建一个其他组件的引用。

Ø      属性(Properties):对组件实现的一种属性参数的注入

SCA组件的组成

SCA组件组成

 

4.       服务组件的配置文件(通过SCDL 来定义)

例子:

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

<!--MyValueComposite_1 example -- >

<composite name=”MyValueComposite”>

   

    <component name=”MyValueServiceComponet”>

         <implementation.java class=”service.mycalue.MyValueServiceImpl”/>

         <property name=”currency”>EURO</property>

         <reference name=”customerService”/>

         <reference name=”stockQuoteService”/>

   </component>

</composite>

 

 

5.         SCA的组件类型(ComponentType):定义了Service,Reference,Property的类型,具体信息,不一定需要这些定义,一般可以从组件配置文件中获取这些信息

Java Implementation Example: componentType

<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0"

xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<service name="AccountService">

<interface.java interface="services.account.AccountService"/>

</service>

<reference name="accountDataService">

<interface.java interface="services.accountdata.AccountDataService"/>

</reference>

<reference name="stockQuoteService">

<interface.java interface="services.stockquote.StockQuoteService"/>

</reference>

<property name="currency" type="xsd:string"/>

</componentType>

 

 

6.         SCA绑定(Binding)

Ø      Web Service绑定:

两种方式:

*         通过”uri”

   

<binding.ws uri="http://www.sqs.com/StockQuoteService"/>

 

 

*         通过“wsdlElement”

<binding.ws wsdlElement="xs:anyURI"?

wsdli:wsdlLocation="list of xs:anyURI"?>

<wsa:EndpointReference>...</wsa:EndpointReference>*

</binding.ws>

 

 

Ø      EJB Sessions Bean绑定:

*支持无状态会话Bean和有状态会话Bean

*支持EJB2.X3.0

*使用<binding.ejb …/>标签

<binding.ejb uri="corbaname:rir:#ejb/JobBankServiceHome“

homeInterface="com.app.jobbank.JobBankServiceHome“

ejb-link-name="jobbankEJB.jar#JobBankComponent"/>

 

 

Ø         JMS绑定:

*基于JMSAPI

*允许基于每个操作的基础上设置JMS headers和用户属性

*默认数据绑定和操作选择

*用法为:<binding.jms…./>

<binding.jms>

<destination name=”StockQuoteServiceQueue”/>

<connectionFactory name=”StockQuoteServiceQCF”/>

<resourceAdapter name=”com.example.JMSRA”/>

</binding.jms>

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值