技术开发 频道

数据服务:SOA的最后一英里

【IT168 专稿】

    Wikipedia上说,“最后一英里(the last mile)是指电信公司为了向客户提供服务而做的最后的连接工程。通常用于电信和有线电视产业。一般认为最后一英里意味着昂贵的费用,因为铺设线路和电缆是一项庞大的物理工程。"这种异常的复杂性、巨额的费用和巨大的风险阻碍了许多宽带公司的发展,直到产生出新技术才使”最后一英里"得以实现。

    “最后一英里”形象地说明了当前面向服务架构(SOA)所处的阶段。通常,我们认为SOA具有能够打破应用程序之间的障碍,并在各企业之间重用业务或应用的服务。因此,SOA具有巨大的潜力发展成新一代敏捷的、成本节省型IT方案。不幸的是,这最后一英里却成为SOA最艰难的一段旅程,令许多人对它的能力感到失望。这是因为客户和技术人员急切地期望实现SOA所能带来的利益,而忽视了一个关键的方面--那就是数据!

    为了说明这一点,我们先讨论一个大型金融服务供应商的例子。该公司急切需要能够改善其客户服务的方法,从而提高所有业务线--比如银行、保险和抵押--的交叉销售和追加销售额。他们计划为客户提供基于互联网的自助银行服务,这可以为他们带来更高的竞争差异化优势,提高客户满意度,自然也能获得更高的利润和市场份额。为了实现该公司提高敏捷性的目标,IT机构通过SOA构建了基于网络的自助服务门户,使所有客户能够从单点访问公司所有业务。

    然而,随着SOA设施组件(比如SOA注册、企业服务总线等)向多业务线的发展,出现了新的数据问题,即各业务线如何简单、安全、可靠并且及时地从单点访问客户账户信息。这些问题包括:

    ·对所有金融产品提供唯一的客户信息视图

    ·保证能够及时地访问最新的客户账户信息

    ·保证各种类型客户账户信息的准确性

    这样,整体、准确和及时的数据成为企业最重要的战略资源。虽然这些使用数据的应用和业务过程可以通过现代方法(比如SOA)进行架构调整,但是它们的效率还是取决于在它们之间流通的数据。

    随着数据的交换,SOA使需要高质量、一致性和及时性数据的各应用和业务过程之间产生了内部依赖性。这表示如果IT项目不能通过一个组织良好的企业信息管理系统来解决这种广泛存在且消耗巨大的数据一致性和准确性问题,那么SOA就无法实现其全部的优势。

    传统的、基于Web服务模式的SOA以高层次的应用集成和业务流程编排为目标,它倾向于最小化--甚至忽略分散于整个企业的、异质的、不一致的、错误的数据。虽然企业应用集成(EAI)和企业信息集成(EII)等技术经常被用来作为SOA的支柱,但这些技术同样无法有效地满足各种关于数据量和数据延迟的需求。

    本文将讨论SOA这最后一英里的难题,即解决这些隐藏的数据相关问题,使SOA能够顺利地实现其业务敏捷性。我们还将讨论如何使用可扩展的、成熟的数据集成技术将数据变成服务,以发挥SOA固有的灵活性、响应性和重用性。通过各种数据服务技术,IT机构可以保证信息的可用性、整体性和准确性,并与业务保持同步,使企业在SOA所做的投资取得最大的业务价值。

    企业数据的适时可用性是敏捷的关键

    不难发现,我们周围的各种强有力的影响市场的因素--比如全球化、兼并与合并、规范化、激烈的竞争、紧张的预算和对更好的客户服务的需求都在推动着业务向更敏捷的方向发展。为了实现更高的业务敏捷性,企业的IT机构一直都在尝试构建具有灵活性、高响应性和重用性的结构。然而,这里真正的问题是这个结构是否能够提供业务所需的数据,以及它在什么时间、以什么方式帮助企业保持敏捷性和竞争力。这个IT结构能够处理所有关于企业数据的复杂问题吗?

    整体的、准确的和及时的业务关键信息是任何企业的生存根源,也是企业获取、维持并提高客户业务和信任主要推动力。为了在当今动态的商业环境下取得竞争优势,各企业都在不断地尝试利用所有的信息来支持任务关键的应用,比如用客户数据的整合来支持客户中心,利用货运预测来优化供应链系统。另外,各企业也采用了各种产业标准来与其合作伙伴交换信息,比如金融服务业中的SWIFT,保险中的ACORD,和医疗保健中的HL7等标准。所有这些情况都要求各种格式的企业数据--不管是结构化的或非结构化的、半结构化的--可以被更多的用户通过更多的应用经常性地、批量地、近乎实时地或实时地进行访问、操作和使用,特别是在有需求的时候。

    因此,企业需要能够整体地、准确地并且及时地利用其所有的企业数据才能取得业务上的优势。而IT机构需要一种可以补充其当前的架构投资并流畅地处理任何格式的数据的可扩展的、灵活的数据集成技术,消除数据集成的困难,为有效地响应不断变化的业务需求提供及时的数据。如果拥有一种成熟而灵活的企业信息管理策略,能够将数据视为一种战略资源并有效地开发利用企业各方面的所有信息,那么企业的敏捷性就能获得显著的提升。

    SOA的实际技术架构

    上面我们已经提到,现代的企业所要做的就是使用最新的消息减少产品的上市时间,并加快差异化竞争优势的实现时间。然而,开发并维护能够支持这种能力架构则是企业取得业务敏捷性的关键。

    作为迈向敏捷的第一步,企业需要在其任务关键的部门中(比如金融、供应链、客户管理)利用既有的和新的应用、业务过程和数据。在许多企业中,有远超过50%的IT预算被用来构建并维护这些系统之间的集成点。CIO和IT经理们经常会面对以下困难:

    ·IT开发、部署和维护的高成本

    ·IT架构在满足新业务需求方面的灵活性上的匮乏

    ·企业业务数据的不一致、不准确

    集成分散的应用是IT和业务所面临的一个巨大难题,也会对业务造成显著的影响。业务敏捷性对客户、供应商、产品和合作伙伴的依赖性越来越高--不依靠整合已经无法实现。

    因此,SOA成为发展新一代灵活的、成本节省型的IT方案的主要技术。SOA提供了一种非常灵活的方式可以实现以下引人注目的业务优势:

    ·应用与业务过程集成的灵活性

    ·重用业务逻辑、当前的IT资产和技术

    ·减少供应商的束缚,以及相关的项目复杂性

    SOA为解决企业中应用整合的复杂性提供了一个优秀的方案。如图1所示,当前的SOA包括一个使用诸如EAI、BPM和ESB等技术处理应用集成的有效的抽象层。


    图1 目前SOA的架构

    然而,要有效地在企业中实现敏捷性,底层的IT架构也必须能够支持适时、整体、准确地提供分散于整个企业的数据。SOA执行者们很快认识到他们的SOA平台提供商无法解决以下数据相关的难题:

    ·分散于企业内部和外部的异质的数据筒仓

    ·不一致的、持续变化的数据结构

    ·数据质量低下,并且通常无法进行评估或监控

    ·缺乏与关键信息资产的适应性或可视性(唯一视图)

    如果将信息作为业务敏捷的关键,应用与业务过程层就能在需要的时候一致地访问整体的、准确的数据,不管数据寄存在什么地方、所需求的数据格式是什么。

    因此,如果能够直接着手并重视及时的数据集成,作为业务敏捷推动器的SOA就能带来可观的回报。

    以SOA服务的形式实现数据需求

    如果以服务的形式互相连通的应用和业务过程中的数据缺乏准确性和一致性,或者无法适时提供数据,那么它们对于实现灵活性就一点价值也没有。如果说在单应用中阻塞的数据已经够糟糕了,那么不妨想像一下,通过应用和业务过程集成技术使筒仓消失后,来自各个应用的数据混合在一起的话会带来什么样的灾难。

    如果没有一种补充性的、基于标准的、灵活的技术可以将整体的、准确的、并且及时的数据以服务的形式实现,那么终端用户就可能面临以下问题:

    ·SOA执行者们很快认识到他们的SOA平台提供商无法解决以下数据相关的难题:

    ·不同的数据量和数据流通延迟

    ·数据在语义和语法上的不一致性

    ·数据质量低下,并且通常无法进行评估或监控

    ·缺乏与关键信息资产的适应性或可视性(唯一视图)

    ·分散于企业内部和外部的异质的数据筒仓

    ·各项目之间的数据集成逻辑和技术具有很小的重用性,或者根本没有

    因此底层的IT架构会给缺乏适时性数据集成策略的企业带来相当大的风险,而不是与数据毫无干系。而通过消除应用之间的障碍并使用灵活、可重用的应用层或业务服务实现业务流程编排,可以为企业提供一个可扩展的框架。如果能够通过整体的、准确的和及时的信息增强SOA所固有的灵活性、响应性和重用性,那么业务敏捷必然也是可以实现的。

    我们需要的是一种基于可以提供标准的数据抽象层的成熟的数据集成平台上的可扩展的数据服务技术,并以服务的形式实现整体的、准确的、和及时的数据(见图2)。数据服务是一个模块化的、可重用的、定义良好的业务相关的服务,通过它可以(透过企业防火墙)在整个企业内访问、集成、并及时递交企业数据。然而,与应用层或业务服务不同,数据服务更为粒度化、目标性更强,它与数据源形成松耦合的关系,是以数据为中心的、面向目标的。


    图2 数据服务技术作为SOA的数据抽象层

    数据服务技术还应该能够对基础数据服务进行编排或排序以实现灵活的组合,并在各项目之间重用复杂的数据集成任务。如图3所示,在整个数据集成周期中,基础数据服务必须能够支持复杂的数据集成操作比如数据访问、剖析、整理、转换和传送的各种不同组合。


    图3 整个数据集成周期中的复杂数据服务

    在理想的情况下,一种数据服务技术必须满足以下复杂的功能:

    ·可以广泛地访问企业中各种数据源中的复杂数据

    ·可以简单快速地创建复杂的、可扩展的、并且可重用的数据服务

    ·对基础数据服务进行编排以支持整个数据集成周期

    ·可以通过多种协议适时地为应用和服务过程提供数据

    ·对所有数据源中的数据预先或主动进行数据质量处理

    ·有数据血统工具可以支持变化管理和影响分析

    ·与既有IT架构的无缝集成

    最后,考虑到性能和可扩展性是所有任务关键操作的核心,数据服务技术也应该具有高度的并行处理能力以及对大数据量的处理能力,因为这些都是这种环境下的典型需求。

    集成支持中心是实现SOA数据集成的理想推动器

    集成支持中心(ICC)是一个以快速、可重复、能够有效利用成本地部署可以满足企业目标的数据集成项目的人力、技术、策略、非常好的实践和过程的结合体。各企业已经发现,ICC的质量与他们对动态变化的业务模型、激烈的竞争和需求不断增长的客户的迅速反应能力有着直接的关系。简单来说,ICC就是负责递交可靠的数据的机构(与业务同步)。

    数据服务技术依据常用的技术标准对开发过程进行标准化以实现更大的重用性,支持共享服务环境,支持集中的服务环境,支持对数据服务和数据架构的治理,从而定义、语义、和SLA都有对应的团队进行维护。因此数据服务技术推动了ICC的建立与管理。

    而这样,以数据服务技术为基础建立的ICC就可以完美地实现数据集成,因为它提供了在整个企业中访问和递交整体的、准确的和及时的数据所需的可调整的架构和技术(见图4)。它还为交叉团队提供了所需的协作工具,使他们能够使用一致的技术,提高了对不断变化的业务需求的响应能力。最后,它还提供了一个安全、可扩展的、灵敏的平台,保证了对任务关键信息的访问,进而可以对企业中的许多项目提供支持。


    图4 ICC是在SOA中实现数据集成的理想推动器

    正如文中所述,一种成熟的企业级数据服务技术可以保证业务关键信息的整体性、准确性、同步性以及可用性,从而完成SOA这最后一英里的旅程。

0
相关文章