77
冯冯冯 冯冯冯冯冯冯冯冯冯 2008 冯 10 冯 1

Web Services 及其协议栈

  • Upload
    kaloni

  • View
    313

  • Download
    0

Embed Size (px)

DESCRIPTION

冯志勇 天津大学计算机学院 2008 年 10 月. Web Services 及其协议栈. SOA 模型 Web Services 概述 XML and XML Schema 通信协议 Web Services 描述 Web Services 流描述 Web Services 发布和发现. 大纲. SOA 模型. 作为一个分布式计算架构, Web 服务是最重要的 SOA 实现。 SOA 模型是 Web 服务体系结构的概念. SOA 模型. 角色 Services Provider Services Requestor - PowerPoint PPT Presentation

Citation preview

Page 1: Web Services 及其协议栈

冯志勇天津大学计算机学院2008 年 10 月

1

Page 2: Web Services 及其协议栈

SOA 模型 Web Services 概述 XML and XML Schema 通信协议 Web Services 描述 Web Services 流描述 Web Services 发布和发现

2

Page 3: Web Services 及其协议栈

3

Page 4: Web Services 及其协议栈

作为一个分布式计算架构, Web 服务是最重要的 SOA实现。

SOA 模型是 Web 服务体系结构的概念

4

Page 5: Web Services 及其协议栈

角色 Services Provider Services Requestor Services Registry

操作 Publish Find Bind

关键组件 Services Services Description

5

Page 6: Web Services 及其协议栈

标准 Web Services Description Language (WSDL) Universal Description, Discovery and Integration

(UDDI) Simple Object Access Protocol (SOAP) Web Service Flow Language (WSFL) ……

6

Page 7: Web Services 及其协议栈

7

业务组件分析

服务识别

服务定义

组件识别

组件定义

服务实现决策

SOA 实现

Page 8: Web Services 及其协议栈

8

已有应用资源

组件

服务

业务过程

服务提供者

服务消费者

Qo

s

安全管

集成架

Page 9: Web Services 及其协议栈

9

Page 10: Web Services 及其协议栈

Based on open standard and flexible implementation, Web services is natively applicable to SOA implementation.

The Relationships between Web services and SOA are: Web services provide an open standard and machine-readable

model (WSDL) for creating explicit, implementation-independent descriptions of service interfaces.

Web services provide communication mechanisms that are location-transparent and interoperable.

Web services are evolving through BPEL4WS, document-style SOAP, and WSDL, and emerging technologies such as WS-ResourceFramework to support the technical implementation of well-designed services that encapsulate and model reusable function in a flexible manner.

10

Page 11: Web Services 及其协议栈

11

Page 12: Web Services 及其协议栈

Web: 灵活的人机交互 Web Services: Web 服务是最近制定的技术规范,充分利

用现有的开放标准如 XML , URL 和 HTTP 提供一个新的系统对系统通信标准

工作定义:通过标准化协议访问网络软件服务 简单对象访问协议 (SOAP) :非常灵活的远程过程调用

(RPC) 大量的利益在商业界,学术界,标准制定机构 , . . . 应用电子商务,电信,科技,资源数据库,政府,教育 , . . .

12

Page 13: Web Services 及其协议栈

面向业务的 Web Services ERP,CRM , 应用系统集成

面向消费的 Web Services B2C 的网站,全国多方 B2C 系统

面向设备的 Web Services 支持不同种类的服务。如天气报告,电子邮件服务

面向系统的 Web Services 认证 监测 QoS

13

Page 14: Web Services 及其协议栈

简化和 / 或自动化 Web 服务 发现

是什么性质应予以说明? 如何有效地对他们的查询?

组合 指定组成的目标 ; 指定组成的约束 ; 构建一个组成 ; 分析组成的成分。

调用 保持颁布分离 ; 提供交易担保。

监控 如何跟踪条款 ; 回收失败条款。

14

Page 15: Web Services 及其协议栈

