BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

“服务重用”是否被过度使用?

| 作者 Mark Little 关注 14 他的粉丝 ,译者 马国耀 关注 1 他的粉丝 发布于 2009年7月15日. 估计阅读时间: 2 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

服务重用经常作为SOA的一个重要特征被提及。很多人甚至用它来衡量SOA是否成功。如Eric Roch曾说:

毫无疑问,在衡量SOA成功时,最明显的尺度当然是服务重用。开发团队间为实现重用的最大化而展开的友好竞争是宣传和鼓励服务开发和重用的最好方法。

或者IBM的立场

重用在SOA中占很大比重。它是SOA简洁性的一部分,也是将服务串接起来解决端到端的业务问题或流程的一部分。

正如上面所说,在衡量SOA成功与否时,服务重用的总数经常被作为重要的衡量指标

服务重用即是SOA的特征之一,也是SOA带来的好处之一。

然而,事情并非那么简单,早在SOA刚刚兴起时就有人认为服务的重用无足轻重,或者,至少不能被做为SOA背后的主要驱动力。如Dave Chappel在2006年说道:

为重用而创建服务,就必须要预见未来……服务创建者怎么知道未来的应用需要什么?“守株待兔(if-you-build-it-they-will-come)”式的方法很难实现真正的重用。

现在Burton的Richard Watson也加入了讨论,他认为“人们对于重用的预期一直过高”;开发人员、用户和决策者不应该把眼光定格在服务重用上。他说:

服务有可能永远都不会被重用,但它仍然以其他的方式在创造价值:通过适配的方式、维护成本低 、减少冗余、通过政策的坚实执行来提高安全性和合规性等,这里仅列举少数几个其他方面的价值。过分强调重用让我们忽视了服务的其他价值。

他提议将重用的价值问题分解成一个方程,随着时间的推移来计算重用的数量及节省的成本,当然也要将部署以及应用程序的具体要求等因素考虑在内。依Richard看来,我们真正需要重视的是服务的价值,而重用仅仅是其 中一小部分而已。他还说:

[……]服务的价值偶尔可以体现出来,比如当汇报制度的改变要求使用一组不同的规则并且需要修改的是某个孤立的点,而不是全盘的修改。它将我们带回到服务“使用”的价值,而不是服务“重用”的价值。

对象重用经常被曲解成是面向对象的主要好处,但实际往往相悖于理论。最终,人们逐渐不再用它,而关注OO带来的其他能够摸得到的好处。服务重用是否会重蹈覆辙呢?

查看英文原文Is Service Reuse Over Used?

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

说的对。 by 陈 实

就全球范围的服务重用,现阶段是没有意义的,现阶段服务重用主要集中在公司,集团内部,其实就算是在公司与某个集团内部的重用也是很困难的。

Re: 说的对。 by Lan Enoch

如果谈到服务重用一般会具体到某个领域中。比如在财务软件中、办公软件中,有些业务是可以在各自的领域中被重用,关键在于如何抽象业务和构建服务;还有一些是属于基础的服务,比如认证服务等,从各种领域中被抽象出来,这种服务的价值往往比较容易被认同和使用。

重用的概念就是不清的! by 熊 军

什么叫重用?是被不同的地方多次调用吗?可这是服务的本质啊,无所谓重用不重用的。

Re: 重用的概念就是不清的! by 李 新

赞同。
作者/译者好像没有确实指出文章中“服务”与“重用”上的差别。只能从上下文推测“服务重用”是指服务尽可能多的服务于不同业务。从这个角度看,服务确实不应该过分强调“重用”,而应该是“价值”——好用。

Re: 重用的概念就是不清的! by Lee Vincent

这都要讨论? 重用当然不是调用。
如果一个服务不断在新的应用中部署,然后在该应用中提供同样规格的功能(也可能经过定制稍有不同),这就是服务重用。

Re: 重用的概念就是不清的! by 马 国耀

指出文章中“服务”与“重用”上的差别

服务和重用是两个不同级别的东西,无法比较。


服务可能被重用,也看能不被重用。


服务的重用不是被多次调用,而是这个功能在不同的应用系统中使用,如查询客户信息服务,可能存在于CRM系统中,那么Call-center这个系统可以使用CRM系统的中的这个服务,也可以自行开发这个服务,如果使用CRM中的这个查询客户信息的服务的话,那么这个服务就认为是被重用了。


我个人的理解是:重用指得是不需要自行开发而是使用别人的服务的做法。

重用本身是正确的!! by bin wu

重用本身是正确的!!只是重用的要求比较高,一般在开发的时候用户与开发者就应该想好该服务的重用性.当然服务本身也是应该有生命的,当太OLD的时候就应该DIE.至于服务是否会被重用,这应该是从多个角度来看.商业,市场,程序调用,等,但如果都要考虑那么多问题,那何必提出重用.
比如我是IBM提供了银行汇率计算服务,那你时候的时候考虑安全,效率,费用等等诸多问题,结果说因为你是微软所以不用,那这样有意义吗?所以重用是一种方法论,至于环境场景需要人或去协调,但这不能说"重用"是过分,或者说"重用"是不对的!

重用的对象? by D W

“重用”这个概念下,隐含着“重用哪些资源”的概念。我认为,重用应该关注的是数据,是业务规则,而不是具体的应用或者流程。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

8 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT