Chapter 1: Computing with Services

Download Report

Transcript Chapter 1: Computing with Services

软件技术的 新热点:
面向服务的计算
Service-Oriented Computing (SOC)
西北大学软件工程研究所
为研究生做的讲座 2005.11
郝克刚
1
Service-Oriented Computing (SOC)
讲座大纲
一. 软件技术的新热点:面向服务的计算。
二. 发展的历史渊源:从 结构化设计、
面向对象、面向构件 → 到面向服务。
三. 面向服务的结构 SOA 。
四. 服务的描述。
五. 服务的发现。
六. 服务的组合。
七. 模型和理论。
八. 结束语。
为研究生做的讲座 2005.11
2
一,软件技术的新热点

面向服务的计算Service-Oriented
Computing(SOC),

面向服务的结构Service-Oriented
Architecture (SOA).
为研究生做的讲座 2005.11
3
Bill Gates : Microsoft .NET Today





June 14, 2001
Much of the information your business needs is locked up
in centralized databases, served up a page at a time to
individual users.
Worse, Web pages are simply a “picture” of the data, not
the data itself, forcing many developers back to “screen
scraping” to acquire information.
today’s standalone applications and Web sites create
islands of functionality and data.
Solving such problems is the key challenge for the next
generation of the Internet. At the heart of the solution is
eXtensible Markup Language, or XML.
With the help of XML-based technologies such as SOAP
and UDDI, they are creating a new type of software
为研究生做的讲座 2005.11
4

各软件公司纷纷提出对策。




Microsoft 比尔盖茨关于消除信息孤岛的讲话。
Sun. 面向服务的体系结构因其固有的松散耦合
与互操作性,成为许多企业应用的自然选择。使
用 J2EE 提供的 Web 服务功能可以很容易地构
建能够访问现有业务流程的 SOA 系统。
IBM推新软件与服务 隶属面向服务体系结构。
Oracle。应用程序网格计算的特征和优点恰恰是
面向服务体系结构(SOA) 的特征和优点。
为研究生做的讲座 2005.11
5
World Wide Web Consortium (W3C)


an international consortium where Member organizations,
a full-time staff, and the public work together to develop
Web standards
成立工作组,






Web Services Addressing Working Group ,
Web Services Description Working Group
Web Services Architecture Working Group
Semantic Web Services Interest Group
Web Services Choreography Working Group
制定标准:

XML-RPC, SOAP, UDDI & WSDL
为研究生做的讲座 2005.11
6
国际会议

International Conference of Service
Oriented Computing (ICSOC)




Trento, Italy (2003)
New York City, USA (2004)
Amsterdam, the Netherlands ( December 1216, 2005 )
Service Engineering

The Structured Approach to SOA A CBDI
Forum Meeting 5th and 6th December 2005 -,
London
为研究生做的讲座 2005.11
7
2005中国软件技术大会
即将于11月26、27日在京举办.
被誉为“下一代软件架构”的SOA由概念走向实践,得到了
业界的一致认同和追捧,可算是当今最热门的话题。




BEA 产品技术总监将为大家带来SOA实施的产品策略,意在教会大
家用基础服务架构释放IT潜能;
微软中国软件 架构首席顾问则带来了微软以SOA模式开发现代企
业应用系统需要一个全面支持Web Services标准的编程模型和运行
平台;
Sybase 高级系统顾问带来了面向SOA的新一代应用集成开发工具;
正邦软件技术总监,东方通科技的副总设计师带来了金融与电信的
SOA架构,新一代面向服务的企业整合技术与中间件平台
为研究生做的讲座 2005.11
8
计算机学报 2005.4。(相当于专辑)

题目:分布应用集成核心技术研究综述
题目:面向服务的知识发现体系结构研究与实现
题目:一种有效负载均衡的网格Web服务体系结构模型
题目:一种面向服务的动态协同架构及其支撑平台
题目:Web服务组合的基于文法的消息处理
题目:网格环境合同计算元服务的设计与应用
题目:面向服务的织女星网格系统软件设计与评测
题目:Web服务描述语言QWSDL和服务匹配模型研究
题目:领域自适应的Web服务评价模型
题目:面向服务的本体元建模理论与方法研究
题目:基于服务网关的虚拟服务缓存的研究和应用
题目:一种服务网格动态信息聚合模型及其应用
题目:一种支持业务端编程的服务虚拟化机制VINCA-VM
题目:一种基于移动Agent的复合Web服务容错模型
题目:一种Web服务的测试数据自动生成方法
题目:CGSP作业管理器合成服务的QoS优化模型及求解
为研究生做的讲座 2005.11
9

