web体系结构_Web服务体系结构概述
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环境的⼀部分。 ⼯具可能能够促进某些设计时问题,将访问控制逻辑添加到应⽤程序,但可能⽆法解决所有旧情况。 我们建议服务提供者使⽤前提条件
部分,将请求者需要提供的任何信息传达给服务请求者,以符合访问控制决策的条件。
设计代理时,可能有⼏种访问控制模型:提供web服务的是什么
混杂代理是不检查请求者或发布者⾝份验证的代理 。 经纪⼈提供对其数据存储库中信息的公共访问,并且不主张数据正确。 这种实现⽅式的威胁包括冒充服务请求者,冒充服务提供者,未经授权修改数据,披露信息,拒绝服务以及拒绝采取⾏动。
认证的代理是对请求者和发布者都进⾏认证的代理 。 这允许代理对有关谁正在访问信息做出明智的决定,并且代理能够对其保留的数据实施访问控制。 此类实现的威胁包括冒充请求者,冒充服务提供者,未经授权修改数据,披露信息,拒绝服务以及拒绝采取⾏动。 这种类型的代理将实现以下要求:使⽤SSL强制实体的⾝份验证,通过HTTPS协议调⽤服务请求。 它还可以集成对XMLDSIG的解析器⽀持,以验证对定义为消息交换⼀部分的XML⽂档的签名。
完全授权的经纪⼈是将实施授权范例并将访问信息与每个数据条⽬⼀起存储的经纪⼈ 。 它将建⽴条⽬的所有权,并强制要求只有授权的代理才能修改数据。 它还可以实现更精细的授权引擎,该引擎仅允许请求者的某些⼦集访问特定信息。 此类实现的威胁包括冒充请求者,冒充服务提供者,未经授权修改数据,披露信息,拒绝服务以及拒绝采取⾏动。 这种类型的代理将通过HTTPS提供其服务,使⽤SSL来对实体进⾏⾝份验证,并具有对XMLDSIG的解析器⽀持,以对定义为消息交换⼀部分的XML⽂档进⾏签
名。 中间件基础架构(例如Tivoli / Dascom)和AZN API,以实施企业范围的访问控制决策。
web 体系结构
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论