﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-翠湖月色-随笔分类-Web Services and SOA</title><link>http://www.blogjava.net/matthew2006/category/13980.html</link><description>No Buddha tree at all,And bright mirror nor.Now nothing at all,How dusts any more ? </description><language>zh-cn</language><lastBuildDate>Thu, 22 Nov 2007 11:58:03 GMT</lastBuildDate><pubDate>Thu, 22 Nov 2007 11:58:03 GMT</pubDate><ttl>60</ttl><item><title>通过Web Service调用Google SOAP Search API-转</title><link>http://www.blogjava.net/matthew2006/archive/2007/11/22/162403.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Thu, 22 Nov 2007 08:32:00 GMT</pubDate><guid>http://www.blogjava.net/matthew2006/archive/2007/11/22/162403.html</guid><wfw:comment>http://www.blogjava.net/matthew2006/comments/162403.html</wfw:comment><comments>http://www.blogjava.net/matthew2006/archive/2007/11/22/162403.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/matthew2006/comments/commentRss/162403.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/matthew2006/services/trackbacks/162403.html</trackback:ping><description><![CDATA[ 我曾经介绍过&#8220;使用Axis开发Web Service程序&#8221;的一些步骤，做为一个更有特色的应用范例，本次我将介绍使用Axis通过Web Service调用Google SOAP Search API，实现Google搜索、Google快照、Google拼写这三项功能，包括示例源代码。

　　一、环境配置

　　首先，没有Java开发环境的，需要安装一下环境，点这里查看《Java开发环境的详细配置方法》，其实，本示例安装JDK 1.42以及Eclipse 3.2就可以了。

　　二、将Apache Axis相关包文件放在WEB-INF\lib目录下

　　从Apache的主页上下载Axis包文件，复制到lib目录下。

　　三、申请Google SOAP Search API license key

　　要使用Google的服务，必须要有&#8220;license key&#8221;，如果你有Gmail帐号，点这里就可以申请license key，这个license key是一段很长的字符串，每个key可以支持每天1000次的Google搜索。

　　四、下载WSDL文件，生成客户端Java代码

　　WSDL文件的下载地址参见：http://api.google.com/GoogleSearch.wsdl

　　生成客户端代码的批处理文件如下：

set Axis_Lib=D:\workspace\test\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Output_Path=D:\workspace\test\src
set Package=com.google.api
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% GoogleSearch.wsdl

　　最后会生成下列代码文件：

DirectoryCategory.java
GoogleSearchBindingStub.java
GoogleSearchPort_PortType.java
GoogleSearchResult.java
GoogleSearchService.java
GoogleSearchServiceLocator.java
ResultElement.java

　　五、编写程序，调用Google SOAP Search API

　　在上面那个包下，编写你自己的Java程序，就可以调用Google SOAP Search API.目前可以使用的Google服务有：网页搜索，网页快照，拼写检查这三个。

　　Java示例代码如下，请使用前将clientKey替换为你自己的。替换后直接运行即可得出结果。

package com.google.api;

import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;

public class ClientGoogle {

  public static void main(String[] args) throws ServiceException,
    RemoteException {
    String clientKey = "kkkkkkkkkkkkkkkkkkkkkkkkkkey";
    GoogleSearchServiceLocator service = new GoogleSearchServiceLocator();
    GoogleSearchPort_PortType gsp = service.getGoogleSearchPort();

    //Google Search API
    GoogleSearchResult searchResult = gsp.doGoogleSearch(clientKey,
        "www.williamlong.info", 0, 10, false, "", false, "", "latin1",
        "latin1");
    System.out.println("Google Search Results:");
    System.out.println("======================");
    ResultElement results[] = searchResult.getResultElements();
    for (int counter = 0; counter < results.length; ++counter) {
      ResultElement result = results[counter];
      String returnResult = "('" + result.getTitle() + "','"
          + result.getURL() + "','" + result.getSnippet() + "')";
      System.out.println("Return Result");
      System.out.println(returnResult);
    }

    //Google CachedPage
    byte[] cachedBytes = gsp.doGetCachedPage(clientKey,
        "http://www.williamlong.info/");
    System.out.println("Cached page:");
    System.out.println("============");
    String cachedString = new String(cachedBytes);
    System.out.println(cachedString);

    //Google SpellingSuggestion
    String suggestion = (String) gsp.doSpellingSuggestion(clientKey,
        "williamlong");
    System.out.println(suggestion);

  }

}

　　当然，你也可以不使用Apache Axis，Google自己也提供了一个API包可以做为客户端调用，下载地址参见这里。

　　最后声明一下，Google SOAP Search API是属于实验产品，每个license每天最多只允许搜索一千次，其许可协议注明不能使用于商业模式的网站，而对于个人研究来说，每天一千次的搜索也就足够了。

　　相关专业名词解释：

　　Web Service：是一种革命性的分布是计算技术。它使用基于XML的消息处理作为基本的数据通讯方式，消除使用不同组件模型、操作系统和编程语言的系统之间存在的差异，使异类系统能够作为计算网络的一部分协同运行。开发人员可以使用像过去创建分布式应用程序时使用组件的方式，创建由各种来源的Web服务组合在一起的应用程序。由于Web服务是建立在一些通用协议的基础上，如HTTP（Hypertext Transfer Protocol， WWW服务程序所用的协议），SOAP（Simple Object Access Protocol，简单对象访问协议），XML，WSDL（Web Services Description Language，Web服务描述语言），UDDI（Universal Description，Discovery，and Integration，通用描述发现和集成协议）等，这些协议在涉及到操作系统、对象模型和编程语言的选择时，没有任何倾向，因此Web服务将会有很强的生命力。

　　SOAP：是&#8220;Simple Object Access Protocol&#8221;的缩写，SOAP是消息传递的协议，它规定了Web Services之间是怎样传递信息的。简单的说，SOAP规定了：

　　1. 传递信息的格式为XML.这就使Web Services能够在任何平台上，用任何语言进行实现。

　　2. 远程对象方法调用的格式。规定了怎样表示被调用对象以及调用的方法名称和参数类型等。

　　3. 参数类型和XML格式之间的映射。这是因为，被调用的方法有时候需要传递一个复杂的参数，例如，一个Person对象。怎样用XML来表示一个对象参数，也是SOAP所定义的范围。

　　WSDL：是&#8220;Web Services Description Language&#8221;的缩写。WSDL是Web Services的定义语言。当实现了某种服务的时候（如：股票查询服务），为了让别的程序调用，必须告诉大家服务接口。例如：服务名称，服务所在的机器名称，监听端口号，传递参数的类型，个数和顺序，返回结果的类型等等。这样别的应用程序才能调用该服务。WSDL协议就是规定了有关Web Services描述的标准。

　　UDDI：是&#8220;Universal Description， Discovery，and Integration&#8221;的缩写。简单说，UDDI用于集中存放和查找WSDL描述文件，起着目录服务器的作用。

