Portal知识总结.docx
《Portal知识总结.docx》由会员分享,可在线阅读,更多相关《Portal知识总结.docx(14页珍藏版)》请在冰豆网上搜索。
![Portal知识总结.docx](https://file1.bdocx.com/fileroot1/2023-2/21/b1ecd8f6-2302-4951-bf6d-dc1c80bb607e/b1ecd8f6-2302-4951-bf6d-dc1c80bb607e1.gif)
Portal知识总结
门户网站集成技术
一、总述
本公司门户网站是基于开源Portal进行开发,满足JSR168标准,Portal的核心架构是完全基于WebServices的开发体系结构。
其核心门户服务器(CorporatePortalServer)是门户中最主要的部件,主要提供门户内展现服务、个性化页面、社区、知识目录、管理分级等功能。
EnterprisePortal具有最广泛的平台及标准支持,同时支持J2EE和.Net平台。
二、技术词汇
先来了解一下,门户集成技术所用到技术词汇。
1.Portlet规范:
随着企业级portal的大量涌现,不同提供商创建了不同的portal组件api,即portlet。
不兼容给应用服务商portal用户和portalserver提供商都造成了问题。
为了消除这些问题,jsr168,即portlet规范提出。
portlet规范,即JSR(javaspecificationrequest)168,JSR168是Java规范要求(JavaSpecificationRequest,JSR)的缩写,它为创建Portlet建立标准的API。
很多重量级的Portal开发商和开源项目组参与了Java标准化组织(JavaCommunityProcess)创建过程,JSR168在2003年10月正式发布。
最主要的Portal开发商已经宣布计划支持JSR168标准。
以下就是支持JSR168标准的Portal开发商:
Accenture、ApacheSoftwareFoundation、BEA、Boeing、Borland、Bowstreet、CapGeminiErnst&Young、Citrix、ComputerAssociates、CoreMedia、DaimlerChrysler、Documentum、EnformiaLtd、Hewlett-Packard、Interwoven、Macromedia、McDonaldBradley、Novell、Oracle、Plumtree、SAP、Sybase、Tarantella,Inc、Vignette。
JSR168定义了portlet的运行时环境,即portlet容器;定义了portlet和portlet容器之间的api集,提供portlet存储易失数据和持久数据的机制;提供portlet包含servlet和jsp的机制;定义方便部署的portlet打包方法;提供jsr168规范下的portal的二进制portlet便携性。
2.Portal和Portlet容器
Portal概念:
英文字面是“入口”,国内有叫“门户”技术的,但“集成”技术更能表达它的意思。
在Portlet规范里是这样讲的:
“portal是一种web应用,通常用来提供个性化、单次登录、聚集各个信息源的内容,并作为信息系统表现层的宿主。
聚集是指将来自各个信息源的内容集成到一个web页面里的活动”。
Portal的主要任务是将不同的应用程序集合到一个页面,这个页面的外观是Portal用户共有的。
Portal也可以有复杂的个性化特征,这些特征能够给用户提供自定义内容。
Portal页可以有不同的Portlet集,以便为不同的用户创建内容。
图1展示了Portal的体系结构,比如一个由WebSpherePortal提供服务的Portal。
客户端请求由PortalWeb应用程序进行处理,它为当前用户检索当前页上的Portlet。
然后,PortalWeb应用程序为每个Portlet调用Portlet容器来通过ContainerInvokerAPI检索它的内容。
Portlet容器通过PortletAPI调用Portlet。
ContainerProviderServiceProviderInterface(SPI)允许portlet容器通过Portal检索信息。
图1.基本的Portal体系结构
Portlet容器概念:
Portlet容器运行Portlet,给它们提供所需的运行时环境,并且管理它们的生命周期。
它为Portlet首选项提供持久性存储,这使得能够为不同的用户生成自定义输出。
3.Portal页和Portlet
图2展示了基本的Portal页组件。
Portal页表示一个完整的标记文档并且聚集若干Portlet窗口;也就是说,它将不同的应用程序用户界面组合到一个统一的表示中去。
Portal页使用户能够通过登录对话框向Portal验证自己的身份以便访问个性化的Portal视图。
大部分Portal页包括一些导航机制以允许用户导航到其他的Portal页。
图2:
Portal页
Portlet窗口包括:
标题栏,带有Portlet的标题修饰,包括用于更改Portlet的窗口状态的按钮(比如最大化或最小化Portlet)和用于更改Portlet的模式的按钮(比如显示帮助或编辑预定义的Portlet设置)由Portlet产生的内容(也称为一个标记段)。
图3在不同的浏览器上展示了一个Portlet窗口。
如您所见,该portlet产生的标记段并不局限于HTML,而可以是任何标记。
图3:
在HTML浏览器(顶部)和WML浏览器(底部)中显示的Portlet
Portlet概念:
基于Java技术的web组件,由处理请求和生成动态内容的portlet容器管理。
下图显示了在访问一个portal服务器时浏览器中页面的样子。
如果仔细查看浏览器里的页面,就会看到页面是由不同的“窗口”组成的。
一个窗口用于刷新天气,另一个用于新闻,还有一个用于刷新股价,等等。
这里的每一个窗口都代表了一个portlets。
如果看得再仔细些,还会发现每个窗口都有一个标题条和一些按钮,包括最小化和最大化按钮。
在系统里,这些窗口是相互独立开发、各不同的应用。
新闻portlet的开发者创建应用并打包成war格式的文件,随后portal服务器的管理员在服务器上部署该war文件并创建页面,接下来每个用户会选择在他的页面里有哪些应用。
例如,如果用户对股价不感兴趣而对体育感兴趣,他可以用“体育”窗口替换“股价”窗口。
4.Portlet生命周期
基本的portlet生命周期必须:
初始化,使用初始化类初始化Portlet并将其放入服务中。
处理请求,处理不同种类的动作并呈现内容。
完成,使用销毁类除去Portlet。
Portlet基于用户与Portlet或Portal页的交互来接收请求。
请求处理分为两个阶段:
动作处理
如果用户单击Portlet上的链接,就会触发动作。
动作处理必须在页面上的任何Portlet呈现开始之前结束。
在动作阶段,Portlet可以改变Portlet的状态。
呈现内容
在呈现阶段,Portlet会产生要发送回客户端的标记。
呈现不应该改变任何状态。
它允许一个页面重新刷新而不需要改变Portlet 的状态。
一个页面上的所有Portlet的呈现都可以并行执行。
Portal页面的元素图2显示了Portal页面的各种元素。
每个portlet页面由一个或多个portlet窗口组成,每个portlet窗口又分为两部分:
一个是外观,它决定了portlet窗口的标题条、控制和边界的样式;另一个是portlet段,它由portlet应用填充。
Portal服务器决定了portal页面的整体观感,像标识、标题条颜色、控制图标等。
通过修改几个JSP和css模板文件就可以改变portal的整个观感。
Portal的功能可以分为三个主要方面:
1.Portlet容器:
Portlet容器与servlet容器非常类似,所有的portlet都部署在portlet容器里,portlet容器控制portlet的生命周期并为其提供必要的资源和环境信息。
Portlet容器负责初始化和销毁portlets,向portlets传送用户请求并合成响应。
2.内容聚集:
Portlet规范中规定portal的主要工作之一是聚集由各种portlet应用生成的内容,我们将在“如何创建Portal页面”部分对此做进一步讨论。
3.公共服务:
portlet服务器的一个强项是它所提供的一套公共服务。
这些服务并不是portlet规范所要求的,但portal的商业实现版本提供了丰富的公共服务以有别于它们的竞争者。
在大部分实现中都有望找到的几个公共服务有:
1)单次登录:
只需登录portal服务器一次就可以访问所有其它的应用,这意味着你无需再分别登录每一个应用。
例如一旦我登录了我的intranet网站,我就能访问mail应用、IM消息应用和其它的intranet应用,不必再分别登录这些应用。
Portal服务器会为你分配一个通行证库。
你只需要在mail应用里设定一次用户名和密码,这些信息将以加密的方式存储在通行证库中。
在你已登录到intranet网站并要访问mail应用的时候,portal服务器会从通行证库中读取你的通行证替你登录到mail服务器上。
你对其它应用的访问也将照此处理。
2)个性化:
个性化服务的基本实现使用户能从两方面个性化她的页面:
第一,用户可以根据她的自身喜好决定标题条的颜色和控制图标。
第二,用户可以决定在她的页面上有哪些portlets。
例如,如果我是个体育迷,我可能会用一个能提供我钟爱球队最新信息的portlet来取代股票和新闻portlets。
一些在个性化服务方面领先的商业实现版本允许你建立为用户显示什么样的应用所依据的标准(如收入和兴趣)。
在这种情况下,可以设定一些像“对任何收入为X的用户显示馈赠商品的portlet”和“对任何收入为X的用户显示打折商品的portlet”这样的商业规则。
此外还有一些公共服务,比如机器翻译,是由portal服务器将portlet生成的内容翻译为用户要求的语言。
大部分的商业portal服务器都支持手持设备访问并具有针对不同的浏览终端生成不同内容的能力。
Portlets:
“Portlets是一种Web组件-就像servlets-是专为将合成页面里的内容聚集在一起而设计的。
通常请求一个portal页面会引发多个portlets被调用。
每个portlet都会生成标记段,并与别的portlets生成的标记段组合在一起嵌入到portal页面的标记内。
”
portlets还提供了一些附加的功能:
1.设置参数的持久化存储:
portlets提供了一个PortletPreferences对象用来保存用户的设置参数。
这些参数被存入一个持久化数据库,这样服务器重启后数据依然有效。
开发者不必关心这些数据存储的具体实现机制。
2.请求处理:
portlets提供了更为细粒度的请求处理。
对于用户在portlet上动作时向该portlet发出的请求(一种称为活跃期的状态),或者因用户在其它portlet上动作而引发的刷新页面请求,Portal服务器提供了两种不同的回调方法来处理。
3.Portlet模式:
portlets用模式的概念来表示用户在做什么。
在使用mail应用的时候,你可能会用它来读信、写信或检查信件――这些都是mail应用的预定功能,Portlets通常以VIEW模式提供这些功能。
但还有一些活动,像指定刷新时间或(重新)设置用户名和密码,这些活动允许用户定制应用的行为,因此它们用的是EDIT模式。
Mail应用的帮助功能用的是HELP模式。
4.窗口状态:
窗口状态决定了portal页面上留给portlet生成内容的空间。
如果点击最大化按钮,portlet将占据整个屏幕,成为用户唯一可用的portlet;而在最小化状态,portlet只显示为标题条。
作为开发者应当根据可用空间的大小来定做内容。
5.用户信息:
通常portlets向发出请求的用户提供个性化的内容,为了能更加行之有效,portlets需要访问用户的属性信息,如姓名、email、电话等。
PortletAPI为此提供了用户属性的概念,开发者能够用标准的方式访问这些属性,并由管理员负责在这些属性与真实的用户信息数据库(通常是LDAP服务器)之间建立映射关系。
Portal有什么特色?
低成本的集成技术。
如果你的网站或企业已经有了很多信息系统,Portal可以很容易的将这些系统集成起来,并以统一的方式提供给用户,统一可以有流程的统一,如:
登陆、定制、浏览;界面的统一,如:
显示风格登高度的模块化。
通过Portal技术提供的plugin技术,可以根据企业,网友的需求编制标准的模块,并嵌入Portal系统,供企业、网友使用。
高度的扩展性,已经有了很多产品和标准来制定Portal,作为这些产品和标准,如:
jsr-168,通过Portlet的概念来对Portal的功能进行扩展。
Portal有什么用?
个人认为从两个方面。
一是针对跟人(网友)的应用。
由于Portal的特色,企业和网站可以很容易的将自己的服务进行标准封装,插入Portal系统,提供跟用户使用。
现在很多门户网站和专业网站有很多服务,但是很多服务用户根本就没有使用过、发现过,通过Portal的形式给用户一个集中体验的场所。
二是针对企业,企业可以将现有的信息系统,资源通过Portal来进行封装,提供给用户使用。
比如:
有些公司有报销系统,考核系统,会议系统,但这些系统都是彼此分离的,使用和界面并不统一,通过Portal可以很容易地将这些系统提供的服务封装并呈给用户使用。
Portal是一个很普遍的概念。
它是指为用户提供一组资源集合的集中接入。
Portal将多种资源的个性化信息显示在一个页面中,从而用户可以高效的获得资源接入而不需要分别单独访问多个站点去获得资源。
5.Webservice概念
Webservices是建立可互操作的分布式应用程序的新平台。
作为一个Windows程序员,你可能已经用COM或DCOM建立过基于组件的分布式应用程序。
COM是一个非常好的组件技术,但是我们也很容易举出COM并不能满足要求的情况。
Webservice平台是一套标准,它定义了应用程序如何在Web上实现互操作性。
你可以用任何你喜欢的语言,在任何你喜欢的平台上写Webservice,只要我们可以通过Webservice标准对这些服务进行查询和访问。
6.EnterprisePortal(EP)概念:
不管企业的CIO们是否已经意识到了,当众多的基于WEB的单元应用风头出尽之后,随着大型企业在面对互联网所带来的商业基于,以及,互联网应用对于企业业务发展所提供的价值方面考虑,企业的CIO们越来越多的关注到如何应用互联网促进企业商业价值的思考上来。
互联网对于企业现有资源的价值利用,以及对信息传播沟通等方面的前景已经越来越被CIO们看好,如何通过互联网战略的制定,对企业现有业务及未来潜在业务发展都起着重要作用,比如:
企业可以通过互联网提高自有信息资源的利用率
企业可以通过互联网将有价值的市场信息推送到消费者眼前
企业可以通过互联网为客户与合作伙伴提供在线产品服务
企业可以通过互联网对全球资源进行统一规划与管理等等
而企业门户平台的战略制定与实施,给志在整合与集成这些单元应用的CIO们带来的机会,也正在掀起新一轮的网络应用浪潮。
三、功能实现
根据用户需求,我们将通过门户实现单点登陆,目录管理,全局搜索,协作服务,内容管理,应用整合,系统管理,安全控制,统计分析等功能。
1.单点登陆
单点登陆是门户展现服务要实现的主要功能之一,它负责提供客户访问门户内所有信息和应用的统一接口。
通过展现服务,门户系统可以提供企业一个单一的、访问企业各种信息资源和后台应用的入口,企业的员工、客户、合作伙伴和供应商等都可以通过这个门户获得个性化的信息和服务。
通过展现服务,用户可以组织自己的网站结构、页面布局,整合不同的网站和内容到门户系统中,通过一个统一的视图访问和管理,从而使门户系统真正成为企业的信息和应用中心。
运行在相同平台上。
用户可以创建Portlet模板以创建同一Portlet的多个实例,每个实例根据其自身的管理参数都有不同的显示或者信息。
用户可以自定义知识目录结构及搜索内容源进行内容分类管理和搜索。
2.个性化
对于门户注册的用户,门户系统应能够提供灵活方便的个性化定制服务功能,每个用户在登录到网站后就可以看到自己定制的信息,包括页面的外观和布局、选定页面摆放的内容、页面显示颜色、页面内容的显示风格等等。
门户系统应能提供页面布局的个性化和内容的个性化支持,门户使用者可根据自己的需求通过剪贴方式将不同的信息内容放入同一界面。
也可通过拖拉方式将企业应用,Web内容按照自己的需要进行布局的配置。
针对不同的用户,门户系统应能收集用户的资料和历史访问信息,并根据不同用户的配置信息(Porfile)向用户提供其感兴趣的内容及服务(Push),在个性化服务方面,纯门户厂商如具有明显的竞争优势。
我们知道,门户个性化的支持主要是基于Portlet技术。
在理想的门户框架中,所有的用户页面布局和内容应都是由不同的Portlet组成,如新闻Portlet(News)、电子邮件Portelt(如iNotes)、应用Portlet(SAP、Siebel)。
用户通过在自己的页面中选择自己需要的Portlet(需要结合权限控制)并按自己的喜好将这些Portlet放置到页面的不同位置,设置自己的页面布局等,从而实现完全意义上的个性化。
3.搜索服务
用户使用门户最简单的目的是对信息进行搜索,对于门户中大量的信息和各种文档资料,门户系统应能提供一套强大的搜索功能。
让员工、合作伙伴、和客户有能力搜索到分散在文件系统、文档数据库、e-mail文件夹和web站点中的信息,绝对是一种前所未有的企业资产。
搜索及索引服务应能快速的在整个用户系统内查到需要的内容,能够为用户提供快速、准确、便捷的查询服务。
这种查询服务可以通过概念和关键字搜索后台数据资源。
门户应能提供内置或集成的搜索引擎,所有需要被搜索的文档通过搜索引擎构建的索引可快速找到。
4.内容管理
没有丰富的内容,许多门户通常是空泛的门户:
只有很少的人能够提供信息,内容通常是陈旧的,商标(Branding)是不一致的。
在门户和其他站点之间共享内容几乎是不可能。
根据META集团的调查,内容死板、陈旧是导致门户应用失败的重要原因。
完整的内容管理框架包括内容动态发布、有内容动态订阅、内容描述、用户个性化内容以及内容生命周期和产品管理的功能。
利用门户提供的内容管理服务,我们可以建立一个基于内容管理的网站信息发布和服务架构,以更有效地组织和管理整个网站的信息及内容。
即建立一个从信息收集,加工,审批到最终发布的流程管理和控制,针对来自不同信息源、不同类型的信息分别建立不同的栏目进行组织和管理,并可以制定相应的信息审批及发布流程。
这样必将有助于提高整个网站信息发布和维护的效率。
5.应用整合
随着企业信息化的不断发展,企业内部往往积累了大量的内容和应用。
这些内容即包括结构化内容如关系数据库系统的数据,也包括大量非结构化数据如Office文档、电子邮件、Web内容(Html、XML)等等。
应用系统的情况也很复杂:
可能既有传统的主机系统、C/S系统,也有新的Web-base的应用;既有成熟的商业应用套件(如SAP、JDEdwards的ERP系统,Siebel的CRM系统等、i2、CommerceOne的SCM系统),也有企业自己开发的内部管理系统。
这些应用系统在技术架构等各方面都有很大的差别,因而,如何将这些不同结构、不同技术的内容和应用通过一个统一的平台集成起来,是应用集成tionIntegration)的核心任务,也是门户系统要解决的一个重要问题。
在门户中进行应用集成可以分为几个方面:
首先是如何在门户中展现这些不同的应用,例如在一个用户页面的不同Page中显示不同的应用内容(SAP、Siebel),这可以通过在页面中放置一些预置的不同应用的Portlet实现(大多数门户供应商都能提供);其次是在这些不同的应用之间实现SSO(多数的门户厂商都提供了不同程度的支持);最后是实现不同应用间的应用流转(不仅仅包括页面的跳转,还包括数据交换、事务控制等)和流程控制。
根据调研,我们知道贵州省委政法委已有的应用包括:
办公系统、网站系统。
我们通过省政法委机关统一管理平台,将已有应用集成到统一门户中,利用WebService集成结构和通过对Portlet之间通信(PCC)进行编程,就可以实现集成,可以实现原有系统与门户和协同办公系统的信息整合,并统一用户入口,为用户提供一个个性化的现代办公桌面,实现资源共享,信息互通。
6.系统管理
门户的可管理性是指门户管理员对门户中资源、用户、组、权限等进行管理的方便性。
既系统管理员能否通过统一的管理界面生成用户和组,并将门户管理权限委派给其它用户,另外是否提供基本的系统级管理任务,比如系统监测、备份及恢复等。
每个单独的应用提供一个管理性的层次,并在一个统一的企业范围的框架下来管理大量应用。
所有用来建立应用的组件都能够单独或通过文件夹来管理和进行安全控制。
7.安全控制
建立门户系统时应注意避免由于各种非安全因素给系统带来的安全风险。
为了杜绝非法入侵,整个系统需要从网络通讯安全、系统软件安全及用户访问安全等各个层次提供完整的系统安全方案,从而确保整个系统的安全可靠的运行。
门户产品应能为开发和管理门户应用提供了完整的安全框架。
安全框架应能支持对门户内系统资源和门户用户进行权限设定和管理,确保只有被授权的用户有权限访问,保护企业敏感信息和数据,充分保障系统的安全可靠;支持用SSL对数据进行加密传输以防止非法读取、资格授权及应用级访问控制列表;提供基于角色的安全性支持,并能同内在的操作系统的资格认证集成。
总而言之,可以支持任意粒度的安全控制,用户可以结合具体的应用需求制定其门户安全策略。
8.统计分析
门户系统在日常的使用过程中,门户管理员需要实时了解门户运行情况,如门户网络流量、资源的访问情况、用户登录统计信息、Portlet使用情况等。
门户系统必须能够提供相应的审计和分析工具,提供管理员相关的统计信息,并能根据这些统计数据做出分析,显示分析报表,以提供管理员进行性能调优等管理工作的参考。
可以提供全方位的门户运行统计信息:
使用情况跟踪:
分析服务器直接同门户服务引擎进行通信并提供常用的门户功能如社区、Portlet、文档点击、查询、登录等统计信息。
行为分析:
跟踪分析用户使用模式及趋势,例如社区访问,分析子门户访问周期、持续时间等。
用户信息关联:
将统计指标信息和用户信息关联起来,通过这种方式,用户统计报表可以更加友好和个性化的方式展现给用户。