技术开发 频道

Lotus Expeditor Property Broker协作组件


正确设计组件架构

    若要获得良好的封装和合理的解耦,您的组件应当符合正确的组件模型。这意味着您应将组件定义为可在尚未考虑到的环境中使用,并为设计应用恰当的组件化原则。

    以下是一些需要考虑的设计提示:

  1. 出于明确性的考虑,在同一个包中声明视图和操作。这样,即使类在本质上是独立的,它们也是绑在同一个包结构下。一种方法就是使用(包含了所有操作类的)Actions 视图下的子包。
  2. 为简单起见,应为每个操作提供一个 Web Services Description Library(WSDL)文件。虽然 Property Broker 允许在单个 WSDL 中定义多个操作,但是不推荐这种做法,除非您的操作是其他操作的一般容器。
  3. 结合使用 Property Broker 和 CAI 是最简单的方式。如果想使用 Property Broker 和该框架之外的操作,可能需要提供正确启用和禁用操作和连接的代码。还必须提供注册连接的代码;使用 WebSphere Portal 的复合应用程序 XML 时,连接是在 XML 中定义的。
  4. 应认识到,属性名称空间有一个限制,即属性在同一个名称空间中必须是惟一的。如果一个组件有一个名为 URL 的属性,那么与其共享同一名称空间的任何一个组件都不能再有同名属性。考虑到惟一性,您可能需要在属性名前加上一个能够被视图或操作识别的区别符号。
  5. 如果操作的目的是更新 UI 组件,那么通过调用来更新标签或 UI 控件时,请确保正处在 UI 线程中。模板将假定上述情况,并为您提供代码。

示例应用程序

    示例应用程序以两个解耦的组件为例,在基本层面上展示了如何创建两个组件,并使用 WebSphere Portal 进行连接。此应用程序有两个组件:左侧的 URL Selector 视图和右侧的 Managed Browser 视图(参见图 2)。两个视图在它们自己的插件中进行开发,彼此之间没有任何依赖关系。

    Selector 视图是带有列表控件的简单视图,提供了可供用户选择的 URL。该视图发布了名为 URL From Tree 的属性,其类型为 URL。Browser 视图是带有 Embedded Browser 控件的 SWT 视图。该视图注册了名为 loadURL 的操作,此操作接受名为 URLIn 的单个输入参数。


图 2. URL Selector 视图和 Managed Browser 视图

    Selector 视图发布属性时,将检查 Property Broker 的 SWT 操作处理程序以及 ManagedBrowser 插件中的操作。然后此操作使用 SWTHelper 类定位视图实例,并调用视图对象上的 loadURL() 方法。

0
相关文章