　　XML：（eXtensible Markup Language，可扩展标记语言）是Internet上数据表示和数据交换的新标准。它是ISO（International Organization for Standardization，国际标准化组织）的SGML（Standard for General Markup Language，通用标记语言标准）的一个简化子集。XML关注信息本身，是Web上表示结构化信息的一种标准文本格式。与传统的注重页面信息显示的HTML（Hypertext Markup Language， 超文本链接标示语言）相比，关注于内容的XML具有以下诸多优点：良好的可扩展性，语言简单有效，可自行定义标记；内容与形式的分离，主要刻画数据内容，不考虑显示效果；有严格的语法要求，便于分析统一和与数据库信息转换；便于传输，为纯文本形式，可通过Http协议直接传输，可跨越防火墙；等等。XML的出现和发展对于Internet和Intranet产生了巨大的影响。


    转载自月光博客 [ http://www.williamlong.info/ ] 

<img src ="http://www.blogjava.net/matthew2006/aggbug/162403.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/matthew2006/" target="_blank">matthew</a> 2007-11-22 16:32 <a href="http://www.blogjava.net/matthew2006/archive/2007/11/22/162403.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用Axis开发Web Service程序-转</title><link>http://www.blogjava.net/matthew2006/archive/2007/11/22/162400.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Thu, 22 Nov 2007 08:29:00 GMT</pubDate><guid>http://www.blogjava.net/matthew2006/archive/2007/11/22/162400.html</guid><wfw:comment>http://www.blogjava.net/matthew2006/comments/162400.html</wfw:comment><comments>http://www.blogjava.net/matthew2006/archive/2007/11/22/162400.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/matthew2006/comments/commentRss/162400.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/matthew2006/services/trackbacks/162400.html</trackback:ping><description><![CDATA[ 为了更多喜爱开发的程序员也能迅速了解Web Service的开发，我这里整理了一些通过Axis开发Web Service的一些要点，希望能让不熟悉Web Service的开发人员能够迅速掌握Web Service。

　　一、Axis环境的安装

　　1、安装环境 J2SE SDK 1.4，Tomcat 5.0，eclipse 3.2。

　　2、到 http://xml.apache.org 网站下载Axis安装包。

　　3、将Axis相关包文件放在WEB-INF\lib目录下。

　　4、Axis可选的包：activation.jar； mail.jar； xmlsec-1.4.Beta1.jar拷贝到WEB-INF目录下，生成客户端时候需要使用。

　　Axis支持三种web service的部署和开发，分别为：

　　1、Dynamic Invocation Interface （DII）

　　2、Dynamic Proxy方式

　　3、Stubs方式

　　前两种方式我就不介绍了，同事告诉我他们自己都不使用前两种方式，他们建议我们使用Stubs方式，因此我就主要就介绍一下第三种方式。注意，我自己的Java源代码是放在D：\workspace\test\目录下，Axis相关包文件放在D：\workspace\test\WEB-INF目录下。

　　二、编写wsdd发布web服务，编写stub client访问web服务

　　1、编写服务端程序server.SayHello.java，编译server.SayHello.java

package server;
public class SayHello
{
    public String getName(String name)
    {
        return "hello "+name;
    }
}

　　2、编写wsdd文件

　　deploy.wsdd文件内容如下：

<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
 <service name="SayHello" provider="java:RPC">
  <parameter name="className" value="server.SayHello.getName"/>
  <parameter name="allowedMethods" value="*"/>
 </service>
</deployment>

　　3、发布服务：

　　编辑一个deploy.bat，Axis_Lib为axis.jar路径。内容如下：

set Axis_Lib=D:\workspace\test\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Axis_Servlet=http://localhost:8080/test/servlet/AxisServlet
%Java_Cmd% org.apache.axis.client.AdminClient -l%Axis_Servlet% deploy.wsdd

　　执行这个批处理文件，这时候，如果提示成功的话，访问http://localhost:8080/test/services 就会显示服务列表。

　　4、生成客户端client stub文件

　　在浏览器上访问服务器端的服务，可以下载到WSDL文件，通过Axis的相关工具，可以自动从WSDL文件中生成Web Service的客户端代码。

　　编写一个WSDL2Java.bat文件，其内容如下：

set Axis_Lib=D:\workspace\test\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Output_Path=D:\workspace\test\src
set Package=server.SayHello
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% SayHello.wsdl

　　执行这个批处理文件就可以生成client stub.

　　生成的stub client文件列表为：SayHello.java，SayHelloService.java，SayHelloServiceLocator.java，SayHelloSoapBindingStub.java .

　　5、编写客户端程序，编译并执行

　　下面是一段junit测试客户端代码。

import java.net.URL;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

public class TestWSClient extends TestCase {

    public TestWSClient(String string) {
        super(string);
    }

    public void SayHelloClient() throws Exception {

        SayHelloService service = new SayHelloServiceLocator();
        SayHello_PortType client = service.getSayHello() ;
        String retValue = client.getName("clientname");
        System.out.println(retValue);

    }

    public static Test suite() {
        TestSuite suite = new TestSuite();
        suite.addTest(new TestWSClient("SayHelloClient"));
        return suite;
    }
}

　　至此，整个服务器端和客户端的Web Service框架代码就完成了，剩下的就是在里面加入你的业务代码了，怎么样，Web Service并不难开发吧。

    转载自月光博客 [ http://www.williamlong.info/ ] 

 <img src ="http://www.blogjava.net/matthew2006/aggbug/162400.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/matthew2006/" target="_blank">matthew</a> 2007-11-22 16:29 <a href="http://www.blogjava.net/matthew2006/archive/2007/11/22/162400.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的 10 大 Web 服务问题－转贴</title><link>http://www.blogjava.net/matthew2006/archive/2006/11/22/82682.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Wed, 22 Nov 2006 01:39:00 GMT</pubDate><guid>http://www.blogjava.net/matthew2006/archive/2006/11/22/82682.html</guid><wfw:comment>http://www.blogjava.net/matthew2006/comments/82682.html</wfw:comment><comments>http://www.blogjava.net/matthew2006/archive/2006/11/22/82682.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/matthew2006/comments/commentRss/82682.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/matthew2006/services/trackbacks/82682.html</trackback:ping><description><![CDATA[
		<p>本文列出了本人与 IBM 内部和外部的架构师、开发人员在谈论 Web 服务以及 SOA 时所涉及到的大家共同关注的事项、问题和资源。<br />摘自 <a class="contentlink" href="http://www-128.ibm.com/developerworks/cn/websphere/techjournal/" target="_blank"><font color="#4455aa">IBM WebSphere 开发者技术期刊</font></a>。</p>
		<p>
				<font size="4">引言</font>
		</p>
		<p>在为 IBM WebSphere&amp;reg; 开发者技术期刊撰写专栏之前，我花费了大量的时间与架构师、开发人员谈论了他们在基于 Web 服务和 SOA 设计以及构建解决方案时所面临的问题。有一些问题和主题一再成为讨论的焦点，因此，我把我个人认为是与 Web 服务相关的 10 大问题列出来与大家分享。 </p>
		<p>注意，我没有把它们称为最佳实践，是因为其中有许多问题并不太容易回答。相反，别人对这些问题已经回答过许多次，对于这些内容，我只是想指导您了解一下我比较喜欢的资源，这些资源对该主题进行了较为详细的说明（当然这些资源大多数是一些 developerWorks 文章）。我认为这些主题涉及的领域非常广泛，对于我的某些观点，您可以完全赞同也可以完全不赞同；您也可以添加其他主题。这里为您敞开了一扇大门，欢迎您对我的看法提出意见。</p>
		<p>
		</p>
		<p>
		</p>
		<p>
				<font size="4">1. 文档/文本 Web 服务到底是什么？</font>
		</p>
		<p>这无疑是我听到的首要问题。事实上，我们在数年前就听到这一问题，令人感到有些惊奇的是，到目前为止仍有人时常提出这一问题，而且对这一问题仍存在一些误解。您可能知道，您可以在 WSDL 定义中定义 Web 服务的调用样式和编码样式。尽管这对构建网络 SOAP 消息的确切方式存在影响，但对整体解决方案、交互样式或编程模型几乎毫无效果。因此我的建议始终是：</p>
		<p>不要将使用某个特定的样式作为整个企业范围的规则。使用不同的样式有各种各样的原因，而且您很可能会碰到所有这些样式。 <br />将该主题看作是一种实现细节，不要让该主题推动或影响您的系统设计。 <br />请阅读 Russ Butek 撰写的优秀文章 <a class="contentlink" href="http://www.ibm.com/developerworks/cn/webservices/ws-whichwsdl/index.html" target="_blank"><font color="#4455aa">我应该采用哪一种 WSDL 样式？</font></a>，我认为这篇文章对这些不同之处做出了最好的解释。 </p>
		<p>
				<br />
		</p>
		<p>
		</p>
		<font size="4">
				<font size="3">
				</font>2. Web 服务非常慢，或者 Web 服务是否非常慢？</font>
		<p>众所周知，使用 Web 服务在性能上会受到一定程度的影响。这几乎不会令人感到惊奇，因为使用 Web 服务时通常会涉及到把使用某种本机格式设置的数据构建为 XML 文档，并在网络中发送此文档。尽管交叉处理（甚至是跨网络处理）始终比本地调用要慢得多，但是如果听到已经对 Web 服务的性能进行了一些改进，您可能会感到惊奇。</p>
		<p>有许多技术可以实现这一点；例如，智能 XML 解析器技术（为处理 SOAP 和 XML 构件而进行了高级优化）或 XML 应用程序的出现（如 IBM DataPower&amp;reg;，该应用程序支持硬件级别的 XML 处理）。还有 WebSphere Application Server 中的 Web 服务缓存支持功能，该功能也有助于大大提高性能。事实上，在某些情况下，在最新 WebSphere Application Server 运行时上的 SOAP over HTTP 调用比使用 RMI over IIOP 调用相同的功能要快。</p>
		<p>因此，我的建议是应继续对分布式计算应用基本的最佳实践（例如，减少网络通信量等），但开始考虑使用 Web 服务，甚至是用在对性能要求关键的情况中。 </p>
		<p>
		</p>
		<p>
				<font size="4">3. 我的 XML 模式不适用于您的产品</font>
		</p>
		<p>在经过了开发 Hello World 样式的测试应用程序之后，您可能会注意到，在您的工具中，XML 模式规范中的某些更高级别的元素或者不受支持或者不能很好地 支持。例如，在 WebSphere 工具中，不存在对 &lt;xsd:choice&gt; 元素的映射，该元素在模式中非常通用。对于 &lt;xsd:group&gt; 也是这种情况。在这些情况下，您可以选择更改模式，也可以选择开发自己的代码来处理基于此模式的 XML。请注意，可能需要手动干预才能将您的模式映射到 Web 服务实现。我建议的两篇文章是：</p>
		<p>
				<a class="contentlink" href="http://www.ibm.com/developerworks/cn/webservices/ws-tip-xsdchoice.html" target="_blank">
						<font color="#4455aa">Web 服务技巧: 将多态性作为 xsd:choice 的备选方法</font>
				</a> <br /><a class="contentlink" href="http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0601_gallardo/0601_gallardo.html" target="_blank"><font color="#4455aa">如何为 Web 服务选择一种自定义映射技术</font></a> <br />总之，这里没有一次性解决所有问题的万能方法。不过，我们有理由期望这些标准和产品的未来版本也能够提供对高级模式不断增强的支持。</p>
		<p>
		</p>
		<p>
		</p>
		<p>
				<font size="4">4. UDDI 是什么情况？还有人在使用它吗？</font>
		</p>
		<p>在 Web 服务首次开始流行之后，人们始终指出在任何 SOA 环境中都存在以下三种主要角色： </p>
		<p>服务请求程序 <br />服务提供程序 <br />服务代理程序 <br />代理程序角色一般由遵循 UDDI 标准的注册中心表示。提供公共注册中心可让您创建自己的项和重复使用其他项。WebSphere Application Server 还附带了一个专用 UDDI 注册中心。 </p>
		<p>不过，在实际情形中我仍没有看到 UDDI 有多大用处（如果有）。大多数 IT 组织或者构建自己的方式来获取服务定义和连接端点（例如使用 LDAP），或者弃用 UDDI，等待注册中心的新标准。其他还有将专有扩展添加到 UDDI。公共 UDDI 注册中心由 IBM 支持，其他组织已经放弃。</p>
		<p>我的预测是，在这一领域，随着时间的推移 UDDI 将由未来的新技术代替。</p>
		<p>
		</p>
		<p>
		</p>
		<p>
				<font size="4">5. Web 服务的同步</font>
		</p>
		<p>另一个经常讨论的主题是，服务是同步的还是异步的，与编程模型相比，使用的通信协议充当什么角色。例如，假设使用 SOAP over JMS 绑定提供了 Web 服务。使用 JMS（支持异步交互）好像意味着这是一个异步 Web 服务。不过，如果在 WebSphere Application Server 中使用 JAX-RPC 支持，则服务使用者将在返回控制之前等待返回响应。这一原因是，无论是否使用了该协议，JAX-RPC 1.1 都在请求程序和提供程序之间强制执行了一个同步交互。换句话说，用来调用 Web 服务的编程模型通常确定调用的同步性，而不是网络协议。</p>
		<p>要构建真正的异步交互，您有两个主要选项。第一个选项是构建一系列交换信息的单向服务，例如使用 WebSphere Application Server V6.1 中的 WS-Addressing 支持。我推荐的一篇 developerWorks 上的文章对此内容进行了详细说明：<a class="contentlink" href="http://www.ibm.com/developerworks/cn/webservices/ws-address.html" target="_blank"><font color="#4455aa">Web 服务寻址（WS-Addressing）对 SOAP 的隐式影响</font></a>。</p>
		<p>另一个选项是对异步调用使用服务组件体系结构 (SCA) 支持。SCA 提供了一个客户端 API，后者可以将发送的请求与接收的响应分离开。将来，新的 JAX-WS 2.0 标准将提供类似的支持。</p>
		<p>
		</p>
		<p>
		</p>
		<p>
				<font size="4">6. ESB 或非 ESB</font>
		</p>
		<p>有许多问题都与企业服务总线 (ESB) 这一主题相关：</p>
		<p>ESB 究竟是什么？它是一种产品还是一种模式，或者二者兼具？ <br />每个 SOA 实现是否都需要 ESB？ <br />假设 ESB 集线器，它是否有可能存在瓶颈问题？ <br />ESB 中 是什么，ESB 上 是什么？ <br />在尝试回答这些问题之前，先为您提供一项关键资源，该资源很好地解释了 IBM 对 SOA 编程模型上下文中的 ESB 的看法：<a class="contentlink" href="http://www.ibm.com/developerworks/cn/webservices/ws-soa-progmodel4/" target="_blank"><font color="#4455aa">IBM 企业服务总线介绍</font></a>。 </p>
		<p>回答上述问题涉及到整个系列文章，因此我在这里仅提供一些主要解答要点，让您有个初步了解；它们分别是：</p>
		<p>企业服务总线是一种体系结构模式。产品可以方便创建该模式的特定实例。 <br />ESB 的关键特性是分离关注点。像通信协议差异、路由和审核交互、安全性之类的内容可以在实际的服务请求程序和提供程序之外处理。如果不使用此分离方法就能够开始您的解决方案，则不需要立即使用 ESB。不过，在大多数项目中都不会出现这种情况。 <br />ESB 是一种概念上的集线器，在几乎所有实例中都以分布式方式物理地部署。 <br />尽管这有时很难说清楚（而且通常由您使用的产品驱动），但谈论的一个较好切入点是考虑基础结构 逻辑和业务 逻辑。与基础结构相关的内容在总线中发生，而与业务相关的内容则不是。 <br />而且，我不主张这些简单的解答就是对该主题的正当解释，但它们也许为您的理解提供一些帮助。</p>
		<p>
		</p>
		<p>
		</p>
		<p>
				<font size="4">7. 标头和其他上下文数据</font>
		</p>
		<p>Web 服务设计的一个关键部分是定义进出服务的消息。可以保险地说消息始终有两个关键部分：与业务功能相关的实际负载和上下文数据（如消息 ID、事务或会话 ID、安全信息等）。每个消息协议都为此上下文信息（SOAP 标头、JMS 标头、WebSphere“工作区”等）提供一个位置。问题是没有一个一致的方法或 API 来处理这些不同的机制，而且在大多数实际的 SOA 环境中，您会遇到多个消息传递协议。</p>
		<p>最适于您处理这种不同、而且实际上可让您将一个标头结构映射到另一个结构的位置是 ESB（这是使用 ESB 的又一好处；下文至少还会提供一个这样的示例）。此映射很可能需要一些手工工作。 </p>
		<p>无论您是如何处理的，关键是要为其尽早规划和设计一个策略，并尽量在您的所有项目中保持一致。</p>
		<p>
		</p>
		<p>
		</p>
		<p>
				<font size="4">8. 最终需要使用多少 (Web) 服务？</font>
		</p>
		<p>我对该问题的第一反应始终是建议采用一种方法，以便在确定服务的过程中作为指导。其中一个这样的示例是由 IBM 全球业务服务部提倡的面向服务的建模和体系结构 (SOMA) 方法。与 IBM Rational&amp;reg; Unified Process (RUP) 联合在一起通常可促使您使用 SOA 的方法。</p>
		<p>第二，不要因为能够包装而将每项 IT 功能都包装在 Web 服务中。有时会使您对此采用整个“自下而上”的方法并使用富工具支持。在大多数（甚至是所有）情况下，采用此方法会导致服务太多，分得太细，没有重用而且与业务不相关。</p>
		<p>而且，对此也没有很好的方法！业务分析师和 IT 架构师以适当的细分级别定义和创建适当的服务相当不容易。</p>
		<p>
		</p>
		<p>
		</p>
		<p>
				<font size="4">9. 作为 Web 服务使用者的遗留应用程序</font>
		</p>
		<p>我们对通过 Web 服务支持现有功能给予了较多的关注。我所了解到的谈论得比较少（即使也同等重要）的是现有应用程序利用新服务的能力。例如，假设公司在对 SOA 采用发展的方法，随着时间的推移创建新服务，并将它们集成到现有环境中。其中一个现有应用程序是使用 RPG 编写的，并运行于 IBM iSeries 系统。现在需要将此应用程序更改为调用其中一个新服务。但负责此系统的开发人员对 SOAP 或 XML 不太熟悉，而且没有基于 RPG 的 Web 服务包。</p>
		<p>对此问题的最通用的解决方法是将 SOAP 和 XML 处理委托给 ESB。例如，使用 COBOL 或 RPG 编写的应用程序可以容易地与 WebSphere MQ 队列交换记录格式的消息。已经建立了对这种方法的很好支持，而且已经并且经常使用。像 WebSphere ESB 或 WebSphere Message Broker 之类 ESB 产品可以从 MQ 接收数据，将其转换为 XML，然后处理新 Web 服务的调用。</p>
		<p>换句话说，通常较为可取的方法是，将新服务对现有应用程序的影响保持在最低限度，并将协议和消息格式的细节委托给 ESB。</p>
		<p>
		</p>
		<p>
		</p>
		<p>
				<font size="4">10. “困难在于具体实施”</font>
		</p>
		<p>最近，我访问了法国的 IBM 工业解决方案中心。该中心展示了针对不同行业（如零售业、卫生保健业或银行业）的基于 IBM 的解决方案。展示人员并没有提及任何特定的 IT 产品，而且重点说明了解决方案的实际（业务）功能。但是他不经意地指出一点：“当然，您在这里看到的一切都基于 SOA”。尽管我认为他不是太关注如何针对异步交互在多个协议之间维护 WS-Addressing 标头。</p>
		<p>不过，构建、设计和实现 Web 服务和 SOA 会带来许多详细的 IT 技术问题。我们在使用新标准、新编程模型，而且经常使用新产品。创建支持诸如异类平台之间交互的应用程序、企业范围重用 IT 服务并按业务线需求不断更改系统的功能要求，通常会导致不可预见的问题。</p>
		<p>因此，下次您的经理进入您的办公室说：“我希望构建一个每个人都说非常容易做到的这种 SOA 解决方案”时，您可以按照我的同事 Greg Flurry 这时爱讲的一句话说：“困难在于具体实施！”</p>
		<p>
		</p>
		<p>
				<br />
				<font size="4">参考资料 </font>
		</p>
		<p>您可以参阅本文在 developerWorks 全球站点上的 <a class="contentlink" href="http://www.ibm.com/developerworks/websphere/techjournal/0608_col_tost/0608_col_tost.html?S_TACT=105AGX52&amp;S_CMP=cn-a-wes" target="_blank"><font color="#4455aa">英文原文</font></a> 。<br /><a class="contentlink" href="http://www.ibm.com/developerworks/cn/webservices/ws-whichwsdl/index.html" target="_blank"><font color="#4455aa">我应该采用哪一种 WSDL 样式？</font></a><br /><a class="contentlink" href="http://www.ibm.com/developerworks/cn/webservices/ws-tip-xsdchoice.html" target="_blank"><font color="#4455aa">Web 服务技巧: 将多态性作为 xsd:choice 的备选方法</font></a><br /><a class="contentlink" href="http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0601_gallardo/0601_gallardo.html" target="_blank"><font color="#4455aa">Web 服务自定义数据绑定——第 1 部分: 如何为 Web 服务选择一种自定义映射技术</font></a><br />Web 服务寻址（WS-Addressing）对 SOAP 的隐式影响<br /><a class="contentlink" href="http://www.ibm.com/developerworks/cn/webservices/ws-soa-progmodel4/" target="_blank"><font color="#4455aa">用于实现 Web 服务的 SOA 编程模型，第 4 部分: IBM 企业服务总线介绍</font></a></p>
		<p>
				<font color="#4455aa">
				</font>
		</p>
		<p>
				<font size="4">关于作者</font>
		</p>
		<p>  Andre Tost 是 Software Group 的 Enterprise Integration Solutions 组织的一名高级技术人员，他在这个部门帮助 IBM 的客户建立面向服务的体系结构。他专长于 Web 服务技术。在开始从事目前的工作之前，他有十年的时间在 IBM 软件开发工作中担任各种合作伙伴启动、开发和构架的角色，目前他在 WebSphere Business Development 小组工作。他出生于德国，目前在美国明尼苏达州的罗彻斯特居住和工作。在业余时间，他喜欢和家人在一起，并且有空就去踢球或看球赛。<br /><br />点击查看原文地址：<a href="http://www-128.ibm.com/developerworks/cn/websphere/techjournal/0608_col_tost/0608_col_tost.html?ca=drs">http://www-128.ibm.com/developerworks/cn/websphere/techjournal/0608_col_tost/0608_col_tost.html?ca=drs</a>-</p>
<img src ="http://www.blogjava.net/matthew2006/aggbug/82682.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/matthew2006/" target="_blank">matthew</a> 2006-11-22 09:39 <a href="http://www.blogjava.net/matthew2006/archive/2006/11/22/82682.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Web Service开发的层次－转贴</title><link>http://www.blogjava.net/matthew2006/archive/2006/11/16/81454.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Thu, 16 Nov 2006 02:20:00 GMT</pubDate><guid>http://www.blogjava.net/matthew2006/archive/2006/11/16/81454.html</guid><wfw:comment>http://www.blogjava.net/matthew2006/comments/81454.html</wfw:comment><comments>http://www.blogjava.net/matthew2006/archive/2006/11/16/81454.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/matthew2006/comments/commentRss/81454.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/matthew2006/services/trackbacks/81454.html</trackback:ping><description><![CDATA[以下为网上看到的对Web Service比较经典易懂的分析，转录之．<br /><br />Web Service是最近几年比较火的一个东西，它带来了一大堆的新名词，所以显得比较炫。看透其华而不实的表面，它也就不再神奇。下面的讨论均以Java为参考。 <br /><br />1 访问一个Web Service实际上可以看作调用一个函数，唯一不同的就是这个函数是远程的，这么一说，它和RMI就没有什么本质的区别了。 <br />既然是一个函数，当然要有函数的声明了，完成这个工作的就是WSDL，它详细的定义函数的原型，包括函数名、入口参数、出口参数，这就是WSDL中opertion完成的工作。 <br />既然是一个远程的函数，还要涉及与远程地址的一个绑定，这是WSDL中service的任务。 <br />Axis是一个可以通过WSDL生成相应访问代码的开发包，JBuilder中将它集成了进去，通过Wizard的方式简化了原本需要在命令行中手工完成的操作。 <br /><br />2 既然是远程访问，就一定要有一个访问协议，Web Service的访问协议就是SOAP，SOAP建立在XML之上，不同的就是对XML原本没有限制的格式加上了一些限制，需要有envelope，在envelope中，还要分header和body。 <br />如果利用SOAP开发Web Service的程序，那就需要根据WSDL的定义来自行组装SOAP包，这显然要比利用WSDL直接面向Web Service开发要复杂一些。 <br />JAXM是一个利用SOAP进行通信的开发包，它简化了SOAP消息的打包过程。 <br /><br />3 SOAP是建立在XML之上的，那么显然XML的开发包同样适合于SOAP。 <br />在这个层次上开发Web Service，除了要完成上一层的工作外，还要自行按照SOAP的格式组装SOAP消息，这显然又增加了工作量。 <br />XML的开发工具就比较多了，从最简单的SAX和DOM到DOM4J、JDOM，还有不少XML到对象绑定的工具，如JAXB、Castor等等。 <br />其实，不考虑Web Service，完全用XML做通信协议的情况也并不少见。知晓XML-RPC的存在，就不难理解了XML做通信的含义了。 <br /><br />截至到这里所讨论的内容，Sun提供了JWSDP（Java Web Service Developer Pack），其中包含从XML解析到WSDL生成的全套解决方案。 <br /><br />4 上面讨论的所有东西实际上都还停留在传递消息的内容上，并未涉及通信的过程。不要一看到Web Service的Web就想当然认为它只能通过HTTP来传输。前面的讨论可以看出，所有的消息内容与传输并无直接关系，所以，无论是以HTTP传输，还是SMTP或是自定义的协议都没有问题。 <br />在这个层次上开发Web Service，前面的种种险阻之外，还要完成对XML的手工解析工作。 <br />这里还是以最常见的HTTP方式来讨论。 <br />HTTP的开发就将Server和Client区别对待，Server的实现通常的选择是Servlet，让Web Server替我们完成HTTP协议的解析可以省去我们很多的作。Client的实现可以选择JDK自带的Http Client，Apache的Jakarta项目下的Commons子项目也提供了一个HttpClient。 <br /><br />5 无论是HTTP还是SMTP，抑或是自定义协议，归根结底都是应用级的协议，底层的实现都是由Socket完成。到了这个层次基本就是原始时代了，什么都没有，一切都要手工完成。 <br />在这个层次上开发Web Service，所有前面的困难都要一一经历，此外，还有协议的开发等待着不幸至此的人们。 <br />到了这里，也不需要其它的工具了，JDK自带的Socket可以保打天下。 <br /><br />6 还想往下吗？再往下就是操作系统的实现了，Java的平台无关就失去了意义，也超出了我目前所了解的范围，到此打住吧！ <br /><br />前面所提及应该算是Web Service的一个基本知识结构，这里并没有讨论UDDI等等的内容，一来我对它并不了解，二来那应该属于应用，不应该算Web Service实现中。 <br /><br />虽然我们可能不会从最下层开发Web Service，但遇到底层的问题的情况却在所难免。 <br />我就曾经在开发一个Web Service应用的时候，被人抓住HTTP头中的SOAPAction大小写与某个所谓的规范不同，我查了半天HTTP规范和SOAP规范，知道了HTTP是区分大小，而SOAPAction就是应该这么写，据理力争，指出所谓规范的错误。 <br /><br />经过前面的讨论，我们可以看出，Web Service并没有什么神秘可言，所有的东西都是建立在已有东西的基础之上。技术的发展不会是无中生有，只会是一个更好的解决方案而已，在追新求变之前，一个比较牢固的基础才是最重要 <br /><br /><font color="#99ff99"><a title="原文地址" href="http://www.javaresearch.org/article/25723.htm">查看原文地址</a></font><img src ="http://www.blogjava.net/matthew2006/aggbug/81454.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/matthew2006/" target="_blank">matthew</a> 2006-11-16 10:20 <a href="http://www.blogjava.net/matthew2006/archive/2006/11/16/81454.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ActiveBpel引擎专题－ActiveBPEL2.x用户手册</title><link>http://www.blogjava.net/matthew2006/archive/2006/09/18/70261.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Mon, 18 Sep 2006 05:03:00 GMT</pubDate><guid>http://www.blogjava.net/matthew2006/archive/2006/09/18/70261.html</guid><wfw:comment>http://www.blogjava.net/matthew2006/comments/70261.html</wfw:comment><comments>http://www.blogjava.net/matthew2006/archive/2006/09/18/70261.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/matthew2006/comments/commentRss/70261.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/matthew2006/services/trackbacks/70261.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">转帖网上的一篇文章关于ActiveBPEL2.X版本的安装与配置。<br />   本文档描述如何安装<span lang="EN-US">ActiveBPEL</span>引擎<span lang="EN-US">2.0</span>版，主要是翻译<span lang="EN-US">ActiveBPEL</span>网站上的<span lang="EN-US">UserGuide</span>并加入自己的说明。<b><span lang="EN-US"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></span></b></span>
		</p>
		<h3 style="MARGIN: auto 0cm">
				<em>
						<font size="5">
								<span lang="EN-US">
										<font face="Verdana">1</font>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">、安装和配置</span>
								<span lang="EN-US">
										<font face="Verdana">ActiveBPEL</font>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">引擎体验版</span>
						</font>
				</em>
		</h3>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">要使用<span lang="EN-US">ActiveBPEL</span>引擎首先要求安装配置<span lang="EN-US">servlet</span>容器。<span lang="EN-US">ActiveBPEL</span>引擎可以运行在任何标准的<span lang="EN-US">servlet</span>容器下。但它主要在<span lang="EN-US">Tomcat</span>和<span lang="EN-US">Mysql</span>下进行开发，我们也用<span lang="EN-US">Tomcat</span>和<span lang="EN-US">Mysql</span>作为蓝本进行说明。体验版没有考虑<span lang="EN-US">Mysql</span>。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<h1 style="MARGIN: 0cm 0cm 0pt">
				<font size="3">
						<span lang="EN-US">1.1</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下载</span>
						<span lang="EN-US">Tomcat5.x</span>
				</font>
		</h1>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">安装<span lang="EN-US">Tomcat (http://jakarta.apache.org/tomcat),</span>并设置环境变量<span lang="EN-US">CATALINA_HOME(</span>这个变量在代码和配置中有很多次的应用<span lang="EN-US">)</span>。（经过测试的版本为<span lang="EN-US">Tomcat <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?><st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">5.0.25</st1:chsdate></span>）。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<h1 style="MARGIN: 0cm 0cm 0pt">
				<font size="3">
						<span lang="EN-US">1.2</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下载</span>
						<span lang="EN-US">ActiveBPEl</span>
				</font>
		</h1>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">网址为<span lang="EN-US"><a href="http://www.activebpel.org/download"><span style="COLOR: windowtext">http://www.activebpel.org/download</span></a></span>。文件的名字为<span lang="EN-US">activebpel-version-type.tar.gz </span>或<span lang="EN-US">activebpel-version-type.zip</span>。版本号是：<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False"><span lang="EN-US">2.0.0</span></st1:chsdate>。类型为<span lang="EN-US">"src" (source), "bin" (binaries), or "all" (source and binaries)</span>。解压缩下载的文件包，会创建一个名字为<span lang="EN-US">activebpel-2.0</span>的目录。可以重新命名，或者移动到任何地方。以下的文档中，简称这个目录为<span lang="EN-US">"activebpel"</span>。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span lang="EN-US">1.3</span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">运行脚本</span>
						<span lang="EN-US">install.bat<o:p></o:p></span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt">
				<b>
						<span lang="EN-US">
								<span style="mso-tab-count: 1">
								</span>
						</span>
				</b>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">执行命令行如下：（<span lang="EN-US">Windows</span>）<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes">    </span>C:\&gt; cd \activebpel<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes">    </span>C:\activebpel&gt; install.bat<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">脚本将把<span lang="EN-US">lib</span>下的内容拷贝到<span lang="EN-US">$CATALINA_HOME/shared/lib</span>目录下，并且创建<span lang="EN-US">$CATALINA_HOME/bpr</span>目录，这就是存放流程的配置文件<span lang="EN-US">.bpr</span>的目录。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span lang="EN-US">1.4</span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">更改引擎的配置参数</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">在<span lang="EN-US">aeEngineConfig.xml</span>文件里可以配置一些服务的参数，这个文件在<span lang="EN-US">$CATALINA_HOME/bpr</span>。配置的改变是通过<span lang="EN-US">BpelAdmin</span>配置页改变的，可以访问<span lang="EN-US"><a href="http://localhost:8080/BpelAdmin/config.jsp"><span style="COLOR: windowtext">http://localhost:8080/BpelAdmin/config.jsp</span></a></span>页，并保存配置。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span lang="EN-US">1.5</span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">启动</span>
						<span lang="EN-US">ActiveBPEL</span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">引擎</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">要启动<span lang="EN-US">ActiveBPEL</span>引擎<span lang="EN-US">,</span>只需要启动<span lang="EN-US">Tomcat</span>就可以了。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span lang="EN-US">1.6</span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">查看引擎的状态信息</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">当<span lang="EN-US">tomcat</span>启动后，有两个<span lang="EN-US">WEB</span>页可以显示服务器的信息<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Axis WEB</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">服务列表<span lang="EN-US">http://localhost:8080/active-bpel/services<span style="mso-spacerun: yes">     </span><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">ActiveBPEL</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">引擎管理<span lang="EN-US">http://localhost:8080/BpelAdmin/<span style="mso-spacerun: yes">  </span><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">在此页面可以修改引擎的配置参数，可查看帮助页来进行学习。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<i>
								<span lang="EN-US" style="FONT-SIZE: 14.5pt; FONT-FAMILY: Verdana; mso-font-kerning: 0pt">2</span>
						</i>
				</b>
				<b>
						<i>
								<span style="FONT-SIZE: 14.5pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">、</span>
						</i>
				</b>
				<b>
						<i>
								<span lang="EN-US" style="FONT-SIZE: 14.5pt; FONT-FAMILY: Verdana; mso-font-kerning: 0pt">ActiveBPEL2.0 </span>
						</i>
				</b>
				<b>
						<i>
								<span style="FONT-SIZE: 14.5pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">引擎的</span>
						</i>
				</b>
				<b>
						<i>
								<span lang="EN-US" style="FONT-SIZE: 14.5pt; FONT-FAMILY: Verdana; mso-font-kerning: 0pt">Mysql</span>
						</i>
				</b>
				<b>
						<i>
								<span style="FONT-SIZE: 14.5pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">版安装</span>
						</i>
				</b>
				<b>
						<i>
								<span lang="EN-US" style="FONT-SIZE: 14.5pt; FONT-FAMILY: Verdana; mso-font-kerning: 0pt">
										<o:p>
										</o:p>
								</span>
						</i>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes"> </span>
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">要使得<span lang="EN-US">ActiveBPEL</span>引擎作为一个可持久化的引擎，需要做以下事情：<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span lang="EN-US">2.1</span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">装数据库和驱动</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">安装数据库<span lang="EN-US">Mysql</span>和相关的<span lang="EN-US">JDBC</span>驱动，并且保证有权限做数据库操作。并且要把文件拷贝到<span lang="EN-US">${CATALINA_HOME}/common/lib</span>下。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span lang="EN-US">2.2</span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">建库建表</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; mso-char-indent-count: 2.0">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">启动安装好的数据库，执行<span lang="EN-US">\activebpel\dist\sql\activebpel\ddl</span>目录下的<span lang="EN-US">ActiveBPEL_MySQL.sql</span>语句，在数据库中创建名为<span lang="EN-US">ActiveBPEL</span>的数据库，同时创建基本表。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span lang="EN-US">2.3</span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">设置数据源</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">打开<span lang="EN-US">${CATALINA_HOME}\conf</span>目录下的<span lang="EN-US">omcat-users.xml</span>文件，增加一个“<span lang="EN-US">admin</span>”的角色，<span lang="EN-US">&lt;role rolename="admin"/&gt;</span>，然后增加一个角色为<span lang="EN-US">admin</span>的新用户。 增加数据源的操作如下：<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">
						<b style="mso-bidi-font-weight: normal">
								<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">2.3.1</span>
						</b>
				</st1:chsdate>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">重启<span lang="EN-US">Tomcat,</span>并访问它的管理页<span lang="EN-US">http://localhost:8080/admin/<span style="mso-spacerun: yes">  </span><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">
						<b style="mso-bidi-font-weight: normal">
								<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">2.3.2</span>
						</b>
				</st1:chsdate>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">输入用户名和密码<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">
						<b style="mso-bidi-font-weight: normal">
								<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">2.3.3</span>
						</b>
				</st1:chsdate>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">按照以下顺序点击左侧的<span lang="EN-US">Frame<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Server\Service\Host\Context(/active-bpel)\Resources\Data Sources<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">
						<b style="mso-bidi-font-weight: normal">
								<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">2.3.4</span>
						</b>
				</st1:chsdate>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">从<span lang="EN-US"> the list of Data Source Actions</span>中选择<span lang="EN-US"> "Create New Data Source"<span style="mso-spacerun: yes">           </span><st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False"><b style="mso-bidi-font-weight: normal">2.3.5</b></st1:chsdate></span>按如下数值配置<span lang="EN-US"> Data Source</span>信息。（注：在此之前要确保相关的<span lang="EN-US">JDBC</span>驱动已经拷贝到<span lang="EN-US">tomcat\common\lib</span>下）<span lang="EN-US"><span style="mso-spacerun: yes">         </span><span style="mso-spacerun: yes">     </span><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">JNDI = jdbc/ActiveBPELDB<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Data Source URL = jdbc:mysql://127.0.0.1:3306/ ActiveBPEL<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">JDBC Driver Class = org.gjt.mm.mysql.Driver<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">User Name =root<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Password = <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">
						<b style="mso-bidi-font-weight: normal">
								<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">2.3.6</span>
						</b>
				</st1:chsdate>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">按保存按钮，并一定注意要提交（上方有一个<span lang="EN-US">Commit</span>按钮）。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span lang="EN-US">2.4</span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">修改</span>
						<span lang="EN-US">aeEngineconfig.xml </span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes">   </span>
				</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">将<span lang="EN-US">activebpel/dist/conf</span>下的<span lang="EN-US">aeEngineConfig-Persistent.xml</span>文件拷贝到<span lang="EN-US">%CATILINA_HOME%\bpr</span>目录下，并且重命名为<span lang="EN-US"> aeEngineconfig.xml</span>，原来的<span lang="EN-US">aeEngineconfig.xml</span>文件则被覆盖掉。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span lang="EN-US">2.5 ActiveBPEL</span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的内存管理模式</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">如果要使<span lang="EN-US">ActiveBPEL</span>引擎 转换到应用内存管理的模式，可以把<span lang="EN-US">/activebpel/dist/conf</span>下的<span lang="EN-US"><span style="mso-spacerun: yes">  </span>aeEngineConfig-InMemory.xml</span>文件拷贝到<span lang="EN-US"> %CATILINA_HOME%\bpr</span>目录下。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span lang="EN-US">
								<span style="mso-spacerun: yes"> </span>2.6</span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">启动</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; mso-char-indent-count: 2.0">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">重启<span lang="EN-US">tomcat</span>，启动数据库，打开<span lang="EN-US"><a href="http://localhost:8080/BpelAdmin/"><span style="COLOR: windowtext">http://localhost:8080/BpelAdmin/</span></a></span>页，在<span lang="EN-US">Home</span>页可以看到一个“<span lang="EN-US">Start Engine</span>”的按钮，启动引擎，当表中的<span lang="EN-US">status</span>为<span lang="EN-US">running,</span>则表示启动成功。此时，即为以一个可持续的方式启动了<span lang="EN-US">ActiveBPEL</span>引擎。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<i>
								<span lang="EN-US" style="FONT-SIZE: 14.5pt; FONT-FAMILY: Verdana; mso-font-kerning: 0pt">3</span>
						</i>
				</b>
				<b>
						<i>
								<span style="FONT-SIZE: 14.5pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">、配置发布自己的流程</span>
						</i>
				</b>
				<b>
						<i>
								<span lang="EN-US" style="FONT-SIZE: 14.5pt; FONT-FAMILY: Verdana; mso-font-kerning: 0pt">
										<o:p>
										</o:p>
								</span>
						</i>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; mso-char-indent-count: 2.0">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">ActiveBPEL</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">的流程需要创建一个配置文档<span lang="EN-US">(.jar</span>和<span lang="EN-US">.bpr</span>文件<span lang="EN-US">),</span>并且把他们拷贝到<span lang="EN-US">servelet</span>容器中。为了创建这些文件<span lang="EN-US">,</span>需要组织一个特殊结构的目录<span lang="EN-US">,</span>并创建一两个相应的配置文件<span lang="EN-US">,</span>然后才能通过这些目录来创建文档。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span lang="EN-US">3.1 </span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">建立目录</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; mso-char-indent-count: 2.0">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">创建一个目录<span lang="EN-US">,</span>我们假设这个例子叫<span lang="EN-US">mybpel,</span>然后按照下边的列表创建它的子目录<span lang="EN-US">:<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes">    </span>* bpel<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes">    </span>* META-INF<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes">    </span>* wsdl<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes">    </span>* partners (optional)<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes">    </span>
				</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">其中<span lang="EN-US">wsdl</span>目录中包含了所有定义过的<span lang="EN-US">WSDL</span>文件<span lang="EN-US">,</span>在<span lang="EN-US">META-INFM</span>目录中包含了<span lang="EN-US">wsdlCatalog.xml</span>文件<span lang="EN-US">, partner definition</span>目录定义了<span lang="EN-US"> .pdef</span>文件<span lang="EN-US">.</span>以<span lang="EN-US">.pdd</span>为后缀的文件是流程的配置描述。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span lang="EN-US">3.2</span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编写文件</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; mso-char-indent-count: 2.0">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">作为一个例子<span lang="EN-US">,</span>在各个的目录中放入对应的文件<span lang="EN-US">,</span>假设有两个<span lang="EN-US">WSDL</span>的服务<span lang="EN-US">,BPEL</span>的流程名字为<span lang="EN-US"><span style="mso-spacerun: yes">  </span>my_process.bpl,</span>各目录结构如下所示<span lang="EN-US">:<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes">    </span>mybpel<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes">        </span>META-INF<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes">            </span>wsdlCatalog.xml<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes">        </span>bpel<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes">            </span>my_process.bpl<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes">        </span>my_process.pdd<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes">        </span>wsdl<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes">            </span>service1.wsdl<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes">            </span>service2.wsdl<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">除非有<span lang="EN-US">.pdef</span>文件<span lang="EN-US">,</span>否则不需要<span lang="EN-US">partners</span>目录。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span lang="EN-US">3.3 </span>
				</b>
				<b>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">发布应用</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes">  </span>
						<span style="mso-spacerun: yes">  </span>
				</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">打包并拷贝到<span lang="EN-US">servelet</span>容器中。面的命令说明了如何配置<span lang="EN-US">BPEL</span>流程到<span lang="EN-US">TOMCAT(</span>如果没有<span lang="EN-US">partners</span>目录<span lang="EN-US">,</span>则把<span lang="EN-US">partners</span>从<span lang="EN-US">jar</span>的命令行中去掉<span lang="EN-US">):<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Windows:<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes">    </span>C:\&gt; cd mybpel<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes">    </span>C:\mybpel&gt; jar cf mybpel.bpr *.pdd META-INF bpel partners wsdl<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<span style="mso-spacerun: yes">    </span>C:\&gt; cp mybpel.bpr $CATALINA_HOME/bpr<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; mso-char-indent-count: 2.0">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">在配置文档中有多个<span lang="EN-US">.bpel</span>或<span lang="EN-US">.pdd</span>文件是允许的。另外<span lang="EN-US">,WSDL</span>文件可以放在任意位置<span lang="EN-US">,</span>即使是另一台机器<span lang="EN-US">,</span>只要把他们打包<span lang="EN-US">,</span>在<span lang="EN-US">.pdd</span>文件中说明<span lang="EN-US">,</span>让<span lang="EN-US">BPEL</span>引擎知道它们在哪就可以。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; mso-char-indent-count: 2.0">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24.1pt; mso-char-indent-count: 2.0">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">HongSoft,</span>
				</b>
				<b>
						<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">工学硕士，<span lang="EN-US">AgileFlow</span>开源工作流引擎负责人，多年工作流产品和技术相关经验，曾任<span lang="EN-US">CSDN</span>工作流专题主编，<span lang="EN-US">BEA</span>广州<span lang="EN-US">UserGroup</span>邀请讲座嘉宾，在《程序员》《微型机与应用》等杂志发表技术文章多篇。<span lang="EN-US"><o:p></o:p></span></span>
				</b>
		</p>
<img src ="http://www.blogjava.net/matthew2006/aggbug/70261.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/matthew2006/" target="_blank">matthew</a> 2006-09-18 13:03 <a href="http://www.blogjava.net/matthew2006/archive/2006/09/18/70261.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ActiveBpel引擎专题-activebpel下sample2的build.xml文件分析</title><link>http://www.blogjava.net/matthew2006/archive/2006/09/14/69686.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Thu, 14 Sep 2006 08:43:00 GMT</pubDate><guid>http://www.blogjava.net/matthew2006/archive/2006/09/14/69686.html</guid><wfw:comment>http://www.blogjava.net/matthew2006/comments/69686.html</wfw:comment><comments>http://www.blogjava.net/matthew2006/archive/2006/09/14/69686.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/matthew2006/comments/commentRss/69686.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/matthew2006/services/trackbacks/69686.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 200%">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">Build.xml的执行步骤为: 
<p></p></span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 200%">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<p>
						</p>
				</span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 200%; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">1.<span style="FONT: 7pt 'Times New Roman'">    </span></span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">调用初始化<span lang="EN-US">target,以作为其他target的依赖; 
<p></p></span></span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 200%; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">2.<span style="FONT: 7pt 'Times New Roman'">    </span></span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">创建<span lang="EN-US">classes文件夹; 
<p></p></span></span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 200%; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">3.<span style="FONT: 7pt 'Times New Roman'">    </span></span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">创建<span lang="EN-US">dist文件夹; 
<p></p></span></span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 200%; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">4.<span style="FONT: 7pt 'Times New Roman'">    </span></span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">编译<span lang="EN-US">src下的java文件,把类文件放到classes目录下; 
<p></p></span></span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 200%; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">5.<span style="FONT: 7pt 'Times New Roman'">    </span></span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">把<span lang="EN-US">classes下的文件打包放到dist下, 以.jar为后缀命名; 
<p></p></span></span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 200%; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">6.<span style="FONT: 7pt 'Times New Roman'">    </span></span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">把配置文件</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt">bpel_example_config.xml拷贝到</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">CATALINA_HOME/temp下,并允许覆盖. 
<p></p></span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 200%; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">7.<span style="FONT: 7pt 'Times New Roman'">    </span></span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">创建流程<span lang="EN-US">bpr文件,把bpel_process目录下的文件打包,除了CVS的文件,以.bpr为后缀命名(</span></span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt">bpel.archive</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">),并放在dist目录下; 
<p></p></span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 200%; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">8.<span style="FONT: 7pt 'Times New Roman'">    </span></span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">拷贝<span lang="EN-US">dist目录下的.bpr文件到CATALINA_HOME/bpr下; 
<p></p></span></span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 200%; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">9.<span style="FONT: 7pt 'Times New Roman'">    </span></span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">创建<span lang="EN-US">web services文档.把</span></span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt">web_services下的文件包括META-INF/service.wsdd和class下的除了client下的class文件打包并命名为</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">*</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt">.wsr(ws.archive)放到dist下.</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<p>
						</p>
				</span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 200%; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">10.</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">配置<span lang="EN-US">web services,拷贝dist目录下的</span></span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt">ws.archive到</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">CATALINA_HOME/bpr下. 
<p></p></span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 200%; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">11.</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">创建<span lang="EN-US">jsp包.将jsp下的文件和class目录下的相关的.class文件打包,命名为*.war(</span></span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt">jsp.archive</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">)放到dist下. 
<p></p></span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 200%; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">12.</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">配置<span lang="EN-US">jsp文档,将dist下的*.war文件拷贝到CATALINA_HOME/</span></span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt"> webapps下.</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<p>
						</p>
				</span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 200%; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">13.</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">执行<span lang="EN-US">deploy,配置流程,web service和jsp页. 
<p></p></span></span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 200%; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">14.</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt">安装配置文件<span lang="EN-US">,并运行单独的没有bpel的web service的客户端测试程序.</span></span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">s执行</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt">ws-test-client,也就是运行org.activebpel.demo.client下的WebServicesTestClient.</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<p>
						</p>
				</span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 200%; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">15.</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt">安装配置文件<span lang="EN-US">,并运行客户端.<span style="mso-tab-count: 1"></span>执行client.运行org.activebpel.demo.client.BPELTestClient文件.</span></span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<p>
						</p>
				</span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 200%; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">16.</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt">卸载所有的文档<span lang="EN-US">.执行undeploy,删除</span></span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">CATALINA_HOME/bpr下相应的</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt">bpel.archive, ws.archive,删除</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">CATALINA_HOME/</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt"> webapps下的jsp.archive.</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<p>
						</p>
				</span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 200%; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">17.</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">删除<span lang="EN-US">classes目录和temp目录(注意临时目录的删除问题.); 
<p></p></span></span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 17.85pt; TEXT-INDENT: -17.85pt; LINE-HEIGHT: 200%; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">18.</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">删除<span lang="EN-US">dist目录. 
<p></p></span></span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 200%">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">
						<p>
						</p>
				</span>
		</p>
<img src ="http://www.blogjava.net/matthew2006/aggbug/69686.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/matthew2006/" target="_blank">matthew</a> 2006-09-14 16:43 <a href="http://www.blogjava.net/matthew2006/archive/2006/09/14/69686.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ActiveBpel引擎专题-ActiveBpel启动的装载步骤 </title><link>http://www.blogjava.net/matthew2006/archive/2006/09/14/69685.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Thu, 14 Sep 2006 08:41:00 GMT</pubDate><guid>http://www.blogjava.net/matthew2006/archive/2006/09/14/69685.html</guid><wfw:comment>http://www.blogjava.net/matthew2006/comments/69685.html</wfw:comment><comments>http://www.blogjava.net/matthew2006/archive/2006/09/14/69685.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/matthew2006/comments/commentRss/69685.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/matthew2006/services/trackbacks/69685.html</trackback:ping><description><![CDATA[
		<p>ActiveBpel的启动是随TOMCAT的启动而开始的,下面用TOMCAT启动时控制台的信息为蓝</p>
		<p>本,分析ActiveBpel启动的装载步骤:</p>
		<p>1)进入org.activebpel.rt.tomcat.AeProcessEngineServlet的init方法<br />2004-9-13 15:08:20 org.activebpel.rt.tomcat.AeProcessEngineServlet init<br />信息: Active BPEL startup</p>
		<p>2)读取配置文件,开始启动bpel引擎<br />2004-9-13 15:08:20 org.activebpel.rt.tomcat.AeProcessEngineServlet </p>
		<p>startOrUpdateBpelEngine<br />信息: Loading engine config from D:\tomcat5.0/bpr/aeEngineConfig.xml</p>
		<p>3)启动一个扫描器,默认每10秒扫描一次指定目录,如果有新的流程定义,则自动将它发</p>
		<p>布;启动扫描器的同时,发布WEB应用<br />2004-9-13 15:08:31 org.apache.catalina.core.StandardHostDeployer install<br />信息: Installing web application at context path /bpel_example_client_page </p>
		<p>from URL file:D:/tomcat5.0/webapps/bpel_example_client_page<br />2004-9-13 15:08:31 org.apache.catalina.core.StandardHostDeployer install<br />信息: Installing web application at context path /jsp-examples from URL </p>
		<p>file:D:\tomcat5.0\webapps\jsp-examples<br />2004-9-13 15:08:31 org.apache.catalina.core.StandardHostDeployer install<br />信息: Installing web application at context path  from URL </p>
		<p>file:D:\tomcat5.0\webapps\ROOT<br />2004-9-13 15:08:31 org.apache.catalina.core.StandardHostDeployer install<br />信息: Installing web application at context path /servlets-examples from </p>
		<p>URL file:D:\tomcat5.0\webapps\servlets-examples<br />2004-9-13 15:08:32 org.apache.catalina.core.StandardHostDeployer install<br />信息: Installing web application at context path /tomcat-docs from URL </p>
		<p>file:D:\tomcat5.0\webapps\tomcat-docs</p>
		<p>4)大约隔了10秒,发布AeEngineAdmin.bpr流程<br />2004-9-13 15:08:32 org.activebpel.rt.tomcat.AeProcessEngineServlet </p>
		<p>createBprDeployment<br />信息: Deploying new ActiveBPEL deployment </p>
		<p>file:/D:/tomcat5.0/bpr/AeEngineAdmin.bpr</p>
		<p>5)发布bpel_example.bpr流程<br />2004-9-13 15:08:33 org.activebpel.rt.tomcat.AeProcessEngineServlet </p>
		<p>createBprDeployment<br />信息: Deploying new ActiveBPEL deployment </p>
		<p>file:/D:/tomcat5.0/bpr/bpel_example.bpr</p>
		<p>6)发布bpel_example_web_services.bpr流程<br />2004-9-13 15:08:34 org.activebpel.rt.tomcat.AeProcessEngineServlet </p>
		<p>createBprDeployment<br />信息: Deploying new ActiveBPEL deployment </p>
		<p>file:/D:/tomcat5.0/bpr/bpel_example_web_services.bpr</p>
		<p>7)BPEL引擎启动完成.</p>
