Portal产品分析报告.docx

上传人:小飞机 文档编号:1845997 上传时间:2022-12-21 格式:DOCX 页数:13 大小:343.92KB
返回 下载 相关 举报
Portal产品分析报告.docx_第1页
第1页 / 共13页
Portal产品分析报告.docx_第2页
第2页 / 共13页
Portal产品分析报告.docx_第3页
第3页 / 共13页
Portal产品分析报告.docx_第4页
第4页 / 共13页
Portal产品分析报告.docx_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《Portal产品分析报告.docx》由会员分享,可在线阅读,更多相关《Portal产品分析报告.docx(13页珍藏版)》请在三一办公上搜索。

1、PORTAL分析报告徐亚斌Portal是web应用发展的一个重要趋势,目前几乎所有大的软件厂商都有自己的Portal产品。并且Portal技术已经形成规范。本文对Portal技术和产品进行了分析,目的是为公司产品的规划提供参考。本文包括4个部分:Portal简介、Portal厂商及Portlet规范、Portal技术分析、相关技术JSF。Portal简介介绍了Potal的概念,Portal的发展等基本情况。Portal厂商及Portlet规范介绍了国内外主要的Portal厂商、Portal开放源代码项目,以及刚刚通过的Portlet规范JSR (Java Specification Reque

2、st) 168。Portal技术分析介绍了Portal技术的核心概念以及实现思路。由于组件化web页面开发对Portal技术及公司产品都有很大的影响,因此在本文的第四个部分专门介绍了组件化web页面开发的技术JSF。1 Portal简介1.1 Portal的概念根据(JSR (Java Specification Request) 168)的定义,Portal是基于web的应用,它主要作为信息系统的展现层,提供个性化、统一登录和内容整合的功能。整合就是将不同来源的信息集中展现在一张网页上。一个Portal可以具有很多个性化参数,用来调整为用户定制的内容。对于不同用户,一个Portal网页可能由

3、多组不同的页面构件portlet(定义参看3.1节)组成,portlet为不同用户生成不同的定制内容。Portal网页的内容如图1所示。Portal网页中的Portlet窗口存在常规、最大化和最小化三种状态,窗口的状态可以由用户调整。从上面的定义可以看出,Portal的核心思想是网页个性化,它有两个含义,一是为不同的网页访问者匹配不同的内容(信息),二是为不同的网页访问者提供不同的portlet应用服务,并在所能提供服务的基础上根据访问者的不同相应改变处理流程。这个理念与CRM的理念非常相似。下面从Portal的分类开始,介绍Portal的发展过程。图1 Portal网页的内容(摘自JSR16

4、8 文档)1.2 Portal的分类最初的Portal指的是像Yahoo、Lycos这样的Internet门户网站。这些门户网站为用户提供了检索、分类和类似My Yahoo!的个性化定制服务,目的是帮助用户更快地找到自己所需要的信息。这样的Portal被称为Public Portal,即面向公众的信息门户。随着web应用的发展,又出现了Vertical Portal和Enterprise Information Portal。Vertical Portal即行业门户,目的是帮助某一行业的商业人员和技术人员找到自已需要的特定行业的商业信息和技术信息。Enterprise Information

5、Portal(EIP)即企业信息门户。目的是帮助企业用户及员工通过统一入口找到分布于企业的各种信息。与Public Porta相似,lVertical Portal和EIP也同样提供了检索、分类和个性化定制服务。在以上三种Portal中,EIP出现的包含内容最多。因此下文中的Portal,如果不特别声名,指的就是EIP。1.3 EIP的发展过程EIP与Yahoo、新浪等Public Portal网站是不同的。无论其面对的使用者还是要解决的实际问题以及安全模式、与业务系统的集成等方面都有较大的不同。但是,从EIP的发展历程来看,这两者之间又存在着联系,EIP是在Public Portal的基础上

6、逐步发展起来的。本文从功能扩展的角度,将EIP的发展分为五个阶段:在EIP发展的最初阶段,Portal实际上就是一些静态网页,用户通过这些网页可以获得企业提供的信息及服务,如图2所示。图2 EIP发展的最初阶段在EIP发展的第二个阶段,随着信息量的增加,EIP将企业中可以为大家共享的文档集成起来,并增加了搜索功能和内容发布功能,从而在一定程度上实现了内容管理(Content Management),如图3所示。图3 EIP发展的第二阶段在EIP发展的第三个阶段,为了更好的支持企业的业务运营,EIP增加了工作流、渠道(包括电子邮件等)的功能。使得EIP逐渐发展成为企业运营的平台。这时的EIP已经

