发表于: 2017-07-13 19:42:45

1 1198


今日完成

继续tuscany

公司催着改产品策划案,又花了一下午去和老板对需求讨论,心好累。相比起来还是敲代码让人宁静和心安。

之前理解的是tuscany和spring rmi差不多,都是分布式的实现方法。没有花更多的时间去理解sca和soa。先从一个简单实例入手写写看,找到一个计算器的例子。

需要引入的jar包,pom.xml

<dependencies>
<!--https://mvnrepository.com/artifact/org.apache.tuscany.sca/tuscany-base-runtime-->
   <dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-base-runtime</artifactId>
<version>2.0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.tuscany.sca.aggregation/tuscany-binding-rmi-runtime-aggregation -->
   <dependency>
<groupId>org.apache.tuscany.sca.aggregation</groupId>
<artifactId>tuscany-binding-rmi-runtime-aggregation</artifactId>
<version>2.0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.tuscany.sca.aggregation/tuscany-binding-ws-runtime-axis2-aggregation -->
   <dependency>
<groupId>org.apache.tuscany.sca.aggregation</groupId>
<artifactId>tuscany-binding-ws-runtime-axis2-aggregation</artifactId>
<version>2.0.1</version>
</dependency>

关键的Calculator.composite

<composite
xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
targetNamespace="http://com.jnshu.service"
name="Calculator">
<!-- xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"-->
<!--xmlns="http://www.osoa.org/xmlns/sca/1.0"-->

<service name="Calculator" promote="Calculator">
<interface.java interface="com.jnshu.service.ICalculator"/>

<!--<tuscany:binding.rmi port="8099" host="localhost" serviceName="Calculator" />-->
<binding.ws uri="http://127.0.0.1:8099/Calculator"/>
</service>

<component name="Calculator">
<implementation.java class="com.jnshu.service.Calculator" />


<reference name="add" target="AddComponent"/>
<reference name="subtract" target="SubtractComponent"/>
<reference name="multiply" target="MultiplyComponent"/>
<reference name="divide" target="DivideComponent"/>
</component>
<component name="AddComponent">
<implementation.java class="com.jnshu.service.Add" />
</component>
<component name="SubtractComponent">
<implementation.java class="com.jnshu.service.Subtract" />
</component>
<component name="MultiplyComponent">
<implementation.java class="com.jnshu.service.Multiply" />
</component>
<component name="DivideComponent">
<implementation.java class="com.jnshu.service.Divide" />
</component>

</composite>

实例只拆分了service和client没有涉及到web,打算再找找其他完整的例子

收获

敲了一个简单实例

困难

明日计划

继续tuscany


返回列表 返回列表
评论

    分享到