1.08k likes | 1.27k Views
第二章 网格体系结构. 龚 斌 山东大学计算机科学与技术学院 山东省高性能计算中心. Web Services 技术. Web Services 技术的需求. 技术的发展: 数据变量化:计算器 ----〉 计算机 程序 动作变量化:基于事件的编程、面向对象 服务变量化:多机环境,分布式 系统的集成: 紧密耦合: API,SDK 半紧密耦合: COM+ , DCOM , CORBA 松散耦合: Web Services 应用的需求:服务的发布、发现、绑定、调用 三联商场某种型号的冰箱的价格是多少? 济南市场上某种型号的冰箱的最低价格是多少?.
E N D
第二章 网格体系结构 龚 斌 山东大学计算机科学与技术学院 山东省高性能计算中心
Web Services技术的需求 • 技术的发展: • 数据变量化:计算器----〉计算机 程序 • 动作变量化:基于事件的编程、面向对象 • 服务变量化:多机环境,分布式 • 系统的集成: • 紧密耦合:API,SDK • 半紧密耦合:COM+,DCOM,CORBA • 松散耦合:Web Services • 应用的需求:服务的发布、发现、绑定、调用 • 三联商场某种型号的冰箱的价格是多少? • 济南市场上某种型号的冰箱的最低价格是多少?
SOAP Service Requestor Web Service Invocation Interface WSDL Description What is a Web Service? • 一个能够使用XML消息通过网络来访问的Interface, 这个Interface描述了一组可访问的操作。 • 由SOAP+WSDL包装的Object • 适应松散耦合的网络环境,可通过Web访问,手段是SOAP Message • 服务的行为、输入/输出都可使用WSDL描述
What is a Web Service? • e-Business驱动了Web Service的发展,而Web Service的基石是Web技术、IT技术和对象技术的融合。 • 高度可集成的、基于Web的对象 • 通过SOAP Message实施的面向对象编程 • 能够将你现有的企业应用使用SOAP包装、WSDL描述,从而发布企业的商务功能或商务数据
Web Services Technologies • SOAP – XML格式的消息交换协议 • 消息/文档交换协议 • Web服务对象的面向对象的访问界面(接口) • WSDL – 基于XML的Web服务描述 • UDDI – 可通过Web访问的Web服务的注册中心 • 使用SOAP Message来访问
??? Routing, Reliability and Transaction: ??? Workflow: WSFL Service Discovery, Integration: UDDI Management Quality of Service Security Service Description: WSDL Messaging: SOAP Transport: HTTP, FTP, SMTP Internet: IPv4, IPv6 Web Services “stack”
SOAP Hides the Implementation Service Provider User SOAP Request HTTPServer SOAPProcessor SOAP Response ? 用户只需要了解SOAP消息的格式, 而对底层实现的细节可以无需关心 EJB? Corba? DCOM?
Publish UDDI Roles and Operations Service Provider • Service Provider • 提供e-Business Service • 通过Service Registry发布(Publish)其提供的可用的Service Service Registry Service Requestor
UDDI Roles and Operations Service Provider • Service Registry • 为Service的发布和定位提供支持 • 类似电话黄页 Publish Service Registry Service Requestor
Bind Find UDDI Roles and Operations Service Provider • Service Requestor • 通过 Service Registry发现(Find)需要的Service • 绑定(Bind) Service Provider提供的Service, 并实施调用 Publish Service Registry Service Requestor
Service Provider Publish Bind Service Registry Service Requestor Find Where is SOAP and WSDL? • WSDL • Publish的内容、Find的返回结果和Bind的信息是WSDL描述的服务信息 • SOAP • Service Registry的访问(Publish/Find)、Service的访问都是通过SOAP Message实现
Web Services的服务过程 • 服务实现 • 服务部署 • 服务发布 • 服务发现 • 服务绑定和调用
1. 实现并部署:程序设计语言 服务提供者 服务 WSDL+UDDI API 2. 服务发布: 服务中介者 UDDI 绑 定 注册中心 3. UDDI API+ 服务发现: 参数 服务请求者 4. WSDL 请求返回: Web服务流程图
服务实现 • 通过服务中介获得服务描述,用手工或自动调用服务接口 • 在请求消息中提供服务的名字和参数 • 启动服务 • 把服务结果返回给请求者
服务部署 • 将服务的可执行代码和数据放置在真正的运行环境中的过程 • 包括安装、配置参数 • 动态部署
服务发布 • 把服务登记在服务发现中心、中介服务数据库或者通知给潜在用户的过程 • 告知其他用户
服务发现 • 从服务发现中心找到服务或从其他媒介得到其他服务信息的过程 • UDDI (Universal Description , Discovery and Integration)
服务绑定和调用 • 服务请求者和服务提供者联系在一起的过程 • 绑定对:请求者-提供者
Web Services的有关协议 • XML • SOAP • WSDL • UDDI
XML • eXtensible Markup Language可扩展标识语言 • XML是一种标记语言,形式上类似于HTML,但允许自定义标记 • 共享结构数据的标准方式 • SGML的一个简化子集 • 是一种定义其他语言、交换格式、信息集的语言——元语言
特征 • XML 是一个开放标准 • 简单,易于使用 • 支持国际化 • XML 是平台、工具、数据库、协议、编程语言无关的
XML Schema Example <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="person" type="personType"/> <xsd:complexType name="personType"> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> <xsd:element name="email" type="xsd:string"/> <xsd:element name="organization" type="xsd:string"/> </xsd:sequence> </xsd:complexType name="personType"> </xsd:schema>
XML Example <person> <name>Fennivel Chai</name> <email>fennivel@uddi-china.org </email> <organization>UDDI-China.org </organization> </person>
XML相关技术 • Architecture • XML 结构 XML 体系 • Information Modeling建模 • DTD:Document Type Definition • SCHEMA • XML Processing处理 • DOM: Document Object Model • SAX: Simple API for XML Processing • XML Rendering呈现 • XSLT:Extensible Stylesheet Language (XSL)Transformations • XPath:XML Path Language
SOAP • Simple Object Access Protocol 简单对象访问协议 • 节点间交换数据的协议 • 2000.4 SOAP 1.1 • 2003.6 SOAP 1.2 • 用XML描述,独立于语言和平台
XML 消息传递-- SOAP • 简单对象访问协议
SOAP消息封装模型 • Soap消息是在对等的Soap节点间通信的基本单位 • Soap规范定义的消息结构非常简单:一个Envelope包含了两个组成部分Header和Body;除此之外,没有定义额外的表述结构标准
WSDL • Web Services Description Language WWW服务描述语言 • 服务提供者是通过服务描述将所有用于调用 Web 服务的规范传送给服务请求者的。 • 使用 WSDL 作为基本服务描述 • WSDL 是一种 XML 文档,它将 Web 服务描述为一组端点,这些端点会处理包含面向文档或面向过程的(RPC)消息的消息。 • 描述了服务的操纵信息 • Service Interface • Implementation Details • Access Protocol • Contact Endpoint
UDDI • 注册中心 • UDDI 计划最初是由总部在美国加利福尼亚的Ariba 发起的,并在 IBM 和微软公司积极参与下开发的。尝试解决电子商务交易的集成和自动化问题。 • UDDI在两个方面提供了其解决方案 • 它定义了一系列技术规范,使商家可以用来描述自身、他们的产品和服务,以及他们在Web的商业过程 • 有一个全球企业注册表,能使跨越多个平台上的企业方便地搜索和发现对方。这个注册表将是免费的。
服务提供者 服务部署 绑定 API 发现 发布API 服务请求者 UDDI 中心 服务开发者 API WSDL 删除 描述 UDDI-统一描述、发现和集成
tModel businessService bindingTemplate 发布 引用 发布 访问 服务接口发布 UDDI Registry 接口描述 WSDL文档 实现描述 Service
举例 • 开发travel服务程序,编译调试,把服务部署到提供服务的服务器上 • 向UDDI中心注册travel服务,对外发布travel.wsdl • 张三从UDDI中心发现travel服务,获得travel.wsdl的信息 • 张三获得travel.wsdl • 由travel.wsdl,生成访问travel服务的SOAP消息,请求travel服务 • 服务器接到SOAP消息,分析,把该请求转发给旅游服务器,旅游服务执行,结果返回给张三
开放网格服务结构OGSAOpen Grid Services Architecture • 两大支撑技术 • Web Service技术(动态服务) • 网格技术(Globus) • 以“服务”为中心的基本思想 • 一切都是服务
资源与服务 • 在大多数的技术文献以及规范中,定义可以互换,指的是可以被共享以及(或者)能够被外部用户使用的一些事物。 • 资源是能够被共享或者以逻辑或物理实体表示的事物(如软件应用程序、硬件、操作系统等),它拥有大量的接口以及应用提供者接口,用于管理、访问和监控资源。 • 服务是某个接口的实现,该接口为客户的使用提供必需的绑定以及消息交换模式信息。
接口 访问资源 资源 服务 接口 实现 客户 服务 接口 实现 访问资源 资源与服务的关系
Web Services-based standards and Specifications • Program-to-program interaction (SOAP,WSDL and UDDI) • Data sharing (XML) • Messaging (SOAP and WS-Addressing) • Reliable messaging (WS-ReliableMessaging) • Managing workload (WS-Management) • Transaction-handling (WS-Coordination and WS-AtomicTransaction)
Web Services-based standards and Specifications(Cont.) • Managing resources (WS-RF or WSRF) • Establishing security (WS-security, WS-SecureConversation, WS-Trust and WS-Federation) • Handling metadata (WSDL, UDDI and WS-Policy) • Building and integrating Web Services architecture over a Grid (OGSA) • Overlaying business process flow (BPEL4WS) • Triggering Overlaying process flow events (WS-Notification)
GT1 GT2 OGSI Started far apart in apps & tech Have been converging ? WSDL 2, WSDM WSDL, WS-* HTTP Grid and Web Services:Convergence? Grid Web WSDM : Web Services Distributed Management
GT1 GT2 OGSI Started far apart in apps & tech Have been converging WSRF WSDL 2, WSDM WSDL, WS-* HTTP Grid and Web Services:Convergence: Yes! Grid Web The definition of WSRF means that Grid and Web communities can move forward on a common base
开放网格服务体系结构Open Grid Services Architecture
Application 应用层 Collaboration Tools Data Mgmt Tools Distributed simulation . . . 聚合层Collective Information services Resource mgmt Data mgmt . . . 资源层Resource 连通层 net 构造层Fabric 五层沙漏网格体系结构 • 五层沙漏 • 应用背景是科学研究领域-E-Science • 以协议为中心的协议结构 • 一个基础平台允许访问,集成远程异构资源和服务
Application & Integration Technology for Problem Domain X Generic Virtual Service Access and Integration Layer OGSA Structured Data Integration Job Submission Brokering Workflow Registry Banking Authorisation Transformation Structured Data Access Data Transport Resource Usage OGSI: Interface to Grid Infrastructure Web Services: Basic Functionality Compute, Data & Storage Resources Structured Data Semi-structured - Relational XML Distributed 开放网格服务体系结构OGSA • OGSA(Open Grid Services Architecture) • 面向服务的体系结构SOA • 以服务为中心的“服务结构” • 一切都是服务 • 商业应用 • 分布企业计算,例如企业应用集成和B2B等 • Web Services和Grid技术融合的产物 • 遵循Web Service标准,扩展它
Discovery R R RM RM Access RM RM RM OGSA产生的动机 • 科学研究领域的成功→商业计算 • 电子科研环境-》商业应用,如同WEB技术发展 • 资源集成是一个基本挑战 • 问题和解决方法类似 • 分布、可靠、可扩展和安全的分布系统挑战 • 向基础设施迈进→支持多个应用领域
Design Analytics Design Pricing Design Simulation OGSA产生的动机 • 以主机为中心企业计算→以网络为中心企业计算 • 外部的网络、资源和服务 • 高度集成的内部IT基础设施分解成异构多个系统的集合,异构和小系统的集合按QoS的重新集成 • 现行方法是面向平台的纵向集成构件和服务 • 没有合适标准的IT基础架构和工具,分布计算的管理、灵活性、可扩展等的保证非常麻烦
OGSA产生的动机 • 服务提供商 • Web、存储、内容分发和应用等服务提供商 • E-Utility • 按服务级别动态共享、分配和组织资源; • 快速一致的响应时间、多级别的高可用,灵活实时的重配置 • B2B计算 • 多企业之间的合作-虚拟组织 • 分布异构系统的集成
Managed shared virtual systems Computer science research Open Grid Services Arch Web services, etc. Real standards Multiple implementations Globus Toolkit Internet standards Defacto standard Single implementation The Emergence ofOpen Grid Standards Increased functionality, standardization Custom solutions 1990 1995 2000 2005 2010