7、具备了初步的集成过程和交互能力,如图4所示。图4 EIP发展的第三阶段在EIP发展的第四个阶段,集成了更多的应用,如ERP、CRM、SCM等。同时,增加了web service引擎,EIP集成业务的能力进一步增强,逐渐成为与这些业务系统进行交互的平台,这时EIP的理念与EAI已经有些类似,如图5所示。图5 EIP发展的第四阶段在EIP发展的第五个阶段,EIP软件进一步与应用服务器相结合,加强了高级的个性化功能,发展成为应用服务器之上的管理客户、员工和合作伙伴应用的一个框架,如图6所示。图6 EIP发展的第五阶段以上阶段的划分主要基于EIP功能扩展的考虑。EIP演化的时间并不完全符合这种阶段划分

8、方式。一些机构也研究了EIP的发展过程。例如图7是AMT(企业资源管理研究中心)组织给出的EIP发展过程,AMT将EIP的发展分为静态网页、内容集成、企业运营平台和完善的Portal四个阶段。可以看出,ATM对EIP发展过程的理解和本文的理解基本上是相同的。图7 AMT给出的EIP的发展过程1.4 EIP的功能可以将EIP的功能概括为:1)统一的访问渠道EIP为用户提供了统一的访问渠道。无论信息存储在何处,信息的格式如何,都可以按照预先的定义向用户个性化地组织和展现信息、应用和服务。向企业管理者、员工、供货商、用户、经销商等提供统一的渠道访问其所需的信息。2)内容管理EIP与其他系统(比如OA

9、、Workflow等)结合,提供了内容搜集、组织、筛选、分发、展示、搜索和自定义等一系列功能,实现了对企业信息的高效和有序的管理。3)个性化的设置EIP根据不同的角色来确定Portal的个性化设置,以满足用户的需求。例如用户可以自行选择显示语言、页面样式、及自己感兴趣的信息。4)协同工作Portal使内外用户可以通过统一的平台协同和高效地完成工作。5)企业集成(EAI)与商业智能(BI)Portal可以将客户关系管理、人力资源管理、项目管理、财务管理、工作流程管理、知识文档管理、资产管理等企业现有的应用无缝地集成到一起,一方面可以从EIP中获取这些系统中的数据,另一方面也可以从EIP中将数据写

10、入到业务系统中去,从而完成企业相应的业务流程和资源管理,例如客户交易、产品发布、邮件集成、请求处理、人事管理、项目安排等。1.5 Portal的价值从不同的角度出发,对不同的应用来说,Portal所体现的价值是不同的。首先作为一个网络用户,基于Portal的网站能够为我们更有效的提供信息和服务。虽然目前的Internet为我们提供了大量的信息,但这些信息非常分散并且重复很多。因此有必要建立以行业或专业领域为中心的网站,集中提供某个行业或领域的信息和服务。在网上商店、书店和知识型网站和电子政务的层次,如果能够为用户提供内容定制和服务定制的功能,通过网站的渠道实现CRM,对用户来说将是非常有吸引力

11、的。事实上,国外的一些知识型网站就提供了检索和内容定制的增值服务,例如技术网站expert exchange提供的专家答疑是免费的,但内容检索和定制是付费的。对于企业内网系统来说,如果通过Portal与外网集成,将减少网络系统开发和维护的成本。通过企业内部文档和资料的内容管理,可以加强知识的积累和共享。通过建立公告信息,记事本、聊天室等协同工作的工具,可以帮助员工提高工作效率。通过EIP与企业旧有信息系统(如ERP、SCM、POS)的运作结合,可以强化企业的运作效率。1.6 EIP的应用情况1998年11月,美林公司(Merrilllynch)发表了一份题为“超越YAHOO!企业信息门户已经上

12、路”的关于EIP(Enterprise Information Portal)的研究报告,当时在美国企业界引起了巨大反响。在以后的5年中,很多欧美公司都导入了EIP。从信息系统建设的情况看,几乎所有的国外大公司(覆盖各个领域),例如IBM、富士通、欧莱雅等都部分实现了内容管理的功能,用户可以很容易地在其网站查到公司的产品和公开的技术文档,其EIP发展的重点是统一入口和业务过程的集成。而国内的网站,即使象方正这样知名的IT公司也没有实现内容管理的功能。在内网建设方面情况要好一些,象联想、中国移动、网通公司、华泰保险公司、河北电信等都引入了企业内部管理的EIP系统(根据微软资料)。在通过EIP进行