题目:一种支持QoS约束的Web服务发现模型
题目:基于本体论和词汇语义相似度的Web服务发现
题目:基于进化分布式本体的语义Web服务动态发现
题目:服务部署与发布绑定的基于P2P网络的Web服务发现机制
题目:一种基于QoS的服务构件组合方法
题目:基于Pi-演算的Web服务组合的描述和验证
题目:基于领域本体的Web服务动态组合
题目:基于对象代理模型的工作流视图实现
题目:基于重写逻辑的Web服务事务处理形式化描述
题目:服务网格中的事务服务及基于Petri网的正确性分析
题目:一种面向服务的权限管理模型
题目:面向服务的角色访问控制技术研究
题目:一种面向业务用户的大粒度服务组合方法
题目:GSML:一种面向交互和协同的用户端编程语言
题目:一种适用于服务组合平台的语境信息使用模式
题目:基于目标驱动和过程重用的Web服务客户化定制模型
题目:一种支持领域特性的Web服务组装方法
题目:一种面向服务、事件驱动的企业应用动态联盟构造方法
为研究生做的讲座 2005.11
10
大学研究生课程
Department of Computer Science
North Carolina State University
Course on Service-Oriented Computing
 Chapter 1: Computing with Services
 Chapter 2: Basic Standards for Web Services
 Chapter 3: Programming Web Services
 Chapter 4: Enterprise Architectures
 Chapter 5: Principles of Service-Oriented Computing
 Chapter 6: Modeling and Representation
 Chapter 7: Resource Description Framework (RDF)
 Chapter 8: Web Ontology Language (OWL)
为研究生做的讲座 2005.11
11
大学研究生课程








Chapter 9: Ontology Management
Chapter 10: Execution Models
Chapter 11: Transaction Concepts
Chapter 12: Coordination Frameworks for Web
Services
Chapter 13: Process Specifications
Chapter 14: Formal Specification and Enactment
Chapter 15: Agents
Chapter 16: Multiagent Systems
为研究生做的讲座 2005.11
12
大学研究生课程









Chapter 17: Organizations
Chapter 18: Communication
Chapter 19: Semantic Service Selection
Chapter 20: Social Service Selection
Chapter 21: Economic Service Selection
Chapter 22: Building SOC Applications
Chapter 23: Service Management
Chapter 24: Security
Chapter 25: Challenges and Extensions
为研究生做的讲座 2005.11
13
专著
Thomas Erl
Service-Oriented
Architecture
A
Field Guide to
Integrating XML and
Web Services
为研究生做的讲座 2005.11
14
Web Services Essentials
Distributed Applications
with XML-RPC, SOAP,
UDDI & WSDL
By Ethan Cerami
为研究生做的讲座 2005.11
15


Service-Oriented
Computing:
Semantics, Processes,
Agents
by Munindar P. Singh,
Michael N. Huhns
为研究生做的讲座 2005.11
16
二,发展的历史渊源:
从结构化、面向对象、面向构件 →


到面向服务。
结构化分析与设计:流程图,模块图。
面向对象的分析和设计:“从对象(物体、概念或实体)的角度
考虑问题域和逻辑解决方案” ,对象定义为“特点在于具有许多操作
和状态(记忆这些操作的影响)的物体”。

基于组件(构件)的设计:粗粒度对象。通过内聚一些更细粒
度的对象来提供定义良好的功能。通过这种方式,可以将打包的解
决方案套件封装成 “组件”。

面向服务的结构:它是将组件描述成提供相关服务的封装的可执
行代码单元。粗粒度的可发现软件实体通过松散耦合,和基于消息
通信的接口与应用程序和其他服务交互。
为研究生做的讲座 2005.11
17
为研究生做的讲座 2005.11
18
计算机科学与技术的发展(一)







一, 计算机的诞生和图灵机器。
二,高级语言和编译系统。
三,数据库及有关理论。
四,程序的正确性证明,形式语义和时态逻
辑学。
五,算法,判定问题和算法复杂性。
六,计算机的系统结构,应用,图形学等。
七,人工智能。
为研究生做的讲座 2005.11
19
计算机科学与技术的发展(二)
面向对象的方法、 UML
模式和框架(Patterns and Frameworks)。
面向方面的编程和开发(AOP,AOD)。
软件构件技术。











