本文将分析 Web 网站从 Domino 迁移到
WebSphere Application Server 上的优势,结合一个示例展现整个迁移。
IBM Lotus Domino 是功能强大的企业级协作服务器平台,用于电子邮件、日程安排和协作应用。它提供的服务包括邮件服务器,Notes/Domino 应用程序服务器,数据库服务器,目录服务器,以及 Web 服务器等。当 Domino 提供 Web 服务器功能时,它能够将 Notes/Domino 应用程序中的设计元素和文档数据转换成 HTML 代码并通过 HTTP 协议传输给网络浏览器。
WebSphere Application Server 是一种基于 Java 和 Web 服务技术的应用服务器,通过强大的应用部署环境,用户可以创建、部署和管理企业应用、监视运行性能。WebSphere Application Server 全面支持可跨越不同应用架构和 B2B 应用的 Web 服务,适应将来可能发生的无限数量的应用节点之间的链接。
分析将 Web 网站从 Domino 迁移到 WebSphere Application Server 上的优势
Web 2.0 时代带来了新的机遇和挑战,随着 Notes/Domino 8.5 版本中引入了全新的 XPage 技术,这为开发基于 XPage 技术的 Web 应用程序提供了一个方向。同时,随着 Domino 和其他产品例如 WebSphere Portal 等集成能力的不断增强,将 Domino 和其他产品进行集成也为开发 Web 网站提供了一个思路。Notes/Domino 应用程序可以被设计成使用一套设计元素,支持包括 Notes 客户端, Web 和移动设备在内的多种平台。它包含各种设计元素,用于用户界面设计和展示,数据计算和存储等。这些设计元素提供了非常强大的灵活性,代码和控件的操作可以被灵活的修改,增加了开发人员的效率。但同时,这些灵活性会导致一些问题,对于传统的基于 Web 平台的 Notes/Domino 应用程序来说,这些问题包括数据展现层的代码和逻辑部分的代码混合在一起难以区分,自动生成的和手动添加的 HTML 代码的杂糅,通过 Domino 转换的 HTML 页面而无法提供"所见即所得"的特性等。这些问题使传统的基于 Web 平台的 Notes/Domino 应用程序开发过程变得复杂,增加管理和维护的困难。同时,基于 Notes/Domino 平台开发的 Web 应用面临性能瓶颈,对于大用户量并发访问, Web 应用就会变得缓慢 ; 基于 Notes/Domino 平台开发的 Web 应用,没有事务处理能力;Notes/Domino 的数据库是基于文档类型的数据库,对于大数据量检索,就会显得非常缓慢。
WebSphere Application Server 是个高性能的应用服务器,提供了一个丰富的应用程序部署环境,其中具有全套的应用程序服务,包括用于事务管理、安全性、群集、性能、可用性、连接性和可伸缩性的功能,能够完全满足 Web 应用的特点。WebSphere Application Server 具有以下优点:
完整的 J2EE 实现
WebSphere Application Server 支持企业 EJB2.0 规范,能够利用 Java 技术省时省力地开发更多的高质量企业应用,使开发人员能够使用单一技术开发、测试和部署企业应用。WebSphere Application Server 实现了 J2EE 规范,包括 EJB2.0 规范,可跨越操作系统平台,企业级的安全和事务服务,扩展的编程模型,以异步消息传输实现更为松散的应用集成。
通过消息集成提高开发效率
WebSphere Application Server 基于 WebSphere MQ 传输中间件技术,内置 JMS 提供者实现应用集成。
全面支持 Web 服务
WebSphere Application Server 通过提供一个全面的架构,对基于 Web 服务的应用程序的部署提供支持。WebSphere Application Server 允许企业构建、发布和管理应用服务。WebSphere Application Server 支持核心的 Web 服务技术规范,包括简单对象访问协议 (SOAP)、通过描述发现和集成 (UDDI)、Web 服务描述语言 (WSDL)、Java 规范请求、Web 服务安全 (WS-Security)、XML 签名、XML 加密和 SOAP over JMS 等等。
满足随需应变的需求
WebSphere Application Server 可帮助企业应付不可预测的业务量,同时不降低客户体验,应用服务器平滑的性能和可靠性可帮助企业应用系统适应顺息万变的环境。通过负载均衡和集群机制,Websphere Application Server 网络部署版将访问负载分发到多个服务器实例上。系统高可用性有助于企业避免灾难性的系统中断,还能提高客户的满意度。
将 Web 网站迁移到 WebSphere Application Server 上,可以大大提高 web 网站的性能和并发访问量,同时能够支持 Web 网站的扩展性。基于 WebSphere Application Server 的 Web 网站,可以连接后台关系数据库,如 DB2 等等,可以实现 Web 网站的事务处理能力,实现 Web 网站的交易功能和动态网页特性。基于 WebSphere Application Server 的 Web 网站,可以充分使用最新的技术构建,可以开发更多美观大方的 Web 网站,让 Web 网站更加人性化和方便性,提高 Web 网站访问者的访问满意度,吸引更多的 Web 网站访问者。基于 WebSphere Application Server,更容易利用最新的技术,开发出满足用户需求,特点鲜明,方便用户体验的 Web 网站。
设计如何将 Web 网站从 Domino 迁移到 WebSphere Application Server
典型的 Notes/Domino Web 应用程序特点
对于 Web 网站这类基于 Web 平台的 Notes/Domino 应用程序,典型的设计元素通常包括:
表单(Form)
表单可以说是 Notes/Domino 应用程序中最重要的设计元素。它既可以作为数据的展现层,又是数据保存的接口。对于基于 Web 平台的 Notes/Domino 应用程序而言,通过对表单添加相应的域,设置相应的 HTML 属性,或者直接嵌入 HTML 代码的方式,同时满足信息的收集和在 Web 页面中展现的需要。此外,还可以在表单中添加隐藏的域或者嵌入的视图,利用公式语言或者 LotusScript 脚本语言计算数据的输出和显示方式,动态的呈现给用户。
页面(Page)
页面也是完成数据展现的重要设计元素。不同于表单,页面不具有保存数据的功能。但是对页面添加 HTML 代码,文本或者图片等,用于构建 HTML 的页面框架是十分方便的。
表单(Form)
表单可以说是 Not
视图(View)
视图是 Notes/Domino 应用程序中的数据 -- 文档的的筛选器,用于以列表的形式排序,分类文档集合。利用 Domino 自动为视图直接生成 HTML,或者手动内嵌 HTML 代码将视图内容以 HTML 展现,都是在基于 Web 平台的 Notes/Domino 应用程序展现文档集合的方式。
子表单(Subform)
子表单和表单类似,其不同在于它可以被内嵌到其他表单中。这对于 Web 网站这种包含很多相同部件的 Notes/Domino 应用程序十分有用,例如我们可以创建一个子表单用于展现网页底部的常用链接和版权等信息,然后在不同的表单中共用这些信息。
代理(Agent)
代理可以被触发,从而可以执行复杂的计算和操作。对应基于 Web 平台的 Notes/Domino 应用程序,代理可以被设计成在后台执行,并可以为其添加代码使代理直接输出 HTML 代码完成页面的渲染。
脚本库(Script Library)
JavaScript 脚本可以直接在脚本库中进行创建,并在其他设计元素如表单中,直接被嵌入或通过手动 HTML 代码被调用。
样式表(Style Sheets),图片(Image), 文件(File)
和 JavaScript 脚本类似,他们也可以在 Notes/Domino 应用程序被直接被嵌入或通过手动 HTML 代码被调用。
除了上面列出的设计元素,由于 Domino 服务器可以将大部分设计元素直接转换为 HTML 代码,其他 Notes/Domino 应用程序的设计元素也是可以被使用在基于 Web 平台的 Notes/Domino 应用程序中的。
图 1. 一个简单的新闻网站的设计元素