15

传输层 : HTTP, SMTP, FTP, etc.

XML 消息层 : SOAP , WS-Addressing, WS-Notification, WS-Eventing, WS-Enumeration, WS-MessageDelivery, WS-Reliability,WS Reliable Messaging, WS-Resources WS-Transfer

服务描述层 : WSDL, WSCL, WSCI,WS-MetadataExchange, WS-Policy

Web Services 组合 :

WSFL,BPEL4WS WS-CDL WS-CAF

发布和发现 :UDDI,WSIL

, WS-Discovery

Web Services 事务 :

WS-Coordination WS-Transaction

WS-AtomicTransaction WS-BusinessActivity

Web Services Management:

WSDM, WS-Manageability SPML, WS-Provisioning

Web Services 安全 :

XML-Encryption XML-Signature WS-Security

WS-SecureConversation

WS-SecurityPolicy

WS-Trust

Page 16: Web Services 及其协议栈

16

数据

类型

接口

行为

消息

BPEL

Web Service 标准 实现平台

WSDL

SOAP

XML Schema

XML Su

n J2

EE

Mic

roso

ft .

Net

IBM

Web

Sp

here

Page 17: Web Services 及其协议栈

17

Page 18: Web Services 及其协议栈

标签:部分数据的标签 元素和子元素:数据节以 <tagname> 开始和 </

tagname> 结束 , 内容必须正确匹配 正确匹配

<account> … <balance> …. </balance> </account>

不正确匹配 <account> … <balance> …. </account> </balance>

正确:对同一父元素 , 每一个开始标签必须有一个独特的匹配的结束标记 .

18

Page 19: Web Services 及其协议栈

每个文件必须有一个顶层元素

<bank> <customer>

<name> Hayes </name> <street> Main </street> <city> Harrison </city> <account>

<account-number> A-102 </account-number> <branch-name>Perryridge </branch-name> <balance> 400 </balance>

</account> <account> … </account>

</customer>. .

</bank>

19

Top level element

Page 20: Web Services 及其协议栈

属性 Attribute 元素可以有属性 <account acct-type = “checking” >

<account-number> A-102 </account-number> <branch-name> Perryridge </branch-name> <balance> 400 </balance>

</account> 对内部开始标记的一个组成部分 , 属性定义为

name=value 一个因素可能有若干属性,但每个属性名称只能出现一

次 <account acct-type = “checking” monthly-fee=“5”>

20

Page 21: Web Services 及其协议栈

元素和属性之间的区别属性不能嵌套

<customer name=Hayes street=Main city=Harrison>

<account> <account-number> A-102 </account-number> <branch-name> Perryridge </branch-name> <balance> 400 </balance>

</account> <account> … </account>

</customer>

21

Page 22: Web Services 及其协议栈

Well-Formed XML 文档 文件中只有一个外层元素 ( 称之为根元素 ) 每个元素包含一个开始和相应的结束标记 标签不能重叠 , 如

<author><name>LeeHong</author></name>

在属性的一个因素具有唯一的名字 元和标记名称必须是合法的

22

Page 23: Web Services 及其协议栈

树模型的 XML 文件 只有一个根 没有环 根以外的每个节点只有一个父节点 每个节点有一个标签、元素或属性 该元素的序是很重要的

23

Page 24: Web Services 及其协议栈

24

Page 25: Web Services 及其协议栈

XML 数据已成为各组织之间的交换; 在不同的组织相同的标记名称可能有不同的含义,造成交换文件的混乱;

指定一个独特的字符串作为一个元素名称避免混淆 ;

解决办法:使用 unique-name:element-name

使用 XML命名空间可以避免在整个文件中使用长的名字

25

Page 26: Web Services 及其协议栈

<Schema name="mySchema"         xmlns="urn:schemas-microsoft-com:xml-data"        xmlns:dt="urn:schemas-microsoft-com:datatypes" xmlns:myNS=http://www.xml_step_by_step.edu\ns.xml