13、应用系统整合方面,国内的案例很少,例如亚信帮助网通启动首个EIP,来整合其电信应用系统。可以说,目前国内EIP的市场还没有完全启动。2 Portal厂商及Portlet规范2.1 国外厂商因为Portal是一个相对较新的技术趋势,各种背景的国外软件厂商都投入这个市场。这些软件厂商几乎囊括了所有的知名软件厂商。下面,我们按照1.3节提到的EIP的发展过程对这些厂商分类。在EIP发展的最初阶段,只有一些纯粹的Portal供应商,如 Epicentric, Plumtree 和 Viador 等。在EIP发展的第二个阶段,增加了一些提供搜索引擎和内容管理的厂商。搜索引擎的厂商包括autonomy,a

14、risem 和Verity等,内容管理的厂商包括 Documentum, Interwoven, iManage, InStranet 和OpenText等。在EIP发展的后面阶段,随着EIP与应用集成的发展,WEB应用服务器和数据库服务器的提供者、CRM 和ERP的提供者、EAI厂商也加入到EIP厂商的行列。服务器厂商包括IBM,Oracle,BEA,Sybase 以及微软。CRM 和ERP厂商包括BroadVision,Vignette,SAP和PeopleSoft等。EAI厂商象Tibco和WebMethods等。随着数据仓库工具的普及,商业智能供应商,例如Connos,Business

15、 Objects以及Brio等也加入到Portal厂商的行列。它们都提供了集成分析报表与Portal的工具。2.2 台湾和国内厂商台湾的Portal厂商主要都是由搜索引擎的厂商发展而来的,目前主要发展知识管理、内容检索和内外网的内容整合业务。主要的厂商包括意蓝(eLand)、网擎(Openfind)、龙卷风(tornado)等。上述公司中,意蓝的搜索引擎完全采用java技术。龙卷风(tornado)在北京设有分公司,目前已经发展了方正、华为、上海交大等客户。随着Portal的发展,国内的一些厂商也推出了自己的Portal产品,例如中关村科技软件有限公司、东方资通(上海东环资通信息技术有限公司)

16、、上海安软计算机科技有限公司等。2.3 开放源代码项目除了上面提到的国内外厂商外,一些开放源代码组织也提供了基于JAVA平台的Portal解决方案,这些开源产品有JetSpeed、Jboss nukes、Liferay等。JetSpeed是Apache组织的一个Portal开源项目, IBM早期的WebSphere Portal Server就是基于JetSpeed进行二次开发的。jcorporate的Expresso(一个基于开放标准的J2EE体系框架)也采用了JetSpeed。Jboss nukes是基于postnuke、phpnuke等内容管理系统开发的java平台的内容管理系统。由于使

17、用了java,其在响应速度和系统集成能力等方面都要比用和php开发的postnuke、phpnuke等系统出色。Liferay的portlet配置文件可以自由地动态扩展,并使用Apahce Lucene实现全文检索功能。另外,Portal是J2EE平台上的企业应用架构的一部分。下面列出了一些主要的J2EE整体架构方面的开放源代码产品,可以作为下一步产品研究的参考,这些产品包括Struts、 WebWork、Expresso、keelframework和Jahia,Portal是这些产品或产品架构中的一部分。2.4 Portlet规范随着Portal产品的不断扩大,不同厂家为各自的Portal构

18、件(portlets)定义了不同的API。这些API接口的不匹配对应用者和开发者都带来了很多问题。于是,形成了Portlet规范JSR (Java Specification Request) 168(可以从d/Display下载),本文中的定义都源自JSR168。JSR168起草的专家成员囊括了所有的EIP主要厂商,包括Apache, ATG, BEA, Boeing, Borland, Broadvision, Citrix, EDS, Fujitsu, Hitachi, IBM, Novell, Oracle, SAP, SAS Institute, Sun Microsystems,

19、Sybase, TIBCO, 和 Vignette等。JSR168遵循J2EE规范1.3版,运行于基于J2EE架构的环境。由于JSR168刚刚通过,在目前作者所知道的已经发布的产品中,只有Liferay的 Portal 2.0.0 支持JSR 168。相信各大公司很快都会推出符合JSR168规范的产品。3 Portal技术分析3.1 基本概念3.1.1 Portlet JSR-168 Portlet Specifications对Portlet的定义如下:portlet是基于web的Java组件。它由portlet容器管理,能够处理请求,产生动态内容。portlet被Portal用作为可插拔的

20、用户接口组件,为信息系统提供展现。由portlet动态产生的内容也被叫做fragment。fragment是遵循某种规则的标记(例如:HTML,XHTML,WML),可与其他的fragment一起建立一个完整的文档。一般一个portlet产生的内容和其他的portlet产生的内容聚集在一起形成Portal网页。3.1.2 Portlet 容器portlet在portlet容器中运行,portlet容器为portlet提供必需的运行环境。portlet容器包含portlet(组件)并且管理它们的生命周期,它也为portlet的参数设置提供持久化的存储。portlet 容器不是一个类似于 serv

