SOA在新兴的Hadoop世界扮演的角色

新兴且流行的数据即平台(Data-as-a-platform)Hadoop与一定程度上失宠的SOA的联姻,可能么?Joe McKendrick在其最新的博文中称,此结合非常有益,尤其对SOA,因为数据即平台可以极大程度上简化数据整合:

Hadoop支持的数据即平台,解决了SOA执行者们多年来关注的问题。正如 Akred总结,多年来,许多企业一直尝试理清点对点数据集成带来的意大利面状越发复杂的架构。“他们已经到了应该引入新产品、应该改变的时候了,他们不得不面对30个不同的系统”,他说,“它对于企业的市场地位及其应对市场变化作出调整并赢得成功,都会产生切实的影响。”

因此,他推荐的解决方案是使用Hadoop作为跨平台数据存储:

若在应用周围组织数据,增加新应用时就会很难处理。与此不同,数据即服务的方法将数据当作跨企业资源来维护。

Akred在"Hadoop Tuesdays"上的演讲将Hadoop引入SOA:

我们使用数据基础设施层,使用Hadoop作数据存储,使用现有企业系统赋予数据有价值的上下文,并在数据层整合它们。然后,消费者应用通过面向服务的数据访问模式对这一集成的数据平台进行抽象。所以,我们向企业以服务的形式暴露企业数据平台,而不是直接提供服务查询功能。

这些建议听起来很好,但是它非常依赖于一个假设,即Hadoop可用作企业应用的数据存储。可是Hadoop从来就不是为此而设计的——它不是企业应用通常面对的具有ACID属性的数据库。即便HBase常常被称为数据库,可是该数据库也不是给企业应用用的。

Hadoop在企业中扮演着重要的角色,它提供大数据量的存储和处理,但是说到高流量数据访问时,其目的绝不是要替代数据库。

这并不意味着SOA原则不能应用于Hadoop的解决方案中。单个Map Reduce任务和它们(通过Oozie)的组合是应该暴露成服务的,而且可用于业务流程,但是他们是功能性服务,而不是纯粹的数据服务。

所以,Hadoop和SOA能够和谐相处,但不应该以McKendrick的博客中所描述的那样。

查看英文原文:SOA’s Role in the Emerging Hadoop World

你可能感兴趣的:(SOA在新兴的Hadoop世界扮演的角色)