通过介绍 Workplace 开发工具开始学习 Workplace 应用程序开发,这些工具包括 Workplace Template Editor、Workplace Designer、Workplace Forms、Workplace SDK 和 Workplace Managed Client Developer Toolkit。
目前,大多数读者听说过 IBM Workplace。但是,您可能不知道 IBM Workplace 不是一个单一的产品,而是一个产品和技术系列,它们可以改变人们的工作方式。Workplace 产品系列 由许多 IBM 产品组成,包括 IBM Workplace Collaboration Services、Lotus Notes 和 Domino、WebSphere Portal 以及 WebSphere Everyplace。IBM Workplace 的目标是在个体用户的环境中提供对人、资源和工具的统一且一致的访问。为了实现这个目标,IBM Workplace(包括它的开发工具)被设计为供具有不同需求和不同技能的用户使用。
如此广泛的工具集带来了一些挑战。有时候,很难确定应该为实现特定目标使用哪种工具。在本文中,我们将介绍各种 IBM Workplace 开发工具,让您能够更容易地决定使用哪种工具。
要获得关于 IBM Workplace 产品系列的更多信息,请访问 developerWorks Workplace 上的 IBM Workplace 新手入门 页面。
Workplace 开发人员的类型
在企业中,为 IBM Workplace 产品创建应用程序的开发人员大致分为三类(即三种角色):
业务线用户和管理员
公司开发人员
Java 2 Enterprise Edition(J2EE)开发人员
每个用户类型对工具有不同的需求,而且 IBM Workplace 为每种角色都提供了一组工具。这些工具的功能以及它们隐藏底层应用程序的复杂性的能力反映了相应用户的需要。为了解释在实践中应该如何利用这些工具,需要讨论在哪里以及为什么使用每种开发工具。
注: 本文档并不是为这些工具提供功能性参考资料,而是说明在特定情况下使用哪种工具最合适。
业务线用户
归入这一类的用户需要快速且简便地创建应用程序;也就是说,他们需要容易使用而且不需要进行编程的应用程序开发工具。
这里使用的工具是从 Web 浏览器运行的,而不是作为单独的应用程序运行。这种工具的目标是向业务用户提供应用程序开发能力,让他们能够将可重用组件组装成应用程序。例如,图 1 说明了聚合式应用程序的概念;在这种应用程序中,许多 portlet 组装在一个门户页面上,它们将这个应用程序的最终用户通常需要的功能组合在一起。在这种应用程序中,团队列表、讨论、邮件等等都出现在同一个页面上。
图 1. 聚合式应用程序的示例
以这种方式构建应用程序与采用聚合等一般方式的差异是,在 IBM Workplace 中这是由业务用户完成的,而不是由门户管理员来完成。应用程序的日常管理(比如通过成员关系来管理访问控制)也是由应用程序的所有者完成的。这使整个组织更具生产效率并减轻了管理整个系统的负担,因为管理员只需为安全性、系统性能和维护操心,而业务用户负责自己份内的工作。
要使用什么东西来组装应用程序呢?这就是 Workplace Template Editor,这是一个自我服务的基于浏览器的工具。Workplace Template Editor 通常用来创建应用程序模板。应用程序模板仅仅是组合在一个页面上的一组 Workplace 组件。在创建这个页面之后,用户只需将各个组件拖放进去来创建想要的效果,最终产生一个可供所有用户使用的复合应用程序。
IBM Workplace Collaboration Services 附带一组预先配置好的应用程序模板,它们各自针对特定的业务过程,包括讨论、文档库、聊天室和团队项目。可以修改这些模板来满足用户的需求,也可以创建新的模板。应用程序模板是采用 XML 格式的应用程序表示,用于提供应用程序的实例。应用程序的每个实例可以按照组或单独的级别分配角色,从而定义用户的权限。这些成员关系和应用程序角色也称为社区角色;它们映射到组件的特定权限。这些模板都是通过模板类别进行管理的(见图 2)。
图 2. 模板类别
除了 portlet 之外,应用程序还可以包含列表和表单,这使用户能够将额外的功能添加到应用程序中,定制应用程序的行为来满足公司的需要(见图 3)。
图 3. 表单和表单字段
访问角色可以添加到各个应用程序部件上,从而为应用程序的每个组件分别设置权限。
这种工具的另一个强大特性是能够将 portlet 连接在一起。这种设施称为 portlet 连接(portlet wiring),允许标识出应该发送到其他组件的信息片段。这种特性通常的用途是将客户编号从主 portlet 发送到细节 portlet,从而让细节 portlet 显示相关信息。
当对页面满意之后,将完成的模板部署到服务器上,供用户社区使用。
总之,Workplace Template Editor 具有以下优点:
与协作应用程序的开发相关联的成本降低了,因为应用程序可以由业务线用户通过浏览器来构建。
通过鼓励重用现有的应用程序,比如 SAP、Siebel、Lotus Notes/Domino 等等,进一步降低了成本。
通过重用和修改模板,减少了开发时间。
通过将已知过程和模式封装在模板中,确保采用最佳实践。
由于业务用户对应用程序进行自我服务式的管理,IT 成本降低了。
这种工具容易掌握,因为它们与 WebSphere Portal 中的工具相似。
尽管 Workplace Template Editor 不允许对应用程序的各个组成部分进行深入的定制,但是它可以从可重用组件快速地创建出应用程序,供用户使用。
公司开发人员
下一类用户是公司开发人员。这类用户包括具有各种技能的用户,包括熟悉 Microsoft Visual Basic 和其他脚本语言的开发人员以及 Lotus Domino 应用程序开发人员。这些人通常在公司的 IT 部门工作,为公司 IT 用户的日常需求提供支持。
在为客户需求提供解决方案时,需要的是一种强大的容易使用的工具。这种工具的重要性质是,它提供一个可视化环境,让开发人员能够快速、高效地完成任务。IBM Workplace Designer 提供了这些特性,支持创建 Workplace 复合应用程序,这些应用程序由更小的可重用组件或功能片段组成。这些功能片段往往是组装成 Workplace 门户应用程序的 portlet,但是 Workplace Designer 也可以创建能够部署到 IBM Workplace Managed Client 中的应用程序。
对于使用过 Lotus Domino Designer 的人来说,应该熟悉 Workplace Designer 的功能。它基于 Eclipse,具有基于 Eclipse 的产品中的许多常见特性,包括一个页面设计器以及周围的面板和导航器(见图 4)。这是一个功能全面的组件开发环境,支持将控件拖放到页面上,还有事件编辑器,可以使用它创建 JavaScript 事件处理函数并指定在客户机上还是在服务器上执行。它还有一个数据导航器,可以在其中将各个 UI 元素与数据库中的数据条目或来自其他数据源的数据关联起来(绑定)。换句话说,脚本级的开发人员可以将 Workplace Designer 作为直观的集成开发环境(IDE)并使用 JavaScript。不需要 J2EE 知识和技能。
图 4. Workplace Designer
Workplace Designer 在 Workplace Managed Client 中运行,因此基于 Workplace Client Technology 和 Eclipse Rich Client Platform(RCP)。它的表单设计器是一个特性全面的 WYSIWYG(所见即所得)表单设计器,在其中可以拖放各种视图控件来创建想要的 UI。这些表单是组件的基本构造块,包括协作。构建的每个组件可以有一个或多个相关联的表单。
为了创建应用程序的界面,可以将 UI 控件拖放到表单上。这些控件包括文本框、组合框和单选按钮以及表格、图像和视图。可以编写与这些控件相关联的事件,从而控制应用程序流和 UI 的行为。
在组件中创建的所有文档由 XML 模式驱动,存储在部署组件的 IBM Workplace Collaboration Services 或 IBM Workplace Services Express 服务器上的关系数据库中。可以使用模式编辑器单独创建模式,也可以在创建表单时创建模式,如果需要,以后可以使用模式编辑器修改它们。这个 XML Schema Editor 允许以直观的可理解的方式设计、创建和修改 XML 数据定义。
特性全面的 JavaScript Editor 允许用 JavaScript 编辑程序逻辑,它具有颜色编码和代码补全特性,可以帮助开发人员提高开发效率。这个编辑器也用于编写 UI 控件上的事件。可以根据需要编写在客户机或服务器上运行的 JavaScript。除了使用 JavaScript Editor 编写逻辑之外,还可以指定简单的动作,也就是在发生指定事件时执行的预定义的逻辑。
将组件部署到 Workplace Collaboration Services 或 Workplace Services Express 服务器上是一个复杂的多步过程,需要深入了解 J2EE、WebSphere Portal 和关系数据库管理。Workplace Designer 的简化部署机制使用户能够快速地看到对 UI 和数据设计进行修改的结果。
Workplace Designer 简化了部署过程。只需要在 Workplace Designer 首选项中的部署配置文件中提供适当信息,然后就可以使用 Workplace Designer 菜单部署任何组件。支持迭代式部署,也就是说,可以修改一个组件,然后在已经部署这个组件(甚至已经使用它)的服务器上重新部署它。这样,在使用这个组件的地方,这些修改就会起作用。Workplace Designer 支持创建多个部署配置文件,这样就可以使用不同的部署配置文件将同一组件部署到不同的服务器上。
Workplace Designer 中的自动化部署是标准 portlet 部署机制的一个选项,所以如果愿意的话,管理员仍然可以使用标准机制部署 Workplace Designer 组件。在将组件部署到生产服务器时这很重要,因为您在生产服务器上可能没有使用 Workplace Designer 执行部署所需的足够权限。可以使用菜单将组件从 Workplace Designer 导出为 Web Archive(WAR)文件,还可以导出包含组件数据存储信息的 Data Definition(DDL)文件。然后,可以将导出的 WAR 和 DDL 文件交给管理员进行手工部署。
将组件部署到服务器上之后,可以使用前面介绍的 Workplace Template Editor 将它添加到应用程序模板中。
Portlet Factory(以前称为 Bowstreet Portlet Factory)是 IBM Rational Application Developer 的一个插件,它简化和加快了定制 portlet(包括 SAP、Lotus Domino、PeopleSoft 和 Siebel portlet)的开发、部署、维护和重用。这种功能的关键是能够创建多页面的复杂 portlet,而不必编写代码。
复合应用程序框架包含专门的组件、健壮的管理工具、预打包的代码以及解决方案特有的特性,可以快速开发门户项目。对于需要通用快速应用程序开发工具以及应用程序特有的功能的开发人员,复合应用程序框架是理想的工具(见图 5)。
图 5. WebSphere Portal Factory
如果希望为 IBM Workplace 产品系列构建新组件(使用表单、视图和 JavaScript API),那么 Workplace Designer 很合适;而 Portlet Factory 更适合建立解决方案,从而构建 portlet 来利用现有的数据源(比如 SAP、PeopleSoft、JD Edwards、Siebel、Lotus Domino、Web 服务,等等)。
IBM Workplace Forms 用于生成电子表单。这种技术为随需应变的业务过程提供一个安全、动态且智能化的前端。它由许多部分组成,具体地说是服务器、设计器和客户查看器,可以创建、部署和调整基于表单的过程。Workplace Forms 是基于开放标准的,这使组织能够利用现有的资源并与其他 IBM 软件进行集成。
使用 Workplace Forms Designer,可以创建一个具有许多功能的表单模板,包括输入和显示字段、计算的数据、按钮等(见图 6)。还可以扫描表单并指定输入区域。在显示这个表单时,Workplace Forms 将它显示为传统纸质表单的屏幕表示。如果扫描了表单,显示的是纸质表单的扫描图像。
图 6. IBM Workplace Forms
这种技术使组织能够减少成本、提高效率、改进客户服务、减少纸张的使用量、减少数据输入错误以及调整基于表单的过程。IBM Workplace Forms 还可以帮助组织管理风险、保护财产以及适应政策和法规的要求,而且可以使用数字签名技术来保障文档完整性和安全性。
总之,这些工具提供了容易使用的直观的可视开发环境,使开发人员能够设计、构建、测试和部署开放的安全的组件。它们还隐藏了 J2EE 的复杂性,以前使用过 Microsoft 的 Visual Basic 或 Lotus Domino Designer 的开发人员应该很容易掌握它们。
专业的 J2EE 开发人员
最后一类开发人员是专业的软件开发人员,他们需要功能全面的高级工具,可以控制从最初到部署的整个开发周期。可以使用 IBM Rational Software Architect 和 IBM Rational Software Modeler 这样的工具来描述系统行为和交互(例如使用 UML 图),这些是 IBM Rational 产品组合中的通用应用程序开发工具。
为 IBM Workplace 开发应用程序需要两组功能:一组功能用于产生基于 Web 的组件或 portlet,另一组功能用于创建 Workplace Managed Client 组件。
基于 Web 的组件
IBM Rational Application Developer for IBM WebSphere Software 中的门户和 portlet 开发工具用于开发基于 Web 的 Workplace 组件。Rational Application Developer 包含一个门户和页面设计器以及其他工具。
要创建门户应用程序,可以使用 Portal Designer,它允许导入现有的门户项目或者创建新的门户项目。可以通过添加页面或者通过将行和列拖放到这些页面上来定制这个门户。用户可以将 portlet 和标签拖放到这个布局中。还可以使用这个工具创建和修改主题和外观(见图 7)。
图 7. 创建门户项目
采用相似的方式创建 portlet,首先是创建 portlet 项目。portlet 可以基于 Struts 或 JavaServer Faces,您可以决定在创建 portlet 时默认启用哪种模式(见图 8)。
图 8. 创建 portlet 项目
通过 Page Designer 编辑 portlet 中的各个页面。这是一个高级的 Web 设计工具,支持将 UI 控件从面板拖放到页面上,对绑定到应用程序数据的拖放支持与 Workplace Designer 中一样。但是,它也是一个强大的开发环境,在这个环境中可以全面控制 J2EE 开发的所有方面(见图 9)。
图 9. Web Page Designer
另外,还有一个用于 Workplace 组件的 API 工具包,它允许扩展系统或者直接利用 Workplace Collaboration Services 或 Workplace Services Express 服务器的服务。
IBM Rational Application Developer for WebSphere Software 还包含对完成的应用程序进行测试的工具。可以启动门户服务器的实例并在上面运行应用程序,或者连接到正在运行的服务器。可以将应用程序导出到 WAR 文件中并在服务器上安装它,或者直接在服务器上部署它(如果您有进行这种操作的权限)。
还可以利用 IBM Workplace Software Development Kit(SDK) 用 Java 进行服务器端开发。这向有能力创建基于 Java 的 J2EE 应用程序的开发人员提供了服务器功能,使他们能够扩展和增强 Workplace Collaboration Services 或 Workplace Services Express 服务器的功能。
Workplace Managed Client 组件
Workplace Managed Client 有许多功能,包括在线和离线的数据访问、消息传递,等等。它也是一个基于 Eclipse 的应用程序,这意味着为它开发应用程序需要使用 Java。但是,可视工具消除了 Java 组件开发中的许多重复步骤。可以使用 Workplace Managed Client Developer Toolkit(它可以安装在 Eclipse 和 Rational Application Developer 上)来创建应用程序,按照与创建 portlet 布局相似的方式定义应用程序中视图的布局(见图 10)。
图 10. 组装应用程序
然后,可以调整每个视图的设置,包括生成一个包含这些新视图的透视图(见图 11)。
还可以使用 Workplace SDK 中的 Workplace Managed Client Developer Toolkit 来开发更高级的应用程序并充分地利用客户机的功能,比如离线工作、开发客户界面和对数据进行同步。
图 11. 定义的视图内容
Workplace Managed Client Developer Toolkit 提供了许多示例应用程序来演示它的功能,而且在线帮助提供了关于创建和操作这些示例的细节。
还可以使用 Workplace Managed Client Developer Toolkit 直接在客户机上运行和调试应用程序。从集成开发环境(IDE)中启动客户机应用程序并以测试模式运行,这样它们就不会干扰客户机上的其他应用程序。
Export Wizard 简化了将应用程序部署到 Workplace Collaboration Services 服务器上的复杂过程。
Java Visual Editor
与 Workplace Managed Client Developer Toolkit 相互补充的一个工具是 Java Visual Editor,它提供了将 UI 组件从面板拖放到 Java UI 中的能力(见图 12)。这个编辑器支持其他 UI 小部件集,比如 Swing(Java Foundation Classes),也支持 Workplace Managed Client 基于的 Standard Widget Toolkit。
对 UI 的数据绑定是非常简单明了的,因此可以将数据源(比如 Service Data Objects(SDO)、Enterprise JavaBeans(EJB)等等)拖放到页面上并在 UI 和数据源之间建立连接。
组件和数据源之间发生的事件可以用 Java 进行编程。
图 12. Java Visual Editor
它适合您吗?
显然,无论您在组织中处于什么位置,如果需要开发 Workplace 应用程序,那么一定有适合的工具。工具集的广泛性和灵活性意味着,日常的应用程序组装和部署可以由业务用户来管理;更复杂的解决方案可以由公司开发人员提供;最复杂的应用程序可以由 J2EE 开发人员来开发,对于这些任务都有适合任务性质以及用户技能和角色的工具。
参考资料
学习
您可以参阅本文在 developerWorks 全球站点上的 英文原文 。
developerWorks Workplace 文章,“IBM Workplace Designer 简介”
developerWorks Workplace 文章,“IBM Workplace 编程模型概述”
developerWorks Workplace 文章,“IBM Workplace Managed Client Developer Toolkit 简介”
developerWorks Workplace 文章,“用 IBM Workplace Collaboration Services API 工具包开发应用程序”
获得产品和技术
从 developerWorks 下载 IBM Workplace Designer 的试用版。
从 developerWorks 下载 IBM Workplace Forms Viewer and Designer 的试用版。
下载 IBM Rational Application Developer for WebSphere Software V6.0 的试用版。
下载 IBM Workplace Software Development Kit (SDK)。
从 alphaWorks 下载 IBM Workplace Managed Client Developer Toolkit。