日期:2014-04-08  浏览次数:20428 次

随着Portal一步步走向成熟其结构和功能也发生了较大变化,从混和型服务走向以系统框架为核心,应用程序与部署、开发完全分开的阶段,Portal相当与一个骨架一样可以接纳外部的这种技术架构开发的应用程序,使用Portals Bridges模式来连接不同的应用程序,可包括一下几种:

集成Struts MVC模式开发的应用程序:
Struts已经成为了用Java创建Web应用的一个最流行的框架工具,Struts所实现的MVC模式给Web应用带来了良好的层次划分,同时也提供了一系列的工具来简化Web应用的开发。

应用程序开发者无需关心Portal的规范,只要关心Struts本身的开发,这样大大降低了开发成本和开发人员的再培训

图7:在Portal中集成Struts应用程序


主要实现类:

public class StrutsPortlet extends GenericPortlet

下面是Portlet的片断:

<portlet id="StrutsPortletDemo">

  <init-param>

   <name>ServletContextProvider</name>

  <value>org.apache.jetspeed.portlet.

ServletContextProviderImpl</value>

 </init-param>

 <init-param>

<name>ViewPage</name>

 <value>/Welcome.do</value>

 </init-param>

    <init-param>

      <name>HelpPage</name>

      <value>/Tour.do</value>

    </init-param>

    <portlet-name>StrutsPortletDemo</portlet-name>

    <display-name>Struts Portlet Demo</display-name>

    <description>This is the struts MailReader portlet demo</description>

    <portlet-class>org.apache.portals.bridges.struts.StrutsPortlet

</portlet-class>

    <expiration-cache>-1</expiration-cache>

    <supports>

      <mime-type>text/html</mime-type>

      <portlet-mode>VIEW</portlet-mode>

      <portlet-mode>HELP</portlet-mode>

 </supports>

集成WebWork开发的应用程序
WebWork是一个源代码开放的Web应用框架,用于简化基于Web的应用开发。本专栏介绍了WebWork并且描述了如何使用WebWork和JavaServerPages(JSP)、Velocity两种技术来建立注册界面的过程

通过Jetspeed2的Portals Bridges框架来实现和webwork的集成,主要实现类

public class Webwork2Portlet extends GenericPortlet

           JSF应用程序集成
JSF是什么?

JSF为广大基于JAVA的 Web应用用户界面的开发人员提供了标准的编程接口、丰富可扩展的UI组件库(一个核心的JSP标记库用来处理事件、执行验证以及其他非UI相关的操作和一个标准的HTML 标记库来表示 UI组件)、事件驱动模型等一套完整的Web应用框架,通过 JSF ,您可以在页面中轻松自如地使用 WEB 组件、捕获用户行为所产生的事件、执行验证、建立页面导航…,同时您会发现,当使用支持JSF的开发工具来开发 JSF 应用的时候,一切将会变得异常简单,就类似于我们现在开发VB或者PowerBuilder程序一样的简便,GUI方式拖放组件、修改组件属性、建立组件间关联以及编写事件侦听器等等,这样,一个并不是特别熟悉Java的Web应用开发人员也能够轻松地完成自己的任务了,这种易开发性对于J2EE而言无疑是太重要了

集成PERL应用程序
PERL介绍:

Perl 就是 Practical Extraction and Reporting Language 的简称,是一种最广泛应用于语法分析和 World Wide Web 的编程语言。它起源于 awk、C、sh 和 sed 语言,然而,它的应用开发远比其他任何一种面向对象编程语言更加容易。

实现方法:

N-US>public class PerlPortlet extends GenericPortlet

直接通过HttpServletResponseWrapper来封装获取Response的字节流

Portlet的配置的片断

<portlet-name>perl-demo</portlet-name>

   <display-name>Perl demo Portlet</display-name>

   <portlet-class>org.apache.portals.bridges.perl.PerlPortlet

</portlet-class>

    <expiration-cache>-1</expiration-cache>

   <supports>

      <mime-type>text/html</mime-type>

      <portlet-mode>VIEW</portlet-mode>

<