- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
服务定向原则第二部分:服务合同和松耦合在前面的文章里,我们建立了一个服务定向设计范例。目前这些范例为我们提供了下面八个普遍原则。 ·服务共享一个正式契约 ·服务是松散耦合 ·服务提取潜在逻辑 ·服务可以重用 ·服务可以组合 ·服务是可发现的 ·服务是独立的 ·服务是无国籍的 这些原则是“普遍的”,因为它们代表了行业层面的关于服务定向的观点。该服务定向由SOA系统公司执行的研究所决定。在文章的第二部分,我们要通过讨论清单上的前两个原则:必须使用服务合同和创建服务间叫做“松散耦合”的关系来深入探讨这些原则。 服务合同的用途 服务被定义成使用一个或多个服务描述文档。在Web服务领域,技术服务描述文档是典型的WSDL定义和XSD模式。该文档是又一越来越具重要性的文档形式。每个文档都可以被分成服务元数据,每一个服务元数据都提供和服务相关的信息。我们可以把服务描述文档整体看做是建立了一个服务合同——一套必须被满足并被能为潜在的服务请求者所接受的条件,以确保成功完成通信和互动。 ·服务端点 ·每个服务操作 ·每个由操作支持的输入和输出信息 ·每个信息内容的数据表示模型 ·服务和操作的规律和特点 因此,服务合同界定了大量的解决方案环境的底层架构,甚至可能提供的语义信息,这些语义信息能够解释作为方案一部分的服务是怎样完成一个特殊任务的。总之,该信息确立了该协议的条件,服务的用户都应该遵循这个条件。 因为许多协议共享这个合同,合同的设计就尤为重要。同意合同的服务请求者便依赖于这个定义。因此,在合同最终发行前,应进行仔细的维护和校对。 在服务定向中,服务合同代表一个基础原则。因此,它能支持并使其它原则得以执行。例如服务抽象性、组合性、可发现性以及接下来要讨论的松散耦合。 怎样才算是松耦合呢? 没人能预测一个IT环境将如何演进。自动化方案将如何发展,是集成化还是随着时间的推移被取代,这些永远都不会被精确的规划出来,因为促使这些变化的要求对于IT环境来说是外在的,应用服务定向的主要目标就是能够用高效的方法回应无法预测的变化。通过在服务之间建立松耦合联系,我们就能实现其灵活性。 对于一个传统的分布式结构模型来说,SOA建立在一个概念之上,即把方案逻辑划分到许多逻辑单位之中。这些逻辑单位能够被集中在一起令商业工作自动化。一个将SOA和其它架构区别开的特征就是这些逻辑单位是如何被要求联系在一起的。 这就是耦合的来由,软件程序间的耦合可被看做是代表测量依赖性的一种方法。依赖性越强,耦合就越紧。而无依赖不表示一个去耦状态。我们强烈推荐最大限度地减小SOA里逻辑(服务)单位的依赖性。这种特定的关系被称作“松散耦合”并且通过将服务和请求者间的依赖性限定到服务合同所表达的信息范围内,同时在设计协议时不必要只针对某个特定的服务请求者,就可以实现松耦合。 如果坚持这个原则,新建的服务就会明显的独立于其它服务。这样就使正在标准化SOA的机构能够积累一系列服务,作为相对独立的逻辑单位,这些服务可以按照需要被配置到新的结构中。当为了建立一个面向服务的企业而创建多种服务时,这些服务可以被分成特定的服务模型。这就使他们在自己封装的逻辑方面更为专业。 在标准化一套服务模型时,能够成功抽取更大的域。这就使机构能够通过创建代表不同域的服务层而在企业的特定领域有效的建立具有战略意义的松耦合联系。通过这样做,松耦合带来的利益会得到增大—最明显的是它促进了机构灵活性—。这就展示了作为范例的服务定向并没有局限于服务设计层面。它的原则可以在企业整个领域得以广泛应用。 下一步 在文章的第三部分,我们将继续探讨另外两个原则,其中一个是服务抽象性。我们将扩展有关松耦合的解释,并研究怎样通过让基础逻辑和被服务封装的技术独立演进把抽象性和促进组织灵活性联系在一起的。服务定向原则的第三部分:服务抽取性和服务重用抽取功能和技术 提及服务接口层面的提取,原则上是鼓励人们建立类似黑盒的服务,并有意隐藏潜在用户的基本详细资料。通过规范的使用服务合同可以完成抽取。将服务的公开信息限制在服务合同指定的范围内,就可以极大程度的在私人(隐藏)信息和公开(可消费)信息间实现分离。 这里对逻辑服务代表事物的数量没有限制。一个服务可能只是执行一个简单的任务,或者在整个自动化方案被用作网关。对一个服务能使用的自动化方案的来源也没有限制。 举个例子,单个服务可以揭示多种不同基础系统的逻辑。事实上,当我们在向服务模型标准化迈进时便建立了一个和营业个体及和商业活动相关的功能环境,人们希望在充满旧方案的环境下,一个服务能够普遍揭示依赖许多不同系统的功能。 服务接口层提取是分布式平台提供的固有的品质,例如组件和基于服务的Web架构。Web服务的应用是协同的,因为它提升了可
您可能关注的文档
- 车辆质心侧偏角估计算法设计及对比分析_刘飞.pdf
- 自动化 第9章 串行口和其应用2.pdf
- C语言入门及提高4.pdf
- 数据库系统概论 第三篇 关系数据库标准语言SQL.ppt
- 多种运算符应用.docx
- QT线程start()与run().docx
- C与指针读书笔记.docx
- C语言入门教程10(函数参数的传递与值的返回).doc
- 一种电力云数据中心任务调度策略.pdf
- IOS开发之怎样使用第三方库ASIHTTPRequest.pdf
- 数据仓库:Redshift:Redshift与BI工具集成.docx
- 数据仓库:Redshift:数据仓库原理与设计.docx
- 数据仓库:Snowflake:数据仓库成本控制与Snowflake定价策略.docx
- 大数据基础:大数据概述:大数据处理框架MapReduce.docx
- 实时计算:GoogleDataflow服务架构解析.docx
- 分布式存储系统:HDFS与MapReduce集成教程.docx
- 实时计算:Azure Stream Analytics:数据流窗口与聚合操作.docx
- 实时计算:Kafka Streams:Kafka Streams架构与原理.docx
- 实时计算:Kafka Streams:Kafka Streams连接器开发与使用.docx
- 数据仓库:BigQuery:BigQuery数据分区与索引优化.docx
文档评论(0)