王朝百科
分享
 
 
 

jetspeed

王朝百科·作者佚名  2010-02-23  
宽屏版  字体: |||超大  

jetspeed

综述

Apache开源组织的企业门户项目,现有两个版本:jetspeed1与jetspeed2。由于jetspeed1在设计上的“缺陷”,现在已经升级到jetspeed2。目前大陆还没有成功使用jetspeed2开发的案例。

1 Jetspeed介绍

Jetspeed是Apache组织开发的一个采用Java和XML的开放源代码的企业信息门户的实现。门户可以让终端用户可以很方便的访问网络资源(应用、数据库等)。用户可以通过Web浏览器、WAP手机、寻呼机以及其它一些智能设备来访问Portal。Jetspeed就像是中心的控制器,可以很方便地以各种形式展示那些来自不同数据源的数据。

通过Jetspeed展示的数据形式完全独立于内容的类型。这就意味着Jetspeed可以集成各种各样的数据源,如:XML、RSS、SMTP。然后通过XSL技术将数据组织成Jsp页面或Html页面传给客户端。Jetspeed还支持模板和内容的发布框架,比如:Cocoon, WebMacro 和 Velocity。

2 Jetspeed框架结构和核心技术

Jetspeed采用Turbine做主要的框架支持,Turbine为Jetspeed提供用户认证、页面布局管理和计划服务等。Portlet可以直接使用Turbine服务提供的RunData对象。

Jetspeed向用户展示的页面由Turbine控制产生,它的主要内容部分由一些标准的Portlet构成。

Portlet设计的目标是:

◇ 一个页面上可以提供很多小的WEB应用程序给用户;

◇ 这些WEB应用程序的背景色、标题栏颜色、图标都可以更换;

◇ 可以用缓冲子系统维持跨多个Portlet的应用;

◇ 可以对所有的WEB应用程序进行管理、维护,并提供给用户;

◇ 简单的选择就可以让用户定制页面,这些页面除了一个页面可以显示多个Portlet之外,和Turbine的显示页面很相识;

◇ 由于缓冲子系统的存在,使得系统可以快速运行。这使得即使要和数据库打交道得复杂Portlet也可以快速生成Html页面;

◇ 很容易开发整个系统,开发人员不必知道整个Jetspeed的运行机制。

◇ Portlet可以通过多种方式形成页面。可以通过JDBC从数据库记录产生页面;可以通过XML—>XSL—>HTML产生页面;可以通过其它途径如CoCoon形成页面;

◇ Portlet允许对它的显示风格进行定制,比如背景色、尺寸等。

◇ Portlet通过PortletController来管理。这个PortletController是标准接口的实现,开发者可以定制它们;

◇ Portlet交给PortletControl来处理,PortletControl给Portlet加上显示风格后返回Portlet的内容;

◇ Jetspeed内通过XML标记文件分类管理Portlet;

◇ Portlet接受一个PortletConfig参数,这个参数中包括Url地址和一些参数的哈希表;

◇ 大多数简单的Portlet可以通过继承AbstractPortlet来实现。

3 Jetspeed的安装与配置

Jetspeed实际上是一个采用了Portlet技术的WEB应用程序,我们可以象部署普通WEB应用程序一样来部署Jetspeed。

安装配置步骤:

a.下载并安装Tomcat;

b.下载Jetspeed war包,并拷贝到Tomcat的webapp目录;

c.启动Tomcat,在浏览器中输入http://localhost:8080/jetspeed/;

d.以上已经可以正确运行Jetspeed。

进入Jetspeed系统可以使用Login: turbine Password: turbine;Login: admin Password: jetspeed。

要注册新的用户必须安装邮件服务器James,邮件服务器设置在/webapps/jetspeed/WEB-INF/conf/TurbineResources.properties中修改。

e.数据库配置

Turbine目前可以通过JDBC连接以下数据库:

· Hypersonic SQL

· MySQL

· Postgres

· DB2

· Oracle

· Sybase

· SQL Server

数据库的配置信息在

/webapp/WEB-INF/conf./Torque.properties文件中修改。

具体配置的例子如下:

======MySQL:数据库配置如下======

· torque.database.default.adapter=mysql

· torque.dsfactory.default.connection.driver = org.gjt.mm.mysql.Driver

· torque.dsfactory.default.connection.url = jdbc:mysql://localhost:3306/jetspeed

· torque.dsfactory.default.connection.user = root

· torque.dsfactory.default.connection.password =

======Oracle:数据库配置如下======

· torque.database.default.adapter=oracle

· torque.dsfactory.default.connection.driver = oracle.jdbc.driver.OracleDriver

· torque.dsfactory.default.connection.url = jdbc:oracle:thin:@:1521:

· torque.dsfactory.default.connection.user =

· torque.dsfactory.default.connection.password =

4 Jetspeed的主要组成部分

4.1 注册机制

Jetspeed的注册登记部分存储了Jetspeed引擎中大多数的动态配置信息,其中包括所有可提供的Portlet的登记信息、布局信息登记、用户自定义信息等。

Jetspeed的注册机制采用可插入的Turbine服务体系。因此可以根据自己的需要采用不同的实现。现有两个已提供的默认实现:基于XML文件的实现;基于OJB 的SQL数据库的实现。

4.2 安全机制

Jetspeed安全服务基于以下一些组件接口:PortalAuthentication,PortalAccessController,UserManagement,RoleManagement,GroupManagement,PermissionManagement,CredentialsManagement。这些组件接口都是可插入的。Jetspeed提供了这些接口的一个或多个默认实现,大多数这些实现都是基于数据库的安全机制。安全服务和Portal Server中的一些标准的基础安全对象接口一起工作。这些安全对象包括:JetspeedUser、Role、Group、Permission。

4.3 内容整合

能够支持内容整合是Portal和普通WEB网站、普通WEB应用之间相比最大的优势。Jetspeed中的内容整合是通过OCS(Open Content Syndication)来支持的。Jetspeed同样也支持RSS(Rich Site Summary)。

OCS和RSS都是基于XML的应用程序,用来支持页面的部分共享、频道列表、公共标题栏等实现。

4.4 WAP

Jetspeed支持WAP(Wireless Application Protocol)。这项技术使得用户可以通过移动终端来访问Portal页面,可以进行多应用程序的简单集成和页面组织。Portlet可以将页面的形式以WML来表示。Jetspeed目前支持WML 1.1和1.2标准。

4.5 个性化定制

支持个性化定制是Portal的另一大优点。Jetspeed可以让用户很容易的进行个性化定制。用户可以很方便创建页面,为每一个页面选择具体的Portlet内容、页面布局、显示风格。

用户个性化必须在系统权限允许的范围内进行。

4.6 缓冲机制

为了让Jetspeed更好的支持远程内容的显示和内容的发布,必须采用缓冲机制。

4.7 PSML

PSML(Portal Structure Markup Language)使得在Jetspeed内允许内容组织和提取。PSML由两部分有关联的标记部分组成。

registry markup:描述Jetspeed引擎内可提供的资源;

site markup:描述在用户的页面中显示了哪些Portlet,是怎么组织的,需要那些显示属性。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有