<img src ="http://www.blogjava.net/matthew2006/aggbug/69685.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/matthew2006/" target="_blank">matthew</a> 2006-09-14 16:41 <a href="http://www.blogjava.net/matthew2006/archive/2006/09/14/69685.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ActiveBpel引擎专题-文件格式描述</title><link>http://www.blogjava.net/matthew2006/archive/2006/09/14/69681.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Thu, 14 Sep 2006 08:35:00 GMT</pubDate><guid>http://www.blogjava.net/matthew2006/archive/2006/09/14/69681.html</guid><wfw:comment>http://www.blogjava.net/matthew2006/comments/69681.html</wfw:comment><comments>http://www.blogjava.net/matthew2006/archive/2006/09/14/69681.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/matthew2006/comments/commentRss/69681.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/matthew2006/services/trackbacks/69681.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 7.5pt 0pt 0cm">
				<font size="3">
						<b>
								<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">文件描述规则</span>
						</b>
						<b>
								<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">: 
<p></p></span>
						</b>
				</font>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 7.5pt 0pt 0cm">
				<b>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">
								<font size="3">
										<span style="mso-spacerun: yes">    </span>
										<p>
										</p>
								</font>
						</span>
				</b>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 7.5pt 0pt 0cm">
				<font size="3">
						<b>
								<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">
										<span style="mso-spacerun: yes">   </span>
								</span>
						</b>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">
								<span style="mso-spacerun: yes"> </span>
						</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">文档用非正式的</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">XML</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">语法描述了下面的</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">XML</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">文件</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">.</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">它和</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">BPEL</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">规范里的规则很相似</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">,</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">有一些小的改动</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">.URIs</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">命名空间的一般形式</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">”some-URI”</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">代表了一些应用程序或是内容上依赖在</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">RFC2396</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">中定义的</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">URI. 
