|
在本系列的第 1 部分和第 2 部分,我们了解了如何将相对简单的用户界面包含到业务流程中。本文将讨论使用 Portlet 来操作和显示人工任务数据的用户界面选项。我们将介绍用于将 WebSphere Portal Server 与 WebSphere Process Server 集成的高级体系结构,并将说明完成集成设置所需的详细步骤。
引言
本系列的前两篇文章使用了集成和扩展 IBM® WebSphere® Process Server 的 Business Process Choreographer Explorer 的用户界面作为示例。
本文将说明如何使用 Portlet 来构建更为可靠的用户界面解决方案。
完成本文的学习之后,您将会知道如何设置 WebSphere Portal Server 和将其与 WebSphere Process Server 集成。
先决条件
需要安装以下软件:
- WebSphere Process Server V6.0.1.1
- WebSphere Portal V6.0
- Fix pack 1 for WebSphere Process Server V6.0.1,可从 WebSphere Process Server 支持站点下载(请参见“参考资料”部分)。
使用 Portlet 有什么好处?
您的第一个问题可能是“什么是 Portlet?”Portlet 是基于 Web 的用户界面模块。它实际上是由一系列 Java™ Server Page (JSP) 和控制器 Servlet 组成的(具有自己的编程模型和一组约定)。Portlet 需要在容器(门户服务器)中运行。各个 Portlet 仅仅呈现标记的片段,随后由门户服务器将所有 Portlet 聚合到一起,从而向用户提供包含多个应用程序的页面,有点像您桌面上的窗口。更改网站的总体结构、导航和“外观”都很容易,因为可以将其作为管理任务通过安排页面上的 Portlet 来完成这些工作,而不要重新编写用户界面。
图 1 显示了 The Today's News 页面示例,此页面由 WebSphere Portal 呈现,其中包含四个子窗口,每个子窗口就是一个 Portlet。
- My Vertical News
- My News
- My Weather
- My Stocks
图1.基本 WebSphere Portal 屏幕布局
回答了这个问题后,您可能会问:“那为什么我要使用门户服务器呢,为什么要我费事编写 Portlet 呢?”使用门户服务器和 Portlet 的好处在于:
-
更为完善的用户界面。我们通过使用自定义 JSP 扩展 Business Process Choreographer Explorer 的方式构建的基于 Web 的用户界面很不错,能满足其用途所需。用户能够编辑个人详细信息,然后批准(或拒绝)这些更改。但用户界面仍然有点“简单”。另外,使用 JSP 所能完成的工作也很有限,由于仅仅只提供了 JSP 片段,而不是呈现整个页面,因此页面的总体“外观”的通用性相对不强。我们还不能构建多页编辑器。我们所编辑的“Person”对象相当简单,但假如我们要处理包含大量属性的对象,或者该对象包含的属性的类型非常复杂,又该如何呢?我们可能会希望构建包含多个页面的“向导”样式的编辑器,以便用户一次性处理多个属性,我们还可能会希望显示图像、采用高级 Widget 或完全控制所有这些内容的布局。
-
应用程序管理和交付更为简单。WebSphere Portal 向应用程序提供了大量管理工具和服务,以便开发人员和管理员集中精力提高用户体验。例如,用户管理、身份验证和授权由 WebSphere Portal Server 进行处理,管理员可以方便地修改角色和权限分配。
-
一致的外观和应用程序交付。WebSphere Portal 框架本身中的编程应用程序提供了一定的一致性,但由于 WebSphere Portal Server 控制页面的总体呈现和导航,因此可以仅仅通过单击鼠标,就能为整个站点配置和应用新“外观”。
-
与现有应用程序集成。使用 WebSphere Portal Server 的最大好处在于可进行集成。当将 WebSphere Portal 用作标准框架时,用户只需要访问一个位置就能访问所有应用程序。例如,可以使用电子邮件 Portlet 访问其邮件、使用日历 Portlet 查看其预约情况,使用财务信息 Portlet 检查提供商的信用等级和(此处最重要的功能!)通过批准或拒绝贷款申请与业务流程交互。
在前面的文章中,我们使用 Business Process Choreographer Explorer 及其提供的任务列表来添加一组自定义 JSP。集成 WebSphere Portal Server 来处理人工任务时,将看到任务列表 Portlet(随 WebSphere Portal 提供)和一组任务 Portlet 将调用的自定义 Portlet。通过使用 API,还可以构建自己的 Portlet 来管理用户的任务列表。
体系结构
在了解安装和配置 WebSphere Portal 的细节前,最好分析一下集成的 WebSphere Portal 和 WebSphere Process Server 设置的体系结构,以便了解将要进行的一些步骤。
图 2 显示了集成的 WebSphere Portal 和 WebSphere Process Server 设置的高级体系结构。
图 2 集成的 WebSphere Portal 和 WebSphere Process Server 设置的高级体系结构
让我们首先回顾一下之前的情况。我们之前曾对 Business Process Choreographer Explorer 用户界面进行了扩展。
当时 Business Process Choreographer Explorer 实际只是一个在应用服务器的 Web 容器中运行的 Web 应用程序。当时使用了在同一个应用服务器的 EJB 容器中运行的“Business Process Container”服务。
我们的业务流程实际上在此容器中运行。它负责管理该流程的所有运行实例、确定各个实例的状态并协调其与外部系统的交互。
它提供了 Task API,允许客户机与其可以运行的业务流程进行交互,如启动流程、查找正在运行的流程或检查是否有任何流程达到人工任务步骤而需要人员参与来完成该任务。此为 Business Process Choreographer Explorer 将用于填充任务列表和获得人工任务的输入及设置输出的接口。
编写 Portlet 时,将必须直接与此接口进行交互来执行这些步骤,还要使用 WebSphere Portal 作为 Portlet 服务提供的另一个 API(即 Task UI API)。
当使用 Business Process Choreographer Explorer 时,我们实际上并不必担心 Task API 的细节,因为 Business Process Choreographer Explorer 将处理这些交互,会允许我们的自定义 JSP 通过 HTTP 会话变量访问输入和输出消息。
但请注意在关系图中,我们将编写的 Portlet 实际直接与此 Task API 进行交互。这是一个重大区别,更便于与业务流程进行交互。在开发上面的关系图中的自定义 Portlet 时,将看到更多此类 API,但有关这两个 API 的更多细节,请参见本文最后部分的“参考资料”部分列出的 Javadoc。
之前所示的关系图是非常简单的部署,其中 Portlet 和 Business Process Container 都在相同的应用服务器中运行。但由于此容器公开 EJB 接口,因此这完全可以位于远程位置,如下面的关系图中所示。
图 3. WebSphere Portal 和 WebSphere Process Server 设置位于不同应用服务器中时的高级体系结构
此处可以将不同的顾虑加以分离,让在 Portlet Server 中运行的所有用户界面组件 (Portlet) 都在一台主机上运行,而让业务流程在另一台主机上运行。
设置 WebSphere Portal Server
本文讨论的是最简单的设置,即 Portlet 和 Business Process Container 都在相同的应用服务器内运行。我们还将在设置说明中涉及 Linux 平台。更为高级的部署和其他平台选项在 WebSphere Portal 和 WebSphere Process Server 信息中心进行了讨论(请参见“参考资料”部分)。
如果安装 WebSphere Portal 的新副本,还可以同时选择安装业务流程支持。只需要选中安装程序中的对应复选框即可。由于已经有了可以作为构建基础的独立工作 WebSphere WebSphere Process Server 安装,只需要向其中添加 WebSphere Portal 即可。由于此安装过程稍微复杂一些,因此本文将在此指导您完成此工作。
- 请将 WebSphere Process Server 的正确版本与 WebSphere Portal 一起使用。对于本文,我们使用的版本是 WebSphere Portal V6.0.1.1。到目前为止我们使用的都是 V6.0.1,因此您将需要安装 Fix pack 1 for WebSphere WebSphere Process Server 6.0.1,可从 WebSphere Process Server 支持站点下载。
- 运行配置文件创建器工具来创建新的 WebSphere Process Server 配置文件,在 Linux 上,此工具位于以下位置:
<WPS install root>/bin/ProfileCreator_wbi/pcatLinux.bin
- 运行配置文件创建向导,并选中 stand-alone profile。
- 为配置文件选择名称,并将其作为缺省配置文件。可以使用下一屏幕上的缺省位置,接下来两个屏幕上的缺省节点和主机名、端点也是如此。
- 从下一屏幕选择选项 Configure the Service Integration Bus in a secured mode。
- 选择用户名和密码,并确保记录下此信息,因为稍后安装 WebSphere Portal 时将需要将其作为 WebSphere Portal 管理员使用!
- 在下一屏幕“Common Event Infrastructure configuration”上输入相同的 ID 和密码。
- 不要在接下来两个屏幕上配置 Business Process Container 示例或 Application Scheduler 配置。
- 选择创建新 WebSphere Process Server 数据库还是重用现有数据库。由于我们已经在首次安装 WebSphere Process Server 时有了一个数据库,因此可以直接重用此数据库。
在 WebSphere Process Server 上安装 WebSphere Portal
现在可以在 WebSphere Process Server 上安装 WebSphere Portal 了。为了确保 WebSphere Portal 安装程序检查和使用刚刚创建的配置,请进行以下操作:
- 运行以下安装命令,使用在配置文件创建向导中指定的配置文件路径和名称替换相应的项:
install.sh
-W detectProfileSequence.active=false-W detectProfileAction.profileName=
"
<profile_name>
"
-W detectProfileAction.profilePath=
"
<profile_path>
"
-W createProfile.active=false |
- WebSphere Portal 安装程序运行之后,请选择自定义安装类型,以便指定 WebSphere Process Server 的现有安装。
WebSphere Portal 成功安装后,需要进行一些安装后配置任务。所有这些工作将使用 WebSphere Portal 配置工具 WPSConfig 进行,此工具位于以下位置:
<WP install root>/config.
- 配置 WebSphere Portal 应用服务器,以运行 Business Process Container,如第一个部署关系图中所示。运行 bpe-config 任务将安装和配置 Business Process Container:
WPSConfig.sh bpe-config
- 配置将用于人工任务处理的页面和 Portlet。action-setup-process-integration 任务创建任务列表页面,安装任务列表 Portlet 并设置将用于包含所开发的 Portlet 的任务页面容器:
WPSConfig.sh action-setup-process-integration
- 通过使用以下命令启动 WebSphere Portal Server,从而验证 WebSphere Portal Server 已成功与 WebSphere Process Server 集成:
<WPS profile root>/bin/./startServer.sh WebSphere _Portal
- 打开 Web 浏览器并键入以下 URI,从而启动 WebSphere Portal Server 管理控制台:
http://<hostname>:<portnumber>/wps/portal
其中 hostname 表示 WebSphere Portal Server 的 Internet 地址(即其安装地址),而 portnumber 是 WebSphere Application Server 所创建的传输端口(即 http://localhost:9081/wps/portal)。
- 单击 Log in 并输入您的用户 ID 和密码(前面已经记录下了此信息)。单击 Log in 按钮。
- 单击 My Task,应该会看到一个空任务列表屏幕。
图 4. My Tasks 屏幕布局
恭喜您,现在已经准备好开发处理 Poretlet 的任务了。如果您希望了解有关安装和配置选项的更多信息,请参见 WebSphere Portal 信息中心(“参考资料”部分)。
结束语
本文介绍了使用 Portlet 作为基于 Web 的用户界面的好处。我们介绍了集成的 WebSphere Portal 和 WebSphere Process Server 设置的高级体系结构并说明了如何集成此设置。
所带来的额外设置成本非常值得,能够更好地管理业务流程的人工任务方面的工作而且交互性也更好。在本系列的最后一篇文章中,我们将了解如何创建这些人工任务 Portelt。
参考资料 学习
获得产品和技术
- 下载 IBM 产品评估版,获得来自 DB2®、Lotus®、Rational®、Tivoli® 和 WebSphere® 的应用程序开发工具和中间件产品。
讨论
|