服务计算学习笔记(Part)

  • 内容
  • 评论
  • 相关

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
    <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
    <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的结构

POST /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>
HTTP/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. Gravatar 头像

    danny 潜水 回复

    QQbrowser | Android 6.0.1

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

    • Gravatar 头像

      Shawn 萌萌哒博主 回复

      Safari 10 | Mac OS X 10.12

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注