|
SOA的一些联想昨个下午获得一些新的启发,在本子上略微画了几笔,是关于SOA,面向服务架构的方面。 以前,自己曾就BI趋势谈了一些观点,提到实时性、嵌入性。现在想想,这个嵌入性其实就是一种"服务"。在SOA里面,我想最主要的特点恐怕有两点。一是整个系统中每个功能都可以以服务的形式出现,有标准的输入、输出接口。(甚至作为一种"服务"存在,是至少有一些共通的接口的)。每种服务提供单一的功能,这符合"高内聚"的设计思想。而另一个特点,是有一个代理,英文叫做broker,不是proxy。这相当于一个注册机构,所有的服务都在这里登记,通过它来转发对服务的请求。这符合"低耦合"的设计思想。 说到这里,我觉得"服务"这个词是个不太确定的名词,有些滥用而让人不知其本意。因此想在此处给出一个稍微明确的定义,当然是自己的理解和表达——"提供单一功能的自动化模块"。通过这个定义,将它和我们平时在餐馆吃饭时,或是打电话给客服时享受的"服务"区别开来。此处说得时一种自动化的东西,而非人工。而定义中的"单一功能",仍然是一个模糊的名词,什么程度是单一的?可能这个"单一"指的是"相类似",但现在恐怕只能想到这样的表达方式,暂且如此吧。 放到BI系统中,ETL是一块相类似的功能,可以作为一种服务。但显然,如果去规定其标准的输入输出,却并非易事。即便标准化了,恐怕出于性能、数据质量原因。例如为一个"ETL Job"服务,输入是数据源、目标数据、转换规则的元数据,输出是运行信息等。并且可以将这个服务登记到另一个"ETL调度"服务,让他受其他Job的约束,或者影响其他Job。 这里就碰到问题了。将单个的ETL处理过程和流程调度分成两个服务,从结构上看,确实是种比较好的思路。但一般来说,如果我们在项目中使用工具,这两者都给包了。如果这个工具提供开放的接口,我们还可以将这两者分成两个服务。但如果接口不够开放,那就不能区分。而只能将整个ETL处理看作一个黑盒子,中间过程是不受控的。 前两天,chenming提到的数据挖掘算法,看上去到的确可以作为一种服务,符合功能单一的特点。不过那也是在一个挖掘工具产品中充当服务,而非在BI系统中的服务。挖掘算法是在开发时用的,运行时这个服务应当是挖掘模型。例如最近我们做一个分析模型,就是一个非常典型的服务。它能够提供一种对客户最适合套餐的推荐——"你提供一个用户号码,我告诉你它适合什么套餐",很明确,很直观。 恐怕是因为这是个应用层的服务,所以更加明确、直观一点。对于底层数据层面的,诸如ETL、数据质量、元数据管理等等,将他们看作一种服务,还是有些模糊。需要时间去将他们的职责分清楚,本身SOA架构也不是非常成熟的东西。但这种面向服务的思路却并非什么新玩意儿。Corba、J2EE、Web Service都是基于这种思想的。可以肯定地说,未来BI系统的架构,也必然基于这种思想。 或多或少地,即便在现在的架构中,也会用到面向服务的思想,只是可能没有将它放在最上层的架构,或者没有表达成面向服务罢。譬如原来我提到嵌入性,也就是将分析功能当作一种服务存在的。 Jeasonzhao 20060622 SOA难控制在于 服务之间的关联关系和服务授权 刘庆 20060622 "SOA难控制在于 服务之间的关联关系和服务授权",这句话能进一步解释一下吗? SOA能够帮助企业实现低成本高效率,更快地把决策流程和交易服务以及其他各种流程结合起来。此外,在性能特性上,传统的数据挖掘做法中,通过记分和批处理的手段,当天的数据要到第二天才可以获得,但是通过SOA,就能实时或者说是准实时地获取数据,这是一种完全实时动态的处理过程。企业可以根据客户行为的变化,特别是客户在不同时段的行为,把这些变化的数据实时记录下来,然后进行评估和分析,供企业做出最及时、最快速的决策。 1、准备一张方形的纸,用笔在上面画成25个方格,横向5栏,纵向5栏; 2、在每个方格中填一个词,诸如协同、战略、与时俱进、我告诉你、创新、以客户为中心....等等; 3、开会时,当听到发言者说到上面25个词中间的任何一个,就将相应的方格图黑; 4、当纸上有5个图黑的方格连成一线(可以是横着、竖着或对角线的5格),就站起来大叫一声,"bullshit"。因为这是从国外文章翻译过来的,这个bullshit不符合中国人的习惯,叫出来人家还以为是"不谢"呢。因此,在中国,可以尝试大叫一声,"好"。 Goldenfish3 20060622 就NCR的那套说辞,其实也没错。 "SOA能够帮助企业实现低成本高效率,更快地把决策流程和交易服务以及其他各种流程结合起来。 此外,在性能特性上,传统的数据挖掘做法中,通过记分和批处理的手段,当天的数据要到第二天才可以获得,但是通过SOA,就能实时或者说是准实时地获取数据,这是一种完全实时动态的处理过程。企业可以根据客户行为的变化,特别是客户在不同时段的行为,把这些变化的数据实时记录下来,然后进行评估和分析,供企业做出最及时、最快速的决策。 " 它第一句应该就表达了“在于能够让整个IT环境中的各个系统可控”这种含义。 对于DW这种以批处理为主的模式中揉进SOA,是希望解决两方面的问题: 对于实时的数据处理,就是这段话中“通过SOA,就能实时或者说是准实时地获取数据,这是一种完全实时动态的处理过程......做出最及时、最快速的决策”所说的内容。但DW既然是以批处理为主体架构,揉进实时的东西,如何做?有两种可能: 以前只有BI产品提过实时BI的说法。DW也提实时,倒是顺应潮流。 对于业务流程整合,在DW中就更古怪了,DW本来是做数据处理的,本来就没有交易系统那种业务流程的概念。除非DW上支持的分析应用还要返回业务系统,正如很多用户面临的问题,分析型CRM的结果不能方便的返回操作型CRM。但这似乎已经超出了DW的范围。 刘庆 20060623 对于ncr、ibm、bo这些主流BI大厂来说,都在嚷着soa,不用想,这在未来几年会是趋势的。
责编:姜玲 ![]() 著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
热门博文 |
|