SOA夜未眠 11

 

服务的开发人员

---------------------------------------------------------------------------------------------------------------------

有一次,客户问我,“我想要找些人来开发服务,我怎么知道这个人适不适合做服务的开发呢?”

我给他出了几个问题,能回答上来的人基本上都是能够担任服务开发的。

1.       根据下述WSDL写出该服务的SOAP请求报文和回复报文。

<?xml version="1.0" encoding="utf-8"?>

<!-- @editor-info:link autogen="true" source="pub.jws" -->

<wsdl:definitions xmlns:conv="http://www.openuri.org/2002/04/soap/conversation/" xmlns:cw="http://www.openuri.org/2002/04/wsdl/conversation/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:jms="http://www.openuri.org/2002/04/wsdl/jms/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://www.openuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.openuri.org/">

  <wsdl:types>

 

  </wsdl:types>

  <wsdl:message name="pubSoapIn">

    <wsdl:part name="ii" type="s:int"/>

    <wsdl:part name="j" type="s:string"/>

  </wsdl:message>

  <wsdl:message name="pubSoapOut"/>

  <wsdl:message name="pubHttpGetIn">

    <wsdl:part name="ii" type="s:string"/>

    <wsdl:part name="j" type="s:string"/>

  </wsdl:message>

  <wsdl:message name="pubHttpGetOut"/>

  <wsdl:message name="pubHttpPostIn">

    <wsdl:part name="ii" type="s:string"/>

    <wsdl:part name="j" type="s:string"/>

  </wsdl:message>

  <wsdl:message name="pubHttpPostOut"/>

  <wsdl:portType name="pubSoap">

    <wsdl:operation name="pub">

      <wsdl:input message="s0:pubSoapIn"/>

      <wsdl:output message="s0:pubSoapOut"/>

    </wsdl:operation>

  </wsdl:portType>

  <wsdl:portType name="pubHttpGet">

    <wsdl:operation name="pub">

      <wsdl:input message="s0:pubHttpGetIn"/>

      <wsdl:output message="s0:pubHttpGetOut"/>

    </wsdl:operation>

  </wsdl:portType>

  <wsdl:portType name="pubHttpPost">

    <wsdl:operation name="pub">

      <wsdl:input message="s0:pubHttpPostIn"/>

      <wsdl:output message="s0:pubHttpPostOut"/>

    </wsdl:operation>

  </wsdl:portType>

  <wsdl:binding name="pubSoap" type="s0:pubSoap">

    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>

    <wsdl:operation name="pub">

      <soap:operation soapAction="http://www.openuri.org/pub" style="rpc"/>

      <wsdl:input>

        <soap:body use="encoded" namespace="http://www.openuri.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>

      </wsdl:input>

      <wsdl:output>

        <soap:body use="encoded" namespace="http://www.openuri.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>

      </wsdl:output>

    </wsdl:operation>

  </wsdl:binding>

  <wsdl:binding name="pubHttpGet" type="s0:pubHttpGet">

    <http:binding verb="GET"/>

    <wsdl:operation name="pub">

      <http:operation location="/pub"/>

      <wsdl:input>

        <http:urlEncoded/>

      </wsdl:input>

      <wsdl:output/>

    </wsdl:operation>

  </wsdl:binding>

  <wsdl:binding name="pubHttpPost" type="s0:pubHttpPost">

    <http:binding verb="POST"/>

    <wsdl:operation name="pub">

      <http:operation location="/pub"/>

      <wsdl:input>

        <mime:content type="application/x-www-form-urlencoded"/>

      </wsdl:input>

      <wsdl:output/>

    </wsdl:operation>

  </wsdl:binding>

  <wsdl:service name="pub">

    <wsdl:port name="pubSoap" binding="s0:pubSoap">

      <soap:address location="http://localhost:7001/UntitledWeb/processes/pub.jws"/>

    </wsdl:port>

    <wsdl:port name="pubHttpGet" binding="s0:pubHttpGet">

      <http:address location="http://localhost:7001/UntitledWeb/processes/pub.jws"/>

    </wsdl:port>

    <wsdl:port name="pubHttpPost" binding="s0:pubHttpPost">

      <http:address location="http://localhost:7001/UntitledWeb/processes/pub.jws"/>

    </wsdl:port>

  </wsdl:service>

</wsdl:definitions>

2.       Web Servicesstyle="document"style="rpc"的区别是什么?

3.       WSDLsoapAction的作用是什么?

4.       请描述下列任一框架中,Web Services中读取和设置SOAP Header的方法

AXIS, XFire, Weblogic Workshop, CXF, .Net

 

对于服务的开发人员,一般要求他们对Web Services有一定的了解,对XMLXSD有了解,用过常用的Web Services框架,对XPATHXQuery有了解。

如果他们不具备上述技能,那么在开发之前的首要任务就是能够他们快速熟悉这些技能。

 

客户有时候会对如何提高开发人员的技能提出些令人哭笑不得的建议,有一个客户曾对我说:“你写一些样例代码出来,让他们照着抄抄,他们就能开发了。”样例代码只能起一个指导作用,服务的开发人员通常要开发各种复杂的业务逻辑,这是没法抄袭的。另外,对于企业级应用,如果开发人员对技术理解不够透彻,很容易造成内存泄漏、死锁等错误。所以,样例代码固然要提供,但仍然需要提醒他们编程时的关键点,还要做好测试。

 

如果开发人员的技能并不熟练,SOA项目就像一条航行的船,船员都是生手,这时就需要船长、大副、二副、三副等等时时提醒和监督了。

【Koopman】遍历论、动态模态分解和库普曼算子谱特性的计算研究(Matlab代码实现)内容概要:本文围绕【Koopman】遍历论、动态模态分解和库普曼算子谱特性的计算研究展开,重点介绍基于Matlab的代码实现方法。文章系统阐述了遍历理论的基本概念、动态模态分解(DMD)的数学原理及其与库普曼算子谱特性之间的内在联系,展示了如何通过数值计算手段分析非线性动力系统的演化行为。文中提供了完整的Matlab代码示例,涵盖数据驱动的模态分解、谱分析及可视化过程,帮助读者理解并复现相关算法。同时,文档还列举了多个相关的科研方向和技术应用场景,体现出该方法在复杂系统建模与分析中的广泛适用性。; 适合人群:具备一定动力系统、线性代数与数值分析基础,熟悉Matlab编程,从事控制理论、流体力学、信号处理或数据驱动建模等领域研究的研究生、博士生及科研人员。; 使用场景及目标:①深入理解库普曼算子理论及其在非线性系统分析中的应用;②掌握动态模态分解(DMD)算法的实现与优化;③应用于流体动力学、气候建模、生物系统、电力系统等领域的时空模态提取与预测;④支撑高水平论文复现与科研项目开发。; 阅读建议:建议读者结合Matlab代码逐段调试运行,对照理论推导加深理解;推荐参考文中提及的相关研究方向拓展应用场景;鼓励在实际数据上验证算法性能,并尝试改进与扩展算法功能。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值