SOA专家Dave Linthicum说,当你观察那些建立SOA的企业的时候,似乎有一些明显的趋势:他们或者分解的服务数量太多,或者分解的数量不够。SOA的核心观点是把你的架构分解为信息和雨信息有关的服务。因此,SOA中的“S”就是服务。然而,许多人正在把服务分解成太多的部分,或者分解的远远不够。Linthicum说,也许我能提供帮助。
如果服务分解看起来在SOA中是新的,实际上却不是。事实是,作为一种设计技术,分解自从结构化程序设计的时候就出现了。当时,我们是做流程分解以便在我们把这个设计提供给程序员之前更好地定义系统。
实际上,服务分解是把比较长的、粗颗粒的服务分解为比较小的、细颗粒的服务。根据架构的对象,可以创建和应用许多分解规则。这个规则对于架构有巨大的影响。这些影响包括:
·灵活性
·性能
·开发时间
·再利用
·复杂性
因此,你必须知道什么时候停止分解服务,不管这些服务是否来自现有的系统或者从头建立的系统。但是,怎样做呢?下面是Linthicum提出的服务分解的一些简单技巧:
1.一定要建立有关服务分解的架构规则,考虑到上述各个项目。一定要把规则写下来并且与其他设计师共享。例如,有人需要确定粗颗粒的或者细颗粒的服务应该是什么样的才能提供需要的性能以及再利用。
2.作为拇指定律,一个服务应该仅提供一个单项功能,一般不超过500行的3GL代码(如C++)。
3.例如,验证客户信贷等级(指向一个单独的功能)与处理客户信贷申请(主要是许多功能结合在一起的)。再说一次,这只是拇指定律。
一定要让开发人员参加服务分解流程。因此,当他们过度分解服务或者分解服务不足的时候,他们应该能够让你知道可用的服务是什么和不可用的是什么。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
如何避免云计算与SOA冲突