Web service世界的管理与安全 (CA)

来源:互联网 发布:蒋经国 知乎 编辑:程序博客网 时间:2024/05/16 07:20
Web service世界的管理与安全 (CA)
作者:a21-car 提交日期:2005-04-02 22:33
最近看看CA公司的关于web service的安全和管理解决方案,觉得很多东西说得很正确,不敢一个人独享,翻译出来与大家共享。



Web service世界的管理与安全 (CA)(一)


什么是web sevice?
一个服务,任何服务,都能被定义成为一个软件组件,他包括下面的性质:

    
  • 能被正规的语言描述
    
  • 能在发布在某个服务上
    
  • 能通过标准的机制被发现
    
  • 能通过网络被调用
    
  • 能组合其他服务

这个定义成为了面向服务体系结构(Service-oriented Architecture)的基础。他使得多种多样的服务类型开始出现,SOA的原则也广泛地被软件工程所接受。Web Service自身有许多与众不同的特点:
首先, Web Service依靠大量的标准,如XML,SOPA,WSDL,HTTP和UDDI。一个客户端必须运行在能发出HTTP请求和解析XML文档的平台上,而且该平台能发现和调用Web Service。 今天我们使用的大部分平台都有满足这样的需求,如CORBA,COM,Java对象。
第二,Web service的主要标准是基于消息而不是API。为了调用一个web service,客户端必须发出一个XML消息,服务端也将返回一个XML消息。这样方式有两个好处:他使应用系统具有平台无关性和语言无关性,促进服务之间的松耦合。使用不同的语言进行编写,并运行在不同的平台上的Web Service能交互XML消息。从一个VB的程序调用一个java对象已不再是一个问题。而且,基于消息的webservice 能在发现一个服务后立刻通过发生XML消息来调用服务。这样在应用中的Web Service在开发和部署环境中不在是静态的,而是松耦合的。如果应用中的一个服务出现了错误,他可以被相同的服务所代替,而不会使得整个应用被崩溃。
Web Service 是建立在一组标准之上的软件单元,具有互操作和跨平台的特性。Web Service的这些技术特点使得他产生出新的商业利益。
Web Service的商业利益:
现在关于WebService的讨论很多,但是主要的论点集中于下面两点:
 更容易的集成
 使用internet作为平台
更容易的集成
根据一些著名的预测和评估,企业每花费一美元在软件上,就要花费3到5个美元来提供这个软件的集成方案。另一项评估显示70%的IT预算都花费在应用集成上。因此,企业迫切需要新的技术来简化集成和降低费用。
让回忆一下在web service以前,我们集成应用的方法。在典型的场景中。一个公司有许多内部应用程序或者需求其他商业伙伴提供的系统,它们必须被集成为一个新的连续的商业流程。传统的解决方案主要包括:
首先,企业要选择一个何时的集成平台和一个合适的商业处理引擎。其次,需要建立一组连接器将企业内部API或者其他伙伴的API映射到集成平台的API。第三,商业处理需要使用合适的语言进行编码。最后,商业处理流程将从企业门户使用集成平台的API调用。简单的说,应用集成是一个长期和昂贵的过程。连接器的开发可能需求花费好几个月的时间和大量的费用。
随着Web service 的出现,这种情况发生了极大的改变。客户希望卖主通过包装的解决方案来提供与web service兼容的服务。他们希望应用程序的卖主提供必要的工具来简化web service的建立。
将一个应用系统包装成web service是一个容易的事情。例如IBM提供了下载程序包来支持将CICI事务包装成Web Service。数据库管理系统扩展了他们的产品功能以通过XML文档或者Web Service来提供数据。一些软件产商如SAP、PeopleSoft、Siebel和Oracle都计划提供核心功能将他们的产品包装成Web Service。因此,开发商业程序、数据库或遗留系统的连接器已经不重要了。使用Web Service,应用系统的方法或者数据库中的数据能够通过标准的方法被发现和调用,而且客户端只要花费少量的开发。昂贵的,中心化的连接器处理方案被软件产商和应用开发者提供的有广泛基础的,非中心化的方法所取代。应用开发承担了将应用系统包装成webservice的义务,而客户不需求花费更多。使用一样的逻辑来看商业处理编排引擎。工业界已经开始设计标准的语言来定义依赖于web service的商业处理流程。当一个处理流程使用这种语言被定义,他就能被所有于标准相兼容的引擎所处理。处理流程自身也可以是一个web Service,他可以被多个应用系统调用。因此,公司不再被某个特定的集成平台锁定。与标准兼容的商业处理编排引擎产品将会获得极大的丰富和廉价。他们将会与应用服务器、集成平台,企业门户,数据库和其他的产品捆绑在一起。你甚至可以从一个开源网站上下载一个这样的引擎而不需求花费任何费用。
最后,在传统集成平台上提供的多种服务,如发现,单点登陆,可靠消息传递、消息格式映射等,都已经被定义成Web Service标准,并正在成为操作系统的一部分。企业可以使用这些服务而不需要付费。
因此,web service消除了应用系统之间的连接器,极大减轻了企业应用集成的费用,为商业处理流程提供了廉价的和灵活的解决方案。此外,他通过将基本的集成机制合并到应用服务器或者操作系统,为企业减轻了费用。
Web service世界的管理与安全(二)
作者:a21-car 提交日期:2005-04-03 21:13
将internet作为平台使用
Web services的互操作能力和穿越防火墙的能力使得他成武了在网络上广泛分布的松耦合的组件进行集成的理想机制。使用这些组件建立的应用系统,能穿越部门、组织和数据中心的边界进行计算资源、存储资源和网络能力的整合。
这个方法的好处是显而易见的:


    
  • 在网络上的硬件和软件是冗余的,通过WebService 这些软硬件可以完成以前需要昂贵的超级计算机才能完成的工作。
    
  • 公司通过计算资源、存储资源和网络资源的共享,避免了对IT基础设施的过度投资,并可以按照需求购买这些资源的共享。
    

