1k likes | 1.23k Views
软件技术的 新热点 : 面向服务的计算 Service-Oriented Computing (SOC). 西北大学软件工程研究所 郝克刚. 面向服务的计算 Service-Oriented Computing(SOC) , 面向服务的结构 Service-Oriented Architecture (SOA). 2005 年曾为我校研究生做过的一个报告。 一些研究生开展了这方面的工作。. 服务的组合。 模型和理论。 结束语。. 讲座大纲. 软件技术的新热点:面向服务的计算。 发展的历史渊源:
E N D
在西北第二民族学院的讲座 2007.6 软件技术的新热点: 面向服务的计算Service-Oriented Computing (SOC) 西北大学软件工程研究所 郝克刚
面向服务的计算 Service-Oriented Computing(SOC), • 面向服务的结构 Service-Oriented Architecture (SOA). 2005年曾为我校研究生做过的一个报告。 一些研究生开展了这方面的工作。 在西北第二民族学院的讲座 2007。6
服务的组合。 • 模型和理论。 • 结束语。 讲座大纲 • 软件技术的新热点:面向服务的计算。 • 发展的历史渊源: • 信息系统结构的发展趋势。 • 软件的生产方式的转变。 • 软件技术的发展。 • 面向服务的结构 SOA 。 • 服务的描述。 • 服务的发现。 在西北第二民族学院的讲座 2007。6
一,软件技术的新热点 • SOC — 软件技术的新热点。 • 从比尔盖茨关于消除信息孤岛的讲话说起。 2001, Bill Gates :Microsoft .NET Today 2006,比尔·盖茨:明日工作新世界 在西北第二民族学院的讲座 2007。6
Bill Gates : Microsoft .NET Today June 14, 2001 • 大多数业务信息都存储在集中式的数据库中,在需要时,向个人用户一次提供一个页面。糟糕的是,这种页面只是一种数据的 “图画”,而不是数据本身,迫使开发人员去“屏幕刮取”所需的信息。 • 今天这种孤立的应用和 Web 网站创建的是功能和数据的孤岛。 • 解决这些问题是对下一代 Internet 的关键性挑战。 • 解决方案的核心是可扩展的标注语言(eXtensible Markup Language, or XML. )在以XML为基础的技术(如SOAP、 UDDI等)的帮助下创建一类新的软件。 在西北第二民族学院的讲座 2007。6
比尔·盖茨:明日工作新世界 • 由于XML和丰富Web services的出现,企业能够日益与合作伙伴无缝分享信息和过程,并建立一些虽然跨越多个机构但作为一个统一整体工作的供应链。 • 我们将通过下一代生产力平台实现这个目标,这个平台将建立于当今微软Office程序和服务系统的扎实基础上。我们将使人们能够创建更有效的专业文件,能够从任何地点获取工作信息,能够更好地管理个人、团队和项目任务。 • 基于XML Web services标准的.NET 开发平台可以实现个人之间,个人与企业之间,和企业之间的信息互连,这样就实现人们可以随时随地存取和使用信息的梦想。 在西北第二民族学院的讲座 2007。6
各软件公司纷纷提出对策。 • Microsoft 微软宣布推出Windows .NET Server RC1,预见下一代平台技术浪潮 • Sun. 面向服务的体系结构因其固有的松散耦合与互操作性,成为许多企业应用的自然选择。使用 J2EE 提供的 Web 服务功能可以很容易地构建能够访问现有业务流程的 SOA 系统。 • IBM推出新软件与服务 隶属面向服务体系结构。 • Oracle。应用程序网格计算的特征和优点恰恰是面向服务体系结构(SOA) 的特征和优点 在西北第二民族学院的讲座 2007。6
IT理念殊途同归 • VERITAS 强调,在“效用计算”模式下,可用性将使数据和应用“永远在线”,从而确保最终用户随时都可以获得服务; • BEA 指出“流体计算” 能帮助企业将IT响应时间从几个月缩短为几分钟,其最终目标是使实时的业务目标与企业的每一步变化紧密结合在一起; • Microsoft比尔盖茨表示,在“无缝计算”的世界里,人们可以实现在任何时候、任何地点、任何设备得到任何想要的信息。 • IT厂商理念虽然层出不穷,随需应变、效用计算、流体计算、无缝计算、实时企业、动成长企业等等理念看似复杂、毫不相干,但是他们骨子里却都透着面向服务、整合资源、按需分配、实时反应共性。 • 面向服务的计算(SOC)是实现上述理念的技术基础。 在西北第二民族学院的讲座 2007。6
World Wide Web Consortium (W3C) • 互联网协调指导委员会(W3C)为适应SOC开展了一系列工作 • 成立工作组, • Web Services Addressing Working Group , • Web Services Description Working Group • Web Services Architecture Working Group • Semantic Web Services Interest Group • Web Services Choreography Working Group • 制定标准: • XML-RPC, SOAP, WSDL ,OWL ,WS-CDL,…… 在西北第二民族学院的讲座 2007。6
国际会议 • International Conference of Service Oriented Computing (ICSOC) • Trento, Italy (2003) • New York City, USA (2004) • Amsterdam, the Netherlands ( December 12-16, 2005 ) • Chicago , USA (2006), • Vienna, Austria (2007) 在西北第二民族学院的讲座 2007。6
IEEE SOCA 2007 • (SOCA'07) IEEE International Conference on Service-Oriented Computing and Applications June 19-20, 2007, Newport Beach, California • theoretical foundations, 理论基础 • service infrastructures, 服务基础设施 • and their applications and experiences 应用和实践 • Springer Journal on Service-Oriented Computing and Applications (SOCA), • Information Systems Frontiers (ISF) • Journal of Information Science and Engineering (JISE). 在西北第二民族学院的讲座 2007。6
中国软件技术大会 中国软件技术大会于2005年 11月26、27日在京举办. 被誉为“下一代软件架构”的SOA由概念走向实践,得到了业界的一致认同和追捧,可算是当今最热门的话题。 • BEA产品技术总监将为大家带来SOA实施的产品策略,意在教会大家用基础服务架构释放IT潜能; • 微软中国软件架构首席顾问则带来了微软以SOA模式开发现代企业应用系统需要一个全面支持Web Services标准的编程模型和运行平台; • Sybase高级系统顾问带来了面向SOA的新一代应用集成开发工具; • 正邦软件技术总监,东方通科技的副总设计师带来了金融与电信的SOA架构,新一代面向服务的企业整合技术与中间件平台 在西北第二民族学院的讲座 2007。6
2006中国软件技术大会 • 2006年12月1日 “中国软件技术大会2006”主题报告 IBM 大中华区软件集团中国区总经理林鸿昱: “构建企业成功之路——切入 SOA” 。 • SOA这一种支持将业务动作整合为服务工作流的IT 架构,已经给企业带来巨大的业务价值。 • 分会场一基础软件技术 • 分会场二 软件工程与项目管理 分会场三SOA与应用软件 • 分会场四 企业信息管理和应用 分会场五 软件热点论坛 在西北第二民族学院的讲座 2007。6
计算机学报 2005.4。(相当于专辑) • 题目:分布应用集成核心技术研究综述题目:面向服务的知识发现体系结构研究与实现题目:一种有效负载均衡的网格Web服务体系结构模型题目:一种面向服务的动态协同架构及其支撑平台题目:Web服务组合的基于文法的消息处理题目:网格环境合同计算元服务的设计与应用题目:面向服务的织女星网格系统软件设计与评测题目:Web服务描述语言QWSDL和服务匹配模型研究题目:领域自适应的Web服务评价模型题目:面向服务的本体元建模理论与方法研究题目:基于服务网关的虚拟服务缓存的研究和应用题目:一种服务网格动态信息聚合模型及其应用题目:一种支持业务端编程的服务虚拟化机制VINCA-VM题目:一种基于移动Agent的复合Web服务容错模型题目:一种Web服务的测试数据自动生成方法题目:CGSP作业管理器合成服务的QoS优化模型及求解 在西北第二民族学院的讲座 2007。6
大学研究生课程 Department of Computer Science North Carolina State University Course on Service-Oriented Computing • Chapter 1: Computing with Services • Chapter 2: Basic Standards for Web Services • Chapter 3: Programming Web Services • Chapter 4: Enterprise Architectures • Chapter 5: Principles of Service-Oriented Computing • Chapter 6: Modeling and Representation • Chapter 7: Resource Description Framework (RDF) • Chapter 8: Web Ontology Language (OWL) 在西北第二民族学院的讲座 2007。6
大学研究生课程 • Chapter 9: Ontology Management • Chapter 10: Execution Models • Chapter 11: Transaction Concepts • Chapter 12: Coordination Frameworks for Web Services • Chapter 13: Process Specifications • Chapter 14: Formal Specification and Enactment • Chapter 15: Agents • Chapter 16: Multiagent Systems 在西北第二民族学院的讲座 2007。6
大学研究生课程 • Chapter 17: Organizations • Chapter 18: Communication • Chapter 19: Semantic Service Selection • Chapter 20: Social Service Selection • Chapter 21: Economic Service Selection • Chapter 22: Building SOC Applications • Chapter 23: Service Management • Chapter 24: Security • Chapter 25: Challenges and Extensions 在西北第二民族学院的讲座 2007。6
专著 Thomas Erl Service-Oriented Architecture A Field Guide to Integrating XML and Web Services 在西北第二民族学院的讲座 2007。6
Service-Oriented Computing: Semantics, Processes, Agents by Munindar P. Singh, Michael N. Huhns 在西北第二民族学院的讲座 2007。6
Web Services EssentialsDistributed Applications with XML-RPC, SOAP, UDDI & WSDLBy Ethan Cerami 在西北第二民族学院的讲座 2007。6
Understanding SOA with Web Services Eric Newcomer Greg Lomow 在西北第二民族学院的讲座 2007。6
二、发展的历史渊源 • 信息系统结构的发展趋势 从主机终端、个人计算机、C/S,B/s → 到普适计算。 • 软件的生产方式的转变 从个人、团队→ 到社会化。 • 软件技术的发展 从结构化设计、面向对象、面向构件 → 到面向服务的计算。 在西北第二民族学院的讲座 2007。6
1,信息系统结构的发展趋势 • 主机,终端结构(Mainframe) 很多人共享一台计算机 • 个人计算机(Personal Computer) 一台计算机一个人使用 • 因特网(Internet)- 世界范围的分布式计算 . . .过渡到. . . • 无处不在、适普计算 (Ubiquitous、Pervasive Computing) 很多计算机为我们所共享。 在西北第二民族学院的讲座 2007。6
早期的主机(Mainframe) 结构 • 早期的计算机,称为“主机” 时代。回想那时人们和计算机的关系,主要是由专家在机房里运转计算机。 • 那时计算机是极其稀缺的资源,使用时必须排班,和别的人共同拥有,轮换使用;后来使用分时终端,共享主机。 在西北第二民族学院的讲座 2007。6
集中式的系统结构 终端 Terminal 3270 Terminal Terminal 主机 Terminal Terminal Mainframe Terminal Terminal Terminal Terminal Terminal Terminal 在西北第二民族学院的讲座 2007。6
个人计算机的时代 • 第二个阶段是个人计算机的时代。 • 七十年代中期,个人的计算机的销售量超过了主机的销售量。 • 1984年使用个人的计算机的人数超过了使用共享计算机的人数。 在西北第二民族学院的讲座 2007。6
计算的发展趋势 个人计算 年销售量 普适计算 主机计算 在西北第二民族学院的讲座 2007。6
互联网上的计算机数目 109,574,429 93,047,785 72,398,092 因特网时代 • 1994年因特网商业化以后迅速崛起 在西北第二民族学院的讲座 2007。6
Jan2007:433,193,199 互联网上的计算机数目 Jul2006:439,286,364 Jan2006:394,991,609 在西北第二民族学院的讲座 2007。6
Workstation Client PC Client PC Client PC Client E-Mail Server Web Server Database Server 客户端-服务器系统结构( Client-Server) 在西北第二民族学院的讲座 2007。6
Web Server Web Server Database Database 浏览器-服务器系统结构(Browser-Server) Workstation Browser PC Browser PC Browser PC Browser Internet 在西北第二民族学院的讲座 2007。6
无处不在、适普(UC)计算的时代 • 适普计算的根本特征,就是世界上各种各样东西中嵌入的计算机用网络实现连接。 • 这些东西的尺寸可以有大有小,包括仅仅用显微镜才可看见的微小物件。例如,一部分计算机将嵌入在各种各样东西中,如墙壁,椅子,服装,灯的开关,家电,汽车等。 • 无处不在。例如大量遍布在每个办公室、每个人身上、家庭、娱乐场所和各种需要的地方。包括各种规格的无线计算设备、传感设备和控制设备等。 在西北第二民族学院的讲座 2007。6
适普计算的特征 • 以人为中心的计算,使计算机的使用符合人的习惯,在任何时间和地点,人们通过任意设备和网路,访问所需的信息。 • 不可见的计算,将计算机自然、合理地嵌入到人们日常工作和生活环境中,使其从人们的视线中消失。人们通过新一代自然交互界面,进行自然、方便的交互。 • 无线联结技术的应用。如果用有线的接插件将是相当复杂的事。无线联结技术省去了设备接、插所带来的所有麻烦,使局部结构的设置变得非常容易。 在西北第二民族学院的讲座 2007。6
适普计算的特征 • 在现代的家庭里,容易发现数十台以上的微处理器,如闹钟,微波炉,电视遥控器,立体音响和电视系统,儿童玩具等。 • 但是这些还不能称其为适普计算的理由是:它们主要是一个一个单独地使用,并且,它们被封装为旧式样的设备,如烤面包机和钟等。 • 只有把它们捆绑在因特网上,从而把你这些信息发布系统同数百万信息源接在了一起,才称得上适普计算。 在西北第二民族学院的讲座 2007。6
瘦客户端和瘦服务器 • 目前,关于“瘦客户端”谈论得很多。用几百美元的花费就可购买到轻量级的的因特网浏览装置。 • 但是 UC将看到花费仅仅为几十个美元或者更少的瘦的服务器的创造,把完整的因特网服务器放入所有家电和各种办公设备中。 • 下一代的因特网协议 IPv6 能为地球表面上所有原子建立1000个以上设备地址,将满足我们全部的需要。 (128 位可以表示超过 3.4 X1038可能的组合 ) 在西北第二民族学院的讲座 2007。6
UbiquitousComputing MainframeComputing Desktop Computing 在西北第二民族学院的讲座 2007。6
2,软件的生产方式的转变 • 早期软件的编制依赖于编程人员的聪明才智,人员的流动对软件的开发和维护带来极大的困难。 • 随着软件规模的增大,需要有专门的软件开发公司(软件供应商)来承担。在公司内组织团队进行开发。开发方法和 CMM 出现 • 软件生产的专门化、社会分工的形成,第三方软件的应用,软件集成,软件外包,开源软件的兴起,… → 到软件生产的社会化。从个人、团队。 在西北第二民族学院的讲座 2007。6
3,软件技术的发展 从结构化、面向对象、面向构件 →到面向服务。 • 结构化分析与设计:流程图,模块图。 • 面向对象的分析和设计:“从对象(物体、概念或实体)的角度考虑问题域和逻辑解决方案” ,对象定义为“特点在于具有许多操作和状态(记忆这些操作的影响)的物体”。 • 基于组件(构件)的设计:粗粒度对象。通过内聚一些更细粒度的对象来提供定义良好的功能。通过这种方式,可以将打包的解决方案套件封装成 “组件”。 • 面向服务的结构:它是将组件描述成提供相关服务的封装的可执行代码单元。粗粒度的可发现软件实体通过松散耦合,和基于消息通信的接口与应用程序和其他服务交互。 SA、SD → OOD → CBD → SOD 在西北第二民族学院的讲座 2007。6
单元的粒度(granularity)在增大 在西北第二民族学院的讲座 2007。6
服务与使用的分离 在西北第二民族学院的讲座 2007。6
CORBA/COSS/MDA Java/RMI/J2EE Web Services COM/DCOM/.NET 不断发展的多样性 多种标准 多种文化 “英联邦”模式 “联合国”模式 “单极”模式 SOA、SOC 在西北第二民族学院的讲座 2007。6
三,面向服务的结构Service-Oriented Architecture (SOA). • 服务提供者:服务提供者将自己的服务和接口约定发布到服务注册中心。它的服务注册后,即成为一个可通过网络寻址的实体,可以接受和执行来自使用者的请求。 • 服务注册中心:服务注册中心接受服务提供者的服务注册,并在一个可用服务的注册存储库中保存,支持服务的查找和发现。感兴趣的服务使用者可以在服务注册中心查找和发现所需的服务的接口。 • 服务使用者:服务使用者是一个应用程序、一个软件模块或需要一个服务的另一个服务。它通过对服务注册中心中的查询,发现和选择所需的服务,然后,通过传输绑定服务提供者提供的服务,并且根据接口约定执行服务功能。 在西北第二民族学院的讲座 2007。6
需求者 提供者 服务提供者和需求者的分离和松散联系 在西北第二民族学院的讲座 2007。6
发现:服务请求者查询服务注册中心来找到满足其标准的服务。发现:服务请求者查询服务注册中心来找到满足其标准的服务。 • 发布:服务提供者发布服务描述,以使服务使用者可以发现和调用它 服务注册中心 • 绑定和调用:服务使用者根据服务描述中的信息来调用服务。 服务提供者 服务使用者 在西北第二民族学院的讲座 2007。6
不同的理解和定义(W3C). • Service-Oriented Architecture: • A set of components which can be invoked, and whose interface descriptions can be published and discovered (W3C). • 面向服务的结(架)构由一组可被调用的组件构成,而且它们的接口的描述能公开发布和被发现。 在西北第二民族学院的讲座 2007。6
不同的理解和定义(CBDI) • The policies, practices, frameworks that enable application functionality to be provided and consumed as sets of services published at a granularity relevant to the service consumer. Services can be invoked, published and discovered, and are abstracted away from the implementation using a single, standards-based form of interface. (CBDI) • 策略、实践习惯、框架,使得: • 应用功能作为一组发布的服务,以服务使用者相关的粒度,提供和使用。 • 服务能被调用、发布和发现。 • 服务从它的实现中抽象出来,使用单一的标准化的接口形式。 在西北第二民族学院的讲座 2007。6
四,服务的描述 Service Description • 什么是这里指的服务 • 如同对象和构件,服务表示那些能以我们熟悉的方式组成大的功能的构建模块 • 与对象和构件类似,服务是基本的构建模块,它 • 把信息同行为结合在一起, • 把内部的工作隐藏起来,以防外部的干扰, • 对结构的其余部分,只呈现相对简单的接口。 在西北第二民族学院的讲座 2007。6
交互 Interactions Via Methods Via Messages Purchasing Sales SubmitPO CatalogService() invoke AckPO catalog Purchasing() confirmation # SubmitASN invoke Order() SubmitInvoice SubmitPayment 在西北第二民族学院的讲座 2007。6