<p></p></span>
				</font>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 7.5pt 0pt 0cm; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto">
				<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">
						<font size="3">
								<p>
								</p>
						</font>
				</span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 7.5pt 0pt 18pt; TEXT-INDENT: -18pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list 18.0pt; mso-list: l1 level1 lfo2">
				<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Wingdings; mso-bidi-font-size: 9.0pt">
						<font size="3">l</font>
						<span style="FONT: 7pt 'Times New Roman'">       </span>
				</span>
				<font size="3">
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">在语法上大致符合于</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">XML</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">的要求</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt"> ,</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">但是它的值表示了数据类型而不是值</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">. 
<p></p></span>
				</font>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 7.5pt 0pt 18pt; TEXT-INDENT: -18pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list 18.0pt; mso-list: l1 level1 lfo2">
				<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Wingdings; mso-bidi-font-size: 9.0pt">
						<font size="3">l</font>
						<span style="FONT: 7pt 'Times New Roman'">       </span>
				</span>
				<font size="3">
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">字符被添加到元素中</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">,</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">并且属性值像</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">”?”(0</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">或</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">1</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">个</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">), “*”(0</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">或多个</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">),”+”(1</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">或多个</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">).</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">字符</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">”[”</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">和</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">”]”</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">用来表示包含了一组与</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">”?”,”*”,</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">或</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">”+”</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">有关的字符</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">. 
<p></p></span>
				</font>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 7.5pt 0pt 18pt; TEXT-INDENT: -18pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list 18.0pt; mso-list: l1 level1 lfo2">
				<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Wingdings; mso-bidi-font-size: 9.0pt">
						<font size="3">l</font>
						<span style="FONT: 7pt 'Times New Roman'">       </span>
				</span>
				<font size="3">
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">元素和属性用</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">”|”</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">分隔</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">, ”(”</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">和</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">”)”</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">表示语法上的转换</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">. 
<p></p></span>
				</font>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 7.5pt 0pt 18pt; TEXT-INDENT: -18pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list 18.0pt; mso-list: l1 level1 lfo2">
				<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-bidi-font-weight: bold">
						<font size="3">l</font>
						<span style="FONT: 7pt 'Times New Roman'">       </span>
				</span>
				<font size="3">
						<span lang="EN-US">
								<font face="Times New Roman">Schemas</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和例子都省略了</span>
						<span lang="EN-US">
								<font face="Times New Roman">&lt;?xml…..?&gt;</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">预处理的指示</span>
						<span lang="EN-US">
								<font face="Times New Roman">.<b><p></p></b></font>
						</span>
				</font>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 12pt">
								<font face="Times New Roman">
										<p>
										</p>
								</font>
						</span>
				</b>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<font face="Times New Roman">
						<b>
								<span lang="EN-US">
										<font size="3">1.</font>
										<span style="FONT: 7pt 'Times New Roman'">       </span>
								</span>
						</b>
						<b>
								<span lang="EN-US">
										<font size="3">*.bpr 
