Portal文档

 Portal概要文档

1       什么是Portal

英文字面是“入口”,国内有叫“门户”技术的,但我觉得“集成”技术更能表达它的意思。Portal是一个基于web的应用程序,它主要提供个性化、单点登录、不同来源的内容整合以及存放信息系统的表示层。

2       Portal的来源

Portal的来源来自Java,目前比较成熟的产品有jetspeed,最新的版本已经出到了2.1.3jetspeed即将成为Java开源阵营的标准。

2.1     Portlet

Portlet是基于javaweb组件,由Portlet容器管理,并由容器处理请求,生产动态内容。Portals使用Portlets作为可插拔用户接口组件,提供信息系统的表示层。作为利用servlets进行web应用编程的下一步,Portlets实现了web应用的模块化和用户中心化。Portlet规范,即jsrjava specification request168,是为了实现portalPortlet的互操作。它定义了PortletPortlet容器之间的合约,让Portlet实现个性化、表示和安全的API集。规范还定义了怎样在Portlets应用中打包Portlets

3       Portal特点

低成本的集成技术。Portal可以很容易的将把多个信息系统集成起来,并以统一的方式提供给用户,统一可以有流程的统一,如:登陆、定制、浏览;界面的统一,如:显示风格等高度的模块化。通过Portal技术提供的plugin技术,可以根据用户的需求编制标准的模块,并嵌入Portal系统。

高度的扩展性,已经有了很多产品和标准来制定Portal,作为这些产品和标准,如:jsr- 168,通过Portlet的概念来对Portal的功能进行扩展。

         对已有的服务进行封装整合,由于Portal的特点,可以很容易的将自己的服务进行标准封装,插入Portal系统,提供给用户使用。

4       Portal原理

4.1     Java里的Portal

Java里的Portal是指JCP-JSR168规范所描述的:Portal是一个基于Web的应用,通常它提供个性化、单点登录、内容集成和显示等功能。Portal技术包括三个方面:

1.         Portal服务器(Portal Server)

2.         Portlet容器 (Portlet Container)

3.         Portlet

4.1.1  Portal Server

一个 Portal(门户网站)就是指一个Web-based 的系统,通常都会提供个人化设置、单一登陆、以及由各种不同来源或不同网站取得各式各样的信息,并且将这些信息放在网页之中组合而成的呈现平台,门户网站会有精巧的个性化设置去提供定制的网页,当不同用户来浏览该页面可以获得不同的信息内容。

负责接收HTTP请求,调用portlet,并将portlet产生的内容聚集到portal page返回给客户。

4.2     Portlet Container

Portlet container 是提供 portlets 执行的环境,包含了许多 portlets 并且管理他们的生命周期,他也会永远保存着 portlets 的喜好设置,一个 portlet container 接收到来自 portal 的请求后,接着将这个请求传递给存在 container portlet 执行。portlet container 没有义务去组合 portlets 产生的信息內容,这个工作必须由 portal 来处理。portal portlet container 可以放在一起视为同一个系统的组件,或者分开成为两个独立的组件。负责提供portlet的运行时环境,管理portlet的生命周期,还负责提供portlet持久化能力。

4.3     Portlet

一个 Portlet 是以 Java 技术为技术的 Web 组件,由 Portlet Container 所管理,专门处理客户的 request 以及产生各种动态的信息内容。Portlets 为可插式 ( pluggable ) 的客户界面组件,提供呈现层成为一个信息系统。这些由 portlet 产生的内容也被称为片段 (fragment),而片段是具有一些规则的Markup( HTMLXHTMLWML ),而且可以和其他的片段组合而成一个复杂的文件。而 Portlet 中的内容正常来说是与其他 Portlet 的内容聚合而成为一个 Portal 网页。而 Portlet 的生命周期是被 Portlet Container 所管理控制的。客户端和 portlets 的互动是由 portal 通过典型的 request/response 方式实现,正常来说,客户会和 portlets 所产生的内容互动,举例来说,根据下一步的连接或者是确认送出的表单,结果 portal 将会接收到 portlet 的动作,将这个处理状况转向到目标 portlet。这些 portlet 内容的产生可能会因为不同的使用者而有不同的变化,完全是根据客户对于这个 portlet 的设置。

Portal主要是解决企业信息和应用的前端集成问题,它负责连结企业后台EAI,集成企业的结构和非结构化信息,并提供统一的访问企业信息和应用的入口。

4.4     PortletServlet的关系

Portlet Servlet 算是兄弟有那么一点点相似却又有那么一点点不同,因为 Servlet Portlet 不尽然相同,所以研究小組決定将 portlets 定义成为一个新的组件,因此定义了 portlets 一个新的并且明确的界面与行为。为了尽可能与现有的 servlet 结合达到重复使用的目的,portlet 的规范利用了 servlet 的规范,许多观念都很相似的,结合 portletsservlets jsp 在同一个网站系统中,我们称为 portlet application 。在同一个 portlet application 中,他们将分享同一个 classloadercontext session

4.5     PortletServlet 的相似之处

1.         portlets 也是 Java 技术的 web 组件

2.         portlets 也是有特定的 container 在管理

