以文本方式查看主题 - W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL (http://bbs.xml.org.cn/index.asp) -- 『 Web Services & Semantic Web Services 』 (http://bbs.xml.org.cn/list.asp?boardid=10) ---- 解析 SOA (转自canonical'Blog) (http://bbs.xml.org.cn/dispbbs.asp?boardid=10&rootid=&id=31331) |
-- 作者:admin -- 发布时间:4/26/2006 10:46:00 PM -- 解析 SOA (转自canonical'Blog) 解析 SOA (转自canonical'Blog) Tags: soa ibm 1. 独立运行(standalone)。所谓的service, 它与组件(component)的根本不同,首先在于service是独立于调用者自行运转的。访问service的接口相对狭窄,我们只需要知道 service如何满足我们的功能需求,而不需要管理它的生命周期,不需要理会那些维持service运行所需要考虑的种种细节。即我们对于 service的了解只需要局限于功能接口即可,不需要理会它的那些管理接口,配置接口等。各种service在功能接口这一层面发生交互,整个图景得到简化。最常见的一个例子就是数据库服务器,调用程序只要知道如何通过sql语言进行数据访问即可,另有数据库管理员去对付各种配置管理问题。从技术上说,这可以看作是singleton模式的一种扩展。实际上spring容器中管理的bean在某种程度上就可以看作是独立于bean的调用者的,因而 spring这样的容器可以成为SOA架构的自然接入点。 2. 异步调用(asynchronous)。内禀的异步特性是SOA包容真正的商业智能的关键所在。想象一下我们现在需要评估用户的信用度,它对应于函数 evaluateCustomerCredit(customer). 最简单的情况下,我们只需要根据用户的某些指标直接进行算术运算即可。如果评估规则非常复杂,我们可能放弃硬编码,而引入规则引擎(Rule Engine)这种人工智能的解决方案。在更加复杂的情况下,我们可能无法抽象出以数学方式表达的规则,而必须依赖于业务人员的人工处理(真正的智能)。此时,系统可能需要弹出一个页面,等待业务人员作出判断,部分情况下还需要经过审批流程才能决定对于用户信用度的最终评定。对于计算机系统而言,这些都是漫长的过程,是同步调用方式所无法容纳的。同样是一个函数调用,只有异步特性才能够包容真正的商业智能,才能在函数这种最小的程序结构单元中引入最复杂的处理过程。现在SOA的宣传往往集中于机器之间的互相调用,强调异构系统之间的一种包容性,但事实上异步特性所能承载的内容要远远超越机器世界本身。当然,同步调用方式也是SOA架构的自然组成部分,就像我们既需要email, 也需要手机一样。 3. 基于消息(message based)。基于消息的调用方式是分布式系统的一种内在要求。消息是一种数据,它并不是远程对象指针。distributed object这种基于proxy-stub的方案其内禀要求是远程状态同步(状态的一致性),而分布式系统是由众多独立的状态空间(进程空间)所构成的,这种内在的不协调是造成分布式对象方案难以实现可扩展性的关键原因。 SOA与EBI(event-based integration)的区别主要在于EBI往往是push模式的,消息源向注册的消息consumer推送消息,而SOA往往还是一种pull的调用。这两种方式各有千秋,在大的scale情况下,pull模式的可扩展性要更好一些。但是两种模式在企业应用中都是必不可少的,可能这些概念很快就会出现融合。 说到纯文本的元语言,xml无疑是这一概念最强势的候选者。作为一种半结构化的文本表述,xml天然就是人机共享的信道。但是,随着应用的深入,当越来越多的xml设计变得无法让人直观理解的时候,我们也感觉到了一些对于xml滥用的痕迹。W3C的Web Service协议栈提供了非常关键性的思想,并作为标准化的实现方式存在了很长的时间了,但是其实现和调用的繁琐和冗长逐渐引起了开发者的不满。 SOAP虽然号称Simple Object Access Protocol,但是今天已经很难把它和simple这个词拉上什么关系。也许Web Service的未来就如同EJB一样, 渐渐被更加pragmatic的方案所取代。 在SOA架构中,松散耦合(loose couple)是late binding(discovery), standalone和message based等多种技术策略综合作用之后所达到的一种效果,这为外部灵活的流程配置做好了铺垫。 |
-- 作者:jerry408 -- 发布时间:5/8/2006 4:39:00 PM -- 学习ing.... |
-- 作者:public121 -- 发布时间:1/16/2008 10:21:00 AM -- 学习ing.... |
-- 作者:loroc -- 发布时间:1/18/2008 2:53:00 PM -- thanks
|
-- 作者:shaoab@163.com -- 发布时间:2/2/2008 12:41:00 PM -- 真是学习的好地方呀 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
46.875ms |