<p></p></font>
								</span>
						</b>
				</font>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt">
				<span lang="EN-US">
						<font face="Times New Roman">
								<font size="3">
										<p>
										</p>
								</font>
						</font>
				</span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt">
				<font size="3">
						<span lang="EN-US">
								<font face="Times New Roman">*.bpr</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是一个</span>
						<span lang="EN-US">
								<font face="Times New Roman">BPEL</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">流程文档</span>
						<span lang="EN-US">
								<font face="Times New Roman">,</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">它包含了</span>
						<span lang="EN-US">
								<font face="Times New Roman">BPEL</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件</span>
						<span lang="EN-US">
								<font face="Times New Roman">,</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">流程配置描述</span>
						<span lang="EN-US">
								<font face="Times New Roman">(.pdd),WSDL, </font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
						<span lang="EN-US">
								<font face="Times New Roman">partner</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件等配置流程所必须的文件</span>
						<span lang="EN-US">
								<font face="Times New Roman">.</font>
						</span>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt">
				<span lang="EN-US">
						<font size="3">
								<font face="Times New Roman">
										<p>
										</p>
								</font>
						</font>
				</span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<font face="Times New Roman">
						<b>
								<span lang="EN-US">
										<font size="3">2.</font>
										<span style="FONT: 7pt 'Times New Roman'">       </span>
								</span>
						</b>
						<b>
								<span lang="EN-US">
										<font size="3">
												<span style="mso-spacerun: yes"> </span>*.pdd 