3.         portlets 可以动态产生各种内容

4.         portlets 的生命周期由 container 所管理

5.         portlets 和客户端的互动是通过 request/response 的机制

4.6     PortletServlet也有一些不同

1.         portlets 只产生 markup 信息片段,不是完整的网页文件。而 Portal 会将所有的 Portlet markup 信息片 段放到一个完整的 Portal 网页。

2.         portlets 不会和 URL 有直接的关系

3.         客户端必须通过 portal 系统才能和 portlets 互动

4.         portlets 有一些定义好的 request 处理,action request 以及 render request

5.         portlets 默认定义 portlet modes 及窗口状态可以指出在网页中该 portlet 的哪个功能正在执行及现在的 状态。

6.         portlets 可以在同一个 portal 网页之中存在多个。

4.7     Portlet 有一些附加的功能是Servlet 所没有的

1.         Portlets 能够存取及储存永久配置文件及定制资料。

2.         portlets 可以存取使用者数据

3.         portlets 具有 URL 的重写功能在文件中去动态建立连结,允许 portal server 不用去知道如何在网页的片 段之中建立连结及动作。

4.         portlets 可以储存临时性的数据在 portlet session 之中,拥有两个不同的范围:

5.         application-wide scope portlet private scope

4.8     Portlet 不具有一些功能, 但是Servlet却有提供

1.         servlet 具有设置輸出的文字编码( character set encoding)方式

2.         servlet 可以设置 HTTP 输出的 header

3.         servlet 才能夠接收客户对于 portal 发出的 URL 请求

4.9     基于Portal开发项目的优势

1、可以与以后新开发的或已集成到Portal中的企业应用实现无缝集成。

2、可以分享Portal服务器和Portlet容器提供的种种功能。这要视Portal服务器提供商而定。

3、由于Portlet已规范化(JSR168),所以应用中开发的Portlet可以部署在不同的Portal服务器上。

5       常见Portal产品分析

在这里主要介绍一下IBMWebsphere Portal产品和MicrosoftShare Point Portal产品,以及开源的JetspeedDotNetNuke

5.1     IBMPortal产品

IBM Websphere PortalWebsphere软件平台的一部分,该软件为各种用户、设备和定制选项提供信息访问、使业务流程的集成和自动化和构建、连接和管理应用程序。它是企业内全面的门户解决方案,代表了事实上的标准电子商务体系结构。

   采用IBM所提供的Websphere Portal,可以迅速构建高度可扩展的门户网站应用,简化并加速用户访问个性化信息与应用程序。随着客户需求的增加,IBM Portal还可以扩展提供更加高级的门户应用。该软件集成协作性、安全性功能并与其它供应商的扩展搜索系统紧密结合,同时还提供对信息、应用程度和相关人员的单点安全访问特性。

5.2     MSSharePoint

SharePoint Portal Server使得企业能够开发出智能的门户站点,这个站点能够无缝连接到用户、团队和知识。因此人们能够更好地利用业务流程中的相关信息,更有效地开展工作。 SharePoint Portal Server 2003 提供了一个企业的业务解决方案,它利用了单点登录和企业应用程序集成功能,以及灵活的部署选项和管理工具,将来自不同系统的信息集成到一个解决方案中。这个门户站点使得端到端的合作更为容易,实现了个人、团队和信息的整合、组织和搜索。用户可以通过门户内容和布局的定制和个性化以及目标受众,更快地找到相关信息。公司可以根据受众的公司职位、团队身份、兴趣或其他可以设置的成员规则来设定信息、程序和更新。

SharePoint Portal Server 使用 Microsoft Windows SharePoint Services 站点为个人、信息和公司创建门户页面。这些页面可以通过公司和管理工具来扩展 Windows SharePoint Services站点的功能,并且使得团队能够在他们的站点中向整个企业发布信息。

SharePoint Portal Server 实现了多系统的单点访问,这些系统包括Microsoft Office System程序、商业智能和项目管理系统以及现有的业务应用程序(包括第三方和行业专用的程序)。这个门户站点构建在一个可伸缩的、高度分散的体系结构上,提供了多种用于部署、开发和管理的工具。所有的这些都使您的门户站点能够随着您的公司需求的增长而扩展。这些集成特性使您可以控制公司资源的使用。用户可以从系统和报告中及时提取出相关的信息并加以重新利用。也能快速定位和访问公司内的文档、项目以及最佳实践。 Microsoft Research 还开发了一个门户特性搜索技术,该技术使得您能够搜索文件共享、Web服务器、Microsoft Exchange Server公共文件夹、Lotus NotesWindows SharePoint Services 站点。另外,您还可以通过标题来组织文档和信息,以及浏览相关内容。当添加了新的信息或现有信息发生更改时,系统会对您发出提醒,从而帮助您更好地使用这些数据。

