From:http://www.iteye.com/topic/620213
Portlet标准主要是JSR168,JSR286和WSRP. JSR168因为比较早,所以大部分的Portal都支持这个标准. JSR286是JSR168的增强版,对JSR168向后兼容.目前我接触到的Liferay会支持. WSRP到现在为止有两个版本,前面提到到Liferay仅支持1.0. Sun有一个Open Portal项目,他提供了JSR168/JSR286/WSRP1.0/WSRP2.0的简单实现.很多的Portal项目都是基于这个简单实现做的,想研究协议和源代码的朋友,强烈推荐看一下这个项目.
为什么需要标准化,好外很多.我认为最简单的表达就是共享和交互.
共享有两个层次.第一个层次(JSR168/286)是服务器级别的,一个符合标准的Portlet应用(war包),可以轻松部署运行在不同的服务器上,可以由不同的Portal应用集成. 第二个层次(WSRP)走的更远一点,就是不需要部署到自己的服务器上,就可以直接集成到我的Portal页面上,Portlet应用是运行在远程服务器上的(可以看一下igoogle提供的类似的功能,但igoogle并没有用wsrp).
对于交互,指的是Portlet之间的交互,对于JSR168/286来说,主要是以事件来实现.Portlet可以发布一个事件或者监听一个事件,当然一些参数也可以通过事件在不同的Portlet之间传递.
有一点是需要说明的:符合JSR168/286的Portlet应用一定是J2EE应用,因为JSR168/286构建在Servlet之上.符合WSRP标准的可能是J2EE应用,也可能是.NET应用,也可能是其它.