21、let 容器的独立容器。它是在 servlet 容器上通过扩展方式实现的,并重用 servlet 容器提供的功能。3.2 工作原理Portal技术的原理如图8所示。在图8中,portlet的生命周期由portlet容器管理。web端通过由Portal执行的请求/应答机制与portlet进行交互。通常,用户与由portlet产生的内容进行交互,比如通过单击按钮或链接,Portal接收到portlet窗口的动作,随后将portlet产生的内容送至用户操作的portlet窗口。对不同的用户,一个portlet产生的内容可能会大不一样,这与用户对portlet的设置有关。portlet容器接收来自Po

22、rtal的请求并运行它管理的portlet执行请求。portlet容器并不负责聚集portlet产生的内容,处理内容聚集是Portal的职责。Portal和Portlet容器能够被作为单一的应用组件组合在一起,也可以作为一个Portal应用的2个分离的组件。Portal服务器是建立在Http服务器的基础上的。图8 Portal原理下面是一个典型的事件序列。l 一个客户端(例如:一个web浏览器)在被验证之后向Portal发出HTTP请求。l Portal接收到请求。l Portal判断请求是否包含与组成门户网站网页的portlet有关的动作。l 如果存在与某个portlet相关的动作,Port

23、al请求portlet容器调用portlet处理动作。l Portal通过portlet容器调用portlet,获得被包含在产生的门户网站网页中的内容片段。l Portal将portlet产生的结果聚集于门户网站的网页,然后将网页返回至客户端。4 相关技术和标准JSF4.1.1 web开发页面组件化的技术发展趋势与C/S的应用开发相比,B/S应用开发最大的缺点就是缺少象DELPHY、VB提供的标准的客户端图形化界面开发工具。由于不能通过拖拉和属性设置建立菜单、按钮、表单等页面控件,因此开发效率很低。微软在.Net中已经解决了这个问题,在Visual Studio中提供了Microsofts .

24、Net with WebForms的工具,用于开发用户Web组件和支持HTML以外的标记语言。另外,国内象bstek这样的公司也提供了基于DHtml的页面组件化的技术方案。JSF(JavaServer Faces)的出现正是为了在java平台上解决web页面组件化的问题。4.1.2 JSF是什么JSF是生成基于Web的用户界面的应用程序框架。可以将JSF看作是Struts(流行的开放源码的Web应用程序框架)和Swing(标准的用于桌面应用的Java用户界面框架)二者的集成。类似于Struts,JSF通过一个控制器Servlet提供了Web应用的生命周期管理;同时类似于Swing,JSF提供了

25、包括事件处理和组件生成在内的丰富的组件模型。JSF的功能包括:l 使你能够利用一些标准的可重用的服务器端构件来创建客户端界面。 l 提供了一组JSP 标签来获取(访问)这些构件。 l 开发人员不用关心当页面刷新的时候页面状态数据的存储和重现。 l 提供了一个用于实现定制构件的框架。l 封装了事件处理和构件显示,所以你可以使用标准的或者定制的JSF组件支持HTML以外的标记语言。l 开发工具提供商可以开发针对标准Web应用框架的集成环境。4.1.3 JSF的现状JSF的规范(JSR127)目前正在制订,根据Java Community Process的计划,JSF规范在今年底可以发布(目前最新的

26、草案可以从SUN的网站下载)。JSR127起草的专家成员包括Sun、IBM、Borland、Macromedia、Apache、 Oracle等,Sun、IBM、Borland和Oracle都已声明在未来的开发工具中支持JSF。JSR127遵循J2EE规范1.3版,要求提供 JSP 1.2 和Servlet API 2.3的支持,但不支持老版本的servlet 容器。目前已经支持JSR127的产品包括SUN的JSF reference implementation、开放源代码的 MyFaces和免费软件Faces console,,特别需要强调的是Faces console可以嵌入到Borla

27、nd JBuilder 、Eclipse、IBM WebSphere Appl. Dev.、IntelliJ IDEA、 NetBeans 、Oracle JDeveloper、Sun One Sutdio (Forte)等java集成开发环境中。另外Crossbar提供了一套基于JSF的应用集合。4.1.4 Portal和JSF的关系由于一些知名公司既是JSR127的专家成员,也是JSR168的专家成员,因此,在JSR127的起草过程中,充分考虑了Portal和JSF的兼容问题。从技术上看,Portal技术主要在J2EE架构的前端,解决的是页面内容客户化和安全等问题。而JSF技术是一个应用程