>

三个命名空间 :schema namespacedatatype namespacemyNS namespace

26

Page 27: Web Services 及其协议栈

数据库 schemas限制哪些信息可以存储,存储值的数据类型

Schemas 对 XML 数据交换非常重要 否则,一个网站不能自动解释从另一个网站收到的数据

XML schema两个机制 Document Type Definition (DTD) XML Schema

27

Page 28: Web Services 及其协议栈

XML Schema Supports 数据类型

E.g. integer, string, etc Also, constraints on min/max values

用户定义类型 不像 DTDs , XML Schema 采用 XML语法 ,

更多标准表达,且更细致 与命名空间集成 (reuse and refine) 更多特征

列表 , 唯一和外键约束 ,继承 ..

28

Page 29: Web Services 及其协议栈

29

<xsd:schema xmlns:xsd=http://www.w3.org/2001/XMLSchema><xsd:element name=“bank” type=“BankType”/><xsd:element name=“account”>

<xsd:complexType> <xsd:sequence> <xsd:element name=“account-number” type=“xsd:string”/> <xsd:element name=“branch-name” type=“xsd:string”/> <xsd:element name=“balance” type=“xsd:decimal”/> </xsd:squence></xsd:complexType>

</xsd:element>….. definitions of customer and depositor ….<xsd:complexType name=“BankType”>

<xsd:squence><xsd:element ref=“account” minOccurs=“0”

maxOccurs=“unbounded”/><xsd:element ref=“customer” minOccurs=“0”

maxOccurs=“unbounded”/><xsd:element ref=“depositor” minOccurs=“0”

maxOccurs=“unbounded”/></xsd:sequence>

</xsd:complexType></xsd:schema>

Page 30: Web Services 及其协议栈

元素类型 <element name=". . ."/> with possible attributes:

‘类型’属性定义该元素的类型 : type=". . ." (more on types later) 基数限制 :

• minOccurs=“x”, x 可以使任何自然数 ( 包括 0)• maxOccurs=“x”, x 可以使任何自然数 ( 包括

0) 或无限

30

Page 31: Web Services 及其协议栈

<element name="email"/><element name="head" minOccurs="1" maxOccurs="1"/><element name="to" minOccurs="1"/>

31

Page 32: Web Services 及其协议栈

属性类型<attribute name=". . ."/> with possible attributes type=". . ." use="x", corresponds to #OPTIONAL and

#IMPLIED in DTDs use="x" value=". . .", where x may be default or fixed

32

Page 33: Web Services 及其协议栈

<attribute name="id" type="ID" use="required"/>

<attribute name="speaks" type="LanguageType" use="default“ value="en"/>

33

Page 34: Web Services 及其协议栈

数据类型 数字数据类型 , 包括: integer, Short, Byte,

Long, Float, Decimal 串类型 , 包括: string, ID, IDREF, CDATA,

Language 日期和时间类型

用户定义的数据类型 简单数据类型和复杂数据类型

34

Page 35: Web Services 及其协议栈

复杂数据类型和扩展数据类型 通过对子 element 的组合与其他类型扩展来完成的 , 它有三种组合方

式: sequence,all,choice. 对于 sequence 方式,各子 element 在对应的 XML 文档中的出现的次序与定义中的次序必须一致;

对于 all 方式,各子 element 在对应的 XML 文档中的可以以任意次序出现;

对于 choice 方式,各子 element 在对应的 XML 文档只出现其中的一个。<complexType name="lecturerType"><sequence>

<element name="firstname" type="string"minOccurs="0" maxOccurs="unbounded"/><element name="lastname" type="string"/>

</sequence><attribute name="title" type="string" use="optional"/></complexType>

35

Page 36: Web Services 及其协议栈

<element name=“lecture” type=“lectureType”>

<lecture title=“associate professor”><firstname>Zhiyong</firstname><lastname>Feng</lastname>

