Apache门户项目组介绍
点击次数:26 次 发布日期:2008-11-22 09:40:15 作者:源代码网
|
源代码网推荐本文将快速浏览Apache门户项目组的所有项目,并着重介绍门户项目组中的核心项目-Jetspeed-2。 引言 JEE作为建立在Java平台上的企业级应用解决方案,经过这些年不断发展,已经成为企业级开发的工业标准和首选平台。众多厂商如IBM,BEA和Oracle等都围绕该规范推出了相应的,功能强大的产品。JEE规范组中最受业界认同和取得最大成功的就是JEEWeb层面规范,发展到今天,已经步入门户(Portal)的时代。 门户,简言之就是提供包括内容聚合、单点登陆、个性化定制和安全管理等服务的基础Web平台。众多JEE产品提供商基于JEEWeb层技术推出了自己的Portal产品,著名的产品有IBMWebSpherePortalServer,BEAWeblogicPortalServer等。一直处于技术前沿的著名开源社区Apache,经过这几年的技术积累也形成了自己的门户项目组。该项目组目前已经初具规模,并且拥有了一定的用户群体,经受了一定的市场考验。 本文主要面向有一定JEE编程经验的Java开发者和试图构建自己的门户软件产品的产品经理,因为基于开源项目构建企业级的商用产品,已经在国外取得了许多成功案例。 名词解释 | 名词 | 解释 | | Portal | 门户,提供包括内容聚合、单点登陆、个性化定制和安全管理等服务的基础Web平台。 | | Portlet | Portlet是基于web的Java组件。它由Portlet容器管理,能够处理请求,产生动态内容。Portlet被Portal用作为可插拔的用户接口组件,为信息系统提供展现。由Portlet动态产生的内容也被叫做fragment。fragment是遵循某种规则的标记(例如:HTML,XHTML,WML),可与其他的fragment一起建立一个完整的文档。一般一个Portlet产生的内容和其他的Portlet产生的内容聚集在一起形成Portal网页。 | | PortletContainer | Portlet在Portlet容器中运行,Portlet容器为Portlet提供必需的运行环境。Portlet容器包含Portlet(组件)并且管理它们的生命周期,它也为Portlet的参数设置提供持久化的存储。Portlet容器不是一个类似于servlet容器的独立容器。它是在servlet容器上通过扩展方式实现的,并重用servlet容器提供的功能。从Portal的角度来看,PortletContainer是Portal平台所提供的众多服务之一。 | | JSR168,JSR286 | 由于越来越多的公司开发了各自的Portal组件和基于其的Portal产品(如Bea,IBM,Oracle,Sun,Sybase,Novell,SAP,Jetspeed,Vignette等.这种互不兼容的接口实现不断带给程序提供商各种问题和麻烦,为了解决这种问题,JCP发布了JSR168(JavaSpecificationRequest),PortletSpecification,用以提供不同Portal和Portlets之间的互用性。JSR286是168规范的延伸,是目前最新标准规范,目前仍处在draft状态。 | | SSOSingle | Sign-On,即单点登陆。当一个大系统中存在多个子系统时,用户只需要正确登陆其中任何一个子系统,就可以在各个子系统中来回自由切换和使用授予该用户权限的各种资源。一般可以分为两种类型:Web应用之间的单点登陆和门户Web应用和它所连接的后台系统之间的单点登陆。SSO是任何一个门户产品必须解决的问题,必须提供的服务。 | | WSRP | WSRP是OASIS组织的一个规范,它定义了远程门户网站的Web服务。通过WebService将远程内容抓取到本地,最后通过本地内容聚合引擎展示出来。 |
|
Apache门户项目组整体架构
在引言中已经列举了Apache门户项目组的组成项目包括:Jetspeed-1/2,Bridges,Pluto,WSRP-4J和Graffito。由于Jetspeed-1和Jetspeed-2角色相同,下文中如果没有特别指出,所有Jetspeed都是指Jetspeed-2。
图一Apache门户项目组架构图
上图中粉红色包围部分为Apache门户项目,其它由土黄色包围部分为它们的依赖项目。通过上图可以很清楚看到,全部项目都构建在JEEWebTier上,理论上只要支持Servlet2.3或以上版本规范的Web容器,都可以作为Apache门户项目的基础平台,但Jetspeed官方其实仅仅声明Tomcat是其唯一支持的Web容器。另一块必要的依赖,是构建在O/Rmapping项目ApacheOJB之上的数据仓库,用于存放Portal系统信息和用户个性化配置(Profile)。
[1][2][3][4][5][6][7][8][9][10]...下一页>>源代码网供稿.