将资源虚拟化、储备化(pooling)和共享化这些主意已经在网格计算、效能计算、按需服务等计算模型中得到体现。严格的说,网格计算可以不使用网络或者依赖与Web Service。事实上,网格计算的第一代平台使用了私有的资源管理协议和通讯机制。他使得两个组织必须通过网格计算平台共享资源。这严重的制约了网格计算的使用范围,使得跨组织边界的资源共享难以实现。
Web Service被视为共享的一种机制。在最新的GGF发展的网格体系结构(Open Grid Services Architecture, OGSA)中,将IT资源映射为网格服务,并将网格服务定义为一个特殊的Web Service类型,该服务已经被预先定义了一些接口包括事件管理、状态管理、资源分配和其他使用网格计算环境的任务。被网格服务暴露的接口能够通过标准的Web Service协议被发现,绑定和访问。
服务重叠网
现在,大部分的分布式系统部署在多层平台上,该平台包括了防火墙、Web服务器、应用服务器、数据库服务器、文件服务器、多媒体服务器和其他的一些组件。这些构成了传统的数据中心,他们属于一个组织并被一组系统和网络管理员集中控制。
今天,现代化的分布式系统包装成了Web Service,并能被用户直接访问,或者被其他服务捆绑使用,或者作为商业处理流程的一部分,或者穿越数据中心、部门和组织的边界被共享。Web service能通过标准的机制被动态的发现,并通过良定义的XML格式消息通讯。这些XML消息被底层的传输协议路由,如HTTP或FTP。这使得我们马上意识到在传统的一数据库服务器、应用服务器和其他元素组成的网络上,可以通过Web Service建立一个重叠网络。该重叠网络使得开发者从底层的基础架构中抽象出新的视图。
Web Service重叠网络被拥有集成应用或者在网格环境下共享资源。现在的分布式应用系统被部署在有多个物理网络元素构成的平台上。明天,我们可以在websevice构成的重叠网络上建立集成系统。换句话说,我们将使用webservice重叠网作为开发和部署应用系统的新平台。这个平台具有多个独特的特性:
首先,webservice重叠网是极度动态的。在webservice中的已存在连接能被轻易的断开,新的连接能被容易的建立。举例来说,如一个汽车租赁服务使用的旅行agent系统不能保证事先定义好的SLA,那么应用系统能动态地从不同的服务提供者中选择一个等价的服务。这也就改变了服务网络的拓扑结构。
第二,webservice重叠网络是非中心化的。这儿没有传统意义上应用系统的单一控制中心。分别在不同公司和数据中心的服务被不同的管理者所管理。在这样的环境下,出现了许多挑战性的问题。继续前面的例子,汽车租赁中心的一个系统管理员可能决定部署新版本的Web Service,这使得旅行社的合作伙伴奇怪的发现他的应用系统停止了工作。
第三,webservcie重叠网,特别是在网格计算中使用的服务,具有极大的规模。一个网格计算机应用系统能有成千上万的甚至上亿个结点组成。每个结点以一种动态和非中心化的方式提供和消费服务。事实上,网格计算机不仅仅提供了低成本的问题,也可能是目前解决大规模系统的唯一途径。我们可以通过当前在进行中的网格计算的项目来证明我们的观点:SETI项目,在线游戏,气息模拟和DNA计划。
这是非常明显的webservice重叠网在我们的工业历史中是非常独特的。这个新型平台是大规模的、动态的和非中心化的。他能建立新型的应用系统,该系统能跨越操作系统、编程语言和组织边界。Web Service平台是一个革命性的平台,他将极大的改变我们的计算模型和商业事务。