</lecture>

36

Page 37: Web Services 及其协议栈

数据类型扩展:现有的数据类型可以扩展新的元素或属性 <complexType name="extendedLecturerType"><extension base="lecturerType"><sequence>

<element name="email" type="string"minOccurs="0" maxOccurs="1"/>

</sequence><attribute name="rank" type="string" use="required"/></extension></complexType>

37

Page 38: Web Services 及其协议栈

限制数据类型和简单的数据类型 通过限制现有的数据类型 定义<complexType name="restrictedLecturerType"><restriction base="lecturerType"><sequence>

<element name="firstname" type="string"minOccurs="1" maxOccurs="2"/></sequence><attribute name="title" type="string"

use="required"/></restriction></complexType>

38

Page 39: Web Services 及其协议栈

Simple data types can also be defined by restricting existing data types.<simpleType name="dayOfMonth">

<restriction base="integer"><minInclusive value="1"/><maxInclusive value="31"/>

</restriction></simpleType>

39

Page 40: Web Services 及其协议栈

40

Page 41: Web Services 及其协议栈

SOAP 协议是一个 XML 消息传递协议,独立于任何特定的传输协议。

替代复杂的分布式对象技术的轻量级协议 开始为 BizTalk (Microsoft/UserLand/DevelopMentor )

设计 是 W3C 标准 基于 XML

41

Page 42: Web Services 及其协议栈

Envelope contains Header Body

Header is optional Out-of-band

information such as… Authentication

information Message routes Logging Transaction flow

Body contains XML body of RPC call

42

SOAP Envelope

SOAP Header

Header Block

Header Block

. . .

SOAP Body

Body Block

Body Block

. . .

Page 43: Web Services 及其协议栈

43

<?xml version="1.0"?>

<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"

soap:encodingStyle="http://www.w3.org/2001/12/soap-ncoding">

<soap:Body>

<m:GetPrice xmlns:m="http://www.w3schools.com/prices">

<m:Item>Apples</m:Item>

</m:GetPrice>

</soap:Body>

</soap:Envelope>

Page 44: Web Services 及其协议栈

<?xml version="1.0"?>

<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"

soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

<soap:Body>

<m:GetPriceResponse xmlns:m="http://www.w3schools.com/prices">

<m:Price>1.90</m:Price>

</m:GetPriceResponse>

</soap:Body>

</soap:Envelope>

44

Page 45: Web Services 及其协议栈

45

Page 46: Web Services 及其协议栈

WSDL 是一种基于 XML 的接口定义语言 , 它分离功能和执行,使 SOA 建议的契约设计成为可能

WSDL 定义 Services 做什么– 接口 interface 访问说明 – how Services 位置– where

46

Page 47: Web Services 及其协议栈

47

OperationPort Type

MessageBinding

Port Services

Supports

Input & Output

Provides

How to encode

Formats & ProtocolsHow to invoke

Implements

接口

访问说明

Endpoints

Page 48: Web Services 及其协议栈

48

<definitions namespace = “http://… ”><types> XML schema types </type><message> definition of a message 消息定义 </message><portType> a set of operations 一组操作 </portType><binding> communication protocols 通信协议 </binding><Services> a list of binding and ports绑定和端口列表 </Services>

</definitions>

Page 49: Web Services 及其协议栈

<types> define data types used in defining messages

XML Schema, DTD, and etc. XML Schema must be supported by any vendor of

WSDL conformant products

49

<types> <schema targetNamespace=“http://example.com/stockquote.xsd”

xmlns=“http://www.w3.org/2000/10/XMLSchema”> <element name=“TradePriceRequest”>

<complexType> <all>

<element name=“tickerSymbol” type=“string“minOccur = “1” maxOccur=“10”/>

<element name = “payment”><complexType>

<choice><element name = “account” type=“string” /><element name = “creditcard” type=“string” />

</choice></complexType>

