M-A-T Tory's Blog

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  16 随笔 :: 1 文章 :: 1 评论 :: 0 Trackbacks

体系结构中的集成需求

讨论至此,集成已限定为通过基于组件的服务进行的应用程序的集成,但是集成这个主题比这要宽泛得多。在估计一个体系结构的需求时,必须考虑一些集成的类型或“方式”。您必须考虑如下几方面:

  • 应用程序集成
  • 终端用户界面集成
  • 应用程序连接
  • 流程集成
  • 信息集成
  • 构建集成开发模型。

终端用户界面集成涉及如何集成特定用户访问的全部应用程序和服务来提供可用、高效、一致的界面。它是一个正在发展的主题,而新的发展在近期将主要取决于 Portal 服务器使用方面的进展。虽然 Portlet 已经可以通过 Web 服务调用本地服务组件,但是新技术(比如用户远程 Portlet 的 Web 服务)将使内容和应用程序提供者能够创建交互式服务,这些服务在因特网上可以通过 Portal 即插即用,从而为很多新的集成提供了可能。

应用程序连接是一种集成方式,它涉及体系结构必须支持的所有类型的连接。在一个层次上,这意味着数据的同步和异步通信、路由、转换和高速分布、以及网关和协议转换器等等。而在另一个层次上,它还与输入和输出或源(sources)和汇(sinks)的虚拟化有关,正如您在 EWA 的通道(Channel)和协议转换程序(Protocol Handlers)中所看到的。这里的问题在于数据移入、移出以及在实现体系结构的框架中移动的方式。

流程集成涉及开发映射到业务流程和为业务流程提供解决方案的计算流程、将应用程序集成到流程以及集成一些流程与其他一些流程。虽然第一项需求可能看起来似乎无关紧要,不过就是体系结构提供一个模拟基本业务问题的环境,但是,如果在这一层中不进行充分的分析,体系结构的任何实现注定都将失败,不管它采用的技术是多么的巧妙。将应用程序集成到流程可能包括企业中的应用程序,也可能涉及调用远程系统中的应用程序或服务,而这些远程系统多半属于业务合作伙伴。同样地,流程层集成可能涉及整个流程的集成而不仅仅是来自外部源的单个服务,比如供应链管理或金融服务这样横跨多个机构的流程。为了满足这样的应用程序和流程的集成需求,可以使用像 BPEL4WS 这样的技术,而应用程序框架也可以使用程序配置 Scheme(比如在 EWA 中看到的)。实际上,可以在底层使用 BPEL4WS 来构造一个高层配置 Scheme,然后通过一个引擎来驱动,这个引擎不仅提供流管理,而且还提供其他功能。然而,在构建这一切之前,您应该首先了解体系结构方面的需求,然后,再构建合适的基础架构。

信息集成是一个流程,其作用在于为所有需要它的应用程序提供对企业中全部数据的一致访问,而不管这些应用程序是以什么形式需要它,也不受数据的格式、来源或位置的限制。在实现时,这项需求可能包括 适配器和转换引擎,不过它通常要比这复杂。而关键的概念往往是数据的虚拟化,这可能包括 数据总线(Data Bus)的开发,企业中的所有应用程序都通过标准服务或接口从数据总线中请求数据。因此,不管数据是来自电子数据表、本地文件、SQL 或 DL/I 数据库,还是来自内存中的数据存储,都可以将数据提供给应用程序。永久存储中的数据格式可能还不为应用程序所知。应用程序更不知道管理数据的操作系统,因而访问 AIX 或 Linux 系统中的本地文件的方式与这些文件放在 Windows、OS/2、ZOS 或其他系统中时访问它们的方式相同。同样地,数据的位置也是透明的;由于它是由共同的服务提供的,所以是由访问服务而不是由应用程序来负责查询数据(无论是本地的还是远程的),然后按照请求的格式提供数据。

应用程序开发环境的最后一项需求是,必须考虑可能在企业中实现的集成的所有方式和层次,并且为它们的开发和部署做好准备。要想真正做到健壮,开发环境必须包括(和执行)一种方法来明确地规定如何设计和构建服务和组件,以便促进重用、消除冗余和简化测试、部署和维护。

上面列出的所有集成方式在任何企业中都有一定程度的体现,尽管在某些情况下它们可能是简化的,或者没有明确地进行定义;因而,在着手设计新的体系结构框架时,您必须全面的考虑它们。特定的 IT 环境可能只有很少的数据源类型,因此,消息集成可能会很简单。同样地,应用程序连接的作用域可能也很有限。虽然如此,如果希望框架能够随着企业的成长和变化成功地继续得以保持,则框架中的集成功能仍然必须由服务提供,而不是由特定的应用程序来完成。

posted on 2006-04-21 17:35 Tory 阅读(172) 评论(0)  编辑 收藏 引用 所属分类: SOA

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理