服务管理
服务水平和商业水平协定。
为了说明当前基于Web Service的计算环境中管理问题的挑战,我们考虑一个简单的供应链。
这是一个消费者向提供者订货的场景。我们假设定的货物是个人计算机,笔记本和服务器。提供者将消费者的请求转变为对供货商的请求,当产品完成后,运输服务被使用以保证货物被发送给消费者。这儿所有的步骤组成了自动化的商业处理流程,他们依赖于不同的参与者提供的Web Service。
服务管理的基本问题是如何保证和维护基于多个独立参与者的商业流程的健康状况。传统的管理方法建议通过web service控制。例如供应商的Web Service可以使用J2EE服务器的EJB实现。某系统可以通过管理J2EE服务器和监视他的响应时间、平均请求率、内存使用情况和其他的参数来管理这些服务。对于运输服务和提供者也可以通过同样的方式管理。每个商业流程的参与者都可以精确的知道他们自己的webservice的情况。但是,他们没有商业处理流程和web service管理的全局视图。
为什么呢?让我们从提供者的角度来考虑web services的管理。提供者的服务的基础是internet基础架构和供应商与传输服务商共同提供的服务。监视他们内部的internal基础架构只能给出服务状况的部分视图。通过内部的传感器收集的数据只能显示内部系统没有问题,但是提供者的服务还是有可能因为供应商和运输服务商的服务出现问题而停止。提供者无权访问其他参与者的管理系统。因此,就没有方法精确和高效的预测与发现问题。结果,整个商业处理流程失败了,同时提供者的声誉受到了影响。
这个问题的一个解决途径是不仅仅依赖基础架构来管理web service。服务重叠网中的服务应该通过服务水平来管理服务。我们可以在服务提供者和服务消费者之间建立SLA,以保证这些协定都能被及时的维护。换句话说,我们通过监视和管理在服务消费者和提供者之间的SLA来管理web service,取代传统的监视和管理异构的Web Service支撑架构。
在我们的例子中,如果在消费者和提供者之间的SLA被违反,提供者可以在其内部或者合作者中查找错误,他可以自主的将服务转换到其他公司提供的等价的服务上,以保证他与消费者之间的SLA。这非常类似于传统的公司之间的合作方式,公司之间通过手工签署合同的方式来的建立和维护合作。
一个服务水平协定是有多个服务水平目标组成的。每个服务水平目标处理一个特定的服务参数,如响应时间,XML的大小,平均处理率等。
服务提供者可以与一个消费者签订一个SLA,他可以同时与多个消费者建立不同的SLA。一个好的服务管理系统必须能够处理这种复杂性。从技术上来说,他能从服务请求消息中获得消费者的标识。当消费者的标识被建立,响应的SLA就能被维护和管理。
在我们的讨论中,这是一个非常重要的点。主要web service的管理依赖与消费者和提供者之间交互的XML消息的内容。为了管理web service,管理系统必须能查看服务中的XML消息处理。当我们接受这个事实,我们就可以做许多有意义的工作。例如,我们可以根据XML消息中的商业数据制定web service管理的策略。我们可以根据消息的内容知道BLA。商业水平协定定义了web service处理一个通过服务表现的商业功能的性能,而不是简单的web service的性能。
在我们的例子中,提供者和供应商可以约定笔记本必须在三个工作日被送到。这个协定被格式化为BLS,然后自动地转换为管理策略,并被web servce管理系统处理。管理系统通过检查XML消息的内容发现笔记本何时被定购,那么当BLA不能被满足时,他就能自动的发出警报。
这个例子使得我们得到一个重要的结论。他显示web service管理不仅仅被用于在IT层面上保证商业处理流程的无缝操作,同时也提供了一个对整个商业环境当前状况的审视。Web Service管理能使得在线商业管理者发现那个订单延迟了和为什么,或者帮助市场管理者那类消费者可以享受那种优惠。这是传统管理系统不能拥有的巨大能力。
Web service世界的管理与安全(三)
作者:a21-car 提交日期:2005-04-03 21:18