</element></all>

</complexType></element>

</schema> </types>

Page 50: Web Services 及其协议栈

A <message> element defines the data elements of an operation

Each message can be the input or output of an operation, and may consist of one or more parts

A part resembles a parameter of a function

50

<message name=“GetLastTradePriceInput”> <part name=“body” element="TradePriceRequest"/>

</message>

<message name=“GetLastTradePriceOutput”> <part name=“body” element=“TradePrice” />

</message>

Page 51: Web Services 及其协议栈

The <portType> element is the most important WSDL element: it defines a web Services the operations that can be performed, and the messages that are involved

The <port> defines the connection point to a web Services, an instance of <portType> It can be compared to a function library (or a

module, or a class) in a traditional programming language

Each operation can be compared to a function in a traditional programming language

51

<portType name=“StockQuotePortType”> <operation name=“GetLastTradePrice”> <input message=“tns:GetLastTradePriceInput” /> <output message=“tns:GetLastTradePriceOutput” /> </operation> </portType>

Page 52: Web Services 及其协议栈

请求响应型是最常见的操作类型,定义的 WSDL四种类型 : One-way: 这次行动可以收到一个讯息,但不会返回响应

Request-response: 这次行动可以接收请求,并返回响应

Solicit-response: 操作可以发送请求,并等待回应

Notification: 操作可以发送消息,但不会等待回应

WSDL 1.2 adds: request – multiple response

52

Page 53: Web Services 及其协议栈

One-way: <message name="newTermValues">

<part name="term" type="xs:string"/><part name="value" type="xs:string"/>

</message> <portType name="glossaryTerms">

<operation name="setTerm"><input name="newTerm" message="newTermValues"/>

</operation></portType >

Request-response :<message name="getTermRequest">

<part name="term" type="xs:string"/></message><message name="getTermResponse">

<part name="value" type="xs:string"/></message>

<portType name="glossaryTerms"><operation name="getTerm">

<input message="getTermRequest"/><output message="getTermResponse"/>

</operation></portType>

53

Page 54: Web Services 及其协议栈

定义消息如何传递,以及服务的位置 <binding> element 有两个属性 :

type: the port type

name: name of the binding

<soap:binding> 有两个属性 : style: either “document” or “rpc”

transport: protocol to use, e.g., “http”

54

Page 55: Web Services 及其协议栈

<binding name="StockQuoteSoapBinding“type="tns:StockQuotePortType"> <soap:binding style=“document”

transport=“http://schemas.xmlsoap.org/soap/http” />

<operation name="GetLastTradePrice"> <soap:operationsoapAction=“http://example.com/

GetLastTradePrice” /> <input> <soap:body use=“literal” /> </input> <output> <soap:body use=“literal” /> </output> </operation>

</binding> 55

Page 56: Web Services 及其协议栈

56

<Services name=“StockQuoteServices”> <documentation>

My first Services</documentation> <port name=“StockQuotePort”

binding=“tns:StockQuoteBinding”> <soap:address

location=“http://example.com/stockquote” /> </port>

</Services>

Page 57: Web Services 及其协议栈

Types Message Operation PortType Binding Port Service

57

Page 58: Web Services 及其协议栈

58

Page 59: Web Services 及其协议栈

把业务流程定义为相互协作的 Web 服务组 ; 定义抽象过程和可执行过程 ; 创建 Web 服务组合 ; 来自 :

扎根在传统的流模型 ; 概念来源于结构化编程语言 ; 建立于核心的 WSDL 和 XML 规范之上 ; 融合 WSFL 和 XLANG 的概念。

OASIS WS BPEL 技术委员会正在推进 BPEL4WS 规范

59

Page 60: Web Services 及其协议栈

60

Page 61: Web Services 及其协议栈

与过程交互的 Web Services

过程使用的数据

用于支持异步交互 处理错误条件执行路径

当执行“ undoing”命令时的执行代码

过程实际做的工作61

