从 Hello World 开始
绝大部分编程语言的学习材料都会以“ Hello World ”这样一个简单的应用作为开始,本教程也遵循这样的惯例。本章中所要完成的是一个显示“ Hello World ”这样一个字符串的 iWidget 。在本章中重要的并不是 iWidget 本身,而是 iWidget 的完整开发流程。本章将介绍开发环境的准备以及 iWidget 的部署和运行等重要话题。在下面的章节中,将会以此 HelloWorld iWidget 为基础,不断在上面添加新的功能。
开发环境
目前暂时还没有正式发布的专门为 iWidget 开发人员使用的开发工具,另外考虑到 iWidget 正式支持的部署格式是 Web 应用程序归档文件(WAR),因此当前比较适合 iWidget 开发的环境是 Eclipse Web 工具平台(Web Tools Platform,WTP)。使用 Eclipse WTP 可以方便的创建动态 Web 应用,并将其打包成 WAR 格式以方便部署。可以在 参考资料 中找到 Eclipse WTP 的详细信息。
Eclipse WTP 下载安装完成之后,需要进行服务器的配置,此处使用的是 Apache Tomcat 6.0 。
除了 Eclipse WTP 之外,还有其它的开发工具支持 JEE 应用的开发,此处不逐一介绍。实际上,如果 iWidget 没有服务器端的代码,只是纯浏览器端代码的话,使用纯文本编辑器就可以进行开发,打包的时候可以使用 Ant 或是手工来创建 WAR 文件。关于 iWidget 的打包格式,参见“打包”这一节。
运行环境
iWidget 作为一个 Web 窗口小部件的规范,目前被 IBM 的很多产品所支持,其中包括 IBM Mashup Center 和 IBM Lotus Connections 等。这些产品中,最适合 iWidget 开发使用的是 IBM Mashup Center 。 IBM Mashup Center 由 Lotus Mashups 和 InfoSphere MashupHub 组成。在 IBM Mashup Center 中可以很容易的通过 InfoSphere MashupHub 将一个开发出来的 iWidget 部署到 Lotus Mashups 上去,而在 Lotus Mashups 可以很方便的查看 iWidget 的运行效果。 IBM Mashup Center 目前的正式版本是 1.1,可以在 参考资料 中找到它的详细信息。本教程中示例的 iWidget 都以 IBM Mashup Center 1.1 作为目标运行环境。
创建 HelloWorld iWidget
在安装完 Eclipse WTP 之后,使用它创建一个名为 HelloWorld 的动态 Web 应用项目,并将该应用配置到 Tomcat 服务器上面,所使用的 Web 应用路径是 /helloworld。配置完成之后启动 Tomcat,运行在 8080 端口。
一个 iWidget 中必不可少的是其定义文件。这是一个符合 iWidget 规范要求的 XML 文件。它定义了组成 iWidget 的各个部分。清单 1 中给出了 HelloWorld 这个 iWidget 的定义文件。
清单 1. HelloWorld iWidget 的定义文件
<iw:iwidget
name="HelloWorld"
xmlns:iw="http://www.ibm.com/xmlns/prod/iWidget"
supportedModes="view"
mode="view"
lang="en">
<iw:content mode="view">
<![CDATA[
Hello World
]]>
</iw:content>
</iw:iwidget> |
关于 清单 1 中 iWidget 定义文件的内容,会在下面的章节中详细解释。在 HelloWorld 这个 Web 应用的根目录下面创建一个 helloworld.xml 文件,其内容如 清单 1 中所示。尝试通过浏览器访问 iWidget 的定义文件,URL 是 http://localhost:8080/helloworld/helloworld.xml。如何可以访问正确,就说明开发环境的配置是正确的。图 1 中给出了 Eclipse WTP 中看到的 HelloWorld 项目的结构图。接下来说明如何部署 iWidget 到 IBM Mashup Center 上。
图 1. HelloWorld 项目结构图
部署 HelloWorld iWidget
在 IBM Mashup Center 中,有两种部署 iWidget 的方式,都是通过 InfoSphere MashupHub 来完成的。一种是将打包之后的 Web 应用程序归档文件(WAR)上传到 MashupHub,再部署到 Lotus Mashups 中;另外一种是将 iWidget 定义文件的 URL 添加到 MashupHub,再部署到 Lotus Mashups 。从开发的角度来说,第二种方式更好,因为除非修改了 iWidget 定义文件的 URL,否则只需要部署一次即可,而且 iWidget 定义文件存放在开发环境中,更容易进行修改。图 2 中给出了添加 iWidget 定义文件的 URL 到 MashupHub 的界面。
图 2. 添加 iWidget 定义文件的 URL 到 MashupHub
运行 HelloWorld iWidget
在将 HelloWorld 部署到 Lotus Mashups 之后,就可以在 Lotus Mashups 的中运行该 iWidget 了。这个时候只需要将其从工具箱(toolbox)中拖到构建区域上,就可以看到该 iWidget 的运行效果,图 3 所示。
图 3. HelloWorld iWidget 的运行效果
小结
本章通过介绍如何开发一个简单的 HelloWorld iWidget 并运行,详细说明了 iWidget 的开发和运行环境,以及如何部署 iWidget 到 IBM Mashup Center 上。下面将通过为这个 HelloWorld iWidget 添加更多的功能,来介绍 iWidget 的更多特性。
|