技术开发 频道

解析在SOA中实现语义互操作性

    模式总结

    我们已经讨论了用于实现语义互操作性的多个不同模式。语义互操作性的范围可能包括各个业务单位、企业以及同一个行业或跨行业的各个企业。语义互操作性的范围越大,其成果的长远可重用性会越高,但是也更加难以协调和达成一致。此外,单个公司的控制权将会减少,在自定义重用资产来适应其独特的业务需求和确定想要的功能方面会有所羁绊。正是由于这些原因,一些公司使用内部专有的数据模型来进行内部集成,并且将行业标准模型用于B2B。

    企业应以平衡的观点来考虑采用不同的语义互操作性模式所带来的利弊。以下是一些需要考虑的重要问题:五年后我们的业务战略将会是什么样的?IT如何支持我们的业务远景?IT组织的业务和监管环境是什么样的?IT如何应对(甚至利用)变更?IT能否利用各种活动来促进更高水平的资产重用,并尽可能降低维护成本和分担开发成本?哪一个信息集成模式是某种特定情况的非常好的方法——数据联合、数据整合还是EAI?

    非常好的实践

    非常好的实践一:建立一个研究语义互操作性的核心业务部

    如前面的“无控制语义混乱”反模式中所述,人们对于语义将不可避免地有不同的理解。强制要求对EDM或企业分类法达成一致是不可取的,与此相比,促进不同参与者之间的合作并且协调文档的不一致通常是更为有效的方法。许多协作工具,如Wikis、博客工具和群组软件都是十分优秀的工具,如果出现不能达成一致的情况,人们可以使用这些工具软件公开发表观点,处理差异并加以记录。以一个实际的情况为例,SemanticInteroperabilityCommunityofPractice(SICoP)是由FederalCIOCouncil建立的一个团体组织,目的是为了在美国政府中实现语义互操作性。在一个大型机构中,存在数以万计的数据库、数百万的数据元素和文档。要形成一致通常是不可行的,也是不可能的。SICoP可帮助人们一起更有效地协作。

    非常好的实践二:胸怀长远目标,以增量方式向战略远景靠近

    成功的语义集成的关键在于胸怀长远目标,然后以增量方式向战略远景靠近。“胸怀长远目标”表示要制定战略远景,并且尽可能利用各种不同的活动,如SOA、数据仓库操作和法规遵从。这些活动通常要求多个业务单位之间进行协作,并要求进行企业级的文化变更。一个战略性的、共同认可的远景不仅给各个参与者带来实实在在的好处,而且可以帮助赢得绝对必不可少的支持者。“以增量方式向战略远景靠近”表示要制定增量式的计划以实现远景目标,并且需要制定数据控制流程,以迭代的方式交付切实可见的成果,评估进度和不断地修改执行计划。总而言之,战略远景和良好的执行都是十分关键。

    当企业迁移到SOA时,无论他们是否进行自顶向下或自底向上的服务分析,如果迁移工作还没有开始,此时都是考虑是否包含EDM和MDM的合适时机。上面的两个模式都提高了语义互操作性和数据质量,可保证数据服务的服务水平协议(Service-LevelAgreement,SLA),而且降低了总体拥有成本(TCO)。它们可能对于实现SOA的承诺具有深远的影响;这个承诺即使用IT从长远的角度提高业务灵活性、增加收益和降低TCO。

    非常好的实践三:重用语义集成资产

    ESB的一个主要功能是将消息从一种数据格式转换为另一种数据格式,以确保服务的使用者和服务的提供者能够互相通信。在XSLT文档中捕获的转换逻辑可以提供很多的重用好处。不仅可以供其他业务流程重用,ETL和应用程序也可以对其进行重用。类似地,ETL工具所使用的语义转换资产还可以公开为Web服务,以便由其他应用程序进行重用和调用。

    非常好的实践四:采用和参与行业标准

    有许多处理语义互操作性的行业标准,其中包含了垂直行业和水平行业的数据和数据模型标准。采用和参与行业标准使公司能够利用整个行业的非常好的实践,从而减少了语义互操作性的长期成本。

    选择软件供应商时,一个重要的标准是确定其是否支持相应行业的DIM、如何无缝地支持内部数据模型与DIM之间的集成以及如何管理后续的变更。为了促进更广泛的语义互操作性,IBM已经成为各种行业标准的有力支持者。例如,2005年9月,IBM向ACORD无偿提供了100多个业务流程模型、模型定义以及其他行业信息。

    结束语

    IT世界在不断地发生变化,因此,语义互操作性也是一个不断发展变化的目标。我们的第一个假设是,变化是不可避免的。业务方面永远不会出现一劳永逸的情况。业务始终需要对客户需求、趋势、经济情况、法律法规和竞争进行适应。我们的第二个假设是,我们处在一个信息时代,语义互操作性的挑战只会增加。除非我们确定了语义互操作性的反模式、模式和非常好的实践,否则我们的决策就不能够有效地解决问题。我们的第三个假设是,世界是混乱的。我们力所能力的事情是创建或利用各种工具和方法,在一定范围内对混乱加以控制。语义互操作性实际只是一个秩序形式,我们将它运用于我们的世界,使我们能够控制混乱,并使普遍存在并不断增加的信息有意义。控制混乱还意味着我们需要清楚地理解我们的选项以及每个选项的成本和好处,并减少变更带来的不良后果。

    希望本文所讨论的反模式、模式和非常好的实践将帮助您为您的SOA工作选择合适的方法来实现语义互操作性。需要强调的是,使用单个模式、组或标准并不能解决语义互操作性中的所有问题。

0
相关文章