管理中介
Web service应该使用那种高效的机制呢?图7显示了这样一种机制。显而易见,提供者不能通过管理其他参与者的基础架构来管理他们的web service。这些基础架构隐藏在防火墙后,提供者不能控制他们。提供者能做的是确信每次与外部的服务进行XML消息交换时,他能通过一个能分析消息并管理SLA和BLA的中介。
一个管理中介能建立在提供者的数据中,在那儿他能通过Web Service管理系统直接收集管理数据。当其他参与者的服务出现错误时,他能与其他参与者交换管理数据。其他参与者的管理系统能采取正确的行动。这儿有一个联邦管理的例子。不同的管理系统通过管理中介一起工作,以保证一个商业处理流程的无缝操作。显而易见,把这个场景变为现实,建立web service管理标准是必须的。许多工业界的公司正在制定这样的管理标准。
要注意的是管理中介是一个角色而不是一个实现机制。管理中介角色能被任何代码实现,他位于服务提供者和消费者之间。这个角色的实现有在应用服务器内部的agent,或者在服务消费者和提供者之间部署的代理服务器。一个管理中介的特定实现必须根据部署需求来选择,web service管理系统必须能和任何管理中介一起协同工作,而无论这个管理中介的实现机制。
管理中介在经济世界中有一个有趣的类比。金钱是经济的血液。公司甚至整个国家通过金融事务来交易,银行就是这个资金流的中介。政府高效的监视和控制这个国家的经济,甚至部分交易伙伴的经济情况,这些通过了一个中介-银行。
服务管理的类型
Web service管理系统的实现那种类型的管理呢?系统应该实现下面的功能:

  • 传统的web service管理
    这包括服务监视,警告管理、事件相关性、事件沿着服务关系链传播、问题分析、服务趋势、预测和其他管理功能。这个系统必须支持传统的管理标准和协议如SNMP,OMI、WBEM、CIM等。
    
  • 服务的商业管理
    这包括SLA和BLA管理,使用度量,根据收集的信息付帐,和商业处理流程管理。当我们说明商业流程处理并不是指商业流程的编排。商业流程的编排是其他产品,如应用服务器的功能。与此同时,web service管理系统必须嫩嫩嘎分析商业流程的定义,监视和控制他的状态。
    
  • 生命周期管理和配置
    管理系统必须能处理生命周期状态和服务的配置参数。他应该能控制部署服务的不同版本。多个版本的同一个服务能被管理系统同时控制。系统必须能根据消息头中的信息,将消费者的情况正确的路由到合适的服务版本上。
    
  • SOA
    根据服务的版本进行路由只是服务管理系统的一个例子。请求也可以根据用户标识进行路由。例如,如果一个特定的消费者希望与一个特定的服务版本一起工作。负载平衡是根据系统状况进行路由的另外一个例子。管理系统也能执行SOA的另外一些功能,如协议转换,消息格式映射等。
    
  • Web service环境管理
    一些管理的类型是与服务重叠网的管理属性向联系的。服务管理系统必须能通过消息交互、定义商业处理的流程、基础架构获得消息和其他一些隐式或显式的内容中自主的发现web网络的拓扑结构。服务网络是非常动态的,管理系统必须能维护最新的网络视图。当web service网络的拓扑结构被发现,他必须能拥有支持核心管理任务,如事件传播、事件相关性,错误分析,生命周期管理等。
    我们详尽的描述了服务管理系统的能力,但是事实上,一个可行的服务管理系统是不可能完成所有的任务。
    