1.1 简介
JetSpeed 是Jakarta Apache项目中的一个开源Portal应用框架,帮助开发人员更快的建立Portal应用。Jetspeed本身不是一个Web Application Server,不能独自运行,而需以. war文件的形式发布到某一个Web Application Server上才能运行 (比如 Tomcat、Weblogic等)。
Jetspeed | Portlet API | Turbine | JServ/Jakarta( or JSDK 2.2 Servlet Engine) | Apache HTTPD (Any HTTP server than supports above) |
Jetspeed的核心是Turbine. 其中Turbine是一个开源的开发Web应用的Servlet框架,由全世界30多个资深开发人员经过3年开发,将Web应用开发中有共性的问题提出并加以解决,最后封装于开发包org.apache.turbine中。Jetspeed就是以Turbine为开发框架开发的。
1.2 代码目录介绍
在以“<tomcat_home>/webapps/jetspeed”为后缀的根目录中,有如下的目录布局:
|---apidocs:有API规范文档;
|---docs:所有关于Jetspeed的文档;
|---WEB-INF:
|---classes:存放Jetspeed的所有类文件;
|---conf:存放Jetspeed的所有配置文件;
|---db:存放 Jetspeed的默认数据库控制文件;
|---lib:存放 Jetspeed引用的所有jar包;
|---log:存放 Jetspeed运行时的日志文件;
|---psml:存放控制Group, user, role的Portlets布局显示的PSML文件;
|---templates:存放 Jetspeed 在view的视线上采用的所有模板(.jsp和.vm文件);
1.3 安 装 运 行
①从jatarka.apache.org站点上下载Jetspeed源码;
②用JBuilder编译源码,打包成.war文件;更好的是直接下载编译好的war
③下载Tomcat并安装;
④把Jetspeed的.war文件拷贝到Tomcat中的webapps目录:<tomcat_home>/webapps/;
⑤启动tomcat;
⑥连接到http://localhost:8080/jetspeed/;你就可以看到Portal页面了,十分简单
1.4 配置文件
配置文件位于conf目录中。下面我们就几个重要的配置文件作一些介绍。
1.4.1 Properties文件
包括TurbineResources.properties、Torque.properties、JetspeedResources.properties、JetspeedSecurity.properties。主要记录了一些Jetspeed运行期的配置,如服务名、数据连接等等。
1.4.1.1 TurbineResources.properties
Turbine的主配置文件,里面记录了Turbine各个Service的具体配置和大部分属性设置。
1.4.1.2 Torque.properties
Torque的主配置文件,包括了Jetspeed所运行的数据库的所有配置。
1.4.1.3 JetspeedResources.properties
Jetspeed的主配置文件,里面记录了Jetspeed运行时各个Service的具体配置和大部分属性设置。
1.4.1.4 JetspeedSecurity.properties
Jetspeed安全服务的主配置文件,包括Jetspeed运行时所涉及到的各种安全操作的配置。
1.4.2 Xreg文件
Xreg文件是一系列用来存储页面组件注册信息的注册文件,文件的内容是以XML格式来描述的。包括 admin.xreg、client.xreg、controllers.xreg、controls.xreg、demo-portlets.xreg、media.xreg、portlets.xreg、security.xreg、skins.xreg、wml-examples.xreg、feed_local.xreg、feed_apache.xreg。
其中demo-portlets.xreg、portlets.xreg、 controls.xreg、controllers.xreg,涉及到Portlet的注册以及control和controllers的注册,这几个文件说明了,portlet本身以及安全属性,portlet如何显示,和portlet如何布局。
而security.xreg是对安全原数据的注册。
Xreg文件被RegistryService在系统初始化时装载到系统中,并在系统运行其间维护。
详细内容见后面有关registry的介绍。
1.5 主要概念
1.5.1 页面组件(modules)
在Jetspeed的开发框架Turbine中主要有五种页面组件,用来执行页面的显示和控制。
Ation:
Action实际上表示了用户在portal上的一个动作,当用户提交一个HTML表单的时候,Action作为表单中的一个隐藏参数出现。由Page组件检查Action的存在,并调用相应处理,最后在调用layout生成页面,返回结果给用户。起过程如下
HTTP Client -> | Execute Turbine Servlet -> | Execute Page -> | Execute Layout/Screen/Navigation -> | Return Page Content |
|
| If Action is defined then... |
|
|
|
| Execute Action |
|
|
Page:
Page module是页面生成执行的第一个module,通常认为它包括其它module. Page module会检查请求中是否定义有Action,如果有,则执行Action module,然后执行Layout module进行布局,而Layout module会去执行Navigation module和Screen module。
Layout:
用来管理页面布局,并被Page调用。
Screen:
Screen module可以认为是web页面的“body”,被Layout调用。
Navigation:
页面上的向导条,被Layout调用。
为了显示Portal页面 jetspeed又将Screen作了进一步的分解,分为PortletController、PortletControl和Portlet,后面的章节将会详细介绍