公共对象请求中介结构 CORBA。
分布式构件对象模型 DCOM。
JAVA2 环境平台企业版 J2EE。
过程管理系统— Petri 网理论。
CMM与软件过程的度量和优化。
基于Internet技术和Web服务的软件设计。
Semantic Web Servies 和面向服务的计算SOC.
为研究生做的讲座 2005.11
20
《新世纪软件技术大讲坛》
--- 郝克刚等主编 (共十七讲)

编者的话 软件是新世纪信息时代社会的最
重要的基础设施,随着Internet 技术的飞速
发展,目前软件技术正处在重大变更时期。
为了使软件专业的学生,特别是博士生、硕
士生,能了解目前软件技术发展的现状和及
时跟踪国际软件先进技术,特组织编写了这
本"新世纪软件技术大讲坛"。
为研究生做的讲座 2005.11
21
《新世纪软件技术大讲坛》
--- 郝克刚等主编 (共十七讲)
第一讲:新世纪软件技术面临的挑战(郝克刚)
第二讲:现有构件技术评述和理想构件技术初探(王斌君)
第三讲:CORBA分布式对象计算综述(华庆一)
第四讲:Java、EJB和J2EE技术综述(董云卫)
第五讲: 关于COM+ 组件边界和同步的研究与分析(鱼 滨)
第六讲:DCOM的分布式体系结构及实现机制分析(鱼 滨)
第七讲:模式(Pattern)与框架(Framework)技术综述(董云
卫)
第八讲:可扩展标注语言XML综述(杨红丽)
第九讲:统一建模语言UML和Rational统一过程RUP(龚晓
庆)
为研究生做的讲座 2005.11
22
《新世纪软件技术大讲坛》
--- 郝克刚等主编 (共十七讲)
第十讲: Web服务技术标准与规范(龚晓庆)
第十一讲:软件复用技术综述(刘建宾)
第十二讲:软件重构技术综述(刘建宾)
第十三讲:PSP 、TSP及CMM综述(侯 红)
第十四讲:形式化方法-程序的正确性验证(王斌君)
第十五讲:RAISE 规范语言及其开发方法(杨红丽)
第十六讲:B抽象机符号语言及其形式化开发方法(刘建宾)
第十七讲:基于属性文法的图形用户界面规约方法(华庆一)
为研究生做的讲座 2005.11
23
《新世纪软件技术大讲坛》
--- 郝克刚等主编 (共十七讲)
“ I T 之源” 网站:
http://www.iturls.com/Expert/haokg-book.asp
 西北大学网站,个人主页下:
http://mainpage.nwu.edu.cn/hkg/home/

为研究生做的讲座 2005.11
24
不断发展的多样性
多种标准
多种文化
“英联邦”模式
CORBA/COSS/MDA
“联合国”模式
“单极”模式
Java/RMI/J2EE
COM/DCOM/.NET
为研究生做的讲座 2005.11
25
Brief History of Information
Technology
为研究生做的讲座 2005.11
26
System Architectures: Centralized
终端
Terminal
3270
Terminal
Terminal
主机
Terminal
Terminal
Mainframe
Terminal
Terminal
Terminal
Terminal
Terminal
为研究生做的讲座 2005.11
Terminal
27
System Architectures: Client-Server
PC
Client
Workstation
Client
E-Mail
Server
Web
Server
PC
Client
PC
Client
Database
Server
Master-Slave
为研究生做的讲座 2005.11
28
System Architectures: Peer-to-Peer
Application
Application
Application
Application
E-Mail
System
为研究生做的讲座 2005.11
Web
System
Database
System
29
System Architectures: Cooperative
Agent
Application
Application
Application
Agent
Agent
Agent
Application
Agent
E-Mail
System
Agent
Agent
Web
System
为研究生做的讲座 2005.11
Agent
Database
System
30
Kinds of Networks
Internet
 Intranet: network restricted within an
enterprise
 Extranet: private network restricted to
selected enterprises
 Virtual Private Network (VPN): a way to
realize an intranet or extranet over the
Internet
When we talk about Internet computing or Web
services, we consider all of the above as
possible environments

为研究生做的讲座 2005.11
31
The Major Trends in Computing




Mainframe(主机) many people share a
computer
Personal Computer(个人计算机) one
computer, one person
Internet (因特网)- Widespread Distributed
Computing
. . . transition to . . .
Ubiquitous(Pervasive)(无处不在、适普)
Computing many computers share each of
us
为研究生做的讲座 2005.11
32
Ubiquitous
Computing
Mainframe
Computing
Desktop
Computing
为研究生做的讲座 2005.11
33
Open Environments: Characteristics


