Shawn

“欢迎来到我的博客!”

我是一个图钉(*^__^*)

服务计算学习笔记(Part)

 Shawn  •   2017-5-3 09:50  •   ,  •   53  •   2

基本概念

SOC:Service-Oriented Computing,面向服务的计算

SOA:Service-Oriented Architecture,面向服务的架构

实体服务和IT服务的区别:

  • 不同的KPI(性能指标),即时响应
  • 前者需求成熟,后者需求模糊
  • 前者演化速率慢,后者快

面向服务的基本概念和分治法相似,将任务分解为一个个小片段,每个片段都能有自己关注的问题,是自治的但不一定是独立的。

C/S架构运行有80%在客户端,20%在服务端。

Web 服务应该有如下两个特性:

  • 自描述的
  • 可发现的

Web Service Protocol Stack 包含了什么?

  • Service transport: HTTP, SMTP,FTP,etc.
  • XML messaging:
    SOAP (Simple Object Access Protocol), XML-RPC
  • Service description: WSDL (Web Service Description Language)
  • Service discovery: UDDI (Universal Description Discovery and Integration)

Web Service Protocol Stack
service requestor
service provider

XML Schema

  • XML Schema 的作用是定义 XML 文档的合法构建模块,类似 DTD。
  • 包括:
    • 定义可出现在文档中的元素
    • 定义可出现在文档中的属性
    • 定义哪个元素是子元素
    • 定义子元素的次序
    • 定义子元素的数目
    • 定义元素是否为空,或者是否可包含文本
    • 定义元素和属性的数据类型
    • 定义元素和属性的默认值以及固定值

XML命名空间

  • 在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。XML 命名空间提供避免元素命名冲突的方法。

XML-RPC Data Model 定义了哪些数据类型?(6+2)

  • Basic data types
Type Value Examples
int or i4 32-bit integers betwwen -2147482648 and 2147483647 <int>27</int>
<i4>27</i4>
double 64-bit floating-point numbers <double>27.31415</double>
<double>-1.465</double>
Boolean true(1) or false(0) <boolean>1</boolean>
<boolean>0</boolean>
string ASCII text, though many implementations support Unicode <string>Hello</string>
<string>bonker!@</string>
dateTime.iso8601 Date in ISO8601 fromat: CCYYMMDDTHH:MM:SS <dateTime.iso8601>20021125T02:20:04</dateTime.iso8601>
<dateTime.iso8601>20020104T17:27:30</dateTime.iso8601>
base64 Binary information encoded as Base 64, as defined in RFC 2045 <base64>SGVsbG8sIFdvcmxkIQ==</base64>
  • Compound Data Types
    • Arrays
    xmlrpc<value>
    <array>
        <data>
            <value><int>7</int></value>
            <value><int>1247</int></value>
            <value><int>-91</int></value>
            <value><int>42</int></value>
        </data>
    </array>
    </value>
    • Structs
    xmlrpc<value>
    <struct>
        <member>
            <name>giveName</name>
            <value><string>Joseph</string></value>
        </member>
        <member>
            <name>familyName</name>
            <value><string>DiNardo</string></value>
        </member>
        <member>
            <name>age</name>
            <value><int>27</int></value>
        </member>
    </struct>
    </value>

一个完整的XML-RPC Request/Response的结构

xmlrpcPOST /xmlrpc HTTP 1.0
User-Agent: myXMLRPCClient/1.0
Host: 192.168.124.2
Content-Type: text/xml
Content-Length: 169
<?xml version="1.0"?>
<methodCall>
    <methodName>circleArea</methodName>
    <params>
        <param>
            <value><double>2.41</double></value>
        </param>
    </params>
</methodCall>
xmlrpcHTTP/1.1 200 OK
Date: Sat, 06 Oct 2001 23:20:04 GMT
Server: Apache.1.3.12 (Unix)
Connection: close
Content-Type: text/xml
Content-Length: 124

<?xml version="1.0"?>
<methodResponse>
    <params>
        <param>
            <value><double>18.24668429131</double></value>
        </param>
    </params>
</methodResponse>
分享至:

 发表评论

 活捉2

  1. danny 潜水

    2017-05-04 00:20

    soap已经淘汰好多年了,课堂还在讲,哎。。。

    回复
    • Shawn 萌萌哒博主

      2017-05-04 00:34

      我也很无奈 😐 感觉越上越无力……

      回复