28、序框架,设计到更广泛的机制。从开发的角度看,Portal管理的是大粒度的窗口内容的生成,而JSF支持的是小的控件。因此,Portal开发一定会用到JSF工具,来开发可视化的控件。5 对EOS产品的思考5.1 EOS向Portal移植的考虑Portal方案集中在J2EE架构的前端,Portal方案中的Portal Server是对Web Server的扩展,Portlet是对Servlet的扩展。而EOS对Web Server和Servlet容器没有扩展。因此,从架构上分析Portal方案与EOS方案没有根本的冲突。EOS展现自动机的入口是一个执行统一控制功能的Servlet,将EOS应用移植到

29、Portal Server上,主要工作是将EOS中执行统一控制功能的Servlet重新部署成一个Portlet。大部分后端处理程序,包括业务自动机和bl方法应当不需要很大改动。尽管如此,仍然有许多问题需要进一步明确。1Portlet容器与Portlet之间通过PortletRequest和PortletResponse对象来传递信息,而Servlet容器与Servlet之间通过HttpRequest和HttpResponse对象来传递信息。虽然可以将PortletRequest和PortletResponse看作是HttpRequest和HttpResponse的扩展,但信息传递的细节需要进一

30、步明确。2EOS从页面到后端的数据是通过一个统一的bean对象传递的,这种方式是否能应用于Portal方案也需要明确。3Portal方案目录结构和配置文件与EOS方案肯定存在不一致。目录或配置文件改动的细节需要进一步分析和试验,这些改动还将影响到系统安装程序。4Portal环境为了实现个性化,引入了User对象,提供对登录用户信息的统一管理。而在EOS中,用户信息保存在Session中。当EOS应用转到Portal环境时,如果需要得到用户信息,应当使用Portal环境建立的 User 对象而不是使用Session中的用户信息。这个问题可能对EOS操作员管理和菜单功能管理的代码有一些影响。具体影

31、响需要进一步分析。5Portal对组织权限和规则的管理也有自己的一套方法,可能与EOS原有的组织管理和规则管理存在功能重叠或冲突。5.2 Bstek方案、JSF与EOS的比较Bstek方案、JSF与EOS的区别主要体现在以下几点:5.2.1 Tags封装的层次Bstek方案、JSF比EOS对Tags封装的层次要更高。EOS目前对tags的封装比较简单,是JSP对tags封装的扩展,每种类型tags的处理都被封装成一个java方法,在这个java方法中,将tags表示的html对象以及对象关联的内容展开,并传递到客户端。在EOS中,一个java方法需要同时解释页面展示的是哪种html对象(例如是

32、静态文本还是输入框)以及对象所关联的内容是什么(通过解析DOM)。而Bstek方案和JSF将页面显示什么与以何种形式显示彻底分开。Bstek方案中将数据封装成Recordset,通过一个页面描述文件将Recordset与页面控件关联起来。但Bstek不能将业务处理结果与页面控件关联,而JSF可以做到这一点。在JSF中,通过使用 JSF 标记,可以将页面展示对象 renderer 与业务处理对象 UI component关联在一起。一个 UI component可以用不同的 renderer 从而以不同的方式展现给用户。特定于UI component的代码在服务器上运行。由于Bstek方案和JS

33、F将页面显示什么与以何种形式显示彻底分开,开发新的页面控件及页面控件的升级对原有程序没有任何影响。而在EOS方案中,页面控件的改变会影响到其它相关程序。5.2.2 用户事件处理机制和组件同步机制Bstek方案与JSF是在服务器端响应用户事件,而EOS是在客户端响应用户事件。在服务器端响应用户事件,有以下好处:l 可以在服务器端创建丰富的页面控件(因为用户在客户端使用不同的浏览器,浏览器端的页面控件不可能很复杂,也不易增加新的页面控件)。l 可以保持不同控件内容的同步(在客户端响应用户动作,一个控件内容改变了,如果其它控件与这个控件内容有关,就一定要执行页面刷新,而在服务器端响应用户动作,控件内容的同步可以在后台进行)。l 便于对页面控件内容集中校验。JSF采用的是完全的服务器端方案。而Bstek方案是通过客户端DHtml对象和服务器端DHtml对象的同步来实现在服务器端响应用户事件。Bstek方案的这种方式服务器端和客户端需要传递大量信息,从效率和安全性方面都有很大问题。由于在EOS中,已经存在统一的事件控制机制,这与JSF的功能有重叠。提出了集成 Struts、Tiles 和 JavaServer Faces的方案,可以给我们作一些参考。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号