Cross enterprise boundaries or
administrative domains 跨企业跨部门
Comprise autonomous resources that






包含许多自主资源,松散的结构。
Involve loosely structured addition and removal
Range from weak to subtle consistency
requirements
Involve updates only under local control
Frequently involve nonstandard data
Have intricate interdependencies
为研究生做的讲座 2005.11
34
Autonomy (Usage) 自主性
Independence of business partners
(users) 业务合作伙伴的独立性
 Political reasons




Ownership of resources
Control, especially of access privileges
Payments
Technical reasons

Opacity of systems with respect to key
features, 系统关键特性不透明
为研究生做的讲座 2005.11
35
Heterogeneity (Construction)异构
Independence of component designers and
system architects
 Political reasons


Ownership of resources
Technical reasons



Conceptual problems in integration
Fragility of integration
Difficult to guarantee behavior of integrated
systems
Best not to assume homogeneity
为研究生做的讲座 2005.11
36
Dynamism (Configuration)动态配置


Independence of system administrators
Needed because the parties change




Architecture and implementation
Behavior
Interactions
Make configurations dynamic to
improve service quality and maintain
flexibility
为研究生做的讲座 2005.11
37
Historical View of Services over the Web
Generation
Scope
Technology
Example
First
All
Browser
Second
Programmatic
Screen scraper Systematically
generated HTML
content
Third
Standardized
Web services
Formally
described service
Fourth
Semantic
Semantic Web
services
Semantically
described service
为研究生做的讲座 2005.11
Any HTML page
38
三,面向服务的结构
Service-Oriented Architecture (SOA).



服务提供者:服务提供者将自己的服务和接口契约发布到服
务注册中心。它的服务注册后,即成为一个可通过网络寻址
的实体,可以接受和执行来自使用者的请求。
服务注册中心:服务注册中心接受服务提供者的服务注册,
并在一个可用服务的注册存储库中保存。它是服务发现的支
持者,允许感兴趣的服务使用者查找和发现所需的服务的接
口。
服务使用者:服务使用者是一个应用程序、一个软件模块或
需要一个服务的另一个服务。它通过对注册中心中的服务的
查询,发现和选择所需的服务,通过传输绑定服务提供者提
供的服务,并且根据接口契约执行服务功能。
为研究生做的讲座 2005.11
39
发现:服务请
求者查询服务注
服务注册中心
册中心来找到满
足其标准的服务。
绑定和调用:服
务使用者根据服务
描述中的信息来调
用服务。
发布:服务
提供者发布
服务描述,
以使服务使
用者可以发
现和调用它
服务提供者
服务使用者
为研究生做的讲座 2005.11
40
服务提供者和需求者的分离和松散联系
需求者
为研究生做的讲座 2005.11
提供者
41
不同的理解和定义



Service-Oriented Architecture:
A set of components which can be invoked, and
whose interface descriptions can be published
and discovered (W3C).
The policies, practices, frameworks that enable
application functionality to be provided and
consumed as sets of services published at a
granularity relevant to the service consumer.
Services can be invoked, published and
discovered, and are abstracted away from the
implementation using a single, standards-based
form of interface. (CBDI)
为研究生做的讲座 2005.11
42
四,服务的描述 Service Description



什么是这里指的服务
Like objects and components, services represent
natural building blocks that allow us to organize
capabilities in ways that are familiar to us.
Similarly to objects and components, a service is
a fundamental building block that



Combines information and behaviour.
Hides the internal workings from outside intrusion.
Presents a relatively simple interface to the rest of the
organism.
为研究生做的讲座 2005.11
43


Where objects use abstract data types and
data abstraction, services can provide a
similar level of adaptability through aspect
or context orientation.
Where objects and components can be
organized in class or service hierarchies
with inherited behaviour, services can be
published and consumed singly or as
hierarchies and or collaborations.
为研究生做的讲座 2005.11
44
Web services are not inherently service oriented
Enabled by Web services
Technology
neutral
Endpoint platform
independence.
Standardized Standards-based protocols.
Consumable
Enabling automated
discovery and usage.
为研究生做的讲座 2005.11
45
Enabled by SOA
Reusable
Use of Service, not reuse by copying of
code/implementation.
Abstracted Service is abstracted from the implementation.
Published
Precise, published specification functionality of
service interface, not implementation.
Formal
Formal contract between endpoints places
obligations on provider and consumer.
Relevant
Functionality presented at a granularity
recognized by the user as a meaningful
service.
为研究生做的讲座 2005.11
46
Description
The description should be unambiguous, formal
representations of

