Jetspeed项目的介绍 出处 CN-JAVA原创:jurich 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 WAPJetspeed支持WAP(Wireless Application Protocol)。这项技术使得用户可以通过移动终端来访问Portal页面,可以进行多应用程序的简单集成和页面组织。Portlet可以将页面的形式以WML来表示。Jetspeed目前支持WML 1.1和1.2标准。4.5 个性化定制支持个性化定制是Portal的另一大优点。Jetspeed可以让用户很容易的进行个性化定制。用户可以很方便创建页面,为每一个页面选择具体的Portlet内容、页面布局、显示风格。用户个性化必须在系统权限允许的范围内进行。4.6 缓冲机制为了让Jetspeed更好的支持远程内容的显示和内容的发布,必须采用缓冲机制。4.7 PSMLPSML(Portal Structure Markup Language)使得在Jetspeed内允许内容组织和提取。PSML由两部分有关联的标记部分组成。registry markup:描述Jetspeed引擎内可提供的资源;site markup:描述在用户的页面中显示了哪些Portlet,是怎么组织的,需要那些显示属性。