|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
C++编译的是本地码,优点是启动快,而且可以精确控制资源因此可以开发很高效的程序.缺点是编程麻烦,而且容易留下安全隐患.跨平台靠源代码在各个平台间分别编译(一处编写到处编译)js|webComposite是部署的基础单位。在拆卸文件中,composite元素是根元素。
composite元素能够包括composite、service、component、reference等其他元素,component长短常主要的元素。
component元素能够包括0...n个Service,Reference,property和0...1个implementation。
完成component中的implementation的体例能够有Java、BPEL、Composite等,以下图。
在这个例子中,就是利用Composite体例完成composite中包含的component的implementation。
在基于Web使用的SCA服务组件的拆卸文件中,是如许暗示composite完成component的。
文件名为default.scdl
<?xmlversion="1.0"encoding="UTF-8"?>
<compositexmlns="http://www.osoa.org/xmlns/sca/1.0"
name="CalculatorComposite">
<componentname="CalculatorServiceComponent">
<implementation.compositename="CalculatorComposite"jarLocation="lib/sample-calculator-1.0-incubator-M2.jar"/>
</component>
</composite>
在公布的web使用目次的WEB-INF中,有一个lib目次,内里保留着运转SCA使用运转必要的情况,也包含包括着以后web使用必要的代码和拆卸文件构成的jar包sample-calculator-1.0-incubator-M2.jar。这个jar包的内容就是后面举例(TuscanySCA以自力使用体例运转的复杂例子)利用的jar包,经由过程default.scdl使用拆卸文件加载到运转情况中。
与可自力运转的SCA服务组件分歧的是,web使用服务组件情况的创建和拆卸历程是经由过程web.xml中servlet的组件listener和filter来完成的。
web.xml
<?xmlversion="1.0"encoding="UTF-8"?>
<web-appversion="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>ApacheTuscanySimpleWebappSample</display-name>
<welcome-file-listid="WelcomeFileList">
<welcome-file>calc.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>TuscanyFilter</filter-name>
<filter-class>org.apache.tuscany.runtime.webapp.TuscanyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>TuscanyFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.apache.tuscany.runtime.webapp.TuscanyContextListener</listener-class>
</listener>
</web-app>web服务启动后,能够经由过程jsp会见SCA服务组件。
calc.jsp
<%@pageimport="calculator.CalculatorService"%>
<%@pageimport="org.osoa.sca.CompositeContext"%>
<%@pageimport="org.osoa.sca.CurrentCompositeContext"%>
<%@pagecontentType="text/html;charset=UTF-8"language="java"%>
<%
CompositeContextcontext=CurrentCompositeContext.getContext();
CalculatorServicecalc=context.locateService(CalculatorService.class,"CalculatorServiceComponent");
%>
<html>
<head><title>Calculatorsample</title></head>
<body>
<table>
<tr>
<th>Expression</th><th>Result</th>
</tr>
<tr>
<td>2+3</td><td><%=calc.add(2,3)%></td>
</tr>
<tr>
<td>3-2</td><td><%=calc.subtract(3,2)%></td>
</tr>
</table>
</body>
</html><END>
用winrar打包j2ee的程序和用IDE打包应用程序是一样的。按照你的想法,你是不是也希望服务器都整合由一家公司提供呢? |
|