web 体系结构_Web服务体系结构概述

论坛 期权论坛 脚本     
已经匿名di用户   2022-5-29 19:21   1479   0

web 体系结构

  • Web服务是独立的,模块化的应用程序,可以通过通常是万维网的网络进行描述,发布,定位和调用。
  • Web服务体系结构描述了三个角色:服务提供者,服务请求者和服务代理。 和三个基本操作:发布,查找和绑定。 网络组件可以扮演任何或所有这些角色。
  • 两个单独的文档描述了Web服务:定义良好的服务(WDS)文档描述了非运营服务信息,例如服务类别,服务描述和到期日期,以及有关服务提供商的商业信息,例如公司名称,地址,和联系信息。 网络可访问服务规范语言(NASSL)文档描述了有关服务的操作信息,例如服务接口,实现细节,访问协议和联系端点。
  • Web服务体系结构的实现应允许通过配置一组环境先决条件(例如,身份验证机制,计费等)来控制和管理交互,从而促进增量安全性和服务质量模型。
  • Web Services可以动态地组合成基于运行时基于功能的查找的应用程序,而不是传统的静态绑定。协作的动态性质使实现可以独立于平台和编程语言,并且与通信机制无关,同时创建创新的产品,流程和价值链。

以前对分布式计算(CORBA,Distributed Smalltalk,Java RMI)的尝试已经产生了这样的系统,其中系统中各个组件之间的耦合过于紧密,以至于无法有效地通过Internet进行低开销,无所不在的B2B电子商务。 这些方法需要来自不同组织的业务系统之间过多的协议和共享的上下文,才能可靠地实现开放的,低开销的B2B电子商务。

同时,应用程序空间中的当前趋势正在从紧密耦合的单片系统向松散耦合的动态绑定组件的系统发展。 基于这些原则构建的系统更有可能在下一代电子商务系统中占据主导地位,而灵活性是其成功的首要特征。 我们认为,应用程序将基于在运行时动态发现和编组的服务组合(服务的及时集成)。 随着企业利用电子门户和电子市场以及利用XML等新技术,将更多现有的IT应用程序转移到Web上,服务(应用程序)集成成为下一代电子商务的创新。

这里描述的Web服务概念是我们对下一代Web电子商务体系结构的看法。 Web服务体系结构描述了基于服务创建动态,松耦合系统的原理,但没有单一实现。 通过为Web服务体系结构描述的角色,操作等选择各种实现技术,有很多实例化Web Service的方法。

设计Web服务时,还必须考虑各种环境因素。 例如,对服务代理的安全要求将根据部署环境而有所不同。 大多数Intranet部署对安全性的要求最低,但是在进行高价值B2B交易的情况下,可能需要更高的安全性。 一种方法是对安全和设计代理进行风险评估,以根据环境的安全基础结构提供不同级别的信息。 (有关Web服务安全性注意事项的更多信息,请参阅附录 。)Web服务工具包的未来版本将支持部分或全部这些安全性注意事项。

一种新的架构方法

传统的系统架构在系统中的各个组件之间合并了相对脆弱的耦合。 包括面向Web的系统在内的大部分IT系统都可以描述为紧密耦合的应用程序和子系统。 使用数据结构(数据库记录,平面文件)以紧密耦合的方式构建IBM CICS事务,数据库,报表等。

像这样的整体系统对变化很敏感。 子系统之一的输出变化通常会导致整个系统崩溃。 切换到子系统的新实现方式通常还会导致旧的,静态绑定的协作(无意中依赖于旧实现的副作用)。 通过技能和人数可以在一定程度上控制这种情况。 随着规模,需求,数量和业务变化率的增加,这种脆弱性就会暴露出来。 这些方面中的任何一个方面的任何重大变化都将导致系统的脆弱性成为危机:网站不可用或响应不及时,新产品和服务的上市速度不足,无法Swift转移到新的商机或竞争威胁。 由于耦合,IT组织将无法应对变化; Web的动态性使这些脆弱的体系结构的管理变得站不住脚。

