the apache pluto project(apache 冥王星项目)
pluto
pluto项目是java portlet规范的参考实现(reference implementation)。该规范目前的版本是jsr 168。
portlets是一种运行在portal环境下的对象,它们通过与servlet api相似的portlet api编写。与servlets不同的是,portlets有很多不能做的事情,比如直接向浏览器发送重定向应答或错误,比如转发请求,比如往应答的输出流中写入任意的markup标签,等等。这是因为portlets是被portal web application所使用的对象,它们的行为不能干扰到portlet web application的工作。与servlets的另外一个区别是,portlets依赖一些portal所特有的底层功能,诸如对user profile信息的访问,诸如存取持久层设定的标准接口,诸如获取客户信息,等等。一般而言,与servlets相比较,portlets以一种更加动态的方式被管理。
portlet容器为满足portlet api规范的portlets提供了运行环境。portlets可以在该环境中被初始化,被触发和调用,以及最终被销毁。和servlet容器不同的是, portlet容器不是作为一个独立可运行的容器来实现的,而是架设在servlet容器之上的一个层,它重用了servlet容器提供的许多功能。
pluto是一个满足portlet api规范的portlet容器的实现,它为开发者提供了一个运行portlets的工作平台。然而,如果没有一个驱动器(driver),也就是 portal,的支持的话,运行和测试portlet容器将非常之麻烦。pluto本身也提供了一个简单的portal模块,该模块仅仅是为了满足 portlet容器和jsr 168的需要而写的。如果你需要一个成熟的portal,请参考jetspeed项目。jetspeed项目关注的是portal本身,而不是portlet容器。
pluto的版本
