8. Tuscany 中使用 Domain Manager 部署
8.1. 说明
SCA 规范中定义可以通过压缩包的形式发布和部署应用。在发布包中需要一个 xml 文件 sca-contribution.xml 来说明要发布的内容,包括 import , export 和 deployable
8.1.1. Export 可以用来 export java 代码, resource 等。比如:
<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0">
<export.java package="services"/>
<export.java package="services.db"/>
<export.java package="services.map"/>
<export.resource uri="uiservices/store.html"/>
</contribution>
这个包里面没有 composite ,说明它只是一个基本的代码类,这个包里面只有 java 的 class 和一个 html 文件,把它部署到 domain 之后,其他的部署的包就可以引用这里面的类和 html 文件。
8.1.2. Import 就是用来引用其他包的类和 resource
<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
xmlns:s="http://store">
<import.java package="services"/>
<import.java package="services.db"/>
<import.resource uri="uiservices/store.html"/>
<deployable composite="s:store-db"/>
</contribution>
8.1.3. Deployable 是指明要发布的 composite
Store-db 就是 composite 的名字,在项目中对应的就是 store-db.composite
8.2. 生成部署包
8.2.1. 创建项目
以支持 web service 的 helloworld 为例。
Ø Composite 文件
注意这里的 uri ,不包含 host 和 port ,部署后,会使用 node 的 uri
Ø 相应的代码
Sca-contribution.xml 文件
完成后目录结构
图 8_1
8.2.2. 生成 jar 包
Ø 在项目上右键,选择 export
图 8_2
Ø 然后选择, jar file , next
图 8_3
Ø 选择要导出的文件,填上要生成的 jar 文件和路径,点击完成。
图 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_6
Ø 在浏览器中打开地址
http://localhost:9990/ui/workspace/ 会看到
图 8_7
8.3.2. 部署 jar 包
8.3.2.1. 添加 contribution
图 8_8
点击 add 后
图 8_9
8.3.2.2. 添加 composite
图 8_10
当鼠标点中输入框后,会有当前可选值的提示,直接选则就可以。
添加完成后
图 8_11
8.3.2.3. 创建 node
图 8_12
添加完成后
图 8_13
8.3.2.4. 启动 node
选中 node ,然后点 start , node 就会变成 started
图 8_14
在启动 domain manger 的 dos 窗口中可以看到
图 8_15
8.4. 测试 composite
8.4.1. 在浏览器中输入 http://localhost:8250/HelloWorldService?wsdl
图 8_16
8.4.2. 使用 soapUI 测试
使用上面的 wsdl 在 soapUI 中创建一个新项目,调用 getGreetings
图 8_17
结果为
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<_ns_:getGreetingsResponse xmlns:_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>
1535

被折叠的 条评论
为什么被折叠?