A service’s functionality

A service’s nonfunctional attributes

A user’s needs and preferences
为研究生做的讲座 2005.11
47
Interactions
Via Methods
Via Messages
D e ll P u rch a sin g
In te l S a le s
S u b m itP O
invoke
CatalogService()
A ckP O
catalog
Purchasing()
confirmation #
invoke
Order()
S u b m itA S N
S u b m itIn vo ice
S u b m itP a ym e n t
为研究生做的讲座 2005.11
48
SOAP (Simple Object Access Protocol)






Used to exchange messages via HTTP, SMTP, and
SIP (Session Initiation Protocol for Internet telephony)
Originally designed for remote-procedure calls (RPC)
Works through firewalls on port 80
Character-based, so easy to encrypt/decrypt and
thus easy to secure
Inefficient due to character, not binary, data and large
headers
Does not describe bidirectional or n-party interaction
为研究生做的讲座 2005.11
49
WSDL: Web Services Description Language

Describes a programmatic interface to a
Web service, including





Definitions of data types
Input and output message formats
The operations provided by the service
Network addresses
Protocol bindings
为研究生做的讲座 2005.11
50
Semantic Web



The World Wide Web has changed the way people
communicate with each other and the way business is
conducted.
Most of today’s Web content is suitable for human
consumption. Person must browse selected documents to
extract the information he is looking for. The meaning of
Web content is not machine-accessible.
The term Semantic Web comprises techniques that
promise to dramatically improve the current WWW and its
use. to represent Web content in a form that is more easily
machine-processable and to use intelligent techniques to
take advantage of these representations.
为研究生做的讲座 2005.11
51
Ontologies 本体(论)



The term ontology originates from philosophy.
However, the specific technical meaning given by
computer science is rather different from the
original one.
T.R. Gruber’s definition, An ontology is an explicit
and formal specification of a conceptualization.
In general, an ontology describes formally a
domain of discourse. Typically, an ontology
consists of a finite list of terms and the
relationships between these terms.
为研究生做的讲座 2005.11
52


The terms denote important concepts (classes of
objects) of the domain. For example, in a
university setting, staff members, students,
courses, lecture theaters, and disciplines are
some important concepts.
The relationships typically include hierarchies of
classes. A hierarchy specifies a class C to be a
subclass of another class C0 if every object in C is
also included in C0. For example, all faculty are
staff members.
为研究生做的讲座 2005.11
53
本体描述语言





W3C先后推荐了RDF(S),DAML+OIL和OWL作
为本体描述语言标准。
Resource Description Framework (RDF) W3C
Recommendation
DAML The DARPA Agent Markup Language
DAML+OIL(W3C) is a semantic markup language
for Web resources. It builds on earlier W3C
standards such as RDF and RDF Schema, and
extends these languages with richer modelling
primitives.
OWL Web Ontology Language W3C
Recommendation 10 February 2004
为研究生做的讲座 2005.11
54
五,服务的发布和发现
Service Discovery



发布:服务提供者向服务注册中心发布服务描述,
以使服务使用者可以发现和调用它。
发现:服务的需求者在进行一个服务调用之前,必
须先查询服务注册中心,发现具有所需服务的企业
和满足其标准的服务,找到调用接口和语义,然后
编写或配置自己的软件以便与服务交互。
UDDI 是一个基于SOAP和XML的Web服务标准,
为注册中心提供企业用于进行服务发布和发现的接
口。
为研究生做的讲座 2005.11
55
UDDI
OASIS (Organization for the Advancement
of Structured Information Standards)



is a not-for-profit, international consortium that
drives the development, convergence, and
adoption of e-business standards.
Universal Description, Discovery, and
Integration is a Web service that is based
on SOAP and XML
为研究生做的讲座 2005.11
56
answers the question

“Who?”


Simple information about a business –
information such as name, business identifiers,
and contact information.
“What?”

involves classification information that includes
industry codes and product classifications, as
well as descriptive information about the
services that the business makes available.
为研究生做的讲座 2005.11
57
Answering the question

“Where?”


involves registering information about the URL
or email address (or other address) through
which each type of service is accessed.
“How?”