<process ...>

<partners> ... </partners><messageExchanges> ... </ messageExchanges ><correlationSets> ...</correlationSets><faultHandlers> ...</faultHandlers><compensationHandlers> ...</compensationHandlers>

(activities)*

</process>

Page 62: Web Services 及其协议栈

Partner 通过 web 服务信道接受,由服务链接类型定义 A is accessed over a WS “channel

SLT 定义两个角色 , 每一个角色需要 portTypes 支持

62

<partner name=“...” ServicesLinkType=“...” partnerRole=“...” myRole=“...”/>

<ServicesLinkType name=“...”><role name=“...">

<portType name=“...” />*</role><role name=“...”>

<portType name=“...”/>*</role>

</ServicesLinkType>

Page 63: Web Services 及其协议栈

<containers> <container name=“…"

messageType=“…"/> <container name=“…"

messageType=“…"/> </containers>

63

Page 64: Web Services 及其协议栈

调用一个 partner上的操作

从 partner 接受调用

发送应答消息给调用的 partner

在容器间复制数据

64

<assign><copy>

<from container=“...”/> <to container=“...”/>

</copy>+</assign>

<invoke partner=“...” portType=“...” operation=“...”

inputContainer=“...” outputContainer=“...”/><receive partner=“...” portType=“...” operation=“...” container=“...” [createInstance=“...”] />

<reply partner=“...” portType=“...” operation=“...” container=“...”/>

Page 65: Web Services 及其协议栈

检测处理错误和切换到故障处理模式

活动可以用于立即放弃这个终止活动的业务流程实例中的所有执行。

活动使流程能够等待一段特定的时间间隔,或者一直等到某个截止期限为止。

活动什么都不做。如果您需要捕获一个故障并抑制它,您可以使用这个活动。

65

<wait for=“...”? until=“...”? />

<throw faultName=“...” faultContainer=“...”/>

<terminate/>

<empty/>

Page 66: Web Services 及其协议栈

<sequence> 活动包含一个或多个顺序执行的活动。

<pick> 活动包含一组事件处理程序。每个处理程序包含一个活动,处理程序在 pick 已经启动且处理程序正在等待事件发生时运行。

<flow> 构造提供了以并行方式运行活动的能力,还提供了定义防护性链接的能力。

<switch> 活动起的作用与许多传统编程语言中出现的 switch 构造很相似。

66

<flow standard-attributes>activity+</flow>

<sequence standard-attributes>activity+</sequence>

<pick createInstance="yes|no"? standard-attributes>…<pick>

<swith standard-attributes><case>…</case>

…<otherwise>…</otherwise>

</swith>

Page 67: Web Services 及其协议栈

<while> 活动重复执行它的子活动,直到对指定的布尔条件求得的值不再为真。

<repeatUntil> 活动也是执行它的子活动,与<while> 活动不同的是,该活动直到对指定的布尔条件求得的值为真,才退出;

<if> 活动,首先判断<condition> 中的条件是否满足,满足就执行,执行完退出。否则,依次检查 <elseif> 中的 <condition> 中的条件是否满足,满足就执行,执行完退出。如果都不满足则执行 <else> 中的活动;

67

<if standard-attributes>standard-elements<condition>…</condition>activity<elseif>*<condition>…</condition>activity</elseif><else>activity</else></if>

<while standard-attributes><condition>..</condition>activity</while>

<repeatUntil standard-attributes>activity<condition>…</condition></repeatUntil>

Page 68: Web Services 及其协议栈

68

<sequence>execute activities sequentially

<flow>execute activities in parallel

<while>iterate execution of activities until condition is violated

<pick>several event activities (receive message, timer event) scheduled for execution in parallel; first one is selected and corresponding code executed

<link ...>defines a control dependency betweena source activity and a target

FlowSeq Seq

Seq

While

<sequence><receive .../><flow>

<sequence><invoke ... /><while ... >

