技术开发 频道

基于Lotus Expeditor6.1的复合应用开发


复合应用

    Lotus Expeditor 提供了将不同应用进行组装的能力,这些应用虽然具有各自的功能,但通过组装,它们之间可以相互通讯相互操作,进而使得组装后的应用可看作一个单一的应用,从而在每个应用的功能之上增加了组合功能。复合应用有如下的特点:

  • 组件之间可以相互通讯;
  • 组件之间松耦合,可灵活地用于 SOA 架构;
  • 组件或资源可以复用;
  • 不同组件可以组装在一个客户端窗体中以获得更加丰富的用户体验;
  • 统一的界面风格;
  • 事务型组件其信息取自不同的信息源;
  • 支持诸如验证、角色和数据保密等安全性;

组件

    构成复合应用的相互之间可以通讯和操作的应用程序,我们称为组件,这些组件可以动态进行组装和拆卸,组装后虽然他们可以进行相互通讯相互操作,但它们之间仍旧是松耦合的,一旦一个或多个组件移除,并不影响剩余组件的功能。

    不同的技术创建的视窗可以组装于一个窗体内,这些视窗可看着作为组件的外部展现,通过复合应用,可以将这些视窗集成起来,构成复合应用。可以用于组装 Expeditor 复合应用的组件有如下类型:

  • SWT 组件;
  • AWT 组件;
  • 内嵌浏览器组件;
  • 支持 JSR168 标准的 Portlet 查看器组件;
  • 显示 Servlet 及 JSP 的 Web 容器;
  • 可在本地显示远程 Portlet 的 WSRP 查看器;

Property Broker

    构成一个复合应用的组件之间需要进行相互通讯,但由于这些组件可以是由不同的开发商提供,这就需要一个标准规范,用于指导开发人员开发出可以用于复合应用的组件。在 Expeditor 中,通过 Property Broker 提供了不同组件之间进行通讯的能力,组件的开发者可以通过 XML 配置文档发布组件的数据或属性(Property)、消息的动作(Action)以及组件间的线接(Wire),Property Broker 能够动态的检测到已经变化的组件的数据,并查找注册过的与该组件相连接或线接的其它组件中的动作,如果找到相应的动作,Property Broker 触发该动作使之执行,这样就完成了两个松耦合组件间的通讯及操作。

    在这些相互协作的组件中,提供数据的组件我们称之为提供者,而接受数据并进行动作的组件我们称为接受者,提供者的数据我们称为输出数据,接受者的接受的数据我们称为输入数据,如图 1。


图 1. 数据提供者组件的输出数据和数据接受者组件的输入数据

    仅仅定义组件的输出数据或输入数据,两个组件还不能进行相互通讯,只有通过 Property Broker 线接(Wire)起来的组件,才能进行相互通讯相互操作。线接的一端是数据提供者组件中的输出数据,另一端是数据接受者的输入数据,两者的数据类型必须一致,如图 2。


图 2. 两个组件的线接(Wire)

    无论是组件发布还是注册,Property Broker 是通过一种 XML 文档来完成的,这一文档的格式是借自 Web 服务描述语言 WSDL(Web Services Description Language)格式,通过这个描述语言,可以描述在复合应用中组件的输入输出数据(property)、消息动作(action)以及类型等。

观看专家视频讲座,了解人员协作信息,赢取免费试用软件。

0
相关文章