服务计算概论
- 格式:doc
- 大小:824.00 KB
- 文档页数:91
服务计算基础知识服务计算是一种通过互联网提供基于需求的可用性的计算资源的模式。
它与传统的计算模式相比,具有更高的灵活性、可伸缩性和效率。
服务计算是一个复杂的主题,包含许多不同的概念和技术。
在本文中,我们将讨论服务计算的基础知识。
1. 什么是服务计算服务计算是一种通过互联网为用户提供计算资源的模式。
这些计算资源可以是计算能力、存储能力或网络带宽。
通常,这些资源是以虚拟化的形式提供的,用户可以根据自己的需求进行使用和管理。
服务计算的目标是提供一种灵活、可伸缩和高效的计算环境。
2. 服务模型服务模型是指服务计算中所使用的不同类型的计算资源。
常见的服务模型有以下几种:- 基础设施即服务(IaaS):提供基于虚拟化的计算和存储资源。
用户可以根据自己的需求选择虚拟机、存储和网络资源,并通过云平台进行管理和监控。
- 平台即服务(PaaS):在IaaS的基础上提供更高级别的服务。
它包括操作系统、编程语言和开发框架等,用户可以使用这些工具来开发和运行自己的应用程序。
- 软件即服务(SaaS):是指通过互联网提供软件应用程序的服务。
用户无需购买、安装和维护软件,只需通过浏览器访问即可使用。
3. 虚拟化技术虚拟化是实现服务计算的基础技术之一。
虚拟化可以将物理的计算资源划分为多个逻辑上独立的虚拟资源。
这些虚拟资源可以在不同的物理服务器上运行,用户可以根据自己的需求进行使用和管理。
虚拟化技术可以提高计算资源的利用率,减少硬件成本。
4. 云计算架构云计算架构是指一种分布式计算模型,它将计算资源组织成一个云。
常见的云计算架构有以下几种:- 公有云:由第三方提供商提供的计算资源,可以由任何人使用。
用户可以根据自己的需求选择使用这些资源,按照使用量进行付费。
- 私有云:由企业或组织自己构建和管理的云。
只有内部员工才能访问和使用这些资源。
私有云可以提供更高的安全性和可控性。
- 混合云:是公有云和私有云的结合。
通过混合云,用户可以根据自己的需求将不同的工作负载部署在公有云和私有云中。
计算概论知识点总结一、基本概念1. 计算概论的概念计算概论是一门研究计算的基本理论和方法的学科。
它是计算机科学的基础,包括了算法、数据结构、分析技术、计算复杂性理论等内容。
计算概论的研究对象是计算的过程和方法,它研究计算机问题的抽象和形式化描述、计算机问题的求解方式、计算机问题求解的复杂性以及计算机问题求解的效率等问题。
2. 算法的概念算法是解决问题的一种有序的数学过程,它包括了从问题描述到问题求解的所有步骤。
算法是对问题求解的精确描述,是计算机问题求解的基础,因此算法的设计和分析是计算概论中的重要内容。
3. 数据结构的概念数据结构是一种用来组织和存储数据的方式,它包括了数据的逻辑组织和物理存储。
数据结构是算法的载体,它的设计和选择对算法的效率有很大的影响,因此数据结构的研究也是计算概论的重要内容之一。
4. 复杂性理论的概念复杂性理论是研究计算问题的复杂性和可解性的学科。
它研究计算问题求解的时间和空间资源的需求与问题规模之间的关系,同时也研究计算问题的难解性和不可解性等问题。
二、算法分析1. 时间复杂度算法的时间复杂度是描述算法在求解问题时所需的时间资源的度量。
它通常用算法的基本操作数量与问题规模的关系来描述。
时间复杂度是算法效率的重要指标,它决定了算法在不同规模的问题上所需的时间资源。
2. 空间复杂度算法的空间复杂度是描述算法在求解问题时所需的空间资源的度量。
它通常用算法所需的额外空间与问题规模的关系来描述。
空间复杂度是算法效率的另一个重要指标,它决定了算法在不同规模的问题上所需的空间资源。
3. 算法的渐进分析算法的渐进分析是描述算法复杂度的一种常用方法,它用来描述算法在问题规模趋近无穷时的复杂度情况。
渐进分析包括了最坏情况复杂度、平均情况复杂度和均摊情况复杂度等。
4. 算法的正确性算法的正确性是指算法对于所有输入数据都能得到正确的输出。
算法正确性是算法设计的基本要求,同时也是算法分析的关键内容。
商业建模●服务生态系统的动态性使得如今的商务更加精密●需求来自于那些要求更好的内部沟通的决议者们●以上两点使得商业模型显得很重要。
1.服务生态系统的动态性●如今全球的商务环境正在飞速的变化着。
●任何一家企业再也不是孤立的了●有很多成功企业已经建立了非常灵活和具有伸展性的IT 平台●Amazon.con 的实例2.来自决意者的需求People belong to a lineof business. Theirconcerns include servicedelivery and operationand how to lead theirbusinesses in the marketSuppliers and partners. Theirconcerns may include cost, deliveryreceivable.Executive Level Decision MakersLine of BusinessSuppliers and PartnersC-level executives are agroup of core decisionmakes, their concernsinclude business strategyand plan, strategicpartnership, IT strategy,managementfunctions, and adoptionof new technology在一个企业中有很多保管者● C 一级的管理团队(CEO/CIO/CFO)需要充分沟通一更好的利用资源,从而实现企业目标●他们只能和普通的模型进行沟通并且作出用有影响力的分析然后采取行动●所以C 一级的管理团队需要有可视化的控制机制来监视和管理附近的实时的商业操作基于项目的企业行为管理1. 企业操作观点中的变化●一个企业包括了一个相互依赖资源(包括人力,进程,工具和技术)之间根据一种策略性的在任务或商务目标方面的优势的集合。
服务计算十讲服务计算是一门涉及计算机科学和软件工程的学科,它关注的是如何利用云计算和网络服务来构建和提供高效、可靠、可扩展的软件系统。
本文将分为十讲来介绍服务计算的相关概念和技术。
第一讲:服务计算概述服务计算是一种基于云计算的软件开发和服务交付模式。
它将软件系统划分为一系列可独立访问和使用的服务,这些服务可以通过网络进行通信和交互。
通过将系统功能模块化并以服务的形式提供,服务计算可以提高系统的可维护性、可扩展性和灵活性。
第二讲:服务导向架构(SOA)服务导向架构是服务计算的核心概念之一。
它将软件系统看作是一组相互协作的服务,这些服务以标准化的方式描述和交互。
SOA提供了一种松耦合的架构风格,可以实现系统功能的快速组合和重用。
第三讲:云计算与服务计算云计算是服务计算的基础设施,它提供了弹性的计算、存储和网络资源。
通过云计算平台,开发者可以快速部署和扩展服务,提供可靠的计算和存储能力。
第四讲:服务编程模型服务编程模型是实现服务计算的关键技术之一。
它定义了服务的描述、交互和组合方式。
常用的服务编程模型包括面向服务的体系结构(SOBA)、Web服务和RESTful服务。
第五讲:服务设计和开发服务设计和开发是构建高质量服务的关键步骤。
在设计阶段,开发者需要明确服务的功能、接口和交互方式。
在开发阶段,开发者需要使用合适的开发工具和框架来实现服务的功能和逻辑。
第六讲:服务测试与验证服务测试与验证是确保服务质量和可靠性的重要环节。
开发者需要设计并执行各种测试用例,检查服务的功能、性能和安全性。
同时,开发者还需要进行服务的验证,确保服务满足用户的需求和期望。
第七讲:服务部署和管理服务部署和管理是将服务投入生产环境的关键过程。
开发者需要选择合适的部署方案,并确保服务的可用性和可伸缩性。
同时,开发者还需要监控和管理服务的运行状态,及时处理和修复故障。
第八讲:服务安全与隐私服务安全与隐私是保护用户数据和系统安全的重要问题。
第一章绪论§1. 面向服务计算概述1.1 服务计算起因和概念随着经济全球化和电子商务的普及,当代企业必须要面对不断变化的市场条件、激烈的竞争压力、新出台的法规以及新的竞争威胁,从而企业要获得竞争优势就要不断调整其业务模式和需求。
因此,企业应用要能需要根据业务的需要变得更加灵活,能够对业务模式和业务需求的变化迅速做出反应,具有“随需而变”的敏捷性。
这种敏捷性体现在新的业务可以通过组合现有的服务快速构造出来,业务的调整也可以通过调整服务之间的关系迅速改变。
这种应用集成既包括企业内的各种应用系统之间的集成,也包括集团企业总部与下属企业、企业与上下游伙伴之间的业务协同。
但是,构建“随需而变”的应用。
面对怎么样的环境呢?随需应变的软件应用需要考虑三个因素:重用、标准化封装和松耦合组装。
重用不仅可以被其它服务或使用者调用,而且可以与其它服务一起组合成新的服务;标准化封装通过提供统一的描述标准,消除软件对语言、平台和厂家的依赖;松耦合组装利用松耦合的组件构造灵活可变的企业应用。
但是,若实现企业应用的快速调整和构造,传统的分布式计算技术存在两大难题:一是应用程序客户端和服务端之间的紧密耦合问题,以微软的DCOM为例,客户端和服务器端都要求遵循同样的API,一旦一个COM对象代码有改变,那么访问该对象的客户端代码也需要相应的更改。
二是不同应用程序之间的异构问题。
由于企业应用严重依赖计算环境,从而使得同一企业不同应用之间,不同企业应用之间还不能有效地相互集成。
总之,传统架构存在的最大缺陷就是对变化的适应性差,难以适应企业不断变化的业务需求。
构造灵活可变的企业应用系统必须通过建立松耦合的计算环境来实现。
计算环境包含一组计算机、软件平台、协议和相互连通的网络。
在该计算环境中,计算机之间、软件平台之间可以通过网络按照协议实现数据交换和信息处理。
采用标准化的服务描述将企业应用进行封装,通过以编程方式实现的自描述接口,提供服务的核心功能,屏蔽了应用的实现细节,这样可以通过服务描述访问服务构造企业应用。
服务计算概论第⼀章绪论§1. ⾯向服务计算概述1.1 服务计算起因和概念随着经济全球化和电⼦商务的普及,当代企业必须要⾯对不断变化的市场条件、激烈的竞争压⼒、新出台的法规以及新的竞争威胁,从⽽企业要获得竞争优势就要不断调整其业务模式和需求。
因此,企业应⽤要能需要根据业务的需要变得更加灵活,能够对业务模式和业务需求的变化迅速做出反应,具有“随需⽽变”的敏捷性。
这种敏捷性体现在新的业务可以通过组合现有的服务快速构造出来,业务的调整也可以通过调整服务之间的关系迅速改变。
这种应⽤集成既包括企业内的各种应⽤系统之间的集成,也包括集团企业总部与下属企业、企业与上下游伙伴之间的业务协同。
但是,构建“随需⽽变”的应⽤。
⾯对怎么样的环境呢?随需应变的软件应⽤需要考虑三个因素:重⽤、标准化封装和松耦合组装。
重⽤不仅可以被其它服务或使⽤者调⽤,⽽且可以与其它服务⼀起组合成新的服务;标准化封装通过提供统⼀的描述标准,消除软件对语⾔、平台和⼚家的依赖;松耦合组装利⽤松耦合的组件构造灵活可变的企业应⽤。
但是,若实现企业应⽤的快速调整和构造,传统的分布式计算技术存在两⼤难题:⼀是应⽤程序客户端和服务端之间的紧密耦合问题,以微软的DCOM为例,客户端和服务器端都要求遵循同样的API,⼀旦⼀个COM对象代码有改变,那么访问该对象的客户端代码也需要相应的更改。
⼆是不同应⽤程序之间的异构问题。
由于企业应⽤严重依赖计算环境,从⽽使得同⼀企业不同应⽤之间,不同企业应⽤之间还不能有效地相互集成。
总之,传统架构存在的最⼤缺陷就是对变化的适应性差,难以适应企业不断变化的业务需求。
构造灵活可变的企业应⽤系统必须通过建⽴松耦合的计算环境来实现。
计算环境包含⼀组计算机、软件平台、协议和相互连通的⽹络。
在该计算环境中,计算机之间、软件平台之间可以通过⽹络按照协议实现数据交换和信息处理。
采⽤标准化的服务描述将企业应⽤进⾏封装,通过以编程⽅式实现的⾃描述接⼝,提供服务的核⼼功能,屏蔽了应⽤的实现细节,这样可以通过服务描述访问服务构造企业应⽤。
第8章 服务与服务计算主讲:高岩 gaoyan_neu@ 东北大学 信息学院 计算机应用技术研究所内容提要8.1 概述 8.2 Web服务组合 8.3 服务科学简介2/398.1 概述什么是服务?管理学家、经济学家、工程学家、信息家、法学 家心理学家、人文学专家、政治学家等的不同理 解服务服务业、现代服务业3/398.1 概述什么是服务?服务是行动、过程和表现 Services are deeds, processes, and performances) ——Zeithamland Bitner “服务”被定义为在一个应用软件内部的一种 方法、过程、或通讯。
这些“服务”或“方法” 是旨在满足某些商业需求的应用程序的操作 ——Elizabeth Chang4/398.1 概述什么是服务?包括所有产出为非有形产品或构建品的全部, 通常在生产时被消费、并以便捷、愉悦、省时、 舒适或健康的形式提供附加价值 ——J. B. Quinn, J. J. Baruch, and P. C. Paquette, “Technology in Services”, Scientific American 257, no.6 (Dec 1987),pp. 50-585/398.1 概述服务在现代社会经济中的地位发达国家,服务主导的经济服务业已成为发达国家经济活动的核心和支柱: 经济合作与发展组织(OECD)中的30个国家经济总 值的70% 来自服务业,美国已达80%。
随着信息技 术的广泛使用,服务正成为这些国家生产力提高、 经济生长以及创造就业机会等的主要动力,补偿 了它们由于传统行业的退化而造成的损失以及就 业机会的减少发展中国家,服务占的比重在上升 随着科学技术的发展,新兴服务和新的服务形式 不断涌现,服务在社会生产和人民生活中扮演着 重要角色6/398.1 概述 西方企业界对服务的认识服务是可有可无的 – 1970s 及以前制造业:在员工和顾客导向系统方面没有投资 服务业:顾客是被动的消费者,内部导向服务作为重要的竞争手段 – 1980s制造业:对客户服务的重视,投入 服务业:顾客导向的服务理念服务作为独立业务 – 1990s制造业:设立服务事业部 (GE、IBM 等成为世界上最大 的服务企业);外包服务 服务业:服务的产品化服务作为一种企业视角 – 2000s制造业:在服务视角下整合全部业务 服务业:回归本质7/398.1 概述 苹果:靠服务创新摆脱制造业低毛利困境苹果公司东山再起凭借ipod,现占有音乐播放器一多半 的市场份额 苹果的iPod造型虽炫,但是功能设计并没多了不起。
服务计算概论(ServiceComputingIntroduction)课程代码:06410133学分:2.0学时:32(其中:课堂教学学时:24实验学时:0上机学时:8课程实践学时:0)先修课程:面向对象程序设计、软件工程适用专业:软件工程、信息安全、计算机科学与技术教材:陈以农,蔡维德著;郭小群,等译,《面向服务的计算和Web数据管理》。
西安电子科技大学出版社:2013-01-31,版次:2开课学院:计算机科学与通信工程学院课程网站:(选填)一、课程性质与课程目标(一)课程性质(需说明课程对人才培养方面的贡献)《服务计算概论》是软件工程专业的选修课程。
服务计算技术是软件工程领域的重要内容,是软件工程技术中发展最快的领域之一,是企业信息化系统的重要架构及建模的设计方法。
服务计算为电子商务设计、web服务技术等课程提供必要的基础。
通过本课程的学习使学生掌握服务计算的基本原理,了解服务计算实现的主要内容,掌握服务代理和服务工程平台的基本方法。
使学生能够识别和判断服务计算软件工程中的关键技术问题,并运用服务计算的知识解决复杂软件工程问题。
(二)课程目标(根据课程特点和对毕业要求的贡献,确定课程目标。
应包括知识目标和能力目标。
)本课程的任务,使学生了解服务计算的基本问题及软件体系结构发展过程;掌握服务计算软件的设计和开发方法及在WEB应用系统中的设计和集成方法;深刻地意识到在复杂软件工程问题中如何运用服务计算知识进行复杂系统的设计和实现。
具体包括:课程目标1:理解服务计算的基本概念、掌握分布式计算的基本理念课程目标2:掌握服务计算体系结构设计中的基本方法课程目标3:掌握WCb服务的设计、开发和集成方法课程目标4:能够在复杂工程问题中运用服务计算知识进行系统设计和实现注:工程类专业通识课程的课程目标应覆盖相应的工程教育认证毕业要求通用标准;(三)课程目标与专业毕业要求指标点的对应关系(认证专业专业必修课程填写)本课程支撑专业培养计划中毕业要求指标点2.11.毕业要求2.1:能够识别和判断复杂工程问题的关键环节和参数注:课程目标与毕业要求指标点对接的单元格中可输入也可标注“H、M、L”。
服务计算概论作业报告服务计算是一门涉及到构建、管理和交互分布式系统的学科,是云计算、大数据等技术的基础。
本文将结合实例,从服务计算的定义、特点和应用等方面进行探讨。
服务计算是一种通过将不同服务组合起来构建应用系统的方法。
它通过将系统功能模块化,将不同的功能服务进行分布式部署,从而提供了灵活的系统架构和服务组织方式。
服务计算具有以下特点:首先,服务计算强调松耦合和组合性。
通过将系统功能拆分成不同的服务,不同服务之间互相独立,通过网络进行通信和交互。
这种松耦合的设计能够使得系统更加稳定和可靠,并且降低了系统的复杂性。
其次,服务计算具有高度可扩展性和灵活性。
由于每个服务都是独立的,可以根据需求进行横向和纵向的扩展。
横向扩展通过增加服务实例来增加系统的并发处理能力,而纵向扩展则是通过增加服务节点的计算和存储资源来提升系统的性能。
再次,服务计算具有高度的智能化和自动化。
服务计算可以通过引入机器学习、数据挖掘等技术,对系统进行智能化分析和优化。
同时,它也可以通过自动化的方式,实现自动部署、自动伸缩和自动监控等功能。
服务计算在许多领域都有广泛的应用,例如电子商务、物联网、智能交通等。
以电子商务为例,服务计算可以通过将不同的服务进行组合,构建出一个完整的电子商务系统。
例如,一个电子商务系统可以包括用户认证服务、商品服务、订单服务等。
这些服务可以独立部署,通过网络进行通信和交互。
同时,他们可以根据不同的需求进行横向和纵向的扩展,提升系统的性能和吞吐量。
此外,服务计算还可以通过智能化和自动化的方式,对电子商务系统进行智能化分析和优化,提供个性化的服务和推荐。
总之,服务计算是一门重要的学科,它通过将不同功能的服务进行组合,构建出灵活、高可扩展性和智能化的分布式系统。
服务计算在许多领域都有广泛的应用,它能够帮助我们构建出高性能和智能化的系统,并且能够提供个性化的服务和推荐。
随着云计算和大数据的发展,服务计算将在未来发挥越来越重要的作用。
第一章绪论§1. 面向服务计算概述1.1 服务计算起因和概念随着经济全球化和电子商务的普及,当代企业必须要面对不断变化的市场条件、激烈的竞争压力、新出台的法规以及新的竞争威胁,从而企业要获得竞争优势就要不断调整其业务模式和需求。
因此,企业应用要能需要根据业务的需要变得更加灵活,能够对业务模式和业务需求的变化迅速做出反应,具有“随需而变”的敏捷性。
这种敏捷性体现在新的业务可以通过组合现有的服务快速构造出来,业务的调整也可以通过调整服务之间的关系迅速改变。
这种应用集成既包括企业内的各种应用系统之间的集成,也包括集团企业总部与下属企业、企业与上下游伙伴之间的业务协同。
但是,构建“随需而变”的应用。
面对怎么样的环境呢?随需应变的软件应用需要考虑三个因素:重用、标准化封装和松耦合组装。
重用不仅可以被其它服务或使用者调用,而且可以与其它服务一起组合成新的服务;标准化封装通过提供统一的描述标准,消除软件对语言、平台和厂家的依赖;松耦合组装利用松耦合的组件构造灵活可变的企业应用。
但是,若实现企业应用的快速调整和构造,传统的分布式计算技术存在两大难题:一是应用程序客户端和服务端之间的紧密耦合问题,以微软的DCOM为例,客户端和服务器端都要求遵循同样的API,一旦一个COM对象代码有改变,那么访问该对象的客户端代码也需要相应的更改。
二是不同应用程序之间的异构问题。
由于企业应用严重依赖计算环境,从而使得同一企业不同应用之间,不同企业应用之间还不能有效地相互集成。
总之,传统架构存在的最大缺陷就是对变化的适应性差,难以适应企业不断变化的业务需求。
构造灵活可变的企业应用系统必须通过建立松耦合的计算环境来实现。
计算环境包含一组计算机、软件平台、协议和相互连通的网络。
在该计算环境中,计算机之间、软件平台之间可以通过网络按照协议实现数据交换和信息处理。
采用标准化的服务描述将企业应用进行封装,通过以编程方式实现的自描述接口,提供服务的核心功能,屏蔽了应用的实现细节,这样可以通过服务描述访问服务构造企业应用。
形象地说就是将软件封装成类似于硬件模块带接口的构件,在接口匹配的情况下可以随时“插入”特定的软件应用完成相应的功能,使服务之间(企业内或跨企业)以松散耦合的形式互联、互操作完成特定的业务需求。
基于服务概念的资源封装和抽象逐渐成为资源发布、共享和应用协同的重要技术基础。
这样,剥离了客户端和服务器端之间的语言/平台依赖,消除了不同应用之间由于采用的不同系统、不同平台和不同语言所造成的异构。
在接口描述不变的情况下,服务实现的任意变更都不会对应用产生影响。
这样,一方面可以将遗留系统封装为服务进行重用,一方面可以直接调用企业外服务提供商提供的服务,从而可使开发者更快速、敏捷地根据企业业务的变化,构造企业应用。
面向服务计算(SOC)是一种新的计算范式,它利用服务为基本构建块,支持异构环境下分布式应用的快速、低成本、便捷的组合。
这种方法的基本思想是通过重用已有的网络服务而不是重新开发来构造企业应用。
重用和组装是这个方法的核心,松散耦合是这个方法的本质。
重用就是使应用系统具有较强的独立性,以便其作为一个“零部件”能随时被单独使用;组装就是高效而灵活地将跨组织、跨平台的应用无缝地进行组合来构造满足企业需求的应用。
松散耦合的目标是使应用系统之间的依赖达到最小,任何应用系统的更改和错误对其他的应用系统没有影响。
服务是自治的,与平台无关的计算实体。
服务是可描述,可发布、可发现的、可以动态组装成分布式的、可交互的、可扩展的系统,服务可以包括从执行简单的请求到复杂的业务流程,该流程要求不同多种层的服务消费者和供应商之间点对点之间的关系。
部署在一个系统中的任何一段代码和任何应用组件都可以重用,并且可以转化为网络服务。
实现这一思想的关键是面向服务架构,SOA是一种合乎逻辑的设计软件系统的方式,通过已发布的或可发现的接口将服务提供给终端用户或者分布在网络上的服务。
一个结构良好、基于标准SOA通过以服务的形式提供独立的、可重用的应用功能和更加健壮的基础,可以赋予企业更加灵活的基础设施和处理环境。
Web服务是当今最有前途的面向服务计算技术,Web服务利用互联网作为传输媒介、利用开放的基于因特网的标准,如简单对象访问协议SOAP 作为传输数据、Web服务描述语言WSDL用于服务定义、业务流程执行语言BPEL编排服务。
Web 服务解决了以往分布式计算平台的两大难题:一个是平台之间的互操作问题;另一个是客户端和服务端之间的紧密耦合问题。
它提供一个与操作系统无关、与程序设计语言无关、与机器类型无关、与运行环境无关的平台,实现网络上应用的共享。
服务技术是由作为一个整体的现代社会而形成的,特别是动态业务、医疗、教育和政府服务等关键领域,同时也将不断推动作为一个整体的社会的形成。
通过封装和重用业务的核心功能、增强灵活性、提高技术迁移的适应性、改善操作效率,应用服务技术降低了复杂性和成本。
由于这些原因,面向服务的范型可望得到迅速地应用,由于它解决昂贵的、难以解决的业务和技术问题,将比以往的任何应用技术更具有前途。
Services technologies are being shaped by, and increasingly will help shape, modern society as a whole, especially in vital areas such as dynamic business, health, education and government services. Applying services technologies leads to reduced complexity and costs, exposing and reusing core business functionality, increased flexibility, resilience to technology shifts and improving operational efficiency. For all these reasons, it is expected that the Service Oriented Computing paradigm will exhibit a steeper adoption curve, as it solves expensive and intractable business and technology problems, and will infiltrate more of the applications portfolio, than previous application technologies.SOC包括服务基本原理、服务组合、服务管理和监控以及面向服务的工程。
§2.服务计算产生的背景服务计算给软件体系架构以及软件开发方法带了革命性的变化,软件体系架构从早期集中式的整体软件体系结构逐步发展成为一种松散、灵活、易扩展的分布式软件架构模式,服务体现了面向服务的编程方法,这种方法改变了传统的重新开发的软件设计理念和方法,通过重用已有的网络服务构造应用的设计思想。
不难看出,服务计算是软件体系架构和软件开发方法不断演化的产物,也是进一步提高和加快软件产业发展的必然结果。
2.1 软件体系架构的发展历程软件体系架构是指构成软件系统的软件元素、软件元素外部可见的属性以及这些软件元素之间的关系。
为便于说明问题,首先介绍软件系统的分层逻辑结构。
一般而言,构造软件时都会遇到三类问题:⑴如何将软件功能以图形或字符人机界面的形式呈现给用户;⑵如何编写实际的应用逻辑实现软件功能;⑶如果利用已有资源如数据库、文件系统等完成对资源的管理和操作。
基于以上分析,软件体系架构从逻辑上可以分为三层,即表示层、应用逻辑层和资源管理层1.主机计算环境。
其软件体系架构的特点是,软件的所有功能集中由主机完成,而分布的是仅仅具有输入输出功能的哑终端或多人分时使用一台计算机。
其优点是其所有功能都在一致的系统环境下实现,因此可方便地对系统进行调试。
其缺点是组成系统的表示层、应用逻辑层和资源管理层之间彼此紧密耦合、很难维护和扩展;各个主机之间的数据、功能很难共享和相互调用。
2.客户/服务器计算环境。
通过局域网相互连接的计算设备构成客户/服务器计算环境,这种体系架构将表示层从集中式的服务器中剥离出来转移给客户端,客户和服务器通过网络协议、远程调用或消息等方式来相互协作,完成计算。
其主要优点是将表示层和其他两层功能分离,降低了对服务器的性能要求,支持跨平台系统开发,还可以根据需要个性化地设计和实现表示层的样式。
主要缺点是客户端和服务器端之间紧密耦合,一般一个特定的客户端只能连接到一台服务器,容易造成“信息孤岛”;另外维护代价高,一旦应用环境发生变化需要改变业务逻辑时,每个客户端程序都要进行更新。
3.多层分布式计算环境。
为了满足更高的可伸缩性需求,C/S计算环境派生出多层软件架构,在C/S架构基础上进一步将服务器端的应用逻辑层和资源管理层分离,把应用逻辑交给单独应用服务器处理。
其中,表示层被一分为二,通用功能由标准应用软件承担、而非通用功能由特定的分布式计算平台实现,浏览器和应用服务器上的表示层之间通过标准文档形式的规范HTML对话;应用逻辑层和资源管理层之间通过标准数据访问协议(JDBC/ODBC)对话。
其主要优点是浏览器和应用服务器之间、应用服务器和资源管理器之间是松耦合关系。
但是,表示层和应用逻辑层之间是紧耦合的,两者之间在技术平台上耦合紧密。
当表示层想访问不同平台如J2EE和DCOM上的应用逻辑时,不得不加入额外的接口适配器代码。
4、面向服务的计算环境。
也就是基于标准、开放的互联网技术,以服务为中心的计算环境。
这是一个以服务为基本单位和抽象手段的世界。
随着互联网(Internet)的发展,开放和标准的网络协议被普遍支持,所有底层计算平台都开始支持这些标准和协议,这导致一个计算环境内部和各个计算环境之间交互的藩篱被打破。
其软件架构的特点是将应用逻辑层封装为Web服务,这样表示层就可以通过XML/SOAP协议与其实现松耦合交互,从而解决表示层和应用逻辑层紧密耦合的问题,保证了通用性和最大的交互能力,这使得计算环境发展到一个全新的阶段—基于标准、开放的互联网技术的计算环境。
在这样的计算环境中,各个部分可以采用异构的底层技术,它们使用XML来描述和表示自己的数据和功能,采用开放的网络协议(如HTTP)来握手,在此之上,基于Web服务来互操作和交换数据。
在这里,一个很重要的新概念是"服务" ,它是一个自包含的功能,使用者通过明确定义的接口(契约)来与一个服务交互,这个接口的描述基于WSDL(Web Service Description Language)这样的开放标准。