<assign> ... </assign>

</while></sequence><sequence>

<receive ... /><invoke ... />

</sequence></flow><reply ... />

</sequence>

Page 69: Web Services 及其协议栈

69

Page 70: Web Services 及其协议栈

UDDI 的服务器作为提供目录服务的服务提供商。 SOAP 的可用于查询 UDDI, 发现 WSDL 定义的服务的位置,或在设计或开发时间搜寻可以通过用户界面执行。

数据结构规范描述什么样的数据存储在 UDDI 。 序员的 API 规范包含 UDDI 如何注册可以访问。 副本规格说明包含如何复制注册信息。

70

Page 71: Web Services 及其协议栈

三个基本功能 发布:如何注册Web 服务 搜索:如何找到一个特定 Web 服务 绑定:如何连接到一个 Web 服务

71

Page 72: Web Services 及其协议栈

UDDI 的注册包含有关业务和服务信息

– Public registries – Private registries

72

Page 73: Web Services 及其协议栈

73

• IBM Public registry Registration: https://uddi.ibm.com/ubr/registry.htmlinquiryURL= https://uddi.ibm.com/ubr/inquiryapi publishURL= https://uddi.ibm.com/ubr/publishapi

• Test registry Registration: https://uddi.ibm.com/testregistry/registry.html inquiryURL= https://uddi.ibm.com/testregistry/inquiryapi publishURL= https://uddi.ibm.com/testregistry/publishapi

Page 74: Web Services 及其协议栈

74

• HP Registration: http://uddi.hp.com inquiryURL = http://uddi.hp.com/ubr/inquire publishURL = https://uddi.hp.com/ubr/publish

• Microsoft Registration: http://uddi.rte.microsoft.com

inquiryURL=http://uddi.rte.microsoft.com/inquire publishURL=https://uddi.rte.microsoft.com/publish

• SAP Registration: http://udditest.sap.com

inquiryURL=http://uddi.sap.com/UDDI/api/inquiry/ publishURL=https://uddi.sap.com/UDDI/api/publish/

Page 75: Web Services 及其协议栈

75

• 为了测试目的经营你自己的注册表是 ;

• 建立您自己的登录服务为自己的组织 ;

• 信托问题

Page 76: Web Services 及其协议栈

76

• 作为一个分布式计算架构, Web 服务是最重要的 SOA 的实现 ;

• Web 服务:灵活的机械与机械交互 ; • XML 是一种强大的语言来描述数据。由 XML 模式定义它

的构造规则。 • SOAP 的是一种轻量的复杂的分布式对象技术替代,我们使用的封装Web Services 消息

• 通过 WSDL 开放 Web 服务功能和接口, Web 服务之间的交互用 BPEL 描述

• 通用描述,发现和集成( UDDI 规范)是一种技术规范来描述,发现和集成网络服务

Page 77: Web Services 及其协议栈

77

SOA & Webservices.http://www-900.ibm.com/developerWorks/cn/ webservicesWebServices. http://www.w3.org/2002/ws/Ueli Wahli ,Thomas Kjaer…“WebSphere Version 6 Web Services Handbook Development&Deployment”,http://www.redbooks.ibm.com/redbooks/pdfs/sg246461.pdf,2005Stan Kleijnen,Srikanth Raju.An Open Web Services Archiecture.NewYork: ACM Press,2003XML.http://www.w3.org/TR/xml/XML Schema. http://www.w3.org/TR/xmlschema11-1/XML Schema. http://www.w3.org/TR/xmlschema11-2/WSDL. http://www.w3.org/TR/wsdlTony Andrews, Francisco Curbera…Business Process Execution Language for Web Services Version 1.1.http://download.boulder.ibm.com/ ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdfThe Stencil Group.” The Evolution of UDDI ,UDDI.org White Paper” http://www.uddi.org/pubs/the_evolution_of_uddi_20020719.pdfJava Web Services Application and development, Publication House of