昨天才知道ibm出了个Workplace Managed Client(base:eclipse3.0+rcp),配合Workplace
Collaboration Services(base:wps5.0)能够实现客户的被控形式。
整合了notes、openOffice、协同、网上教学等功能。
使用eclipse开发,开发之后部署到WCS上,由wcs负责分发到客户端。实现一次开发C/S B/S 双体现。
现在已经有许多关于用户可以从 IBM Workplace 中的跨平台、跨设备功能中获得哪些好处的信息了,但是您仍然需要知道该功能对您有什么影响,以及要开发 IBM Workplace 并使自己的应用程序在其上运行,您需要学习哪些知识。本文将填补这个空白。
什么是 IBM Workplace?
IBM Workplace 将后端系统的力量扩展到了前端。它通过一系列产品和技术做到了这一点,这些产品和技术帮助交付了可选的服务器托管客户机,从而支持在大量访问点和连接方式中的多种用户类型和用户体验。这使终端用户可以灵活有效地访问人员、业务流程、应用程序和内容。图 1 显示了 IBM Workplace 及其服务器托管客户机如何使这个集成过程对终端用户透明。
虽然并没有限定您使用 IBM 产品进行开发,然而当使用带有 IBM Workplace 的 IBM Software Development Platform 时,您应该有一个包含许多预先集成部分的、完整的端到端解决方案。这些部分可以一起使用,也可以与现有应用程序基础设施集成在一起。
图 1:IBM Workplace 管理的客户机模型
IBM Workplace 平台由与用户交互和用户体验有关的产品组成:
Lotus Workplace
Lotus Notes/Domino
WebSphere Portal
WebSphere Everyplace
该平台还包括 IBM Workplace Client Technology,可以将它看作桌面中间件平台。该客户机包含加密的 Java RDB 数据存储、个人 Enterprise JavaBeans(EJB)容器、Eclipse 富客户机框架,以及从门户网站服务器读取布局和下载组件的能力,所有这些都具有基于策略的集中式管理和自动配置。该客户机具有完全桌面富客户机版本和普及的聚焦设备的宏版本。 参考资料中有关于 IBM Workplace Client Technology 详细信息的链接。)
本文将讨论 Lotus Workplace 产品和 IBM Workplace Client Technology。
为什么应用程序要使用 Workplace 平台?
Lotus Workplace 通过将组件集合到新的合成应用程序中,提供了一种创建应用程序的新方法,主要是为了提高人们在日常工作活动中的效率。用户可以通过使用开发人员创建的 模板 来创建工作场所应用程序。模板是组件、组件在页面上的布局和运行时配置信息的 XML 表示。通过让用户自己使用预先构建的模板,可以将一些有用的开发资源用在更难以解决的系统集成问题和重要的业务逻辑上,同时还可以使用户访问他们想访问的东西,Lotus Workplace 是使用户立即完成其工作的高效工具。
Lotus Workplace 的高级生产经理 Chris Reckling 说:“我们有 10 多年构建协作系统的经验和数百万的客户。我们知道协作和人力效率是什么。我们已经检查了客户的应用程序以及我们自己的应用程序,来标识和捕获已知的协作模式。”正如他所说的,“我们已经实现了重大提高,提供支持协作和过程集成的基础设施,您可以在定制应用程序中利用这种集成。”
您的后端是您的业务
仅有您和您的公司知道您需要哪些数据库和其他数据存储。IBM Workplace 通过 Lotus Workplace 与现有数据存储一起工作,并通过工业标准接口(例如,SQL、LDAP 和 J2EE),以适用于用户的形式交付他们所需的信息。图 2 显示了 IBM Workplace 如何使用业务逻辑来向终端用户交付 资源 ―― 您的数据。
像其他 J2EE 应用程序一样,Lotus Workplace 使用多层架构。虽然您不是一定要使用该模型,不过 Chris Reckling 鼓励您使用该模型。“它是使长期维护更容易的最佳方法。”
如上所示, User 层 提供了用户界面,例如,portlet、富客户机平台视图和其他 UI 组件。
Workspace 层 与 User 层放置在一起,它为 User 层提供了使用业务委托对 Service 层业务逻辑进行访问的访问权。业务委托对 User 层隐藏了实现的一些细节信息和业务逻辑的位置,并执行缓存和其他状态管理功能。
Service 层 包含使用无状态会话 Enterprise JavaBean (EJB) 实现的业务逻辑。服务层通常位于与 User 层的不同服务器上。
Resource 层 提供持久数据存储和用于访问该存储的框架。Resource 层通过 Service 层中的业务逻辑来访问,通常位于不同的服务器上。User 和 Workspace 层从来不直接访问 Resource 层。
Chris Reckling 说,“Lotus Workplace 架构提供了大量的可伸缩性和灵活性,可以支持任何东西,从单服务器试验到大型企业部署。”
主要优点
据 Chris Reckling 所说,IBM Workplace 为开发人员提供了多个重要优点。首先,部署更加便宜 ―― 一旦将应用程序部署到服务器,所有类型的客户机都可以基于用户的角色访问它。像用户提供应用程序更新意味着在服务器上对该应用程序进行了一次部署。甚至自动将富客户机代码向下发送到桌面。而且因为正在构建基于标准的应用程序,所以可以使用现有的技术,并构建将来使用的技术。
然而对于开发人员,最大的好处来自重新使用应用程序组件。“您不必构建和部署庞大的应用程序,”Chris 说。“相反,可以构建较小的部分,然后将它们部署在一起。”所以,可以在应用程序之间共享位于逻辑层中的代码。
开发人员如何适应
您可能在问自己,在开发 IBM Worklpace 的应用程序中,您的角色是什么。还有许多需要您去构建的东西。如果已经使用开放的、基于标准的技术(如 Java 和 Eclipse)进行开发,那么应用程序可能会比想像的准备得更好。
组件方面的思考
IBM Workplace 使用的软件模型鼓励您将应用程序作为 组件 来开发。业务组件是 Workplace 应用程序的基本构建块。它封装了业务的概念、流程或服务(例如,邮箱、讨论、故障单或搜索)。业务组件可以独立部署和使用,不要求使用其他组件。
组件使您(和应用程序)的适应性变得更强;可以按不同的方式组合组件,从而构建复杂问题的解决方案。例如,团队空间合并了讨论或文档搜索组件。业务组件可以重用。可以在任意数量的解决方案或应用程序中使用相同的组件。
一旦部署了组件,它就由门户网站服务器和 Eclipse 框架之间的协作来集中管理和更新。只有在基于 Web 的 portlet 有效时,访问控制语义才适用。安全性方面包括授权、身份验证、个人凭证管理和本地加密的数据存储。
构建自己的组件
您可能还想使用 J2EE 编程模型扩展客户机,从而拥有自己的应用程序和业务组件。可以使用预先构建的组件,或者构建提供定制应用程序的您自己的组件。可下载的 API 工具包将为您提供与 Workplace 集成所需的信息,以及访问组件服务所需的信息。(有关链接,请参阅 参考资料。)
例如,可以构建帮助管理项目和重新使用 Domino 中的现有信息的组件、在图表中显示高层汇总(executive summaries),以及在项目期限快到时发送提醒邮件。
图 3 显示了如何让组件适用于 IBM Workplace Client 框架。
图 3:利用具有 IBM Workplace Client Technology 的 Eclipse 平台
或者使用我们的组件
然而,IBM Workplace 的一个优点它提供了大量组件 ―― 您不必自己编写每个组件。图 4 显示了 IBM Workplace 平台提供的服务。
图 4:Workplace 平台服务
托管客户机服务 或 Workplace Client Technology Platform 使用户可以对具有浏览器部署特征的富客户机进行完全访问。这些客户机有浏览器功能,而且还可以安全渐进地下载、更新以及智能地对下一代“富”客户机和混合客户机应用程序进行缓存。这些应用程序在终端用户的计算机上从本地运行,使用具有安全功能和脱机/断开功能的加密以及同步的内容存储。
在 Lotus Workplace 中,门户网站提供一组服务,如页面聚合、身份验证和主题,所以您不必自己重新编写这些服务。可以在这些服务之上获得一组协作应用程序服务,其中包括邮件、到场通知和及时消息、团队空间等。
据 Chris 所说,“根据您进行的操作,客户机提供设计时间功能或者运行时功能。但是它们都访问下面提供的相同服务集合。”从而获得预先集成的系统,使您有更多的时间在平台上添加值,花费更少的时间来集成它。
用户可以获得什么
Workplace 应用程序将许多组件用一种方式来表示。这种方式与目前使用其他工具(包括 WebSphere Portal)进行这项操作的区别是:将编译应用程序的能力交到业务用户的手中。只使用浏览器,这些用户就可以创建、编辑和设置他们所拥有的 Workplace 应用程序的访问权限。
甚至应用程序的日常管理(如按成员管理访问控制)也是由应用程序所有者完成的,而不是由门户网站管理员来完成,这样可以使管理员有时间执行其他任务。从而使整个组织效率更高