<p></p></font>
								</span>
						</b>
				</font>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt">
				<b>
						<span lang="EN-US">
								<font face="Times New Roman">
										<font size="3">
												<p>
												</p>
										</font>
								</font>
						</span>
				</b>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt">
				<font size="3">
						<span lang="EN-US">
								<font face="Times New Roman">.pdd</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是描述流程配置的文件</span>
						<span lang="EN-US">
								<font face="Times New Roman">,</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">它告诉</span>
						<span lang="EN-US">
								<font face="Times New Roman">ActiveBPEL</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">引擎关于</span>
						<span lang="EN-US">
								<font face="Times New Roman">BPEL</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">流程的相关信息</span>
						<span lang="EN-US">
								<font face="Times New Roman">. </font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">每一个</span>
						<span lang="EN-US">
								<font face="Times New Roman">BPEL</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">流程都需要创建一个流程配置描述文件</span>
						<span lang="EN-US">
								<font face="Times New Roman">*.pdd.</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">每一个流程文件</span>
						<span lang="EN-US">
								<font face="Times New Roman">(*.bpel)</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都包含它自己的</span>
						<span lang="EN-US">
								<font face="Times New Roman">.pdd</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件</span>
						<span lang="EN-US">
								<font face="Times New Roman">.</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">它的元素包含了</span>
						<span lang="EN-US">
								<font face="Times New Roman">partner links </font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
						<span lang="EN-US">
								<font face="Times New Roman"> WSDL </font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的描述</span>
						<span lang="EN-US">
								<font face="Times New Roman">.</font>
						</span>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<span style="mso-spacerun: yes">
								<font face="Times New Roman" size="3">  </font>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<font face="Times New Roman">
						<b>
								<span lang="EN-US">
										<font size="3">3.</font>
										<span style="FONT: 7pt 'Times New Roman'">       </span>
								</span>
						</b>
						<b>
								<span lang="EN-US">
										<font size="3">wsdlCatalog.xml 