SharePoint Portal Server 提供了功能强大的团队协作环境,使得组织能够在整个组织内部实现整合、组织、查找和提供 SharePoint站点。SharePoint站点可以用于团队、文档和会议,并能够扩展到客户和合作伙伴,从而扩展现有协作方式的影响范围和效率。而且,该门户站点还能够简化端到端的协作,向个人、团队、业务部门和整个企业提供文档和内容协作。它还具有文档版本、批准工作流、签入和签出、文档配置文件以及发布功能,能够实现文档、项目和任务上的轻松协作。另外,这个门户站点使得信息工作者能够轻松地找到和利用个人、团队和现有的最佳实践——而不是在每个项目中都重新开始。

SharePoint Portal Server 使得IT部门和用户可以定制和个性化门户站点体验。相关内容可以通过Web部件发送到门户站点,例如业务和Office程序、Web服务、新闻、销售和其他公司数据。Web部件可以由IT部门从Microsoft和行业合作伙伴处下载,或者也可以通过 Microsoft Visual Studio®.NET来开发。经过验证的用户可以从Web部件库中进行选择,在公司或部门的门户站点上添加Web部件,而不需要任何Web开发的经验。另外,IT部门可以锁定特殊的Web部件或页面区域,这样公司就能够通过门户站点向所有的员工发布重要的信息。用户也可以拥有自己的个人门户页面,该页面被称为“我的站点”。在这个页面上,他们可以组织日常使用的信息、程序和SharePoint站点

5.3     开源Portal产品

在这里主要介绍JetspeedDotNetNuke

5.3.1  Jetspeed

Jetspeed是一个开放源代码的企业信息门户(EIP)的实现, 使用的技术是JavaXML. 用户可以使用浏览器, 支持WAP协议的手机或者其它的设备访问Jetspeed架设的信息门户获取信息. Jetspeed扮演着信息集中器的角色, 它能够把信息集中起来并且很容易地提供给用户.

Jetspeed具有如下的特征:

* 即将成为标准化的Java Portlet API

* 基于模板的布局, 包括JSPVelocity

* 通过开放的内容同步技术支持远程XML内容交换

* 定制默认的主页

* 使用数据库进行用户认证

* 内存缓存技术, 加快页面的响应

* 通过Rich Site Summary技术, 支持同步内容

* Cocoon, WebMacro, Velocity集成.

* Wireless Markup Language (WML) 支持

* 使用XML格式的配置文件注册portlet.

* 完整的Web Application Archive (WAR) 支持

* Web应用程序开发的基础设施

* 可以在本地缓存远程内容

* Avantgo同步

* 可移植到所有支持JDK1.2Servlet 2.2的平台

* Turbine模块和服务集成

* 可以根据用户, 安装媒体类型和语言的不同设定, 产生不同的个性化服务

* 持续化服务使得所由的portlet能够容易的存储每个用户的状态, 页面和portlet

* 使用皮肤技术使得用户可以选择portlet的颜色和显示属性

* 自定义功能是的管理员可以选择portlet以及定义个人页面的布局

* 在数据库中存储PSML

* 通过Jetspeed的安全portlets管理用户, ,角色和权限

* 基于角色对访问portlet进行控制

5.3.2  DotNetNuke

Dotnetnuke是一个免费、开源、可扩展、几近完美的内容管理系统。可广泛应用于商务网站、企业内网(Intranet)和外网网站、在线内容发布网站。Dotnetnuke是建立在微软ASP.NET平台之上的一套Web应用框架。

1.         通用性

几乎可以用来构建让任何Web应用:商务网站,企业内网/外网,在线内容发布。

2.         用户友好性

其设计考虑非常周全,借助站点向导,无处不在的帮助图标等等,用户能够很容易的控制项目的各个方面。

3.         多网站支持

―套程序部署就可以支持多个网站。每个网站都有各自的管理员和独特页面布局。

4.         技术支持

Dotnetnuke有一个核心开发团队和国际化的支持社团。DNN的用户组、论坛、资源网站以及专注与DNN技术的很多公司,全方位的提供支持和帮助。

5.         安装简单

www.Dotnetnuke.com(英文版) www.DnnChina.net(中文版)下载软件以后,按照安装指导的步骤,只需要几分钟就可以完成。

6.         本地化

到目前为止已经有27个语言包,能很轻松的把您的网站转换成几乎任何语言。语言包也是可扩展的,您可以很容易的创建自己的特色语言包。

7.         开放源代码

DNN是免费、开放源代码项目,采用类BSD风格的授权方式。容许任何人按自己的想法,商业和非商业的使用DNN.BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以"为所欲为",可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。你只需要源代码中带有原来代码中的BSD协议。

8.         高扩展性

DNN内建的功能已经足够构建一个非常复杂的内容管理系统。DNN提供了全新的在线式功能块扩展,无论是第三方模块还您自己开发的模块,都能随时很容易的加入到正在运行的网站中。

9.         被广泛认同

Dotnetnuke已经是一个商标,得到了开源社区的广泛认同和尊重。Dotnetnuke.com(英文)已经有超过170,000的注册用户,DnnChina.net(中文)已经有超过2,600的注册用户。

6       我们需要的Portal产品

个性化的配置

提供一个标准化的模板,只需要按照模板开发,开发出来的产品均可以放在住站点中

可扩展性要好

 

posted @ 2008-05-09 15:06  angushine  阅读(995)  评论(1编辑  收藏  举报