代码改变世界

Portal应用点滴(三) —— Pluto与HelloWorld Portlet

2005-10-13 10:41  FantasySoft  阅读(3675)  评论(0编辑  收藏

        在上一篇Post中,我提到要开始实践了,但是酝酿一篇与实践密切相关的Post还真的很费劲。毕竟建立一个portlet的方法有很多种,而且还会因使用的工具不同而方法迥异。平常在工作当中都是使用IBM提供的Portal Toolkit进行Portlet开发,打开Create New Portlet Wizard,跟着提示点几下按钮,一个漂亮的Portlet就在弹指之间完成了。如果我把这样的过程step by step地写下来,似乎意义不大,毕竟这些内容在IBM的红皮书中都写得清清楚楚了,况且由Portal Tookit搭建起来的开发环境也不是唾手可得的,看来还得从Open Source的东西入手了。
        在Apache的Portals项目中有一个名叫Pluto的子项目,它致力于构建一个简单的Portlet Container,让程序员可以Deploy并运行所开
发的Portlet。Pluto相对于BEA、IBM等大公司提供的Portal Server而言,尽管显得功能简陋,但是作为Portlet API的一个参考实现还是挺有权威的,其简单性也正好让我们更加关注Portlet的本质。更重要的是,它是开源的,大家都很容易从网上找到它。于是,Pluto就成为我们进行实践的不二之选了。OK,想好了就开始动手咯!
        首先,我们从Pluto下载页面
中把最新版本1.0.1-rc4的Pluto给download下来。由于Portlet Container并不是一个可以独立运行的container,它是离不开Web Server和Servlet Container的,所下载的Pluto中就包含了Tomcat5.5.9。由于Tomcat5.5.9所要求的JRE是5.0或以上,如果你的机子上装有5.0以上版本的JRE,那么你只需要将Pluto解压到某一个目录下(<PLUTO-HOME>),然后在console中进入<PLUTO-HOME>/bin目录,运行startup即可。这样Tomcat连同Pluto都启动了,接着我们访问http://localhost:8080/pluto/portal,就会出现如下界面,准备工作就大功告成了。

Pluto.bmp


如果你的机子上只有JRE1.4的话,要让Tomcat跑起来我们就还得从Tomcat5.5.9的下载页面下载一个名为compat的zip file。然后把这个zipfile解开,里面包含着bin和common两个目录,bin目录下包含着jmx.jar文件,common目录下还包含着一个endorsed目录,该目录下包含着xml-apis.jar和xercesImpl.jar文件。我们只需要把jmx.jar复制到<PLUTO-HOME>/bin目录下,改掉<PLUTO-HOME>/common/endored目录下的两个jar文件的后缀,并将xml-apis.jar和xercesImpl.jar复制到该目录下即可。
        准备工作完成以后,我们就开始咱们的第一个Portlet了——HelloWorld Portlet,具体的步骤请参考OnJava上的文章:What Is a Portlet,在这里我就不罗嗦了。与这篇文章所介绍的不同,由于我们使用的是1.0.1-rc4,发布Portlet就不再像文章所说的那样复杂了,你也不需要有Maven的基础,只需要通过Pluto的Admin页面将war文件上传并根据页面提示进行少许配置,就轻而易举地完成Portlet的发布了。发布完成以后,需要重新启动Pluto,这是一个非常不方便的地方,但据说在一个版本的Pluto将支持Hot Deploy,发布Portlet就不需要重新启动了。
        最后,我们通过浏览器访问http://localhost:8080/pluto/portal,你会发现在左边的Portal Page列表中多了一项——HelloWorld。点击该项,我们就可以看到这个最简单的Portlet了。

HelloWorldPortlet.bmp