MyEclipse 中开发SCA应用入门

SCA:service component architectur
这是一种面向服务的基础架构设计,方便了在此基础上实现SOA的应用。SCA只是一个规范,对这个规范的实现有多种,其中Apache的Tuscany SCA就是其中一种。
首先,我只是结合我自己的理解简单介绍一下SCA,然后在把我自己写的一个最简单的HelloWorld如何搭建起来的做一个描述。
借助Tuscany的实现描述SCA 运行时:
首先是运行环境:包括操作系统,虚拟机,容器等等。诚挚为Hosting Platforms
在此之上是运行时的Core 和Extension部分,这个设计是微内核的,Core就是这个核,Core提供的功能,运行时实现,以及提供Extension的机制。
在Core之外提供Extension:比如Apache tuscany 提供的SDO,DAS都是这种Extension。 这样一种相当于插件机制的设计增加了灵活性。
在Core和extension之上就是:Tuscany API,提供给开发者更多的方便。

在SCA中有几个很重要的概念:
Component:具有独立功能的程序模块。
Service:component提供给外部的服务。
Referrence:对其他服务的引用。
Composite:多个component的高一层次封装。
Wire:链接Referrence和component。
Promote:同一个composite内多个component之间的链接。
Domain: 一个composite是一个最简单的Domain。Domain是对n个composite组织的高一层次封装。

基本的概念就只描述这些了,下面看看如何把最简单的SCA HelloWorld运行起来。

1,到Apache官方网站下载Tuscany SCA binary package 和对应源码。
2,在MyEclipse中新建UserLibrary,把binary package下的jar包全部加入到其中,并关联下载的源代码到sca-all.jar
3,新建工程,并引入刚才建立的UserLibrary。
4,其实运行HelloWorld很简单:
建立接口:



package Hello;

import org.osoa.sca.annotations.Remotable;

public interface IHello {
public String show(String name);
}



然后实现接口:

package Hello;

public class HelloImpl implements IHello{

public String show(String name)
{
return "Hello"+name;
}

}



接下来就是要写一个Hello.composite 配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" name="hello">
<component name="Hello">
<implementation.java class="Hello.HelloImpl"/>
<service name="Hello">
<binding.ws uri="hello-there"/>
<t:binding.jsonrpc uri="hello-nicer"/>
</service>
</component>
</composite>

这个文件其实就对应了Composite ,component,service 等概念。比较容易明白。

还需要一个Client来调用这个composite:


package Hello;

import org.apache.tuscany.sca.host.embedded.SCADomain;
public class HelloClient {

public static void main(String[] args)
{
SCADomain domain=SCADomain.newInstance("hello.composite");
IHello ihello= domain.getService(IHello.class, "Hello");
if(ihello!=null)
ihello.show("ccx");
domain.close();
}

}



这个HelloClient从配置文件Hello.composite读取配置并建立了domain,然后或得Hello服务接口,并完成对服务的调用。

这个例子很简单,但也可以对SCA中一些最基本的概念有所了解。有了这个的基础上,可以再深入学习更多的东西了。

将持续关注SCA。and OSGI
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值