Portal 学习- 分析Jetspeed2 (1)

阅读更多

正在学习Portal中,总的来说,Portlet的概念比较简单,由于有Servlet的背景理解Portlet没有什么问题。但是由此展开的Portal的学习,(正在看的是JetSpeed2的实现。)涉及到的东西太多了。每天都有不太理解的地方。所以一点一点的的记录下来,然后验证吧。

第一个问题:如果根据Porlet规范,你会怎么实现一个Porlet容器呢?

1)Porlet是什么?Portal是什么?
规范中定义。【JavaPortaletSpecification1.0】
A portal is a web based application that –commonly- provides personalization, single sign on, content aggregation from different sources and hosts the presentation layer of
Information Systems. Aggregation is the action of integrating content from different sources within a web page. A portal may have sophisticated personalization features to provide customized content to users. Portal pages may have different set of portlets creating content for different users.

A portlet is a Java technology based web component, managed by a portlet container, that
processes requests and generates dynamic content. Portlets are used by portals as
pluggable user interface components that provide a presentation layer to Information
Systems.
The content generated by a portlet is also called a fragment. A fragment is a piece of
markup (e.g. HTML, XHTML, WML) adhering to certain rules and can be aggregated
with other fragments to form a complete document. The content of a portlet is normally
aggregated with the content of other portlets to form the portal page. The lifecycle of a
portlet is managed by the portlet container.

Web clients interact with portlets via a request/response paradigm implemented by the
portal 

 

看到这里基本有了理解,就是Portal和Portlet 都是Web应用的概念。Portal是个特定的Web应用,有特定的功能要求,例如个性化,SSO等,而且组合Portlet提供页面内容。

最后还说了基于Request/Response的处理方式,和Servlet挺象的,看看还有什么。


2)参考Servlet

规范 【Relationship With Servlet Specification。】一章详细的介绍了相同与不同的地方。

接下来几个概念:

PortalContainer:管理Portlet的容器和管理Servlet的Tomcat功能相近

Portal 应用:一个有定制而成的Web应用。包括规范定义的基本功能。SSO portlet的组合等等。

Portlet:最简单的功能模块。和Servlet功能相近。


3)Portal的基本想法

Portlet的实现由规范定义。对于开发人员是好事,但是Portal的开发是没有规范定义的。如果要实现的话要怎么做呢?

规范提到的基本功能需求:

  • Portlet的内容Aggration和显示
  • Portlet的管理
  • 导航
  • SSO
  • 个性化
  • 安全相关
  • 布局和画面Skin,Themes
  • 其他。。。。

这里有很多的事情要做,而且这个Web应用本身又要实现一个Request/Response方式来处理Porlet。

 

所以肯定是从一个标准的Web应用的Servlet开始,进行处理一步一步的对功能进行分解,最终调用指定的Porlet。

 

从Servlet规范到Porlet规范,有很多要考虑的东西,比如:

Servlet利用的是URL对象,Portlet规范中有PortletURL。

用户访问一个Web应用通过URL把特定的信息传送到特定的Servlet。

不会传送到Porlet。所以必须提供一种方式把表示特定Portlet的PortletURL进行传递。

 

规范中定义的特定的JSPTag,通过这个把特定的PortletURL信息写回到客户端,然后客户端在通过URL把这些信息传递上来。 Portal分析这些信息,找到指定的Portlet进行相应的调用。

 

具体怎么做呢?


4)看代码吧!

 

你可能感兴趣的:(SSO,Servlet,Web,Tomcat,XHTML)