很难想像没有服务的面向服务架构(SOA)是什么样子的,毕竟,服务是SOA的重点(甚至在它的名称中也是)。如果面向服务架构是一种商务和技术架构把围绕服务作为目的的一种方法,那么,究竟什么是服务呢?很不幸的是,这个问题的答案会有很大的不同,这取决于谈论的人以及SOA如何在企业中实施。当试图设计并实施基于SOA的解决方案时,这种变化往往会造成相当多的混乱。
目前有一些接触的面向服务的方法可用,其中大部分描述程序识别、定义、详细说明、实现和管理服务。虽然这些方法提供了方向和必要的工具,以帮助在你的组织中实现SOA,但是它们没有解决服务究竟是什么这个根本问题。
服务是难以确定的,因为在面向服务架构中实际上有很多种不同类型的服务。了解存在哪些类型的服务、这些服务类型如何定义及关联以及它们是如何与你组织中的决策者相关联的,这些是初步实施基于SOA解决方案的关键。本文中编者将描述一种建立服务分类的方法,以帮助读者在组织中有效的进行基于SOA的初步服务分类。
概要
分类学是一种使用分级分类结构把东西归类的方法。我们使用等级分类制度把动物按照门、类、科、属及物种来分类。利用这种方法,我们可以按照动物类似的特点和功能,从非常一般(门)到非常具体(种)进行分组。我们可以套用这些相同的概念,按照我们的方式为SOA分类并确定服务类型。但是,这并不像二项式命名的定义那么简单,在SOA中不存在制定分级分类服务的基本术语。幸运的是,相对二项式命名来说,创造一种分类办法和SOA服务分类是比较简单的。然而,我们有时仍然会做错。
服务分类是在SOA中区分不同类别的服务应用。服务等级分类制度的目的在于,为不同类型的服务提供清晰、简明并且不重叠的定义,这些你可能会在SOA应用初期遇到或者使用。一个有效的服务分类在SOA初期将有助于各种团体和个人、商业用户和应用软件开发商的沟通。它通过提供一种共同和可接受的语言,从而在组织各利益相关方面中更有效的沟通。
因为我们没有一个SOA服务类型分类的标准手段,不幸的是,每当我们开始着手于一个新的SOA项目,我们必须建立一个新的层次分类。服务分类对于不同公司和SOA应用来说有很大的不同;一些公司做的正确,但大多数似乎都是错误的。如何认识一个好的分类与一个差的分类是本文内容的一部分;另一部分是如何构建一套标准的服务分类,为你的SOA实施建立一个更加有效的分类方法。
一个有效的服务分类应该是这样的:具有明确的定义、简洁、而且最重要的是非重叠。当创建一个服务分类时应设法简化必不可少的复杂性(问题本身固有的复杂性),而同时也应试图避免意外的复杂性。实现这一目的的一种方式是,启用四个基本的SOA服务类型,并且必要的话只提供这些服务类型。
基本的SOA服务类型
当开始发展任何SOA服务分类时,四项基本服务类型是一个良好的开端:商务服务、企业服务、应用服务以及基础设施服务。这是最简单的层次,而且在多数情况下可能会满足你的特定区域的需求。
一下各节描述这些四个基本SOA服务类型的属性和特点。虽然你最有可能找到这些类型满足你的特殊需求,如果需要的话,可以确定的进一步扩大这些需求。在这里笔者提出一些作为常识的指导方针,并且教读者如何避免常见的陷阱与扩大这一基本等级。
商务服务
包含在服务中的这一服务类型被认为是SOA的核心服务。它们可以从用例,用户角度,用户情况或者通过鉴定的服务措施和规范中发现许多基于SOA的方法。他们是有偏向的,通常由企业用户识别和定义,并描绘一个业务流程或者功能。当他们描述了一个高级用例或用户情况。商务服务是包含一个服务名称的抽象定义,独立于输入规范、输出规范的基本技术。换句话说,输入和输出规范的服务代表数据和资料的收集和消费的服务。
例如,为了产生一个自动报价,一家保险公司从客户收集的具体资料,存储这些信息,然后给客户提出自动报价。保险公司为建立自动报价收集的信息将体现在服务输入规范,以及它返回给客户所提供的信息将体现在服务输出规范上。这一商务服务的名称可能是CreateQuote。重要的是要认识到,这一商务服务的输入和输出数据规范是完全独立的基本技术,语言或平台被用来实现业务服务。从技术上讲,而商务服务通常是通过类似WSDL(Web服务定义语言)这样的标准来实施,他们可以在任何类型的数据链(合同定义语言),变为WSDL、XML或者其他一些界面语言。
商务服务这一名称通常是构造成一个动词的名词形式,作为动词是一种典型的CRUD(创建、读取、更新和删除)和名词代表的一个主要的商业实体中发现一个典型的商业实体模型。典型的例子包括商务服务CreateQuote、ExecuteTrade、GetCustomer、GetPolicy和PlaceOrder。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
联合创新,携手共赢 华为与Commvault签署全球合作联盟协议
【中国,上海,2015年9月19日】在2015年华为云计算大会上,全球领先的信息与通信解决方案供应商华为与美国知名的数据管理软件及相关服务主要供应商Commvault签署全球合作联盟协议。基于合作协议,双方将会加大投入数据中心备份解决方案在云化环境下的“可服务化”技术研究 。Commvault公司全球业务发展副总裁Andreas May、华为IT数据中心解决方案总裁马力出席签约仪式。