我们需要用更灵活的体系结构替换当前的应用程序设计模型,从而产生更易于更改的系统。

网页服务

即时整合

Web服务体系结构描述了下一代电子商务体系结构背后的原理,呈现了从面向对象的系统到服务系统的逻辑演进。 Web服务系统促进了组件之间的显着去耦和动态绑定:系统中的所有组件都是服务,因为它们封装了行为并将消息传递API发布到网络上的其他协作组件。 应用程序使用服务发现对协作进行动态绑定,从而封送服务。 Web服务反映了一种新的面向服务的体系结构方法,该概念基于通过发现和协调网络可用服务或应用程序的即时集成来构建应用程序的概念。

使用Web服务方法,应用程序设计成为描述网络服务执行功能的功能并描述这些协作者的编排的行为。 在运行时,应用程序执行时需要将协作者的需求转换为发现机制的输入,找到能够提供正确服务的协作者,并编排发送给协作者的消息以调用其服务。 这些新的应用程序本身成为服务,因此创建了可用于发现和协作的聚合服务。

什么是Web服务?

Web服务是独立的模块化应用程序,可以通过网络(通常是Web)进行描述,发布,定位和调用。

Web服务体系结构是面向对象的分析和设计的逻辑演变,而组件的逻辑演变是针对电子商务解决方案的体系结构,设计,实现和部署的。 这两种方法已被证明可以处理大型系统的复杂性。 与面向对象的系统一样,Web服务中的一些基本概念是封装,消息传递,动态绑定以及服务描述和查询。 因此,Web服务的基本概念是一切都是服务,发布网络上供其他服务使用的API并封装实现细节。

Web服务组件

在任何面向服务的环境中都需要进行一些基本活动:

  1. 需要创建一个Web服务,并且必须定义其接口和调用方法。
  2. Web服务需要发布到一个或多个Intranet或Internet存储库,以供潜在用户定位。
  3. 需要定位Web服务以供潜在用户调用。
  4. 需要调用Web服务才能带来任何好处。
  5. 当某个Web服务不再可用或不再需要时,可能需要取消发布它。

然后,Web服务体系结构需要三个基本操作:发布,查找和绑定。 服务提供商将服务发布给服务代理。 服务请求者使用服务代理找到所需的服务并将其绑定 。 这些想法如下图所示。

发布,查找和绑定
发布,查找和绑定

服务描述机制是Web服务体系结构中的关键元素之一。 在两个单独的文档中找到了针对我们体系结构的服务的完整说明:网络可访问服务规范语言(NASSL)文档和定义良好的服务(WDS)文档。 NASSL是用于基于网络的服务的基于XML的接口定义语言(IDL),用于指定Web服务的操作信息,例如服务接口,实现细节,访问协议和联系端点。 WDS文档用于指定服务的非运行信息,例如服务类别,服务描述和到期日期,以及有关服务提供商的商业信息,例如公司名称,地址和联系信息。 WDS文档是对相应的NASSL文档的补充。 这两个文档一起用于指定完整的服务描述,允许服务请求者查找和调用服务。

Web服务体系结构中的所有协作都可能受到一组可配置的,可协商的环境先决条件的控制。 环境先决条件是在调用服务之前必须使任何非功能性组件或基础结构机制都可运行的-例如,使用特定的通信机制(HTTPS,IBM MQSeries)或使用特定的第三方审核或计费服务。 在实际调用服务之前,必须先放置这些组件(通常将其本身实现为服务)。

服务可以针对其指定的任何环境先决条件支持多种可能的实现。 例如,服务可以提供通信层的选择,计费服务的选择或其他选项。 然后,服务请求者可以协商或选择使用哪种实现来满足环境先决条件。 通过环境前提条件,协作才能像Web服务体系结构中的两个协作者所要求的一样安全,可靠和安全。

Web服务的好处