references to information about interfaces and
other properties of a given service. These
service properties describe how a particular
software package or technical interface
functions. These references are called tModels
in the UDDI .
为研究生做的讲座 2005.11
58
Discovery and Selection
Finding the right services
 Semantic matchmaking
 Team matchmaking
 Economic selection
 Reputation and recommendation
 Distributed architectures
 Accommodating application-specific qualities of
service
 Trust
为研究生做的讲座 2005.11
59
Directory Services


Support discovery: enable applications, agents,
Web service providers, Web service requestors
to locate each other
the information provided in a listing consists of
three conceptual components:
 “white pages” of company contact information;
 “yellow pages” that categorize businesses by
standard taxonomies;
 “green pages” that document the technical
information about services that are exposed.
为研究生做的讲座 2005.11
60
Yellow, Green, and White Pages in UDDI
businessEntity
-businessKey : string(idl)
-name : string(idl)
-description : string(idl)
-URL : string(idl)
-contacts : contact
-businessServices : businessService
-identifierBag : keyedReference
-categoryBag : keyedReference
1
contact
-phone : string(idl)
-address : string(idl)
businessService
*
keyedReference
-serviceKey : string(idl)
-tModelKey : string(idl)
-name : string(idl)
-description : string(idl)
-bindingTemplates
-tModelKey : string(idl)
-keyName : string(idl)
-keyValue : string(idl)
为研究生做的讲座 2005.11
61
WSDL  UDDI Correspondence
W SDL
UDDI
S e rvice Im p le m e n ta tio n
< im p o rt>
< se rvice >
B u sin e ssE n tity
B u sin e ssS e rvice
< p o rt>
< p o rt>
B in d in g T e m p la te
B in d in g T e m p la te
S e rvice In te rfa ce
< typ e s>
< m e ssa g e >
< p o rtT yp e >
tM o d e l
< b in d in g >
为研究生做的讲座 2005.11
62
六,服务的组合 Service Composition

如何从已有的Web服务经过组合,构造新的Web服
务,已成为关注的一个焦点。为了得到可靠的,高
质量的服务,必须找到一种建模方法、语言和工具,
进行服务的组合,以及分析和验证。
为研究生做的讲座 2005.11
63
Service Composition

Industry Solution: WSDL +BPEL4WS


BPEL4WS proposed by IBM and Microsoft),
which specifies the roles of each of the partners
and the logical flow of the message exchanges
BPEL4WS provides programming-language
like constructs (sequence, switch, while, pick)
as well as graph-based links that represent
additional ordering constraints on the
constructs.
为研究生做的讲座 2005.11
64
Service Composition


WS-BPEL Business Process Execution
Language for Web Services version 1.1
Contributors: IBM, BEA Systems, Microsoft,
SAP AG, Siebel Systems 30 Jul 2002
Updated 01 Feb 2005
Semantic Web Solution: RDF/DAML-S +
Golog/Planning
为研究生做的讲座 2005.11
65
Web Service Composition
- Current Solutions and Open Problems




none of the approaches has developed a true planning
solution to the service composition problem so far.
Plans need to contain complex control structures involving
loops, nondeterminism, and choice.
The planning problem cannot really be expected to take
place at the level of primitive actions and control structures,
but seems to require to take complex plans as building
blocks and synthesize multipartner interactions from them.
web services create new objects at runtime, i.e., they
produce message objects during their execution that
then can be further processed by other services.
为研究生做的讲座 2005.11
66
Standards for Web Services
ebXML
Registries
UDDI
ebXML
CPA
OWL-S Service
Model
OWL-S
Service
WSCL
Profile
OWL-S Service
Grounding
OWL
RDF
PSL
BPEL4WS
BPML
WS-AtomicTransaction and WSXLANG
BusinessActivity
WS-Reliable
WS-Coordination
Messaging
WS-Security
WSCL
WS-Policy
WSDL
SOAP
BTP
WSCI
ebXML
BPSS
Discovery
Contracts and
agreements
Process and workflow
orchestrations
QoS: Transactions
QoS: Choreography
QoS: Conversations
ebXML
QoS: Service
CPP
descriptions and bindings
ebXML
messaging Messaging
XML, DTD, and XML Schema
Encoding
HTTP, FTP, SMTP, SIP, etc.
Transport
为研究生做的讲座 2005.11
67


W3C Candidate Recommendation
9 November 2005
Web Services Choreography Description
Language Version 1.0
Choreography 辞典:安排被比作舞蹈编排的
某样东西,如一种情况或一系列情况或者是一系列
计划等:

