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
分享到:
相关推荐
在MyEclipse中开发Java Web应用是一门涉及多个技术领域的重要实践。MyEclipse作为一款强大的集成开发环境(IDE),特别适合于Java Web应用程序的构建。以下将详细讲解配置JDK、Tomcat以及使用SVN的基本步骤和相关...
资源名称:MyEclipse6.0实战开发讲解视频入门资源目录:【】MyEclipse6.0实战开发讲解视频入门00【】MyEclipse6.0实战开发讲解视频入门01【】MyEclipse6.0实战开发讲解视频入门02【】MyEclipse6.0实战开发讲解视频...
标题与描述:“myeclipse 数据库开发应用” 在IT领域,特别是Java企业级应用程序的开发过程中,数据库操作占据了至关重要的地位。MyEclipse作为一款功能强大的集成开发环境(IDE),为开发者提供了诸多便利,其中...
在IT行业中,Web应用开发是一项核心任务,而WebLogic 11g与MyEclipse 7.5的结合为开发者提供了强大的工具集,用于构建、部署和管理企业级的Java EE应用程序。以下将详细介绍这两个工具以及如何在MyEclipse 7.5中使用...
MyEclipse是一款强大的集成开发环境,尤其适合Java EE应用的开发。Struts是一个基于MVC设计模式的Web应用框架,它主要用于构建结构清晰、可维护性好的企业级应用程序。通过MyEclipse的Struts Designer,开发者可以...
第十一章至第十五章则深入探讨了MyEclipse在企业级应用开发中的作用。第十一章讲解了如何利用MyEclipse开发Spring、Struts和Hibernate整合应用,展现了MyEclipse在企业级框架集成中的强大支持。第十二章和第十三章...
《MyEclipse实战开发讲解入门XFire.Web.Service.入门》 在IT行业中,MyEclipse作为一款强大的Java集成...通过深入学习和实践,开发者可以快速提升自己的MyEclipse使用技能,为日后的企业级应用开发打下坚实的基础。
MyEclipse是基于Eclipse IDE的扩展,提供了更多的功能,尤其在Web应用程序、Java EE项目以及企业级应用开发方面具有广泛支持。 【描述】"myeclipse中文教程(1-10章)"涵盖了从基础到进阶的多个主题,确保初学者...
2. **Web应用开发**:涵盖如何创建动态网页,如JSP页面,以及使用Servlet进行后端处理。 3. **EJB开发**:讲解如何在MyEclipse 6.0 中开发、部署和测试Enterprise JavaBeans。 4. **数据库交互**:通过JDBC连接...
myEclipse是一款强大的Java集成开发环境(IDE),专为企业级应用开发设计,它扩展了Eclipse的功能,提供了丰富的工具集,支持多种编程语言,包括Java、JavaScript、Web、JSP、HTML、CSS等。本中文开发文档将帮助你更...
【MyEclipse入门教程】 MyEclipse是一款强大的Java集成开发环境(IDE),它基于Eclipse平台,提供了丰富的功能,特别适合于Java、J2EE、Web应用的开发。本教程将帮助初学者快速掌握MyEclipse的基础操作和核心功能。...
MyEclipse是基于Eclipse平台的扩展,专为Java、Web、J2EE以及企业级应用开发提供了丰富的功能支持。这份教程涵盖了从基础操作到高级开发技巧的全面内容,特别强调了Struts 2和Spring框架的整合应用。 一、MyEclipse...
SDK提供了Android应用开发所需的各种库和工具,包括API文档、模拟器和调试工具等。访问Android官方网站下载SDK,解压后运行SDK Manager.exe,选择需要的Android版本进行安装。安装完成后,同样需要配置环境变量,将...
【MyEclipse开发入门】 MyEclipse是一款强大的Java集成开发环境,特别针对企业级Web应用程序开发进行了优化。它是Eclipse的扩展,集成了多种开发工具,如Tomcat服务器、数据库管理、Java EE框架支持等,使得Java...
在本教程中,我们将深入探讨如何使用MyEclipse这一强大的集成开发环境来开发Web Service。Web Service是一种基于标准的、跨平台的、可互操作的服务,它允许不同系统之间的数据交换。MyEclipse作为Java EE开发工具,...
利用Myeclipse快速开发struts应用程序.ppt对于初学STRUTS 的人来产有很大的帮助……
本文将指导您如何在MyEclipse中开发Java Web应用程序,从安装MyEclipse到配置Tomcat服务器,最后到开发第一个Java Web应用程序。 一、安装MyEclipse MyEclipse是一个基于Eclipse的插件,因此需要先安装Eclipse。...
总的来说,Myeclipse中的CVS应用使得Java开发更加便捷,同时也保障了代码的安全性和一致性。通过熟练掌握CVS在Myeclipse中的使用,开发者能更好地协同工作,提升团队的整体效率。如果你对CVS的使用还有疑问,可以...
MyEclipse 6.0 是现今国内企业流行的基于Eclipse的商业开发工具 MyEclipse的当前 最新版本。Eclipse(官方网站:http://www.eclipse.org )是IBM公司主导下的一款开源免 费的可以做基础Java项目开发的工具,然而...
MyEclipse是Eclipse的一个扩展,它为Java开发者提供了一个集成开发环境(IDE),集成了数据库开发、企业Java EE开发以及Struts、Spring、Hibernate等开源框架的支持。本文档是一本关于MyEclipse 6版本Java开发的中文...