SOA概述

在最近一篇博文中JP Morgenthal解释了概括的SOA实施是:

\
标识、合并、编排并治理一组业务功能或能力。
\

Morgenthal从解释SOA中的服务的确切含义开始:

\
很多东西都可以被称为服务,这是SOA问题产生的地方所在。我认为在SOA环境中使用的“服务”这个单词暗指了特定的含义,它过滤了大部分不适用的服务定义……SOA是一个用于标识和描绘特定域内的业务功能边界的架构方法。域可以是一个组织单元,也可以是整个企业。不论是哪个域,如果在该域中有交互,那么该域中就很可能包含不止一个业务单元才完成这些交互……非常简单,SOA就是用来标识域目标,后将产生的业务功能编排成流程从而实现业务目标。划定必要的业务功能边界并由他们实 现目标,SOA还要合并这些业务功能以确保没有冗余,然
\

接着他解释了虽然很多媒体的噱头让很多人认为SOA非常复杂并且需要昂贵的软件和资源,而实际上它就是将功能分解使之与业务对齐:

\
……拿一个特定的域,看看我们如何将它切分成一组协同工作的服务。例如,“园林美化”服务和“护根”服务之间就有很好的协作,你同意吗?它 们是独立的服务,但是他们之间存在着我们称之为松耦合的关系。即它们为了完成某个任务而合作,而后各行其道。的确,对一个域进行分析并将它分解成一组服务的工作是一种策略技术,它需要执行者的经验,然而划定边界和并围绕这些边界开展治理工作却可以由现有的管理去完成。
\

在SOA中所有的服务都被实现成软件,但是在这种情况下更重要的是每一个服务都代表了一个真实的业务功能。软件实现只是将这些功能执行自动化的 一种方式:

\
……因为它是在软件中实现的,而不是通过其自身实现的。这是他们所代表的角色。这些服务让业务降低了复杂性,使得他们合在一起实现业务目标而且是以敏捷而灵活的方式完成的。此外,虽然他们不依赖于其他服务而提供业务价值,但是我们可以很容易地看到他们可以有效地协作……
\

Morgenthal继续解释他对SOA的理解并分析了与SOA相关的两个典型话题——软件即服务(SaaS)和基于组件的软件开发。在他看来SaaS不算是真正的SOA 服务,因为:

\
SaaS满足了我们定义服务的一个准则——我们通过付费用去使用服务而并不想拥有服务。然而,大多数SaaS只是租用的软件。在租用后,你依然要负责将自己的数据集成到SaaS应用中,你还要负责配置表单和工作流。对我来说,SaaS不具备服务的其他特点。
\

Morgenthal认为,很多执行者在谈及SOA时,实际说的是基于组件的开发。在他看来,当人们使用SOA来描述构建软件系统的方法时确实是这样的。但是 ,但有人开始谈到平台服务或工具服务时:

\
……这些谈论明显地说明了谈论的话题已经降级到软件设计方法论而已经脱离了SOA的范畴……不存在“工具”服务这样的东西,它只是软件组件 ……软件提供的的业务服务可以不需要工具服务的存在而存在。结果方案也许不像设计的那么模块化,也许并没有服务提供者以及期望的敏捷和灵活度,但是,如果你决定不建立工具服务和而直接把业务逻辑实现在软件里面,对服务的消费者没什么坏影响。
\

Morgenthal的博文很好地定义了SOA的基础,同时仍然提醒着我们,SOA关注的是架构和业务及IT的对齐,而不是软件设设计方法论或提供商工具。

\
查看英文原文: SOA in a Nutshell
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值