咨询电话:27831306 27828386返回总站 设为首页 加入收藏
网站首页新闻中心学院介绍教学特色师资力量课程体系在线报名
就业服务校园学员作品展示技术空间工具下载教育博客社区论坛

点击头像在线咨询 软件咨询师 软件咨询师 软件咨询师 网络咨询师 网络咨询师 网络咨询师
咨询电话:27831306 27828386 (在线时间:8:00-20:00)
1JAVA
1 您现在的位置: 中华IT教育网 >> 天津 >> 技术空间 >> JAVA >> 天津正文 1
 
1
SCA java编码入门
发布时间:
 2008-1-14 9:42:32
点击次数:
 

调出单机的Tuscany运行时

  当开始考虑Tuscany SCA java运行时环境的时候,理解高层调用是什么和为什么是非常有用的。当前关于”Domain”对象有些实现,该对象用于启动Tuscany

<!--[if !supportLists]-->l          <!--[endif]-->DefaultSCADomain –一个简单的域实现,该实现隐藏了大部分的细节。现在为止用于大多数的测试用例。

<!--[if !supportLists]-->l          <!--[endif]-->EmbeddedSCADomain – 用于将Tuscany嵌入到其他的系统中

<!--[if !supportLists]-->l          <!--[endif]-->HotUpdateSCADomain - 当他们改变的时候会自动装载的例子

<!--[if !supportLists]-->l          <!--[endif]-->EmbeddedNode - 分布式域中的一个节点

  一般认为EmbeddedSCADomain在调出运行时给出了一个必要的好的入口点。这个类在svnhttp://svn.apache.org/repos/asf/incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/EmbeddedSCADomain.java)并且测试程序可在(http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/impl/EmbeddedSCADomainTestCase.java)中看到。

  EmbeddedSCADomain类提供了将运行时的所有部件都集中在单个虚拟机里的SCA domain的实现。创建嵌入式domain很直接:

domain = new EmbeddedSCADomain(cl, domainName);
domain.start();

  在domain上调用start方法会创建所有的运行时工件。特别地,所有的运行时扩展,比如implementation , binding , databinding , host会使用javaMETA-INF/services机制被加载和初始化。

  接下来要做的就是加载SCA应用到域中。SCA应用被作为contribution部署。Contributioncomposite文件(该文件是一个在SCA装配规范中定义的结构)所需要的所有资源集合在composite文件中。这些资源可以是java,xml,xsd,swdl等等。EmbeddedSCADomain为读取contribution提供了一个contribution服务。这里有一个获取某个由URL标识的contributioncontribution服务的例子。

ContributionService contributionService = domain.getContributionService();
Contribution contribution = contributionService.contribute(http://calculator,
                                                           contributionURL,
                                                           null, //resolver,
                                                           false);

  这个会在内存中生成一个装配模型(详情请查看我翻译的装配模型规范)。你能通过询问最终生成的contribution来获取模型的可部署部件。

Composite composite =contribution.getDeployables().get(0);

  可部署模型的跟是composite。该composite包含了将运行于Tuscany运行时环境的组件层次信息。以下的各个步骤让逻辑装配模型变成可运行的工件,以便让启动组件。

  第一步,将模型composite添加到顶层的本地域控制中。

Domain.getDomainComposite().getIncludes().add(composite);

  然后是将逻辑模型的各个部件连接到一起的构建阶段,不如对服务的引用等等。

Domain.getCompositeBuilder().build(composite);

  最后基于逻辑模型创建运行时工件,这包括服务的endpoint和客户端。

Domain.getCompositeActivator().activate(composite);

  一旦所有的工作准备就绪,域中的每个composite将独立启动。其实这个阶段,支持web serviceservlet都已经部署了。

for (Composite composite : domain.getDomainComposite().getIncludes()) {
    Domain.getCompositeActivator().start(composite);
}

分布式运行时

  当域是分布式地跨越多个VM的时候,就需要做这步。一旦逻辑模型已经经过了构建阶段,有一步是提供给运行时信息的,以便让远程服务能自动地解决跨网络的问题。也就是说我们将装配模型中的所有服务和引用连起来构成一个分布域的逻辑概念。

distriutedDomain.addDistributedDomainToBindings(composite);


  • 上一个天津:

  • 下一个天津: 没有了
  • 1 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口 1
     
     

    ·课程设置
    软件工程师课程体系 电话:27831306
    ·校区公告

    普通天津08年就业好机会
    普通天津SOHU新闻:华育国际被评为最受推崇的教育品…
    普通天津SOHU网采访华育国际总裁张大力

    ·就业明星

     
    ·热点新闻

    普通天津2008中国与世界迈向同一个开源梦想
    普通天津Web2.0之父预测08年互联网
    普通天津软件外包升级天津高端服务业
    普通天津大学时代曾沉迷游戏成绩差
    普通天津华育为我的人生添彩

    ·技术空间

    普通天津SCA java编码入门
    普通天津JDK 6新特性
    普通天津网络管理员十大招解决服务器管理错误
    普通天津防范病毒必须先认识病毒
    普通天津服务器系统维护与安全配置

    华育教育集团: 天安门 │ 中关村 │ 天津 │ 济南 │ 青岛 │ 辽宁 │ 江西 │ 哈尔滨

    华育国际教育集团 天津分校 2005 ©版权所有 京ICP备05007567号