BPEL之贷款审批案例(1)

来源:互联网 发布:如何用ppt制作销售网络 编辑:程序博客网 时间:2024/04/25 08:21
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

说明:本文意译自BPEL1.1规范16.2节。

本文讨论一个简单的贷款审批的WEB服务的例子。在该例子中,客户发送贷款审批请求,包括客户个人信

息和贷款金额。贷款审批的WEB服务利用该信息运行一个简单流程,得到“同意贷款”或“拒绝贷款”的

结果。对于低于10000美元的贷款和有良好信用的客户,审批是自动的。对于高额贷款和信用不确定的客

户,我们需要用到另外两个WEB服务提供的功能。“风险评估服务”用来查询某个个人的信用风险,“专

家评估服务”用来获得专家对该项目的具体评估意见。

1。服务描述我们假定已经存在xmlns:lns="http://loans.org/wsdl/loan-approval",服务描述文件如下:<definitions       targetNamespace="http://loans.org/wsdl/loan-approval"      xmlns="http://schemas.xmlsoap.org/wsdl/"      xmlns:xsd="http://www.w3.org/2001/XMLSchema"         xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"            xmlns:lns="http://loans.org/wsdl/loan-approval">

H:信用信息消息。消息相当于我们的值对象。<message name="creditInformationMessage">   <part name="firstName" type="xsd:string"/>   <part name="name" type="xsd:string"/>   <part name="amount" type="xsd:integer"/></message>H:审批消息<message name="approvalMessage">   <part name="accept" type="xsd:string"/></message>H:风险评估消息<message name="riskAssessmentMessage">   <part name="level" type="xsd:string"/></message>   H:错误消息<message name="errorMessage">   <part name="errorCode" type="xsd:integer"/></message>

H:把portType理解为我们的OO中的方法吧!它指定了输入,输出,出错处理。<portType name="loanServicePT">   <operation name="request">      <input message="lns:creditInformationMessage"/>      <output message="lns:approvalMessage"/>      <fault name="unableToHandleRequest"              message="lns:errorMessage"/>   </operation></portType>

<portType name="riskAssessmentPT">   <operation name="check">      <input message="lns:creditInformationMessage"/>      <output message="lns:riskAssessmentMessage"/>      <fault name="loanProcessFault"              message="lns:errorMessage"/>   </operation></portType>

<portType name="loanApprovalPT">   <operation name="approve">      <input message="lns:creditInformationMessage"/>      <output message="lns:approvalMessage"/>      <fault name="loanProcessFault"              message="lns:errorMessage"/>   </operation></portType>     

H:partnerLinkType用来区分角色。<plnk:partnerLinkType name="loanPartnerLinkType">   <plnk:role name="loanService">       <plnk:portType name="lns:loanServicePT"/>   </plnk:role></plnk:partnerLinkType>

<plnk:partnerLinkType name="loanApprovalLinkType">   <plnk:role name="approver">       <plnk:portType name="lns:loanApprovalPT"/>   </plnk:role>   </plnk:partnerLinkType>

<plnk:partnerLinkType name="riskAssessmentLinkType">   <plnk:role name="assessor">       <plnk:portType name="lns:riskAssessmentPT"/>   </plnk:role>   </plnk:partnerLinkType>

</definitions>

 

 

<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>