<p></p></font>
								</span>
						</b>
				</font>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt">
				<b>
						<span lang="EN-US">
								<font face="Times New Roman">
										<font size="3">
												<p>
												</p>
										</font>
								</font>
						</span>
				</b>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<font size="3">
						<font face="Times New Roman">
								<b>
										<span lang="EN-US">
												<span style="mso-spacerun: yes">   </span>
										</span>
								</b>
								<span lang="EN-US">WSDL</span>
						</font>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目录提供了让</span>
						<span lang="EN-US">
								<font face="Times New Roman">ActiveBPEL</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">引擎发现在</span>
						<span lang="EN-US">
								<font face="Times New Roman">.bpr</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">配置文档中描述的</span>
						<span lang="EN-US">
								<font face="Times New Roman">WSDL</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件</span>
						<span lang="EN-US">
								<font face="Times New Roman">.</font>
						</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt"> wsdlCatalog.xml</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">位于</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">META-INF</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">目录中</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">,</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">它是对</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">WSDL</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">文件位置的描述</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">. 
<p></p></span>
				</font>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">
						<font size="3">
								<span style="mso-spacerun: yes">   </span>
								<p>
								</p>
						</font>
				</span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<font size="3">
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">
								<span style="mso-spacerun: yes">   </span>
						</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">位置属性与</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">WSDL</span>
						<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">文件匹配有两种方式</span>
						<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">: 
<p></p></span>
				</font>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 9.0pt">
						<font size="3">
								<p>
								</p>
						</font>
				</span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; tab-stops: list 18.0pt; mso-list: l1 level1 lfo2">
				<code>
						<span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Wingdings; mso-fareast-font-family: 宋体; mso-bidi-font-family: 'Times New Roman'">l<span style="FONT: 7pt 'Times New Roman'">        </span></span>
				</code>
				<font size="3">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">位置属性在</span>
						<span lang="EN-US">
								<font face="Times New Roman">.pdd</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件的一个</span>
						<span lang="EN-US">
								<font face="Times New Roman">&lt;wsdl&gt;</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">元素的</span>
				</font>
				<code>
						<span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Courier New'">wsdlReferences</span>
				</code>
				<code>
						<span style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 黑体; mso-ascii-font-family: 'Courier New'">部分</span>
				</code>
				<code>
						<span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Courier New'">. 
<p></p></span>
				</code>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; tab-stops: list 18.0pt; mso-list: l1 level1 lfo2">
				<code>
						<span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Wingdings; mso-fareast-font-family: 宋体; mso-bidi-font-family: 'Times New Roman'">l<span style="FONT: 7pt 'Times New Roman'">        </span></span>
				</code>
				<font size="3">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">位置属性在</span>
						<span lang="EN-US">
								<font face="Times New Roman">WSDL</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件的</span>
						<span lang="EN-US">
								<font face="Times New Roman">&lt;import&gt;</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">元素中</span>
						<font face="Times New Roman">
								<span lang="EN-US">.</span>
								<code>
										<span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Courier New'">
												<p>
												</p>
										</span>
								</code>
						</font>
				</font>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 7.5pt 0pt 18pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto">
				<font size="3">
						<code>
								<span style="COLOR: black; FONT-FAMILY: 黑体; mso-ascii-font-family: 宋体; mso-hansi-font-family: 宋体; mso-ansi-font-size: 10.5pt">当在配置时加载了一个</span>
						</code>
						<code>
								<span lang="EN-US" style="COLOR: black; FONT-FAMILY: 宋体; mso-fareast-font-family: 黑体; mso-ansi-font-size: 10.5pt">WSDL</span>
						</code>
						<code>
								<span style="COLOR: black; FONT-FAMILY: 黑体; mso-ascii-font-family: 宋体; mso-hansi-font-family: 宋体; mso-ansi-font-size: 10.5pt">文件</span>
						</code>
						<code>
								<span lang="EN-US" style="COLOR: black; FONT-FAMILY: 宋体; mso-fareast-font-family: 黑体; mso-ansi-font-size: 10.5pt">,</span>
						</code>
						<span lang="EN-US" style="FONT-FAMILY: 宋体"> ActiveBPEL引擎从.pdd文件中读取WSDL的参数,并且用&lt;wsdl&gt;元素作为WSDL目录的关键字.如果WSDL目录包含了一个匹配的位置,引擎从相应的classpath中加载WSDL文件.如果不存在匹配的目录,引擎认为它的位置是一个绝对的URL,并且尝试从那个位置加载WSDL文件. 
<p></p></span>
				</font>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 7.5pt 0pt 18pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto">
				<span lang="EN-US" style="FONT-FAMILY: 宋体">
						<font size="3">Classpath属性表示了WSDL文件在.bpr文件中的位置, 相对的.bpr文件内容的根路径. 
<p></p></font>
				</span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 7.5pt 0pt 18pt; TEXT-INDENT: -18pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<font face="Times New Roman">
						<b>
								<span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black">4.<span style="FONT: 7pt 'Times New Roman'">      </span></span>
						</b>
						<b>
								<span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black">.pdef 
