@tsingwong
2016-07-13T12:33:35.000000Z
字数 4242
阅读 1129
系统集成与服务计算
【系统集成】是在系统工程科学方法的指导下,根据用户需求,优选各种技术和产品,将各个分离的子系统连接成为一个完整可靠经济和有效的整体,并使之能彼此协调工作,发挥整体效益,以达到整体性能最优。
【系统集成】包括设备系统集成和应用系统集成。
系统集成的【层面】有数据集成,接口/应用集成,过程集成,界面集成。
【数据集成】的主要任务是组合不同来源的数据,为用户提供一个统一的数据视图,提供跨越多个自治和异构数据源的统一查询方式。数据集成的主要技术有:联邦数据库系统、数据仓库、中间件模式等。主要挑战有:异构性、分布性、自治性。
【接口/应用集成】的主要任务是通过集成已存在的应用,商业包应用和新代码的功能来产生新的解决方案。已有的技术有:点对点集成技术、消息中间件技术。主要挑战有:不同应用系统API接口的实现语言、调用方式、消息格式等技术层面的差异性和当需要集成的应用系统数量众多时,如何设计集成的体系架构。
【过程集成】的任务是连接不同IT系统的业务过程,为业务过程自动化和持续改善的实现提供支持,实现全局业务过程的自动化。过程集成的关键是实现一种松耦合的集成方式,即把IT系统的应用逻辑和业务过程逻辑分开,保证业务过程的改变不会引起应用系统的改变。
【界面集成】的任务是集成应用的前端界面组件而不是它们的程序逻辑和数据,目的是利用各组件的独立UI产生更丰富的UI应用。
【现有的技术】有:客户端UI组件、浏览器插件、Web Mashup、Web portals and portlets。
【主要挑战】有:缺乏统一的组件模型和标准的外部描述规范;缺乏实现界面集成的通用组合语言;如何根据组合语言描述的内容来呈现组合应用的界面;组合应用和组件之间如何通信;组合应用如何发现和绑定需要的组件。
【软件体系结构】是一种系统结构,该结构包括软件元素、元素的外部可视属性,元素之间的关系。
【当前比较流行的软件体系结构】 两层及三层客户/服务器(Client/Server)、两层及多层浏览器/服务器(Browser/Server)、面向服务的SOA、MVC结构等。
【SOA】即面向服务的架构,它将应用程序的不同功能单元—服务(service),通过服务间定义良好的接口和契约(contract)联系起来。接口采用中立的方式定义,独立于具体实现服务的硬件平台、操作系统和编程语言,使得构建的系统中的服务可以使用统一和标准的方式进行通信。
【SOA的基本特征】
服务的封装(encapsulation)。将服务封装成用于业务流程的可重用组件的应用程序函数。它提供信息或简化业务数据从一个有效的、一致的状态向另一个状态的转变。封装隐藏了复杂性。服务的API保持不变,使得用户远离具体实施上的变更。
服务的重用(reuse)。服务的可重用性设计显著地降低了成本。为了实现可重用性,服务只工作在特定处理过程的上下文(context)中,独立于底层实现和客户需求的变更。
服务的互操作(interoperability)。通过服务之间既定的通信协议进行互操作。主要有同步和异步两种通信机制。SOA提供服务的互操作特性更利于其在多个场合被重用。
服务是自治的(Autonomous)功能实体。服务是由组件组成的组合模块,是自包含和模块化的。SOA强调提供服务的功能实体的完全独立自主的能力。SOA强调实体自我管理和恢复能力。
服务之间的松耦合度(Loosly Coupled)。服务请求者到服务提供者的绑定与服务之间应该是松耦合的。服务请求者不知道提供者实现的技术细节,比如程序设计语言、部署平台等等。
服务是位置透明的(location transparency)。服务是针对业务需求设计的。需要反应需求的变化,即所谓敏捷(agility)设计。实现业务与服务分离,就必须使得服务的设计和部署对用户来说是完全透明的。明确定义的接口(well defined interface)。Web服务使应用功能得以通过标准化接口(WSDL)提供,并可基于标准化传输方式(HTTP和JMS)、采用标准化协议(SOAP)进行调用。
【元数据】是关于数据的数据,是对Web信息的一种描述方式,是机器可理解的信息。其基本作用是管理数据,从而实现查询、阅读、交换和共享。比如在学生信息管理系统中,学生的基本信息由姓名,学号,性别,班级等组成,这些属性字段就是元数据,利用组织好的一套元数据便可以把一个学生信息描述出来。在此系统中,通过对元数据的组织管理实现了学生信息的格式化,为信息的描述,分类和编辑提供了很大的便利。
【服务组合】以特定的方式(取决于服务组合语言)按给定的应用逻辑将若干服务组织成为一个逻辑整体的方法、过程和技术。是生成复合服务的过程,该过程通常包括定义成员服务之间的次序依赖关系以及互相之间的数据传递关系,最后由组成复合服务的成员服务协作完成复合服务所具有的功能。
【生命周期】
建模阶段:该阶段的目的是建立服务组合模型。
分析和仿真阶段:在该阶段,一方面可以对服务组合模型的可达性、结构、资源使用、性能等进行定性和定量的分析,另一方面也可以设计一些业务场景对过程进行仿真测试以发现关键路径和瓶颈。
实现阶段:在该阶段,高层服务组合模型被转换成可执行的服务组合定义。
部署和执行阶段:该阶段处理服务组合定义以及定义中的服务在实际执行平台上的部署和运行。
监控阶段:在监控工具的帮助下,服务组合定义的实际执行进程以及过程中各项关键指标的测量数据可以实时地以各种图表等可视的方式提供给用户,高级的工具还能提供自动预警等功能。
优化阶段:在该阶段可以根据服务组合定义执行的历史数据对过程进行优化。真实的数据此时可以被输入仿真工具以便对服务组合定义进行优化。
【问题及解决】
Web服务技术解决了构件描述和访问的标准化问题。由于Web服务具有良好定义的接口,使用标准的接口描述语言WSDL,也使用标准传输协议SOAP进行交互,因此可以确保服务构件之间的互操作性。相对于工作流在面对每种新型异构构件时都要进行特定的集成工作的情形,在使用Web服务时,只要使用开放、标准的方式把构件封装成服务,就可以把服务直接集成到服务组合定义中去。
服务组合定义有了事实上的业界标准。由微软、IBM、BEA等企业联合提出的BPEL4WS服务组合定义语言是事实上的业界标准,该语言可以组合任何基于WSDL接口的服务。并且BPEL4WS可以集成Web服务的安全、事务等标准(如WS-Security和WS-Transaction),因此可以以统一的方式保障应用的质量属性。
【指标】Web服务QoS指标包括性能、可用性、可靠性、完整性、安全性、常规性、可访问性。
性能:指根据吞吐量和延迟对其进行测量。吞吐量的值较大且延迟的值较小表示 Web 服务性能良好。 吞吐量表示在给定时间段内被服务的 Web 服务请求数。延迟是发送请求和接收响应之间的往返时间。
可用性:指 Web 服务是否存在或是否已就绪可供立即使用。可用性表示服务可用的可能性。较大的值表示服务一直可供使用,而较小的值表示无法预知在某个特定时刻服务是否可用。与可用性有关的还有修复时间(time-to-repair,TTR)。 TTR表示修复已经失效的服务要花费的时间。理想情况下,较小的 TTR 值是合乎需要的。
可访问性:表示能够为 Web 服务请求提供服务的程度。它可以表示为一种可能性尺度,用来表示在某个时间点上成功地实例化服务的成功率或机会。Web 服务可用,但却无法访问这种情形是可能存在的。通过构建一个可高度伸缩的系统使 Web 服务得到很高的可访问性。可伸缩性是指不管请求量如何变化,都能够始终如一地为请求服务的能力。
可靠性:指表示能够维护服务和服务质量的程度。每月或每年的失效次数是衡量 Web 服务可靠性的尺度。在另一种意义上,可靠性是指服务请求者和服务提供者发送和接收的消息的有保证和有序的传送。
完整性:指 Web 服务如何维护交互相对于最初情况的正确性。适当地执行 Web 服务事务会实现正确的交互。一个事务是指一系列将被当作单个工作单元的活动。要使事务成功,必须完成所有的活动。如果一个事务未完成,那么所做的全部更改都被回滚。
安全性:指通过验证涉及到的各方、对消息加密以及提供访问控制来提供机密性和不可抵赖性。由于 Web 服务调用是发生在公共的因特网上,安全性的重要性已经有所增加。根据服务请求者的不同,服务提供者可以用不同的方法来提供安全性,所提供的安全性也可以有不同的级别。
常规性:指 Web 服务与规则、法律一致,遵循标准和已建立的服务级别协议。Web 服务使用许多标准,如SOAP、UDDI 和 WSDL。要正确调用服务请求者请求的服务,就必须严格遵守服务提供者所提供的正确版本的标准,例如,SOAP 版本 1.2。