I.最简单的(计算器实例)
Cal.composite(*.composite文件必需位于classLoader能找到的位置
)
<?xml version="1.0" encoding="UTF-8"?>
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:c="http://Cal" targetNamespace="http://Cal" name="Cal">
<component name="CalServiceComponent">
<implementation.java class="cal.CalService" />
<reference name="addService" target="AddServiceComponent" />
</component>
<component name="AddServiceComponent">
<implementation.java class="cal.AddService" />
</component>
</composite>
CalService.java(需要设置addService为reference
)
package cal;
import org.osoa.sca.annotations.Reference;
public class CalService {
private AddService addService;
public int add(int n, int m){
return addService.add(n, m);
}
@Reference//must have this annotation
public void setAddService(AddService addService){
this.addService = addService;
}
}
AddService.java
package cal;
public class AddService {
public int add(int n, int m){
return n + m;
}
}
CalServiceTest.java(可以采用SCADomain方式或SCANode2方式启动,其它方式?
)
package cal;
import static org.junit.Assert.*;
import org.apache.tuscany.sca.host.embedded.SCADomain;
import org.junit.Before;
import org.junit.Test;
import cal.CalService;
public class CalServiceTest {
private SCADomain scaDomain;
private SCANode2 node;
private CalService calService;
@Before
public void init(){
//setupViaSCADomain();
setupViaNode2();
}
@Test
public void testAdd() {
assertEquals(3, calService.add(1, 2));
}
private void setupViaSCADomain(){
scaDomain = SCADomain.newInstance("Cal.composite");
calService = scaDomain.getService(CalService.class, "CalServiceComponent");
}
private void setupViaNode2(){
node = SCANode2Factory.newInstance().createSCANodeFromClassLoader("Cal.composite", null);
node.start();
calService = ((SCAClient)node).getService(CalService.class, "CalServiceComponent");
}
}
<!----><!---->
<!----><!----><!----><!---->
分享到:
相关推荐
Apache Tuscany是Apache软件基金会的一个开源项目,它专注于服务组件架构(Service Component Architecture, SCA)的实现。SCA是一种用于构建和部署分布式应用程序的规范,它允许开发者使用多种编程语言和数据格式来...
【Tuscany发布Web服务实例详解】 Tuscany项目是一个开放源码的SOA(Service-Oriented Architecture,面向服务架构)实现,由Apache软件基金会维护。它提供了一个灵活、可扩展的框架来构建和部署分布式服务。在这个...
【Tuscany与SCA策略】 Tuscany是一个开源的服务组合架构(Service Component Architecture, SCA)实现,它提供了一种方式来管理和控制应用程序中与业务逻辑正交的方面,比如日志、监控和安全性。策略在Tuscany和SCA...
【标题】"tuscany1.6.2" 指的是Apache Tuscany项目的一个特定版本,即1.6.2版。Apache Tuscany是开源软件联盟Apache软件基金会下的一个项目,它是一个服务组件架构(Service Component Architecture, SCA)实现,...
Tuscany架构 Tuscany架构.jpg Tuscany架构.jpg
**Tuscany开源项目概述** Tuscany是一个由Apache软件基金会维护的开源项目,它致力于提供一个服务导向架构(Service-Oriented Architecture, SOA)的实现,支持跨平台、跨语言的服务集成。Tuscany的目标是促进SOA的...
通过这份Step By Step的用户指南,你将能够逐步掌握Apache Tuscany SCA的使用,并具备构建和管理SOA应用的能力。无论你是初学者还是有经验的开发者,这份指南都将是你探索SCA世界的重要参考资料。
Apache Tuscany SCA(Service Component Architecture)是一个开源框架,由Apache软件基金会开发,用于构建分布式应用程序和服务。SCA是一种标准,它定义了一种模型来组合、管理和部署服务及组件,使得开发人员能够...
**SCA(Service Component Architecture)服务组件架构**是Apache Tuscany项目的一部分,它是一种用于构建分布式应用程序和服务的开源框架。Tuscany SCA提供了一种声明式的方式来组合和管理服务,使得开发者能够关注...
tuscany wsdl2java tools
《Tuscany SCA在行动》一书深入探讨了Service Component Architecture(SCA)与Apache Tuscany项目,这是IT领域内对服务组件架构及其实现的重要研究资料。以下是基于标题、描述、部分目录和标签生成的相关IT知识点:...
### Tuscany-SDO-学习笔记 #### 1. SDO基础知识 ##### 1.1 创建DataObject **1.1.1 动态定义类型,然后创建DataObject** 在这一节中,我们将探讨如何通过动态定义类型来创建DataObject。这种方式允许我们在运行...
5个代码例子使用的是 Tuscany1.5版本。请在官网下载jar包。 下载地址:http://archive.apache.org/dist/tuscany/java/sca/1.5/apache-tuscany-sca-1.5.zip 5个例子从不同的角度讲解了tuscany的整体架构思想。文档...
Apache Tuscany是Apache软件基金会的一个开源项目,它实现了Service Component Architecture(SCA,服务组件架构),这是一种用于构建和集成分布式应用程序的规范。这个实例可能是关于如何使用Apache Tuscany来开发...
【Tuscany实战源代码】是一份非常宝贵的资源,它主要涵盖了Apache Tuscany的相关实践与源码解析,旨在帮助那些无法便捷访问网络的学习者深入理解Tuscany框架的内部工作原理和应用方法。Apache Tuscany是一个开源的...
Apache Tuscany SCA(Service Component Architecture)是一个开源项目,由Apache软件基金会维护,它提供了一个框架和中间件,用于构建、部署和管理分布式应用程序。SCA是一种标准,旨在简化服务导向架构(SOA)的...
最流行的SAO开源产品的最新版,分5个部分压缩;其它部分不要分。
Tuscany SCA(Service Component Architecture)是由Apache软件基金会所提供的一个开源框架,用于实现服务组件架构。它支持SCA规范,能够简化服务的部署、管理和交互。Tuscany SCA框架可以帮助开发者快速构建和部署...