新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> Web服务(Web Services,WS), 语义Web服务(Semantic Web Services, SWS)讨论区: WSDL, SOAP, UDDI, DAML-S, OWL-S, SWSF, SWSL, WSMO, WSML,BPEL, BPEL4WS, WSFL, WS-*,REST, PSL, Pi-calculus(Pi演算), Petri-net,WSRF,
    [返回] 中文XML论坛 - 专业的XML技术讨论区W3CHINA.ORG讨论区 - Web新技术讨论『 Web Services & Semantic Web Services 』 → 自己写了一点WSDL-S的笔记,欢迎大家能够指正、讨论 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 35996 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 自己写了一点WSDL-S的笔记,欢迎大家能够指正、讨论 举报  打印  推荐  IE收藏夹 
       本主题类别: Services Description    
     csdncannon 帅哥哟,离线,有人找我吗?
      
      
      威望:1
      等级:大三(研究MFC有点眉目了!)
      文章:70
      积分:621
      门派:XML.ORG.CN
      注册:2006/2/17

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给csdncannon发送一个短消息 把csdncannon加入好友 查看csdncannon的个人资料 搜索csdncannon在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看csdncannon的博客楼主
    发贴心情 自己写了一点WSDL-S的笔记,欢迎大家能够指正、讨论


    全文下载:


    为方面大家浏览,以下粘贴出部分正文。
    WSDL-S笔记
    花两天时间初步看了下WSDL-S,以及IBM发布的一套工具。总体感觉他们对
    WSDL的的兼容做得很好,比较照顾工业界的感受。但是对于WSDL的语义扩展很
    有限,不过个人感觉效果还是非常好的,还是很让人眼前一亮的。
     
     遗憾也是有的:目前还没有看到他们的WSDL-S的正式的规范,只有一个
    叫”Technical Note”的东东,在University of Georgia(http://lsdis.cs.
    uga.edu/projects/meteor-s/wsdl-s/)和IBM alphaworks(http://www. alpha
    works.ibm.com/ tech/wssem)上只找到一些samples,对于PE中的expression
    属性是如何表达的、具体的匹配算法、Mediations如何生成、推理的具体过程、
    如何进行服务组装来得到新的匹配结果等等问题,都没有回答,估计他们也是在
    探索中的。

    WSDL-S的总体思想
    1. 构建在目前的Web服务标准之上:
    Web服务随着SOA的发展,它的相关标准在工业界也已经被普遍采用,因此
    WSDL-S采取了对WSDL向上兼容的方式,使得工业界更容易接纳它。

    2. 可以采用不同的语义表达语言来对Web服务进行语义标注:
    语义表达语言可以是OWL、WSMO甚至UML。这使得语义标注机制和具体的语
    义表达语言分离开来,用户有更多的选择。

    3. 支持对Web服务的XML SCHEMA的数据类型进行语义标注:
    先来回顾下WSDL2.0,规范中有如下一些XML element:interface、
    operation、message、binding、service和endpoint。其中interface、
    operation、message是用来定义服务接口的,而binding、service、endpoint
    是用来定义具体服务实现的。WSDL-S采取了在前三者中插入一些扩展的XML
    element和attribute来达到语义标注的效果,而被标注对象都是XML SCHEMA
    中的一些构件。

    4. 在Web服务的XML SCHEMA类型和本体(或UML)之间提供丰富的映射机制。比
    如某服务的输入和该领域本体的某概念对应,则这种映射关系既可以通过
    URI来直接映射到本体中的概念,也可以通过RDF、OWL、XSLT、XQuery等语
    言的snippet来表达(后一种方式在IBM发布的例子中并没有看到对应的用
    法)。


    WSDL-S的IOPE
    1. Input && Output
     在Operation的Input和Output所用到的types的定义中,对xs:element和xs:complexType加入了wssem:modelReference和wssem:schemaMapping这两个属性,这两个属性都是optional的。其中xs= http://www.w3.org/2001/XMLSchema , wssem= http://www.ibm.com/xmlns/WebServices/WSSemantics .

    在xs:element加入wssem:modelReference示例如下:
    <types>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace=" http://www.ourdemos.com/purchaseorder/wsdl/PurchaseOrder/"
    xmlns="http://www.ourdemos.com/purchaseorder/wsdl/PurchaseOrder/">
    <!—Semantic annotations for these complex types are given in their respective type
    definitions>
    <xs:complexType name="processPurchaseOrderRequest">
    <xs:all>
    <xs:element name="billingInfo" type="xs:POBilling"/>
    <xs:element name="orderItem" type="xs:POItem"/>
    </xs:all>
    </xs:complexType>
    <!—Semantic annotation is added directly to this leaf element />
    <xs:element name= "processPurchaseOrderResponse" type="xs:string
    wssem:modelReference="POOntology#OrderConfirmation"/>
    </xs:schema>
    </types>
    此处的wssem:modelReference这个Attribute表明了processPurchaseOrderResponse这个xs:element级别的类型映射到POOntology这个本体中的OrderConfirmation这个概念。同样也可以在xs:complexType中加入wssem:modelReference这个属性,只不过对于类型标注的层次更高一些。此处注意,如果某xs:element有两次语义标注,高层次的complexType处标注的语义会覆盖低层次的element处标注的语义。
    在xs:complexType加入wssem:modelReference示例如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <schema attributeFormDefault="qualified"
    elementFormDefault="unqualified"
    targetNamespace="http://www.ourdemos.com/purchaseorder/"
    xmlns="http://www.w3.org/2001/XMLSchema"
    xmlns:xsd1=http://www.ourdemos.com/purchaseorder/
    xmlns:wssem="http://www.ibm.com/xmlns/WebServices/WSSemantics"
    xmlns:POOntology="http://www.ibm.com/ontologies/PurchaseOrder.owl">
    <include schemaLocation="POAddress.xsd"/>
    <include schemaLocation="Account.xsd"/>
    <complexType name="POBilling" wssem:modelReference=”POOntology#Billing”>
    <all>
    <element name="shipToAddress" type="xsd1:POAddress" />
    <element name="billToAddress" type="xsd1:POAddress" />
    <element name="accountID" type="xsd1:string />"
    </all>
    </complexType>
    </schema>

    关于wssem:schemaMapping属性的讨论只在Technical Note的附录中谈到了,我没有具体看过,但是IBM发布的Samples中没有这方面的例子。欢迎大家补充!
    在加入wssem:schemaMapping属性的示例:
    <?xml version="1.0" encoding="UTF-8"?>
    <schema attributeFormDefault="qualified"
    elementFormDefault="unqualified"
    targetNamespace="http://www.ourdemos.com/purchaseorder/"
    xmlns="http://www.w3.org/2001/XMLSchema"
    xmlns:xsd1=”http://www.ourdemos.com/purchaseorder/
    xmlns:wssem="http://www.ibm.com/xmlns/WebServices/WSSemantics"
    xmlns:POOntology="http://www.ibm.com/ontologies/PurchaseOrder.owl">
    <import location="WSSemantics.xsd" namespace="
    http://www.ibm.com/xmlns/WebServices/WSSemantics/"/>
    <complexType name="POAddress"
    wssem:schemaMapping=”http://www.ibm.com/schemaMapping/POAddress.xsl”>
    <all>
    <element name="recipientInstName" type="string" />
    <element name="streetAddr1" type="string" />
    <element name="streetAdd2" type="string" />
    <element name="city" type="string" />
    <element name="state" type="string" />
    <element name="zipCode" type="string" />
    <element name="country" type="string" />
    </all>
    </complexType>
    </schema>

    http://www.ibm.com/schemaMapping/POAddress.xsl
    <?xml version='1.0' ?>
    <xsl:transform version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <xsl:template match="/">
    <Address rdf:ID="Address1">
    <has_Receiver rdf:datatype="xs:string">
    <xsl:value-of select="POAddress/recepientInstName"/>
    <has_StreetAddress rdf:datatype="xs:string">
    <xsl:value-of select="concat(POAddress/streetAddr1,POAddress/streetAddr2)"/>
    </has_StreetAddress >
    <has_City rdf:datatype="xs:string">
    <xsl:value-of select="POAddress/city"/>
    </has_City>
    <has_State rdf:datatype="xs:string">
    <xsl:value-of select="POAddress/state"/>
    </has_State>
    <has_ZipCode rdf:datatype="xs:string">
    <xsl:value-of select="POAddress/zipCode"/>
    </has_ZipCode>
    <has_Country rdf:datatype="xs:string">
    <xsl:value-of select="POAddress/country"/>
    </has_Country>
    </Address>
    </xsl:template>
    </xsl:transform>


    2. Preconditions && Effect
    这两种形式的语义是通过在interface的定义中加入两个element:wssem:precondition和wssem:effect来引入的。
    <interface name="PurchaseOrder">
    <operation name="processPurchaseOrder” pattern=wsdl:in-out>
    <input messageLabel = ”processPurchaseOrderRequest"
    element="tns:processPurchaseOrderRequest"/>
    <output messageLabel ="processPurchaseOrderResponse"
    element="processPurchaseOrderResponse"/>
    <!—Precondition and effect are added as extensible elements on an operation>
    <wssem:precondition name="ExistingAcctPrecond”
    wssem:modelReference="POOntology#AccountExists">
    <wssem:effect name="ItemReservedEffect"
    wssem:modelReference="POOntology#ItemReserved"/>
    </operation>
    </interface>

    wssem:effect和wssem:precondition的expression属性是通过用AND,OR,XOR等来组合一些Statement来得到的。

    wssem:precondition的schema的定义:
    <xsd:element name=precondition>
    <xsd:complexType>
    <xsd:complexContent
    <xsd:restriction base="xsd:anyType">
    <xsd:attribute name=”name” type=”xsd:string” />
    <xsd:attribute name="modelReference" type="xsd:anyURI" />
    <xsd:attribute name="expression" type="xsd:string" />
    </xsd:restriction>
    </xsd:complexContent>
    </xsd:complexType>
    </xsd:element>

    wssem:effect 的schema的定义:
    <xsd:element name=”effect”>
    <xsd:complexType>
    <xsd:complexContent
    <xsd:restriction base="xsd:anyType">
    <xsd:attribute name=”name” type=”xsd:string” />
    <xsd:attribute name="modelReference" type="xsd:anyURI" />
    <xsd:attribute name="expression" type="xsd:string" />
    </xsd:restriction>
    </xsd:complexContent>
    </xsd:complexType>
    </xsd:element>

    Semantic Tools for Web Services from IBM && University of Georgia:
    一些Flash:
    http://www.alphaworks.ibm.com/demo/flash/wssem
    提供的一些功能:
    1. 一个图形化的WSDL编辑器


    2. 在WSDL编辑器的基础上进行语义标注

    3. 一个本体导入工具,并显示本体中的分类

    4. 两种匹配方式:
     单个服务匹配: 与wsdl目录下的每个服务单独进行匹配,匹配结果为单               
    个服务
    服务匹配的结果

    观察两个服务之间的映射关系:

     组合服务匹配:匹配结果可以是wsdl目录下服务的组合,组合的方式用 BPEL来描述,同时提供一个BPEL的编辑器(这个我的wtp里没出来,log里看出来是某个库没装,也没去弄它了)
    服务匹配结果:

    我的BPEL的编辑器打不开,只能直接看它的代码了,不过还算容易懂的:
    <?xml version="1.0" encoding="ASCII"?>
    <process:process xmlns:process="http://schemas.xmlsoap.org/ws/2003/03/business-process/" name="SomeName"><process:partnerLinks/><process:partners/><process:variables/><process:sequence name="SomeSequence"><process:invoke name="invoke-{http://uima.semantica.ibm.com.wsdl/digitalsigningservice/}digitalsigningservice/digitalsigningservice_OBJECT" operation="{http://uima.semantica.ibm.com.wsdl/digitalsigningservice/}digitalsigningservice/digitalsigningservice"/><process:invoke name="invoke-{http://uima.semantica.ibm.com.wsdl/encryptionservice/}encryptionservice/encryptionservice_OBJECT" operation="{http://uima.semantica.ibm.com.wsdl/encryptionservice/}encryptionservice/encryptionservice"/><process:invoke name="invoke-{http://uima.semantica.ibm.com.wsdl/purchaseorderservice/}purchaseorderservice/purchaseorderservice_OBJECT" operation="{http://uima.semantica.ibm.com.wsdl/purchaseorderservice/}purchaseorderservice/purchaseorderservice"/></process:sequence></process:process>
    被匹配的服务和匹配出来的组合服务的流程:

    [此贴子已经被admin于2007-5-21 23:18:52编辑过]

       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/4/26 12:58:00
     
     hopeshared 美女呀,离线,快来找我吧!
      
      
      等级:大一(猛啃高等数学)
      文章:28
      积分:180
      门派:XML.ORG.CN
      注册:2006/4/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给hopeshared发送一个短消息 把hopeshared加入好友 查看hopeshared的个人资料 搜索hopeshared在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看hopeshared的博客2
    发贴心情 
    呵呵,真巧,我最近也一直在IBM的几个工具上折腾web service和bpel
    看了你的文档,首先你提到了对wsdl的扩展的支持,这个我在实践的时候没有考虑太多,相反,我希望生成的wsdl是可以通用的(当然,结果是不通用的,namespace的区别导致的各个工具生成的wsdl不一样)

    我没有尝试用wsdl编辑器,只是简单看了看。IBM的工具支持从已有的代码来生成wsdl,所以我就没有研究了。

    不知道你用的是什么工具,我用RAD/RSA + WAS来开发web service

    但是bpel不能用这两个工具来开发,我现在想说的就是bpel,呵呵,因为我今天学习了一天如何用WID来开发bpel,觉得这套工具很强大,学起来很费劲

    bpel的开发环境首选是Websphere Integeration Developer + Websphere Process Server,这两个工具在ibm站点上都没有那种免费版本下载

    我用这个工具开发的时候,觉得这个工具给bpel作了太多的扩展。今天我刚学到从接口或者从wsdl中来做service composition

    但是现在我碰到了一个问题,我不知道如何在bpel中调用一个远程的web service。在wid中加入需要使用某个web service的话,只能首先得到这个wsdl文件(如果是本地的,可以copy文件,如果是远程的,则根据访问得到的wsdl保存起来)。我觉得在bpel的规范中应该支持远程访问web service的。

    目前还是最初的学习阶段,要是有人知道并指点一下就好了!

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/4/26 17:31:00
     
     hopeshared 美女呀,离线,快来找我吧!
      
      
      等级:大一(猛啃高等数学)
      文章:28
      积分:180
      门派:XML.ORG.CN
      注册:2006/4/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给hopeshared发送一个短消息 把hopeshared加入好友 查看hopeshared的个人资料 搜索hopeshared在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看hopeshared的博客3
    发贴心情 
    我传张用wid开发的一个bpel图上来吧,这是wid的一个示例项目


    此主题相关图片如下:
    按此在新窗口浏览图片

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/4/26 17:42:00
     
     csdncannon 帅哥哟,离线,有人找我吗?
      
      
      威望:1
      等级:大三(研究MFC有点眉目了!)
      文章:70
      积分:621
      门派:XML.ORG.CN
      注册:2006/2/17

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给csdncannon发送一个短消息 把csdncannon加入好友 查看csdncannon的个人资料 搜索csdncannon在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看csdncannon的博客4
    发贴心情 
    感觉你可以另起一个主题了

    不知道你的思路是什么样的?

    总感觉这些跟sws有关系吗?具体工具的使用,可以去maillist上问吧

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/4/26 18:22:00
     
     jlyh930 美女呀,离线,快来找我吧!
      
      
      等级:大二期末(C++考了100分!)
      文章:71
      积分:463
      门派:XML.ORG.CN
      注册:2004/11/17

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给jlyh930发送一个短消息 把jlyh930加入好友 查看jlyh930的个人资料 搜索jlyh930在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看jlyh930的博客5
    发贴心情 
    ibm的几个工具到底怎么用啊,我下了SemanticsToolkit-1.1.1.zip 可是不知道怎么用啊,你们的wsdl编辑器是怎么弄得啊,这不是源码吗,怎么安装啊啊,我什么都不懂
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/5/23 21:02:00
     
     csdncannon 帅哥哟,离线,有人找我吗?
      
      
      威望:1
      等级:大三(研究MFC有点眉目了!)
      文章:70
      积分:621
      门派:XML.ORG.CN
      注册:2006/2/17

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给csdncannon发送一个短消息 把csdncannon加入好友 查看csdncannon的个人资料 搜索csdncannon在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看csdncannon的博客6
    发贴心情 
    看wtp里面的帮助

    以下是引用jlyh930在2006-5-23 21:02:00的发言:
    ibm的几个工具到底怎么用啊,我下了SemanticsToolkit-1.1.1.zip 可是不知道怎么用啊,你们的wsdl编辑器是怎么弄得啊,这不是源码吗,怎么安装啊啊,我什么都不懂

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/5/24 12:44:00
     
     csdncannon 帅哥哟,离线,有人找我吗?
      
      
      威望:1
      等级:大三(研究MFC有点眉目了!)
      文章:70
      积分:621
      门派:XML.ORG.CN
      注册:2006/2/17

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给csdncannon发送一个短消息 把csdncannon加入好友 查看csdncannon的个人资料 搜索csdncannon在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看csdncannon的博客7
    发贴心情 

    wsdl-s匹配算法的描述

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/5/30 10:56:00
     
     jlyh930 美女呀,离线,快来找我吧!
      
      
      等级:大二期末(C++考了100分!)
      文章:71
      积分:463
      门派:XML.ORG.CN
      注册:2004/11/17

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给jlyh930发送一个短消息 把jlyh930加入好友 查看jlyh930的个人资料 搜索jlyh930在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看jlyh930的博客8
    发贴心情 
    我看了但是在eclipse中安装还是遇到了很多的麻烦,请问搂住可以指教小你装的是那个eclipse 的版本用了那些配置啊,我还没有搞定啊,我的qq:65600955 (你加我吧,和你一起讨论学写下怎样, 准明 wsdl-s哦 呵呵)
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/6/7 20:41:00
     
     liushuo 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:66
      门派:XML.ORG.CN
      注册:2006/6/1

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给liushuo发送一个短消息 把liushuo加入好友 查看liushuo的个人资料 搜索liushuo在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看liushuo的博客9
    发贴心情 
    请问文章中"语义标注机制"和"语义表达"分别是什么意思,能告诉我英文词吗?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/6/16 16:04:00
     
     timothy 帅哥哟,离线,有人找我吗?巨蟹座1982-7-21
      
      
      威望:1
      等级:大四下学期(考上研究生啦!)
      文章:237
      积分:1701
      门派:XML.ORG.CN
      注册:2006/4/4

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给timothy发送一个短消息 把timothy加入好友 查看timothy的个人资料 搜索timothy在『 Web Services & Semantic Web Services 』的所有贴子 点击这里发送电邮给timothy 引用回复这个贴子 回复这个贴子 查看timothy的博客10
    发贴心情 
    我也在做这方面的!
          可是找不到工具啊!!!!
         Websphere Integeration Developer v601根本就下载不了啊 !!!

    谁能帮帮我???

    ----------------------------------------------
    时间永远是向前的!

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/5/21 11:00:00
     
     GoogleAdSense巨蟹座1982-7-21
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Web Services & Semantic Web Services 』的所有贴子 点击这里发送电邮给Google AdSense 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/7/17 6:37:56

    本主题贴数13,分页: [1] [2]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    109.375ms