用Portal来集成外部应用程序

来源:百度文库 编辑:神马文学网 时间:2024/04/29 12:39:58
随着Portal一步步走向成熟其结构和功能也发生了较大变化,从混和型服务走向以系统框架为核心,应用程序与部署、开发完全分开的阶段,Portal相当与一个骨架一样可以接纳外部的这种技术架构开发的应用程序,使用Portals Bridges模式来连接不同的应用程序,可包括一下几种:
集成Struts MVC模式开发的应用程序:
Struts已经成为了用Java创建Web应用的一个最流行的框架工具,Struts所实现的MVC模式给Web应用带来了良好的层次划分,同时也提供了一系列的工具来简化Web应用的开发。
应用程序开发者无需关心Portal的规范,只要关心Struts本身的开发,这样大大降低了开发成本和开发人员的再培训
图7:在Portal中集成Struts应用程序
主要实现类:
public class StrutsPortlet extends GenericPortlet
下面是Portlet的片断:


ServletContextProvider
org.apache.jetspeed.portlet.
ServletContextProviderImpl



ViewPage
/Welcome.do


HelpPage
/Tour.do

StrutsPortletDemo
Struts Portlet Demo
This is the struts MailReader portlet demo
org.apache.portals.bridges.struts.StrutsPortlet

-1

text/html
VIEW
HELP

集成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的配置的片断
perl-demo
Perl demo Portlet
org.apache.portals.bridges.perl.PerlPortlet

-1

text/html
VIEW


集成PHP应用程序
PHP介绍:
PHP是一个基于服务端来创建动态网站的脚本语言,您可以用PHP和HTML生成网站主页。当一个访问者打开主页时,服务端便执行PHP的命令并将执行结果发送至访问者的浏览器中,这类似于ASP和CoildFusion,然而PHP和他们不同之处在于PHP开放源码和跨越平台,PHP可以运行在WINDOWS NT和多种版本的UNIX上。它不需要任何预先处理而快速反馈结果,它也不需要mod_perl的调整来使您的服务器的内存映象减小。PHP消耗的资源较少,当PHP作为Apache Web服务器一部分时,运行代码不需要调用外部二进制程序,服务器不需要承担任何额外的负担。
public class PHPApplicationPortlet extends GenericPortlet

_xyz