Web 服务编排描述语言
为研究生做的讲座 2005.11
68
Web Services Choreography Description
Language


WS-CDL is an XML-based language that
describes peer-to-peer collaborations of
participants
describes collaborations of participants by
defining from a global viewpoint their common
and complementary observable behavior,
where information exchanges occur, when the
jointly agreed ordering rules are satisfied
为研究生做的讲座 2005.11
69
七,模型和理论。
计算机科学理论和形式化方法对软件技术的重
要作用。
 计算机的诞生和图灵机器。
 高级语言和编译系统和形式语言自动机理论。
 数据库及有关关系代数理论。
 高可信软件同程序的正确性证明,形式语义
和时态逻辑学。
为研究生做的讲座 2005.11
70
Petri Net 佩特里网


Petri 网是德国学者Carl Adam Petri教授于
1962年在其博士论文“自动机通信”中提出的
一种网络图理论。70年代以后,Petri 网理论
引起人们的重视,得到迅速发展并应用于解
决计算机科学领域的问题。
Petri 网既有严格的数学定义,又有直观的图
形表示,特别适合描述离散事件系统的控制
流、并发特性和异步行为。
为研究生做的讲座 2005.11
71
Petri Net 是一种很好的模型
Place

Transition
Token
非结构化,并行,竞争,同步,…
为研究生做的讲座 2005.11
72
Petri Net 是一种很好的模型
Place

Transition
Token
非结构化,并行,竞争,同步,…
为研究生做的讲座 2005.11
73
Petri Net 是一种很好的模型
Place

Transition
Token
非结构化,并行,竞争,同步,…
为研究生做的讲座 2005.11
74
Petri Net 是一种很好的模型
Place

Transition
Token
非结构化,并行,竞争,同步,…
为研究生做的讲座 2005.11
75
Petri Net 是一种很好的模型
Place

Transition
Token
非结构化,并行,竞争,同步,…
为研究生做的讲座 2005.11
76
Petri Net 是一种很好的模型
Place

Transition
Token
非结构化,并行,竞争,同步,…
为研究生做的讲座 2005.11
77
Petri Net 是一种很好的模型
Place

Transition
Token
非结构化,并行,竞争,同步,…
为研究生做的讲座 2005.11
78
软件工程研究所在Petri 网方面的工作





郝克刚: “Petri 网与结构的 Petri 网”,《微电子学与
计算机》,1985年 第6期。
郝克刚,段振华:“多出口 Petri 网与 Petri 网的等
价性”, 《计算机学报》,
郝克刚,张 慧,侯 红:“Petri 网工具(GPNT)的设
计与实现”, 《软件学报》, 1991年 第3期。
郝克刚,葛玮:“关于高级网系统的等价及谱系的研
究”,《计算机学报》,1993 年第7期,
郝克刚:"开放网-交互式并行系统的模型",《西北
大学学报》(自然科学版),1997, 5。
为研究生做的讲座 2005.11
79
软件工程研究所在Petri 网方面的工作





岳晓丽,杨 斌,郝克刚."信牌驱动式工作流计算模型." 《计算
机研究与发展》, 2000,(37) 12
郝克刚,王斌君。.非确定Petri网。《小型微型计算机系统》
(2003。3(24))。
郝克刚,王斌君。 扩展的信牌驱动模型与Petri网。 《计算
机应用与软件》(2004.2(21) )。
郝克刚,王斌君,安 贵。 WPDL中的JOIN语义问题和分区
解决方案。《计算机科学》(2003。7(30))。
Kegang Hao:Two Formal Models of Interactive
Machine ,Proceedings of The Third Asian Workshop on
Foundations of Software, Xi‘an, China, November, 2004;
为研究生做的讲座 2005.11
80
罗宾. 米尔纳 的π演算

The π-calculus是 Robin Milner在下述演算
系统的基础上建立的。

Church’s λ-calculus



equivalent to Turing Machines
his earlier CCS (calculus for communicating
systems)
Anthony Hoare process algebra CSP
(communicating sequential processes).
为研究生做的讲座 2005.11
81
The Monadic π-calculus Basic ideas
The most primitive entity in π-calculus is a
name. Names, infinitely many, are
x,y,…∈ X
 there is only one other kind of entity: a
process. Processes are
P,Q, …∈P
and are built from names by this syntax

