`
紧急下潜
  • 浏览: 19443 次
  • 性别: Icon_minigender_1
  • 来自: 大陆
文章分类
社区版块
存档分类
最新评论

让SOA落地,tuscany初体验

阅读更多
1 安装tuscany插件 http://archive.apache.org/dist/incubator/tuscany/java/sca/1.2-incubating/updatesite/
2 建立一个java项目hello
  定义接口
package soasample;

import org.osoa.sca.annotations.Remotable;


@Remotable
public interface Hello {

	String say(String name);
}	

  定义实现类
package soasample;

public class HelloImpl implements Hello {

	@Override
	public String say(String name) {
		// TODO Auto-generated method stub
		System.out.println("Hello-->"+ "hello:" + name);
		return "hello:" + name;
	}

}

  定义文件hello.composite文件
<?xml version="1.0" encoding="UTF-8"?>
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
	xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
	xmlns:c="http://hello" targetNamespace="http://hello" name="hello">
	<component name="Hello">
		<implementation.java class="soasample.HelloImpl"></implementation.java>
		<service name="Hello">
			<interface.java interface="soasample.Hello"></interface.java>
			<binding.ws></binding.ws>
		</service>
	</component>
</composite>


3 建立一个java项目first
  定义接口
package soasample;

import org.osoa.sca.annotations.Remotable;

@Remotable
public interface First {

	String first();
}

  定义实现
package soasample;

import org.osoa.sca.annotations.Reference;

public class FirstImpl implements First {
	
	private Hello hello = null;

	@Override
	public String first() {
		String say = hello.say("test");
		System.out.println("First-->"+ say);
		return say;
	}

	public Hello getHello() {
		return hello;
	}

	@Reference
	public void setHello(Hello hello) {
		this.hello = hello;
	}

}	

  定义文件first.composite文件
<?xml version="1.0" encoding="UTF-8"?>
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
    xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
    xmlns:c="http://first"
    targetNamespace="http://first"
    name="first">
	<component name="First">
		<implementation.java class="soasample.FirstImpl">			
		</implementation.java>
		<reference name="hello" target="Hello">
			<interface.java interface="soasample.Hello"></interface.java>
			<binding.ws uri="http://192.168.204.1:8100/Hello"/>
                        <!--此处ip端口不同,注意看控制台信息修改一下-->
		</reference>
		<service name="First">
			<interface.java interface="soasample.First"></interface.java>			
			<binding.ws></binding.ws>
		</service>
	</component>
</composite>


4 启动,先启动hello项目,选中hello.composite文件 运行选择tuscany方式,启动好之后以同样方式启动first项目
  你可以看到eclipse启动了3个控制台
  OK,你可以以web service方式调用First,看看输出
    hello控制台
      Hello-->hello:test
    first控制台
      First-->hello:test
5 tuscany比spring等IOC容器更提升了一步,将协议层彻底分离
分享到:
评论
7 楼 teamlet 2008-11-27  
SCA规范有Sun公司的人参与

annotation体现的是一种设计在实现之前,实现是基于良好的设计的前提。
不过这也在使用的灵活上打了一个折扣
6 楼 raymond2006k 2008-11-14  
SCA思想的确很不错。

就是不需要写 annotation就更完美了。
5 楼 darkjune 2008-07-31  
SUN自己的是JBI规范,  SDO这些是IBM,BEA搞得
4 楼 紧急下潜 2008-05-30  
charles qi 写道
如果规范指定的比较规范的话,这种模式还是很有价值的!
关注....

规范制定上是没问题的,这是osoa组织制定的,几乎包括了java领域的领导者(ibm bea oracle sun sap等等)
3 楼 charles751 2008-05-30  
如果规范能得到大厂商支持的话,这种模式还是很有价值的!
关注....
2 楼 紧急下潜 2008-05-30  
<div class='quote_title'>slaser 写道</div>
<div class='quote_div'>
<p><span style='color: #ff0000;'>将协议层彻底分离</span>是个什么意思,我不懂。</p>
<p>希望能有原理性质的东西能拿出来讨论下,tuscany我用过他的SDO部分,感觉不错。</p>
<p>不知道这一块在SOA里面处于什么样的位置。</p>
</div>
<p>你用spring等IOC容器进行组件装配,这些组件都是在同一个jvm内,通过jvm直接调用的,tuscany不光支持同一个JVM内调用,还支持通过webservice/jms/rmi等等协议调用,但是对组件使用者来说不用关心这些具体协议</p>
1 楼 slaser 2008-05-30  
<p><span style='color: #ff0000;'>将协议层彻底分离</span>是个什么意思,我不懂。</p>
<p>希望能有原理性质的东西能拿出来讨论下,tuscany我用过他的SDO部分,感觉不错。</p>
<p>不知道这一块在SOA里面处于什么样的位置。</p>

相关推荐

    soa-tuscany资料与5个小例子

    5个代码例子使用的是 Tuscany1.5版本。请在官网下载jar包。 下载地址:http://archive.apache.org/dist/tuscany/java/sca/1.5/apache-tuscany-sca-1.5.zip 5个例子从不同的角度...文档区别soa框架的两个体系的区别。

    SOA服务编程模型TUSCANY介绍

    技术文档PPT;技术文档PPT技术文档PPT技术文档PPT技术文档PPT技术文档PPT技术文档PPT技术文档PPT技术文档PPT

    SOA之SCA导航-Apache Tuscany篇

    集成开发环境(IDE)如Eclipse提供了更直观的开发体验,通过安装Tuscany插件,可以在Eclipse中直接创建和管理SCA应用。 2.2. 创建你的服务业务逻辑 在Eclipse中创建一个新的Java Project,编写服务的业务逻辑代码。...

    tuscany发布webservice实例

    Tuscany项目是一个开放源码的SOA(Service-Oriented Architecture,面向服务架构)实现,由Apache软件基金会维护。它提供了一个灵活、可扩展的框架来构建和部署分布式服务。在这个“Tuscany发布Web服务实例”中,...

    SOA 下的基于Axis2和Tuscany的web service

    Tuscany则是一个开放源码的SOA基础设施项目,由Apache基金会维护。Tuscany实现了服务数据对象(SDO,Service Data Objects)和企业服务总线(ESB,Enterprise Service Bus)等SOA关键组件。SDO是一种统一的数据访问...

    Apache Tuscany SCA 用户指南StepByStep

    9. **Tuscany与其他SOA框架的对比**:了解Tuscany相较于其他SOA实现(如OSGI、WS-CAF等)的独特之处和优势。 10. **社区支持与资源**:学习如何利用Apache Tuscany的社区资源,包括文档、论坛、邮件列表等,以便于...

    apaceh -TUSCANY 源码

    1. **多语言支持**:Tuscany支持Java、Python、Ruby等语言,让开发者可以选择他们熟悉的语言进行开发。 2. **多种运行时环境**:Tuscany支持基于Java的运行时,同时也支持基于OSGi的运行时,这使得它能适应不同的...

    Tuscany的开源项目Tuscany_sdo(C++版)

    Tuscany的目标是促进SOA的普及,通过提供灵活、可扩展的基础设施来构建和管理分布式应用程序。 **Tuscany SDO (C++版)** Tuscany Service Data Objects (SDO) 是该项目的一个重要组成部分,它是一个标准的数据抽象...

    tuscany1.6.2

    Apache Tuscany是开源软件联盟Apache软件基金会下的一个项目,它是一个服务组件架构(Service Component Architecture, SCA)实现,旨在促进跨平台的、基于标准的服务导向架构(Service-Oriented Architecture, SOA...

    tuscany的一点文档

    【Tuscany与SCA策略】 Tuscany是一个开源的服务组合架构(Service Component Architecture, SCA)实现,它提供了一种方式来管理和控制应用程序中与业务逻辑正交的方面,比如日志、监控和安全性。策略在Tuscany和SCA...

    Tuscany 架构图

    Tuscany架构 Tuscany架构.jpg Tuscany架构.jpg

    Tuscany SCA in Action

    《Tuscany SCA在行动》一书深入探讨了Service Component Architecture(SCA)与Apache Tuscany项目,这是IT领域内对服务组件架构及其实现的重要研究资料。以下是基于标题、描述、部分目录和标签生成的相关IT知识点:...

    Tuscany实战源代码

    Apache Tuscany是一个开源的Service Component Architecture (SCA)实现,它提供了构建分布式、跨平台应用程序的框架,特别适用于企业级服务导向架构(SOA)的开发。 Tuscany项目的核心目标是简化服务组件的创建、...

    apache-tuscany-sca-1.6.zip

    7. **示例和文档**:压缩包中很可能包含了示例应用程序和详细的用户文档,这些可以帮助新用户理解如何使用Tuscany SCA来构建和部署SOA解决方案。 8. **社区和支持**:作为Apache项目的一部分,Tuscany拥有活跃的...

    apache-tuscany-sca-1.6.2

    Apache Tuscany SCA(Service Component Architecture)是一个开源框架,由Apache软件基金会开发,用于构建分布式应用程序和服务。SCA是一种标准,它定义了一种模型来组合、管理和部署服务及组件,使得开发人员能够...

    Tuscany SCA与Spring、Hibernate整合实例-简洁方法

    **SCA(Service Component Architecture)服务组件架构**是Apache Tuscany项目的一部分,它是一种用于构建分布式应用程序和服务的开源框架。Tuscany SCA提供了一种声明式的方式来组合和管理服务,使得开发者能够关注...

    SOA实施案例(pdf)

    - Apache Tuscany是一个正在孵化中的开源项目,专注于提供一个基于SCA和SDO的SOA运行时环境。 - 目前已有的实现包括Java和C++版本,其中Java版本可以通过Apache Tomcat + Axis进行部署,而C++版本则可以与Apache ...

    tuscany-wsdl2java-1.5

    tuscany wsdl2java tools

Global site tag (gtag.js) - Google Analytics