使用UML为EAI建模

日期: 2007-12-10 来源:TechTarget中国

  使用UML为EAI建模

  在企业应用集成(EAI)中,通常使用某种形式的消息来提供松散的耦合,使得企业应用易于更改,可以连接异构系统和操作环境,使得在局部系统出错的时候能更好地恢复,这样可以使系统获得更高的强壮性。

  E AI技术主要用于集成遗留系统和新的企业应用。而将遗留系统和新的应用集成是一件困难且昂贵的工作,很大程度是因为必须在各孤立系统之间建立连接,所以需要一种机制来更好地描述如何使一个应用程序能被另外一个应用程序所调用。
 
  在EAI建模中使用UML可以更好地描述集成的架构。统一建模语言(UML)是用来对软件密集系统进行描述、构造、可视化和文档编制的一种语言。UML的开发者把并行分布式系统的建模作为UML的设计目标,也就是说,UML具有处理这类问题的能力。同样,UML在EAI领域也可以发挥它的作用。

  使用UML来为EAI建模的益处有:

  ● 更好地阐明产品的架构,使客户能理解产品的配置以及如何在客户的组织中安装;

  ● 使得项目的参与者能更好地理解整个产品的架构,避免项目的参与者的思维被限制在产品的某个局部,而没有从整体上来考虑,防止局部的优化而损害整体的性能;

  ● 在产品的发布材料中包含UML的建模信息可以支持销售和技术支持工作;

  ● 可以帮助开发资源的分配,根据UML架构可以更好地分配开发工作和配置开发资源。

  应用程序之间的连接和交互是复杂的。要解决这种复杂性,就需要定义一个所关注和聚焦的层次。使用UML来建模,在用于代表不同层次的细节方面比较成功。对EAI来说,比较适合的层次是应用架构(Application Architecture)——对应用程序之间的接口和交互的处理。UML在这一层次建模比较成功。

  三个进阶

  EAI可以分为三个进阶:(1)通过连接来进行应用程序集成;(2)通过信息共享来进行应用集成;(3)通过流程协作来进行应用集成。更高的进阶必须在更低的进阶的基础之上进行。

  每一进阶都具有自己的特点,需要进行的建模工作和建模对象都有所不同。

  进阶1:连接

  在这一阶段,应用程序之间进行同步或者异步的通信来提供商业功能。

  在这一进阶,需要进行建模的对象有:

  —-● 服务请求方和服务供应方;
  —-● 同步或者异步的服务请求;
  —-● 请求、响应和通知。

  在这一进阶,集成的多个应用程序共享一个公共的应用架构。应用程序共用通信的数据模型,并且能够激活相应的应用程序来获得服务。

  进阶2:信息共享

  在这一进阶,要求能在整个企业系统中更容易添加新的应用和新的功能,而尽可能地减小对已有应用和服务的影响。比较好的一种解决方式就是使用信息共享方式来建模。这种信息共享方式通过应用程序之间业务事件驱动的发布/预定(publication/subscription)通信来实现。可以假定这些应用并不关心是哪个程序在使用它的信息以及接收方期望什么格式的信息。

  在这一进阶中,建模的内容有:

  ● 代表业务事件的消息(对不代表业务事件的信息关注较少)。

  ● 消息和业务事件的发布——发布消息的能力。

  ● 队列和主题——必须能够将发送方应用程序的输出容器和接收方应用程序的输入容器分离。

  ● 数据转换——每个应用程序都能以其独特的格式创建和使用消息。应用程序应该能使用适合其开发语言的数据结构。数据的转换也包括了数据的校验。

  ● 信息的预定(subscription)。

  ● 保留信息从创建、处理、转换到使用的历史记录。

  ● 对数据的审查、追踪和挖掘。

  信息共享用于描述参与的应用程序之间的交互。当系统对于实时性要求很高,并且采用消息/事件技术来通信时,这种共享可以被称为“零延迟信息共享”。

  进阶3:流程协作(Process Collaboration)

  在这一进阶,企业应用通过B2B(Business-to-Business)协议和企业外部系统进行集成。为了获得企业系统的灵活性,要求企业应用独立于使用的B2B协议,而且企业的内部流程对于企业外部系统是隐藏的。这样,当企业的内部流程发生变化后,不会影响到外部的合作伙伴。这就要求有一种媒介服务来将B2B协议所隐含的流程和数据语义转换为企业内部流程和数据语义。这种转换被称为语义媒介(Semantic Mediation)。

  在这一进阶的建模内容有:

  —-● 语义媒介——在应用程序和B2B协议之间的流程和数据结构的转换。
  —-● 企业之间的信息传递——安全、无欺诈、能应付灾难性事件。
  —-● B2B级的审查、追踪和挖掘——业务事件可以被审查、分析以及进行数据挖掘。
  —-● 在信息库中包含了贸易伙伴和他们之间通信的信息贸易社区协议。

  三种建模方式

  方式1: 元模型

  基于MOF(Meta Object Facility,元对象工具)的元模型使用UML符号的一个子集来进行面向对象的建模。用到的UML元素有:

  —-● 具有属性和操作(也就是方法)的类;
  —-● 二元关联;
  —-● 包;
  —-● OCL(对象约束语言)。

  EAI的元模型是遵循如下规范来文档化的:

  —-● 元模型的整体结构显示为一个或多个包图;
  —-● 每个包的大小有一定的限制,每个包只需一个类图;
  —-● 为了描述一个包,类之间的协作(Collaboration)必须指定并且得到描述,为了更好地描述模型,每个类必须分开来进行描述;
  —-● 每个协作的语义遵循一定的规范来描述。

  方式2: UML建模集

  通过UML 建模集,建模人员可以使用UML符号来为EAI建模。在元模型和UML建模集之间的映射被定义为EAI规范的一部分。可以使用一些工具来进行元模型和UML 建模集之间的转换。映射的细节也作为建模集的一部分。

  方式3: 四层结构

  OMG组织将EAI规范定义为四层结构。MOF在第三层,EAI元模型在第二层,EAI的UML建模集也在第二层。EAI元模型可以看作是EAI模型的抽象语法的定义。EAI模型在第一层,是抽象语法的一个表示。它是基于事件系统的架构和系统之间的信息流的一个规范。第0层就是基于事件系统的实际行为。

 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 如何建立自己的UML图库

    没有适当的沟通,想法和计划的执行就会出错,或者被遗忘。统一建模语言经常用于各种睡吧样的蓝图中,来映射出系统计划。事实上,UML已经成为许多软件开发人员选项。

  • 心态决定统一建模语言成败

    太过于追逐流行软件,对开发人员的职业生涯百害而无一利,有些专家这些说。虽然编程语言来来去去,但确实有一些技能和属性需要磨练,这可以带来一份薪水丰厚的工作。

  • 前期设计够用就好

    前期做完整设计的瀑布模型时代已经结束了吗? 本文建议前期做足够的架构设计,以便提供项目启动所需的结构,统一团队愿景以及评估可能的风险。

  • 软件架构:开发人员必知的五件事

    软件开发这一行业要么是突飞猛进,要么是深陷囹圄。一方面,我们推动它向前发展,重塑我们构建软件的方式。另一方面,我们不断忘记过去的好。