您的位置:首页 > 其它

SCA学习入门

2008-07-30 20:03 274 查看
1. SCA的目标:
Ø 很好的集成现有的系统
Ø 服务组件与传输协议的绑定达到一定的松散耦合,服务组件可以自由的选择传输协议,从而达到服务组件的最大可重用性。
2. SCA的优势:
组件之间处于一种松散耦合的状态,不需要在自己的代码中加入对方组件的接口代码不需要指导对方的技术系统,在组件客户端的调用程序中不能有任何和具体技术相关的接口。
3. SCA服务组件的组成部分:
Ø 服务(Service):用来让其他组件调用。是一个接口,类似于Java的Interface
Ø 组件实现(Implementation):实现上面所创建的服务,类似于Java的接口的实现类
Ø 引用(Reference):一个组件可能需要调用其他组件,需要创建一个其他组件的引用。
Ø 属性(Properties):对组件实现的一种属性参数的注入



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.X和3.0


使用<binding.ejb …/>标签
<binding.ejb uri="corbaname:rir:#ejb/JobBankServiceHome“
homeInterface="com.app.jobbank.JobBankServiceHome“
ejb-link-name="jobbankEJB.jar#JobBankComponent"/>
Ø JMS绑定:


基于JMS的API


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


默认数据绑定和操作选择


用法为:<binding.jms…./>
<binding.jms>
<destination name=”StockQuoteServiceQueue”/>
<connectionFactory name=”StockQuoteServiceQCF”/>
<resourceAdapter name=”com.example.JMSRA”/>
</binding.jms>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: