`
cuiyi.crazy
  • 浏览: 51046 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

soa杂感系列之四:soa的新认识 (原创)

阅读更多
   作为技术爱好者的我,常常从技术的角度考虑问题,也往往陷入技术的细节,而忽略了大局观。

  当不断阅读业界的文,尤其是soa相关分析,我日益感觉如是考虑问题的弊端,或许这也是开发者(junior, senior software developer)与系统架构师(system designer and architecture)的区别。前关心技术细节和技术的深度;后关心技术的解决问题面和技术的宽度。

  回头再思考soa,才发现通过技术角度几乎无法理解soa的本质和初衷。web service的铁三角:服务提供者、服务消费者、服务注册中心。 soa的铁三角:数据、业务构件、组合。技术我门关注了web service,一种很好的分布式系统、异构系统间互联互通的解决方案,也是一种很好的面向接口的设计思想;sca sdo则因为web service的不能描述服务间依赖和服务组合而提出(附注1),也很好的体现了所谓的业务数据的组织。仅此而已,再多一点,esb负责消息路由和交互功能也隐含于sca的部署描述符来完成,esb的事件触发机制.....;或许我们能够很好的理解技术,正如架构师和高级开发人员区别所体现,我们对技术的初衷和目地有清晰的了解么?我们能够针对某一个目标选择出合适的技术来么?我惭愧的感觉自己的力不从心。

  依然以soa为例来说这个问题。soa和web servie的初衷并不完全吻合,如果说web service是soa实现手段也有点牵强附会。web service初衷是什么?web service为解决互联互通的分布式应用的互操作而生;而soa并不是为互联互通的目标,而是为业务敏捷性而生。也道出soa实际本质背后的业务模型和业务数据;它要使得业务具有敏捷性,必然要求技术实现和业务脱离;这样业务才能够快速只管有效的表达和示意;相应,辅助手段也就有了要求,就是构件,业务负责人就可以如同堆积木般组织业务,技术人员拿到业务模型后开发就是,新需求或者业务需要就是变更和重组业务,对业务模型进行重组和重构,就是soa提供的有效手段 。

  作为开发者的我,往往会因为一种技术的热门而去跟踪或者拼命想用于项目,但是它真的被需要么?真的是必要的么?是预期资源可控的么?没有去想,怕的是被潮流或者趋势淘汰,哪怕并不合理,也不理会性能和效率。你是否也具有此问题呢?

  所以理智的对待问题,在时间、团队、资源内考虑技术的选择,从技术初衷以及技术的优缺点去选择技术,从宏观上理智的把控,而不是人云亦云。譬如大家批判ejb,因为ejb的初衷应用背景往往被滥用。这也符合spring创始人的“循环设计”理念。

附注1:
组合服务:
1)bpel也是组合服务,但我更觉得他用于流程控制;
2)web servie的不足:定位于接口的暴露,但是不解决服务组合问题;

  或许你可以说,设计一个类,包含所有需要的业务,然后把类发布成服务。可是需要组合得业务往往来源于不同系统,异构即不同语言,你如何表达于一个类呢?
  或许你又可以说,设计一个类,里面聚合很多服务,然后把类再次发布为服务,这部也是一个聚合服务么?
  对,是很好,但是如果业务再次变化呢?sca或许好一些,通过配置描述符。此处留下一点不确定,希望大家讨论。

crazycy 2007-05-20 17:20 发表评论
分享到:
评论

相关推荐

    五年单片机学习之旅杂感081229

    五年单片机学习之旅杂感081229--edward

    测试杂感:BugBash

    测试杂感:BugBash.缺陷大扫除(BugBash)是一项短期的全员测试活动。在微软,许多开发团队会在里程碑(milestone)的末期执行缺陷大扫除。程序员、测试员、程序经理、内部用户、市场人员在1~3天的时间窗口中,运用各自...

    飞防植保服务杂感.docx

    飞防植保服务杂感.docx

    英才是怎样造就的读后杂感.doc

    英才是怎样造就的读后杂感.doc

    测试杂感:不二过

    今年5月,参加了林锐博士和华章图书组织的免费讲座“如何管理软件企业”。林锐博士身兼多职,是公司负责人也是企业咨询师,见多识广又经验丰富,所言精要皆切中要害...  “不二过”对于软件开发者而言不是新概念。Scru

    编辑工作杂感录

    版面语言就是编辑通过版面说的“话”,表达的意思。当然,这些“话”是不会发声的,只有通过一些特殊的方式、方法向读者传达出来。通过什么?字体、字号、线条、色彩、空间、布局、留白等等。  新闻讲究用事实说话...

    杂感于多样(XX年全国高考优秀作文).doc

    杂感于多样(XX年全国高考优秀作文).doc

    关于项目经理-产品经理-需求-团队的杂感.doc

    关于项目经理-产品经理-需求-团队的杂感.doc

    测试杂感:Windows8也许需要AccountHub

    随着云计算和社交网络的快速发展,Windows用户将在多个软件中管理她的网络帐户。不幸的是,虽然这些软件都由微软开发,但是它们彼此孤立,无法提供流畅的用户体验。  随着云计算和社交网络的快速发展,Windows用户...

    中国企业ERP项目实施的误区杂感(DOC 6)_CRM产品经理 需求规格说明书管理系统规格需求说明书模板.doc

    中国企业ERP项目实施的误区杂感(DOC 6)_CRM产品经理 需求规格说明书管理系统规格需求说明书模板.doc

    硕考网:2012考研折戟沙沉暨大杂感

    大连理工大学2012土木专业考研心路考研,复试过去已经好久了,一直在忙着一些其他的事情,都没静下心来细细屡一下一年来自己的考研经历。今天通知书送来了,才恍然明白,自己考研了,马上又将回到大工了。...

    关于Java声明的一点杂感

    从php这种弱类型的语言转到java,每次看到这种声明,一下子转不过弯来,总感觉很违和,近思考了一下,有了点感悟  FileInputStream fileInputStream = new FileInputStream("C;\java\test.txt");...

    关于C++泛型编程的一些杂感

    关于GP,可以说我是对它有很复杂的感情的,其实GP这种东西最好是建立在无类型语言上面,就C++0X目前对GP的支持的趋势来看,确实如此,auto/varadictemplates这些特性的加入象征着C++GP的形式正越来越转向一种更纯粹...

    煤矿井下杂散电流的测量与治理

    井下杂散电流是引起煤矿井下瓦斯、煤尘爆炸的主要原因之一,分析了煤矿井下杂散电流存在的原因,根据《井下牵引网络杂散电流防治技术规范》的规定,对澄合矿业公司某煤矿进行实地测量、分析成因,提出了相应的治理措施,...

    leetcode中国-Miscellaneous-Notes:一些零碎的笔记

    杂感 word embedding很多还只是“语义相近”,一些从属信息怎么解决呢?怎么知道自动知道“水果”和“苹果”的关系呢?生成对抗?多种任务自编码?那么编码完又如何把特定的信息提取出来呢? CR中的mention还是非常...

    寄生电容电感提取论文

    寄生电感的论文,非常的有用,很不错偶,希望对你有帮助。

    leetcode卡-ojs:ojs

    杂感 算法到底是有用还是没用? 这个问题一直萦绕在我的心里. 根据事实是检验真理的唯一标准来说, 众多的公司都选择算法作为面试重点之一, 这足以说明算法的重要性. 但是直到自己做一些项目中,发现自己敢于去尝试复杂...

Global site tag (gtag.js) - Google Analytics