使用Web服务体系结构具有以下好处:

  • 通过最小化共享理解的要求来促进互操作性

    基于XML的接口定义语言(NASSL),基于XML的服务描述(WDS)以及协作和协商协议是服务提供者和服务请求者之间共享理解的唯一要求。 通过限制互操作性绝对必需的条件,协作Web服务可以真正独立于平台和语言。 通过限制绝对需要的内容,可以使用大量不同的基础结构来实现Web服务。

  • 实现即时整合

    Web服务中的协作在运行时动态绑定。 服务请求者描述所需服务的功能,并使用服务代理基础结构来查找适当的服务。 找到具有所需功能的服务后,该服务的NASSL文档中的信息将用于与其绑定。

    动态服务发现和调用(发布,查找,绑定)以及面向消息的协作产生了松散耦合的应用程序,从而实现了新应用程序和服务的及时集成。 这反过来产生的系统具有自我配置,自适应性和鲁棒性,并且单点故障更少。

  • 通过封装降低复杂性

    Web服务中的所有组件都是服务。 重要的是服务提供的行为类型,而不是服务的实现方式。 WDS文档是描述服务封装的行为的机制。

    封装是实现以下目标的关键:

    • 应对复杂性。 当应用程序设计人员不必担心他们正在调用的服务的实现细节时,可以降低系统的复杂性。
    • 灵活性和可扩展性。 在运行时可以替换相同类型的服务或多个等效服务的不同实现。
    • 可扩展性。 通过为新服务提供相似的服务描述来封装和扩展行为。
  • 实现旧版应用程序的互操作性

    通过允许将遗留应用程序包装在NASSL和WDS文档中并作为服务公开,Web服务体系结构可以轻松实现这些应用程序之间的新互操作性。 此外,可以包装安全性,中间件和通信技术以作为环境先决条件来参与Web服务。 目录技术(例如LDAP)可以进行包装以充当服务代理。

    通过包装底层管道(例如,通信层),服务将应用程序程序员与编程堆栈的下层隔离。 这允许服务使虚拟企业能够根据需要(通过基于http的通信)链接其异构系统和/或参与单个管理域的情况,其中其他通信机制(例如MQSeries)可以提供更丰富的功能。

    在合并情况下可以找到这样的例子,在合并情况下,最终的企业必须集成不同的IT系统和业务流程。 面向服务的体系结构将极大地促进这些系统之间的无缝集成。 另一个例子是旅行业与普适计算的结合,当时大型基于主机的旅行应用程序可以通过包装公开为服务,并可以在面向服务的环境中供各种设备使用。 可以创建新服务,并动态发布和发现新服务,而不会破坏现有环境。

摘要

Web服务是电子商务发展的下一阶段-从所有内容都是服务的角度来看系统的结果,该服务是使用网络上的消息传递而动态发现和组织的。

在Web服务体系结构中,每个组件都被视为一种服务,它封装行为并通过可用于网络调用的API提供行为。 这是面向对象技术(封装,消息传递,动态绑定和反射)向电子商务的逻辑演进。

Web服务中的基本角色是服务提供者,服务请求者和服务代理。 这些角色具有以下操作:发布,查找和绑定。 操作中介是通过环境先决条件发生的,它介绍了诸如安全性,工作流,事务,计费,服务质量和服务级别协议之类的方面。 服务描述语言的机制是Web服务中基本操作的关键。 Web服务的完整描述出现在两个单独的文档中:网络可访问服务规范语言(NASSL)文档和定义良好的服务(WDS)文档。

Web服务体系结构具有以下优点:

  • 通过最小化共享理解的要求来促进互操作性
  • 启用即时整合
  • 通过封装降低复杂度
  • 启用旧版应用程序的互操作性

附录:安全和信任问题

Web服务体系结构的安全性需要提出对安全性的传统理解的转变,以适应用于支持在开放动态Web环境中查找和执行服务的新模型。 面向服务的体系结构的安全性目标是在角色之间实现可信的交互。 如果将安全性定义为防范威胁,则Web Service将识别其感知到的威胁集,并提出防止对Web Service交互造成威胁的方法。 当两方了解风险并确定威胁和脆弱性并商定一系列保护自己开展业务的对策和保障措施时,便可以在他们之间建立信任。

捕获威胁和对策的困难之一是,它们以发现新威胁的周期相互作用,从而导致产生可能导致新威胁的对策。 因此,某些对策定义必须基于推测。 在尝试解决我们设计的系统中的安全性之前,我们不能等待所有可能的威胁和对策的识别。 我们将面向Web服务的体系结构的安全性视为挑战,以了解和记录现有威胁和提出的对策。 然后,该架构尝试捕获当前情况背后的想法,并允许灵活实施不同级别的安全机制,并具有与现有中间件和新安全机制集成的控制点。 安全措施的演变对新经济的发展很重要,但是我们有经验表明,要成功,任何实施都必须设计简单,使用简单,无处不在且具有成本效益,否则人们将不会使用它。 因此,它充其量是无效的。

我们已经确定了一些需要采取对策的威胁领域:

  • 在运行时,代理,请求者和提供者之间共享的信息的安全性
  • 部署运行时的网络的安全性
  • 在设计时编程模型(API,框架,存根等)的安全性。

除了设计时的应用程序安全模型问题外,应用程序开发环境本身还存在另一组安全问题。 这在安全方面在运行时组件和设计时组件之间造成了压力。 还要求Web服务必须简单,基于开放标准并具有可扩展性。 这三个要求与任何新开发的基本安全性目标相呼应。 试图将旧式安全编程模型和机制作为新设计的一部分而出现困难。

服务和委派模型的访问控制决策必须存在,并最终在应用程序中实施。 这些工具位于应用程序开发环境中,不是Web服务体系结构的一部分,而是大型B2B环境的一部分。 工具可能能够促进某些设计时问题,将访问控制逻辑添加到应用程序,但可能无法解决所有旧情况。 我们建议服务提供者使用前提条件部分,将请求者需要提供的任何信息传达给服务请求者,以符合访问控制决策的条件。

设计代理时,可能有几种访问控制模型:

混杂代理是不检查请求者或发布者身份验证的代理 。 经纪人提供对其数据存储库中信息的公共访问,并且不主张数据正确。 这种实现方式的威胁包括冒充服务请求者,冒充服务提供者,未经授权修改数据,披露信息,拒绝服务以及拒绝采取行动。

认证的代理是对请求者和发布者都进行认证的代理 。 这允许代理对有关谁正在访问信息做出明智的决定,并且代理能够对其保留的数据实施访问控制。 此类实现的威胁包括冒充请求者,冒充服务提供者,未经授权修改数据,披露信息,拒绝服务以及拒绝采取行动。 这种类型的代理将实现以下要求:使用SSL强制实体的身份验证,通过HTTPS协议调用服务请求。 它还可以集成对XMLDSIG的解析器支持,以验证对定义为消息交换一部分的XML文档的签名。

完全授权的经纪人是将实施授权范例并将访问信息与每个数据条目一起存储的经纪人 。 它将建立条目的所有权,并强制要求只有授权的代理才能修改数据。 它还可以实现更精细的授权引擎,该引擎仅允许请求者的某些子集访问特定信息。 此类实现的威胁包括冒充请求者,冒充服务提供者,未经授权修改数据,披露信息,拒绝服务以及拒绝采取行动。 这种类型的代理将通过HTTPS提供其服务,使用SSL来对实体进行身份验证,并具有对XMLDSIG的解析器支持,以对定义为消息交换一部分的XML文档进行签名。 中间件基础架构(例如Tivoli / Dascom)和AZN API,以实施企业范围的访问控制决策。


翻译自: https://www.ibm.com/developerworks/web/library/w-ovr/index.html

web 体系结构

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP