SCA概念与应用实践(8.Tuscany中使用Domain Manager部署)

来源:互联网 发布:软件开发阶段 英文 编辑:程序博客网 时间:2024/06/06 01:01

8.        Tuscany中使用Domain Manager部署

8.1.       说明

SCA规范中定义可以通过压缩包的形式发布和部署应用。在发布包中需要一个xml文件sca-contribution.xml来说明要发布的内容,包括import exportdeployable

8.1.1.       Export可以用来exportjava代码,resource等。比如:

<contributionxmlns="http://www.osoa.org/xmlns/sca/1.0">

   <export.java package="services"/>

   <export.javapackage="services.db"/>

   <export.javapackage="services.map"/>

   <export.resourceuri="uiservices/store.html"/>

</contribution>

这个包里面没有composite,说明它只是一个基本的代码类,这个包里面只有javaclass和一个html文件,把它部署到domain之后,其他的部署的包就可以引用这里面的类和html文件。

8.1.2.       Import就是用来引用其他包的类和resource

<contributionxmlns="http://www.osoa.org/xmlns/sca/1.0"

   xmlns:s="http://store">

   <import.javapackage="services"/>

   <import.javapackage="services.db"/>

   <import.resourceuri="uiservices/store.html"/>  

   <deployablecomposite="s:store-db"/>

</contribution>

8.1.3.       Deployable是指明要发布的composite

Store-db 就是composite的名字,在项目中对应的就是store-db.composite

8.2.       生成部署包

8.2.1.       创建项目

以支持web servicehelloworld为例。

Ø        Composite文件

 

注意这里的uri,不包含hostport,部署后,会使用nodeuri

 

Ø        相应的代码

 

 

 

Sca-contribution.xml文件

 

完成后目录结构

8_1

8_1

8.2.2.       生成jar

Ø        在项目上右键,选择export

 

8_2

8_2

 

Ø        然后选择,jar file next

8_3

8_3

 

Ø        选择要导出的文件,填上要生成的jar文件和路径,点击完成。

 

8_4

8_4

 

8.3.       部署到tuscany

8.3.1.       启动domain manager

在文件系统建一个目录domain,可以建在任何位置,也可以叫其他的任何名字。

Ø        tuscany安装目录下建目录domain

Ø        打开dos,进入domain目录,然后运行domain manager

java -cp../lib/tuscany-sca-manifest.jar org.apache.tuscany.sca.node.launcher.DomainManagerLauncher

(如果目录建在其他地方,注意jar包路径)

 

8_5

8_5

 

Ø        启动完车后会显示

 

8_6

8_6

 

Ø        在浏览器中打开地址

http://localhost:9990/ui/workspace/会看到

 

8_7

8_7

 

8.3.2.       部署jar

8.3.2.1.       添加contribution

 

8_8

8_8

 

点击add

 

8_9

8_9

 

8.3.2.2.       添加composite

 

8_10

8_10

 

当鼠标点中输入框后,会有当前可选值的提示,直接选则就可以。

添加完成后

 

8_11

8_11

 

8.3.2.3.       创建node

 

8_12

8_12

 

添加完成后

8_13

8_13

 

8.3.2.4.       启动node

选中node,然后点startnode就会变成started

 

8_14

8_14

 

在启动domain mangerdos 窗口中可以看到

8_15


8_15

 

8.4.       测试composite

8.4.1.       在浏览器中输入http://localhost:8250/HelloWorldService?wsdl

8_16

8_16

 

8.4.2.       使用soapUI测试

       使用上面的wsdlsoapUI中创建一个新项目,调用getGreetings

 

8_17

8_17

 

结果为

<soapenv:Envelopexmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">

  <soapenv:Body>

     <_ns_:getGreetingsResponsexmlns:_ns_="http://helloworld">

        <ns3:getGreetingsReturn xsi:type="xs:string"xmlns:ns2="http://helloworld/"xmlns:ns3="http://helloworld"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xs="http://www.w3.org/2001/XMLSchema">Hello tuscany</ns3:getGreetingsReturn>

     </_ns_:getGreetingsResponse>

  </soapenv:Body>

</soapenv:Envelope>