【IT168 评论文章】
数据是企业的生命线。如果数据不能访问、或者访问的速度很慢、或者提取的数据的质量不好,企业就要付出代价。SOA提供了通用功能的访问点,这样,数据就可以在整个企业的多个商务流程中使用。实际上,这些流程共享的东西就是数据。应用SOA的一个关键好处是你能够处理数据源和应用程序,把数据当作服务进行存储和操作并且把数据合并为一个混合的应用程序。这种方法为企业提供了无以伦比的数据访问、效率和应对变化的灵活性。
问题是接下来你要依赖于数据源的质量并且对相关的定义以及数据的解释方法的局限性缺乏了解。虽然加入到SOA中的服务是具有自我解释功能的,但是,对于如何深入地解释数据的真正含义还没有标准。例如,如果一个用户的名字输入到这个系统,并且申请一个地址,那个数据很容易留驻在十几个不同的数据竖井中。每一个数据竖井都有稍微不同的窗口显示用户的含义。一个数据竖井返回的信息是一个公司的德克萨斯州的地点作为那个用户的地址,另一个可能返回的是这家公司加州的地址,还有一个可能返回的首席执行官的家庭地址。包括解释元数据在内的数据治理的关键是知道对于这个特定的商务流程申请者来说哪一个返回的地址是正确的,以及如何处理数百个其它类似的情况。
即使上面那个例子假设所有的三个地址都是完整的和正确的。数据治理的另一方面是数据质量监视。数据质量对于每一个商务流程和一个公司的整体成功都是极为重要的。在一个SOA项目中,数据质量甚至更加重要。数据中的任何错误在整个企业中都是可以看到的,任何使用这个服务的用户都会从错误的数据源中提前信息。使用上面的例子,如果发票、账单或者产品等信息不断地发送到错误的地址,这家公司将会失去许多生意。数据质量评估是要发现异常的数据并且人工或者自动修复那个数据。数据质量评估必须是任何真正有用的SOA计划的一个不可分割的组成部分。消费者需要能够信任他们从服务中申请的数据是正确的和与他们当前的需求相关的。
消费者对于数据的相关性的需求将推动SOA设计人员把数据源与使用数据的具体服务紧密地结合起来。如果依赖于特定数据源的服务不能适应变化的数据源的变化,或者不能全面地查看这个数据,这种情况将造成严重的局面。更好的方法是数据本身变成一种服务。把数据封装到多个流程使用的一项服务中有助于标准化和防止数据复制。它还能够使数据作为另一种服务无缝地进入混合的商务流程和应用程序中。这种把数据作为服务的概念能够提供对企业任何部分的任何商务流程的访问,提供效率最高的数据流以及弹性。
然而,把数据作为一种服务提供本身就是一个挑战。要加入SOA工作流、一个强大的交付服务、以一种可消费的服务方式提供并且具有可靠性,是一种绝对的需求。你必须把多个数据源的数据结合起来,使这些数据在SOA环境中能够使用。如果使用传统的代码把企业中的数百个或者数千个数据源连接起来,经过很长时间才可以看到SOA的有限的好处,因为维护这些脆弱的连接很困难并且需要成本。
为了避免这种情况,数据服务应该建在连接许多资源的中间件软件平台上,最好是连接企业中的所有的数据源,从地下室的老式大型计算机的COBOL应用程序到云计算中的新的软件服务CRM应用程序。的确,把软件服务应用程序与集成的SOA计划结合在一起是可能的。从内部看,对于软件服务应用程序的元数据和环境的控制将比较少。但是,一个灵活的集成平台仍然可以容纳这些控制。这个集成的层还应该很容易适应变化,因为它将是不稳定的信息源的触点。它必须能够把复杂的流程结合为一个单元,兼容SOAP、SML和WSDL等标准的SOA服务技术。
元数据治理
一旦这儿问题解决了,你需要考虑如何暴露和管理相关的元数据。元数据的实际任务是向使用数据服务的每一个人具体说明那个数据实际上是什么意思。再回到上面的例子。一个客户的职务是XYZ公司的首席执行官,他有两个位置,一个是在德克萨斯州,另一个是在加州。然后,定义一个位置的问题变成了一个相关的问题。德克萨斯州分公司可能有许多大楼,可能是这家公司的生产部门。加州的分公司是服务和技术支持部分。这个级别的元数据应该为这个用户提供他所需要的东西,以便知道对于一个发票、一个技术支持申请或者一封给首席执行官的信函等请求应该向申请者返回哪一个地址。
一个相关的问题是精细程度。如果你提供非常精细的详细的服务,用户必须要建立自己的负责的工作流。增加一层把自己封装为一项服务的更复杂的合成的服务能够为这个用户提供一个强大的容易使用的应用程序。从数据治理的角度看,数据服务越精细,治理的问题就越多。采用不太精细的方法,可以利用适当的整合技术创建在SOA环境中更可靠的、更强大和更高级的服务。
服务元数据的数据治理也是非常重要的,因为它是管理现有过多的服务、任何新的服务或者随之而来的集成的服务的主要手段。
全面考虑 务实地实施
把良好的数据治理所需要的全部要素与牢固的基础设施结合起来,一个SOA计划将用一个良好的地图开始起步。企业级的全面的计划将产生包括权威的数据源的理想的工作流、政策和治理。但是,设法同时为整个企业建立全部的集成端点、服务包装(service wrappers )和消息系统是非常不现实的。全面的大规模计划在历史上的失败率是很高的。
立即让人们接受和立即得到投资回报的方法是迅速显示结果。首先从解决紧迫的业务问题开始,用考虑的整个路线图解决这个问题。利用这个集成中间件软件创建一个小型工作流,把现有的、功能性的修复问题的集成措施与更强大技术结合成为一个全面的流程,然后把这些东西作为一项服务推出。这将有助于减少替换可用的技术耗费的时间,以便把重点放在真正需要帮助的地方。随着时间的允许,可以根据需要更换老的点对点的接口、存储的程序和其它临时的措施。其它商务流程可以加入到微型工作流并且作为一项服务推出。一次采取一个步骤,每一个步骤都以正确的方式收获好处。这种方法将使企业在最短的时间里实现集成的SOA环境的目标,得到最快的投资回报。要记住,从实施SOA计划的第一天开始就要把企业数据这个不可缺少的资源的管理当作首先考虑的问题。