P ::= ∑i∈Iπi  Pi | P | Q | !P | (νx)P
为研究生做的讲座 2005.11
82
P ::= ∑i∈Iπi  Pi | P | Q | !P | (νx)P

Here I is a finite indexing set. in the case I
=∧ we write the sum as 0.

In a summand π  P the prefix π represents
an atomic action, the first action performed by
π  P . There are two basic forms of prefix π:
•
•
x(y), which binds y in the prefixed process, means
“input some name ( call it y ) along the link named x”
x y , which does not bind y, means “output the
name y along the link named x ”
为研究生做的讲座 2005.11
83
P ::= ∑i∈Iπi  Pi | P | Q | !P | (νx)P



The summation form Σi∈Iπi  Pi represents a
process able to take part in one, but only one, of
several alternatives for communication.
Processes in this form are called normal
processes (because as we see later, all
processes can be converted to this normal form)
For normal processes M,N,…∈ N we shall use
the following syntax:
N ::= π  P | 0 | M + N
为研究生做的讲座 2005.11
84
P ::= ∑i∈Iπi  Pi | P | Q | !P | (νx)P



P |Q simply means that P and Q are concurrently
active so they can act independently but can also
communicate
!P means P |P | …as many copies as you wish
There is no risk of infinite concurrent activity, our
reduction rules will see to that. The operator “!” is
called replication.
A common instance of replication is !πP ,a
resource which can only be replicated when a
requester communicates via π
为研究生做的讲座 2005.11
85
P ::= ∑i∈Iπi  Pi | P | Q | !P | (νx)P

Finally, (νx)P, new x in P restricts the use
of the name x to P. Another way of
describing it is that it declares a new unique
name x distinct from all external names for
use in P
为研究生做的讲座 2005.11
86
Some simple examples
x y  0 | x(u)  u v  0 | x z  o
x y | x(u)  u v | x z
0 | yv | xz
xy | zv | 0
reduction
为研究生做的讲座 2005.11
87
SOC 涉及的研究方向 (上)









Service Description
Service Discovery
Service Composition
Service Monitoring
Service Deployment
Service Middleware
Service Oriented Architectures
Service Development and Maintenance
Programming models for Service Oriented
Applications
为研究生做的讲座 2005.11
88
SOC 涉及的研究方向 (中)








Methodologies for Service Oriented Applications
Novel business models for service-oriented
applications
Economical implications of Web services and
SOAs
Formal Methods for Service Oriented
Architectures
Service Testing and Validation
Service Lifecycle Management
Service Metadata
Semantic Web services
为研究生做的讲座 2005.11
89
SOC 涉及的研究方向 (下)









Grid Services
Mobile and Pervasive Services
Quality of Services
Business Process Management and Services
Agents and Services
Security and Privacy Issues
Exception Handling
Service dependability
SLA modeling-management
为研究生做的讲座 2005.11
90
结束语:治学的精神和方法






做人和做学问。
渔和鱼。
念真经,读原著。
读懂。融会贯通。多问几个为什么。有些书可以一
页一页地读,有些书只能一行一行,一字一字地读。
从读厚到读薄。
独立思考和创新精神。写文章要有自己的见解。文
章是研究的心得和成果。
要勤于动手,学软件要亲自编程。理论源于实践经
验。
为研究生做的讲座 2005.11
91
结束语:软件工程研究所的发展历程
1984 ---
从结构化、面向对象、构件 →
务。



到面向服
“设计结构编辑系统DSE”。 国家科委新技术局下
达的中美合作软件工程环境开发项目。
“面向对象的分析与设计工具OMTTOOL”。国家
“八五”重点科技攻关项目 。
“多媒体构件技术研究”。国家“九五”重点科技攻
关项目。
为研究生做的讲座 2005.11
92
结束语:软件工程研究所的发展历程
1984 --

“信牌驱动式工作流计算模型.” 产业化应用研究,
SynchroFlow
当前的研究方向:面向服务的计算、软件
测试、验证、度量和需求模型等方面的技
术和理论研究。
为研究生做的讲座 2005.11
93
结束语:软件工程研究所的使命
跟踪国际先进技术,
 通过研究和创新,
 为培养软件人才
 和发展我国软件理论、技术和产业
 作出贡献。

为研究生做的讲座 2005.11
94
谢谢大家!
http://mainpage.nwu.edu.cn/hkg/home/
[email protected]
西北大学计算机科学系 软件工程研究所
为研究生做的讲座 2005.11
95