分享
 
 
 

应用:创建一个有效的SOA服务分类

王朝数码·作者佚名  2008-11-11
窄屏简体版  字體: |||超大  

【eNet硅谷动力专稿】很难想像没有服务的面向服务架构(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。

企业服务

包含在服务中的这一服务类型也被视为SOA的核心服务。企业服务是实施商务服务的具体服务。企业服务和商务服务之间的关系不是一对一或多对一的关系(许多企业服务执行一个单一的商务服务)。由于企业服务的范围跨越应用领域,他们通常是被企业的IT架构师或共享服务团队所识别和定义。它们是具体的服务,这意味著他们通过某种形式的基本技术或供应商的产品来实施。如同商务服务,这些服务通常是有偏向的并代表依靠主要数据实体的行为。

由于企业服务和商务服务之间的关系通常是一种多对一的关系,企业服务通常需要某种形式的服务编排,它可以通过累计服务,或通过中间件技术(如企业服务总线或工作流引擎)。例如,一些企业服务将需要精心策划实施CreateQuote商务服务,包括createCustomer、checkMotorVehicleReport、calulateQuote和saveQuote。普遍的误解是,企业服务必须在整个企业中共享。虽然企业服务普遍被共享,这当然不是一个要求。然而,企业服务应该是有偏向的,并在有需要的时候有能力在整个企业中共享。

企业服务的范围内包括商务服务的范畴,因此,实施某种商业逻辑的形式。例如,审计服务,但需要遵守法规,而且将不会被认为是企业服务。相反,这种类型的服务将归入基础设施服务(见下文),因为他并不直接提供服务的具体业务功能。

商务服务中指定的数据(和格式)与企业服务预期的数据(和格式)之间存在潜在阻抗不匹配,他们的实施通常是通过信息处理和信息转化,这通常是通过设置在一个中间件或企业服务总线中的XSLT来转换。

应用服务

虽然应用服务被认为是一个基本的服务类型,但这一服务类型并不包含在SOA核心服务的范围内;相反,他们被称为配套服务。这些具体的服务随着具体应用通常很细致和具有相关性。换句话说,他们申请(或简仓)范围,因此通常不在企业中共享。应用服务通常被应用程序开发商确定和界定,并定义了他们的具体适用范围。

应用服务通常是用来执行细致的特定应用功能,如审定,数据收集和数据传输。例如,当创建一个自动报价的应用开发人员可以创建如addDriver,addAddress和addVehicle这样的服务。这些服务是用来积累被商务服务界定的商务服务输入和输出规范所需要的数据。

基础设施服务

这种服务类型被定义为用来支持企业。例子包括:基础设施服务等方面的记录、审计、数据存取和安全。这些具体的服务一般是共享的企业和使用企业服务(和一些应用服务)。

企业服务与基础设施服务的区别是基础设施服务非商业功能。如果考虑到监管要求,例如审计和遵守时,基础设施服务和企业服务之间就会出现灰色地区。虽然有些形式的审计和遵守被指定为业务需求,这些服务并没有具体处理一个特定的用户或业务功能,而是支持业务需求。

基础设施服务通常是由软件开发商或基础设施的支持团队来确定和实施。他们一般有企业级的范围,这是他们通常混淆企业服务的原因之一。服务分类指导方针

你可以在水平或者垂直方向上延长4个基本类型以满足你的特殊需求。然而,在考虑扩大基本层次,读者可能需要考虑下列服务分类指导原则:

第一,如上文所述启动你的服务分类的思想基本服务类。如果你认为需要同等水平额外的服务类型,确保它不与其他方面的服务类型重叠。如果你认为你需要一个基于基本水平额外的细分服务类型,那么请继续往下看。

避免创建特定域服务类型常见的陷阱。举例来说,如果在保险领域,就需要避免造成如索赔服务,政策服务这样的服务类型。这些都不是服务类型,而是通过代表各类服务的实际的网络服务名称。换句话说,有许多不同的服务类型,构成了索赔服务(例如,商务服务和企业服务)。不要混淆实际的服务名称(例如,策略服务)和服务类型(例如,商务服务)。

让你的分类等级尽量简单,避免意外的复杂性;记住服务分类的目标之一是便于沟通各利益相关方面和包括SOA初始分组。复杂的层次服务类型会造成混乱,妨碍你了解你正在使用的服务类型。复杂的层次必然导致更多的辩论和冗长的会议,广泛的层次结构应该扩大,而且还增加了你分类等级服务类型重叠的机会。

考虑在不同服务分类的业务类型中建立一个简单的背景图关系,尤其是如果你的等级分类延伸了四个基本的服务类型。这可以大大有助于服务类型融入大局的理解。

创建一个商定的模板记录的定义和属性的服务分类。在一般树图加上背景图和一个简单的文件范本,对于有效文件和服务分类的沟通是有必要的。尽量不要使用过度复杂的工具或基于UML来描述等级。如果你需要这样的工具,将会增加你的服务类型的复杂性,应予以简化。

不要等到SOA初始化顺利进行,然后才开始建立一个服务分类;应该在SOA初始化时尽快的开始使用基本的SOA服务类型来建立一个服务分类,在项目启动阶段这是有必要的。

如果你最终有点像“鸭喙鸭嘴兽”时创造的服务分类,停止和重新审视你如何确定你的服务类型。毕竟,你只是划分服务类型。总之,尽量的保持简单。

总结

在你的SOA初始化早期,一个有效的服务分类可以大大提高你的成功机会。开始简单,使用四项基本服务类型,并只在必要时延长等级分类。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有