<p></p></span>
						</b>
				</font>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 7.5pt 0pt 18pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto">
				<span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black">
						<font face="Times New Roman">Partner links</font>
				</span>
				<span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">描述了各个</span>
				<span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black">
						<font face="Times New Roman">partner</font>
				</span>
				<span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之间的关系</span>
				<span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black">
						<font face="Times New Roman">.</font>
				</span>
				<span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">关于</span>
				<span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black">
						<font face="Times New Roman">partner</font>
				</span>
				<span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">定义的文件并不是所有的</span>
				<span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black">
						<font face="Times New Roman">BPEL</font>
				</span>
				<span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">流程都需要</span>
				<span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black">
						<font face="Times New Roman">. </font>
				</span>
				<span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">那些应用了主要基于端点参数映射的流程需要</span>
				<span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black">
						<font face="Times New Roman">.pdef</font>
				</span>
				<span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件</span>
				<span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black">
						<font face="Times New Roman">.</font>
				</span>
				<span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当需要认证时</span>
				<span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black">
						<font face="Times New Roman">,</font>
				</span>
				<span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个文件用来提供认证信息</span>
				<span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black">
						<font face="Times New Roman">. 
<p></p></font>
				</span>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 7.5pt 0pt 0cm; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black">
								<font face="Times New Roman">
										<p>
										</p>
								</font>
						</span>
				</b>
		</p>
<img src ="http://www.blogjava.net/matthew2006/aggbug/69681.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/matthew2006/" target="_blank">matthew</a> 2006-09-14 16:35 <a href="http://www.blogjava.net/matthew2006/archive/2006/09/14/69681.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ActiveBpel引擎专题-安装和配置文档</title><link>http://www.blogjava.net/matthew2006/archive/2006/09/14/69679.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Thu, 14 Sep 2006 08:34:00 GMT</pubDate><guid>http://www.blogjava.net/matthew2006/archive/2006/09/14/69679.html</guid><wfw:comment>http://www.blogjava.net/matthew2006/comments/69679.html</wfw:comment><comments>http://www.blogjava.net/matthew2006/archive/2006/09/14/69679.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/matthew2006/comments/commentRss/69679.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/matthew2006/services/trackbacks/69679.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 一、安装和配置																						ActiveBPEL																				引擎																																																																																...&nbsp;&nbsp;<a href='http://www.blogjava.net/matthew2006/archive/2006/09/14/69679.html'>阅读全文</a><img src ="http://www.blogjava.net/matthew2006/aggbug/69679.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/matthew2006/" target="_blank">matthew</a> 2006-09-14 16:34 <a href="http://www.blogjava.net/matthew2006/archive/2006/09/14/69679.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ActiveBpel引擎专题-目录和文件配置策略</title><link>http://www.blogjava.net/matthew2006/archive/2006/09/14/69677.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Thu, 14 Sep 2006 08:32:00 GMT</pubDate><guid>http://www.blogjava.net/matthew2006/archive/2006/09/14/69677.html</guid><wfw:comment>http://www.blogjava.net/matthew2006/comments/69677.html</wfw:comment><comments>http://www.blogjava.net/matthew2006/archive/2006/09/14/69677.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/matthew2006/comments/commentRss/69677.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/matthew2006/services/trackbacks/69677.html</trackback:ping><description><![CDATA[
		<font color="#000000">
				<p>ActiveBpel有很多的目录和文件配置,它对配置的处理也非常巧妙,我们分析如下:</p>
				<p>1)CATALINA_HOME配置<br />有些朋友对TOMCAT的CATALINA_HOME配置感觉奇怪,其实看看TOMCAT的代码我们就能够</p>
				<p>明白;在ActiveBpel中也有同样的配置,它是怎么实现的呢?我们看看</p>
				<p>org.activebpel.rt.tomcat.AeProcessEngineServlet的代码就知道了.<br />org.activebpel.rt.tomcat.AeProcessEngineServlet用来启动bpel服务器和axis服务</p>
				<p>器,它是随着tomcat的发布自动装载的,它启动后能够启动线程,该线程能够监听业务流</p>
				<p>程的发布.<br />org.activebpel.rt.tomcat.AeProcessEngineServlet有代码如下:</p>
				<p>        public static final String CATALINA_HOME = System.getProperties     </p>
				<p>   ().getProperty("catalina.home");<br />我想您已经知道怎么回事了.</p>
				<p>2)ServletConfig配置<br />我们看看web.xml文件:<br />&lt;init-param&gt;<br />         &lt;param-name&gt;bprDirectory&lt;/param-name&gt;<br />         &lt;param-value&gt;bpr&lt;/param-value&gt;<br />&lt;/init-param&gt;<br />   &lt;!-- Specify the engine configuration location, relative to bpr </p>
				<p>directory --&gt;<br />&lt;init-param&gt;<br />         &lt;param-name&gt;aeEngineConfigFile&lt;/param-name&gt;<br />         &lt;param-value&gt;aeEngineConfig.xml&lt;/param-value&gt;<br />&lt;/init-param&gt;<br />我们再看看代码:<br />         mBprDirectory = CATALINA_HOME + "/" + aConfig.getInitParameter</p>
				<p>("bprDirectory"); <br />         String engineConfigFilename = aConfig.getInitParameter</p>
				<p>("aeEngineConfigFile");<br />上面的aConfig就是在init(ServletConfig aConfig)中声明的,也就是,ActiveBpel启</p>
				<p>动时直接从web.xml中读取目录和文件的配置</p>
				<p>3)getResourceAsStream的使用<br />我们看看loadConfiguration方法的代码:<br />         File file = new File(aConfigFilename);<br />         ClassLoader cl = Thread.currentThread().getContextClassLoader();<br />         if(file.exists())<br />         {<br />            // load the configuration xml<br />            in = new FileInputStream(file);<br />         }<br />         else<br />         {<br />            log.info("File " + aConfigFilename + " doesn't exist loading </p>
				<p>from default classpath " + DEFAULT_BPEL_ENGINE_CONFIG);<br />            // load the default configuration file if not in bpr directory<br />            in = cl.getResourceAsStream(DEFAULT_BPEL_ENGINE_CONFIG);<br />         }<br />如果您对ClassLoader比较熟悉,应该不难看懂上面的代码.如果/bpr/下面有配置文件,</p>
				<p>则从该目录下读;否则,该文件可以被打包放到包里面了,那么从包中读取配置文件.</p>
		</font>
<img src ="http://www.blogjava.net/matthew2006/aggbug/69677.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/matthew2006/" target="_blank">matthew</a> 2006-09-14 16:32 <a href="http://www.blogjava.net/matthew2006/archive/2006/09/14/69677.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>BPEL4WS语言介绍，第4部分: 有针对性的利用UML核心架构  </title><link>http://www.blogjava.net/matthew2006/archive/2006/09/10/68816.html</link><dc:creator>matthew</dc:creator><author>matthew</author><pubDate>Sun, 10 Sep 2006 08:24:00 GMT</pubDate><guid>http://www.blogjava.net/matthew2006/archive/2006/09/10/68816.html</guid><wfw:comment>http://www.blogjava.net/matthew2006/comments/68816.html</wfw:comment><comments>http://www.blogjava.net/matthew2006/archive/2006/09/10/68816.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/matthew2006/comments/commentRss/68816.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/matthew2006/services/trackbacks/68816.html</trackback:ping><description><![CDATA[级别: 初级  王强, 软件工程师, 日本富士施乐（FujiXerox） 
<p></p><p><br />2003 年 8 月 01 日</p><p>商业流程执行语言BPEL4WS(Business Process Execution Language For Web Services)是专为整合Web Services而制定的一项规范标准。它从本质上来说是IBM的WSFL和Microsoft的XLANG的结合物，目前已经成为业界标准。WSFL 支持图形化的流程，而XLANG在结构化构造方面有独到的方法，而BPEL4WS正是吸取了两者的优点，同时摒弃了一些复杂繁琐的部分，形成了一种较为自然的描述商业活动的抽象高级语言。<br />引言</p><p><br />在本文的前三篇文章中(商业流程开发新纪元--BPEL4WS语言介绍，第1部分：特点介绍及使用技巧提示，第2部分：如何有针对性的利用RUP来规范BPEL4WS系统开发流程，BPEL4WS语言介绍，第3部分：利用UML对BEPL4WS系统进行建模)，已经向读者介绍了BPEL4WS语言的主要特点，BPEL4WS主要元素使用技巧以及利用外部Web服务的一些技巧；在软件过程方面着重介绍了在利用BPEL4WS语言进行系统开发时如何合理利用现有成熟软件过程RUP(Rational Unified Process)进行有针对性的系统开发；在BPEL4WS系统建模方面简要介绍了在开发过程中为什么要利用UML(Unified Modeling Language)对BPEL4WS系统进行建模以及如何用UML来构架BPEL4WS系统的体系结构。在本中将向读者介绍如何有针对性的利用UML核心架构对BPEL4WS系统进行建模。希望本文的内容会对您对UML核心架构的理解有所帮助。 </p><p>（注：对于BPEL4WS的基本语法介绍以及UML的详细语言规范由于篇幅原因并没有包括在本文中，读者可以参阅附录中的相关资料介绍； <br />在文中出现的"BPEL4WS系统"与"用BPEL4WS语言开发的商业系统"同义） </p><p>正文</p><p>根据不同系统的不同性质，一些模型可能比另一些模型要重要。例如，对于数据密集型系统，表达静态设计视图的模型将占主导地位。对于图形用户接口密集型系统，静态和动态用况视图就显得相当重要。在实时系统中，动态进程视图尤为重要。而在多层分布式系统中，尤其是在BPEL4WS系统中，实现模型和实施模型相对于其它系统来说就变得更加的重要。 </p><p>在利用BPEL4WS语言进行系统开发的过程中利用UML进行建模的方法和对普通的软件系统进行建模的方法大体上是相同的，但由于BPEL4WS系统本身的特点决定了只有针对性地进行建模活动才能取得更有价值的成果，再加上利用UML建模的过程实际上就是在遵循UML Specification的基础上，利用UML提供的一些核心要素对要开发的系统进行可视化、详述、构造和文档化的过程，所以我们可以针对UML的三个基本核心要素(基本构造块、规则、公共机制)来结合BPEL4WS语言的特点来有针对性地进行建模活动。而如何有针对性的利用UML核心架构对BPEL4WS系统进行建模成为了一个重要的问题，在下面的内容中将会较细致的介绍UML中主要元素的特点和如何在建模活动中有倾向性地向BPEL4WS系统靠拢。 </p><p><br />&lt;一&gt;基本构造块</p><p>在UML中的基本构造块可以划分为主要的三大类，每一类又可以细分为上图所示的许多小类。对于一个小型的项目来说，也许我们只会用到这些元素的一部分，但对于一个规模较大、较复杂的项目，特别是像BPEL4