多个规范模型

2003 年 7 月 21 日

刮开任何大型企业,你通常会发现一些专注于企业级概念建模的团队。最常见的是数据管理团队,有时他们可能参与定义企业级服务。它们是企业级的,因为它们不是专注于单个应用程序的努力,而是专注于集成多个应用程序。

大多数此类团队倾向于专注于创建单个全面的企业模型。其理念是,如果所有应用程序都基于此单个模型运行,那么跨整个企业集成数据将变得容易得多,从而避免了烟囱式应用程序。这种想法在很大程度上遵循了企业集成的共享数据库方法——其中集成是通过应用程序共享单个逻辑企业级数据库来实现的。

单个概念模型是一个难以处理的难题。首先,很难做好一个——我遇到的很少有人能构建这些东西。即使你构建了一个,其他人也很难理解。我经常遇到这样的抱怨,虽然一个模型非常好,但几乎没有人理解它。我认为,这是一个本质问题。任何大型企业都需要一个非常大或抽象的模型,或者两者兼而有之。而庞大和抽象都意味着理解上的困难。

如今,许多集成团队质疑共享数据库方法,而是更倾向于基于消息的集成方法。我倾向于同意这种观点,因为虽然它在理论上不是最好的方法,但它更好地认识到了集成的实际问题——尤其是政治问题。

基于消息的集成方法的一个有趣的结果是,不再需要单个概念模型来支撑集成工作。与我的同事比尔·赫格蒂交谈时,我意识到

  • 你可以拥有多个规范模型,而不仅仅是一个。
  • 这些模型可能重叠
  • 模型之间的重叠不需要共享相同的结构,尽管重叠部分的模型之间应该存在转换
  • 这些模型不需要涵盖所有可以表示的内容,它们只需要涵盖应用程序之间需要通信的所有内容。
  • 这些模型可以通过收集构建,而不是提前计划。当多个应用程序成对通信时,你可以引入一个规范模型,用 n 条路径替换 n * n 条转换路径,这些路径转换为规范中心。

结果打破了建模问题,我认为它在技术和政治上都简化了建模问题。

然而,到目前为止,似乎数据建模社区才刚刚开始意识到这个新世界。这很令人难过,因为数据建模人员在构建规范消息模型方面有很大的贡献。不仅技能没有发挥作用,而且许多人还抵制这种方法,因为他们断言单个企业级模型是集成的唯一正确基础。