个人资料ALAN照片日志列表 工具 帮助

日志


1月18日

用Portal来集成外部应用程序

  随着Portal一步步走向成熟其结构和功能也发生了较大变化,从混和型服务走向以系统框架为核心,应用程序与部署、开发完全分开的阶段,Portal相当与一个骨架一样可以接纳外部的这种技术架构开发的应用程序,使用Portals Bridges模式来连接不同的应用程序,可包括一下几种:
  
  集成Struts MVC模式开发的应用程序:
  
  Struts已经成为了用Java创建Web应用的一个最流行的框架工具,Struts所实现的MVC模式给Web应用带来了良好的层次划分,同时也提供了一系列的工具来简化Web应用的开发。
  
  应用程序开发者无需关心Portal的规范,只要关心Struts本身的开发,这样大大降低了开发成本和开发人员的再培训
  
  主要实现类:
  
  public class StrutsPortlet extends GenericPortlet
  
  下面是Portlet的片断:
  
  <portlet id="StrutsPortletDemo">
  
  <init-param>
  
  <name>ServletContextProvider</name>
  
  <value>org.apache.jetspeed.portlet.
  
  ServletContextProviderImpl</value>
  
  </init-param>
  
  <init-param>
  
  <name>ViewPage</name>
  
  <value>/Welcome.do</value>
  
  </init-param>
  
  <init-param>
  
  <name>HelpPage</name>
  
  <value>/Tour.do</value>
  
  </init-param>
  
  <portlet-name>StrutsPortletDemo</portlet-name>
  
  <display-name>Struts Portlet Demo</display-name>
  
  <description>This is the struts MailReader portlet demo</description>
  
  <portlet-class>org.apache.portals.bridges.struts.StrutsPortlet
  
  </portlet-class>
  
  <expiration-cache>-1</expiration-cache>
  
  <supports>
  
  <mime-type>text/html</mime-type>
  
  <portlet-mode>VIEW</portlet-mode>
  
  <portlet-mode>HELP</portlet-mode>
  
  </supports>
  
  集成WebWork开发的应用程序
  
  WebWork是一个源代码开放的Web应用框架,用于简化基于Web的应用开发。本专栏介绍了WebWork并且描述了如何使用WebWork和JavaServerPages(JSP)、Velocity两种技术来建立注册界面的过程
  
  通过Jetspeed2的Portals Bridges框架来实现和webwork的集成,主要实现类
  
  public class Webwork2Portlet extends GenericPortlet
    
  
  JSF应用程序集成
  JSF是什么?
  
  JSF为广大基于JAVA的 Web应用用户界面的开发人员提供了标准的编程接口、丰富可扩展的UI组件库(一个核心的JSP标记库用来处理事件、执行验证以及其他非UI相关的操作和一个标准的HTML 标记库来表示 UI组件)、事件驱动模型等一套完整的Web应用框架,通过 JSF ,您可以在页面中轻松自如地使用 WEB 组件、捕获用户行为所产生的事件、执行验证、建立页面导航…,同时您会发现,当使用支持JSF的开发工具来开发 JSF 应用的时候,一切将会变得异常简单,就类似于我们现在开发VB或者PowerBuilder程序一样的简便,GUI方式拖放组件、修改组件属性、建立组件间关联以及编写事件侦听器等等,这样,一个并不是特别熟悉Java的Web应用开发人员也能够轻松地完成自己的任务了,这种易开发性对于J2EE而言无疑是太重要了
  
  集成PERL应用程序
  PERL介绍:
  
  Perl 就是 Practical Extraction and Reporting Language 的简称,是一种最广泛应用于语法分析和 World Wide Web 的编程语言。它起源于 awk、C、sh 和 sed 语言,然而,它的应用开发远比其他任何一种面向对象编程语言更加容易。
  
  实现方法:
  
  N-US>public class PerlPortlet extends GenericPortlet
  
  直接通过HttpServletResponseWrapper来封装获取Response的字节流
  
  Portlet的配置的片断
  
  <portlet-name>perl-demo</portlet-name>
  
  <display-name>Perl demo Portlet</display-name>
  
  <portlet-class>org.apache.portals.bridges.perl.PerlPortlet
  
  </portlet-class>
  
  <expiration-cache>-1</expiration-cache>
  
  <supports>
  
  <mime-type>text/html</mime-type>
  
  <portlet-mode>VIEW</portlet-mode>
  
  </supports>
  
  <portlet-info>
  
  集成PHP应用程序
  PHP介绍:
  
  PHP是一个基于服务端来创建动态网站的脚本语言,您可以用PHP和HTML生成网站主页。当一个访问者打开主页时,服务端便执行PHP的命令并将执行结果发送至访问者的浏览器中,这类似于ASP和CoildFusion,然而PHP和他们不同之处在于PHP开放源码和跨越平台,PHP可以运行在WINDOWS NT和多种版本的UNIX上。它不需要任何预先处理而快速反馈结果,它也不需要mod_perl的调整来使您的服务器的内存映象减小。PHP消耗的资源较少,当PHP作为Apache Web服务器一部分时,运行代码不需要调用外部二进制程序,服务器不需要承担任何额外的负担。
  
  public class PHPApplicationPortlet extends GenericPortlet
  
1月6日

IBM推可显著简化信息集成新软件

    IBM日前宣布推出Serrano-Hawk的公开测试版,企业用户可通过该软件更有效地使用所有类型的信息来支持各种商业智能系统,整合各种企业应用,创建和管理关键业务信息主知识库,随需搜索和访问各种信息———无论这些信息存储在企业何处。本次发布的产品将简化对企业中不同类型的信息进行集成的复杂任务,提高这些信息的质量和准确性,并提高信息管理人员的工作效率。
  企业拥有大量的数据,但信息用户经常不知道某一特殊数据存储在什么地方,不能足够快地获取并理解这些数据,不能以适当的格式存储数据,或不能对数据的质量进行监视和控制。通过IBM的Serrano-Hawk,客户可以灵活地访问结构化信息(如来自任何供应商的数据库或ERP系统)和非结构化信息(如电子邮件或图像),并最大地优化这些信息的使用。

  据了解,Serrano-Hawk产品分为Hawk和Serrano两个部分。今年早些时候,IBM通过将收购Ascential公司而获得的技术与IBM现有的信息集成产品系列结合在一起,这其中包括Ascential的Hawk项目所提供的技术,以及IBM的Serrano项目所提供的技术。

  Hawk项目为构建一个新的、简化而又强大的用户界面奠定了基础,这一界面最终将推广到整个产品系列,使软件的使用变得更加轻松。此外,这一项目还引入了一种新的元数据架构,从而使这些产品所用数据能够紧密协调,在内容、质量、性状上保持一致性。

  Serrano项目则使得信息基础设施的设计和开发实现了无缝化,并支持用户通过使用前所未有的企业搜索、信息集成和文本分析功能,充分利用分布在企业各处的信息。通过将这些增强功能结合在一起,用户可以更加轻松地、以随需应变的方式使用所有类型的信息———无论这些信息目前在哪里、以及如何被使用。Serrano项目的核心是名为IBMRational数据架构器(IBM Rational Data Architect)的新产品,这一产品提供的多种工具可节省大量的设计和开发时间。这一新软件基于开放源代码Eclipse平台,可帮助数据设计人员跨多个信息源对数据进行建模、发现、映射和分析,实现复杂环境中信息集成的自动化。

  今天发布的另一种新产品是IBM WebSphere信息分析器(IBM WebSphere Information Analyzer),该软件是Hawk项目的一部分,可通过单一产品提供端到端的数据整理、审计和面向业务的分析功能。这一软件与IBM WebSphere Data Stage和IBM WebSphere Quality Stage共享一个中央档案库,这些产品之间可实现即时元数据共享和跟踪。

  IBM大中华区软件集团产品与市场总经理胡世忠先生表示:“公司的目标是增加收入、管理成本和更好地响应客户需求。通过这些新的信息集成产品,我们将使IT能够以随需应变的方式在需要的时间以所要求的格式提供可信赖的信息,从而更好地满足各种业务需求。这将为业务和IT的效率带来突破性的提高。”

信息集成——数据仓库架构的扩展

  信息集成的首要指导原则是:在用户看来,他们需要的所有数据,应该好像驻留在一个单一的数据源里一样。信息可能在不同的地方,以不同的语义、格式存储,访问方法各异,因之对信息的检索也变得极为复杂。信息集成技术实质上将信息需求者屏蔽于所有这些复杂性之外。用户或代表用户的应用程序可以通过诸如SQL或XML的标准语言或标准网络服务、内容应用程序界面(API),来对数据进行寻址。这样,用户就可以毫无障碍地查看信息,而不用考虑其物理实现过程。

  做到这一点可以有两种方法,或者是两种方法的结合。信息集成的两种主要方法是:

  (1)通过数据联合进行分布式数据访问;

  (2)将数据移动到对应用程序更有效或更一致的位置,这种方法被称为数据合并或数据安排。

  分布式访问对应的是企业信息集成(EII)技术,而数据安排对应的是ETL和复制技术。合起来,这些功能构成了信息集成所需要的核心部分。用最简单的话来解释,联合在一个地方接受一个查询,然后对查询的相应部分进行分布,让它们作用于数据,而不管数据位于何处、以何种形式构成。而数据放置则首先将位于不同地方的数据置于同一处,这样,对用户查询就不需要再进行分布了。两种方法都需要广泛、基本相同的支持功能。

  分布式访问和数据安排都需要底层映射、转换和高速缓存功能。另外,由于同样的数据,根据企业不同的需要,有时需要被集中,有时需要被联合,所以两种方法都需要一套相同的转换和映射功能支持,以保持数据在整个企业的一致性。映射提供了理解不同数据片段之间关系的能力。转换通过对不同表述形式的数据进行转换的功能,将相关数据通过映射进行合并。缓存提供了一个暂时的数据存储,该存储能够通过透明地存储一个结果集的拷贝来改善联合的性能。

  这些功能依赖于它们所处运作环境的细节描述。这种描述包括商业含义、关系、位置和技术格式等等。简言之,就是元数据。这些元数据必须是全面和一致的,而且从集成项目的发现和定义阶段,直至联合查询操作的整个过程,都必须是有用的。一套全面而具有逻辑一致性的元数据集,不管它们是物化在单个物理存储器中,还是分布于多个存储器中,对信息集成技术来说都是不可或缺的基础。  

  信息集成与数据仓库的关系

  当今的分层式数据架构是建立在下面的前提基础上的:某个最终用户的查询或报表所需的一切数据都应该集中到单个数据中心,或至少集中到使用ETL功能的单个数据仓库环境中。这样做是为了获得数据的稳定性和一致性,以及确保对数据的访问。

  但如何使新的需要(更短的数据延迟、更少的非常用数据存储、对远程和多种数据源的访问)获得支持?答案显然是分布式查询方法。联合功能提供了在不事先对所有数据进行物理移动的情况下,保持单一数据仓库或数据中心逻辑特征的可能性。

  这是否意味着要抛弃传统的数据仓库方法?绝对不是!联合功能不能也不应该取代整个数据仓库方法。基于众所周知的性能、一致性和自主性方面的原因,完全联合或虚拟的数据仓库并不值得提倡。联合更应该在某些明确而有限的范围内,为解决具体的商务需要,对现有数据仓库进行扩展或增强。因此,数据仓库的信息集成方法既包括数据安排,又包括数据联合。  

  1.数据访问

  当企业需要结合已经存在于数据仓库中的传统的、历史的或分析的数据来访问具体的实时数据条目时,联合功能可以发挥重要作用。某个主要基于数据中心可提供的历史的、合并处理过的数据的最终用户查询或报表,也需要一些最后一分钟的信息。在传统数据仓库架构中,这些实时数据必须(一般通过一个ODS)不断地送入数据中心。这不仅要求数据中心存储大量的这类信息,而且要求ETL环境必须具有持续吞吐几近实时数据的能力。

  在许多情况下,联合提供一个更简单也更上乘的解决方案。当最终用户查询被运行时,对特定信息的简单请求可以被发送到运作系统,结果被返回并与从数据中心检索到的信息相连接。可用这种方式访问的运作系统包括各种基于DB2 Universal Database的关系和非关系数据库以及IBM WebSphere MQ系列和网络服务。利用此功能,不必在中心存储几近实时的数据或让ETL环境处理这种数据。

  请注意一个重要的限定:发送到运作系统的查询应该是简单的,并且运作系统是专为高效处理此类型查询并返回特定信息而设计。这样可限制对运作系统和网络性能的任何影响。

  联合查询使用标准SQL,标准SQL允许透明使用现有的业务智能(BI)分析工具。这样,现有的BI工具可访问本地和远程的关系和非关系数据。这保护了对现有工具的商业投资,并能充分利用IT开发人员使用这些工具及其基于SQL模式的技能和专长。联合不限于访问实时数据。任何数据都可以这样访问,而不必把数据存储到数据仓库或中心。众所周知,数据仓库中的很多数据之所以在那里,是因为可能被用到。然而,在很多部署中,许多这样的数据(20%~50%)几乎从不被访问。在数据使用不频繁而且已经存在于别处的情况下,联合查询允许在原始位置上访问这样的数据。当数据已成为历史,可能有必要把它保存在数据仓库中,因为仅有的其它副本在备份磁带上。但当所需的数据保存在运作系统数据库中时,联合可允许从数据仓库中消除此数据,而仍支持最终用户的需求。  

  2.访问非结构化内容

  显示了联合扩展数据仓库的另一种方式。在本例中,业务需求是把非结构化数据或内容结合到在数据仓库环境下生成的报告中。在传统的数据仓库架构中,采用的方案可能是把所需的内容从源中加载到数据仓库,然后以通常方式查询所有的内容。然而,这样的数据常常是大量的。即使机构愿意在数据仓库中保存如此多的数据,还会产生其它问题。比方说,这样的内容可能不稳定,或在机构的控制范围之外,位于Internet上或合作伙伴的数据存储器中。在此例中,可能很难知道数据何时被更改,也就无从知晓何时需要加载新版本。

  联合又一次显示出它的优点,即它允许在需要时、根据需要对内容进行访问。当运行报告时,子查询被发送到原始内容源并以其最新的形式仅返回所需的信息。  

  3.数据中心与商务数据仓库的联合

  需要反复强调的是,IBM认为,转移用户查询和向纯联合基础架构层报告,从而取消数据仓库和中心,不是一个好主意。虚拟数据仓库被尝试过很多次,大都以失败而告终——未能提供最终用户所需的价值。联合不能替换数据仓库。联合只是扩展了现有的数据仓库概念。

  还有第三种对数据仓库可能的扩展,它针对一种在当今业界普遍存在的情况。这就是,在一个公司中存在多个数据仓库:这十分有害,但又普遍存在。这种情况是由兼并、收购造成的,或仅仅是在不同部门中互不相干、未加协调的投资的结果。由于这些分散数据仓库的出现或增长,很快管理层就会想要比较或结合多个数据仓库中的信息。传统数据仓库架构很难满足这样的需求。在这种模式中,方案是设法把第二个数据仓库中的内容加载到第一个数据仓库中,或创建一个总数据仓库,把两个原始数据仓库中的数据都包含其中。所涉及数据的浩瀚数量姑且不论,一个根本性的难题是,要设法创建统一的数据模型,使其涵盖两个源并允许数据从一个数据仓库加载到另一个数据仓库中。

  在这种情况下,联合方案又一次提供了简单得多的解决方案。联合查询仅处理需要响应管理层请求的数据子集。不必把一个数据仓库中的数据全部加载到另一个数据仓库中去,从而避免创建至少一个额外数据副本。尽管两个模型间的区别依然存在,联合方案允许随时仅对模型的一个子集,即支持联合查询的部分,逐渐增加侧重。  

  4.联合还是不联合

  但是,使用此方案的代价是什么?一个要考虑的事实是联合查询是针对远程源,包括运作系统进行的。可能会有人争辩,这会影响运作的应用程序的性能。但我们可以仅向运作系统发送简单、特定的查询,来减轻这一影响。这与向同一环境发送完整、复杂的最终用户查询是完全不同的。在联合情况下,可预测和管理对性能的可能影响。

  另一个潜在的问题是怎样逻辑地、正确地把数据仓库中的数据和远程系统中的数据链接起来。这与设计一个数据仓库的ETL填充流程时必须处理的问题相同。需要同样地详细分析和理解源和它们与目标的关系。正确的数据建模仍十分必要。有时,关系太复杂,或源数据质量太差,而无法进行联合访问。在一些情况下,如果一个人理解填充数据仓库的ETL流程设计,那么他就可以在建立联合查询时重新利用此设计。通常情况下,联合一点也不减少对详细分析或建模的需求。事实上,因为任何所需转换的实时、联机特性,对此过程的要求只会更加严格。

  这些需要考虑的问题决定了可用联合扩展数据仓库的环境。当需要访问实时数据以及不是简单地存储在数据仓库中的内容或很少使用的数据时,联合是一种功能强大的方案。相对于频繁使用和可预测重复使用的查询,它更适合偶尔的查询并从源数据的预处理中获益。对于必须访问非关系数据的查询,它也很有用。

  显然,联合并不能解决所有的数据访问问题,但是完全能够解决一些众所周知的需求。也可以看到,随着联合工具的改良,企业数据环境更好的集成,使用联合的机会将扩大。我们可以明确地预测网络服务将有能力实时提供更复杂的数据转换和清理,从而扩展联合查询使用的方式。

  联合允许从运作系统中将数据作为数据仓库查询的部分读取。如果您已经接受这一可能性,下一个逻辑问题便是联合是否应该用于将数据写回运作系统。解决这个问题的技术已经成熟,但是为了最小化对运行环境内的数据完整性和安全性的潜在影响,应该通过创建和维护这些运作系统中数据的应用程序来解决这个问题。

   来源:中国计算机报

IBM政务信息资源集成平台解决方案

方案概述:

  统一的信息分析和发布-分析型管理信息系统的关键

  电子政务经过多年的发展,已建立了大量的信息系统。但今天政府的众多业务处理系统相互独立,信息资源不能共享,信息孤岛现象十分明显已成为电子政务进一步发展所面临的巨大挑战。整合成为今天电子政务的一个核心主题。基于过去IT建设的经验,越来越多的政府部门已认识到新一层次的整合不应单纯地从某个具体的应用出发,应该从关注单个应用走向从集成的整体角度考虑架构层面的问题。

  从整体架构考虑,信息无疑是整个整合架构的基础。政府内部各系统的信息需要有效共享、相互协作、关键数据能够被多业务所复用、形成统一的全局数据视图、对现有的数据能够进一步分析加工,从而优化管理。以上内容都是各类具体业务应用方案能够顺利实现的一个关键,信息集成则是实现目标上述目标的基础。

  建立统一信息平台面临的挑战

  今天政府的信息系统主要是以职能部门和业务功能为主线建立单一功能/职能的系统。由于过去在基础网络条件、投资力度及计算能力等因素的限制,这些系统多部署在部、省、市及县等多个层次,这样就形成了今天政府信息系统横向多条块业务难以沟通,纵向多层次系统难以集成的复杂局面。随着科技的发展,基础网络和硬件处理能力等外在环境已发生了很大的变化,互联网的普及以及政府职能的向服务化的转变,对现有的基础信息架构提出了极大的挑战。

  第一,由于网络和硬件等基础IT设施的快速发展,有效利用互联网及电话网络在更大范围内提供集中化的政府职能服务已成为一个重要的趋势。集中的政府职能服务需要集中的业务信息,历史形成的多层次的业务系统使大量的业务数据沉淀在基层,而且信息异构,成为有效利用网络提供网上的政府服务的一个重要的障碍。

  第二,由于组织结构和管理模式等方面的原因,不同政府职能部门间在过去都是分别独立建立系统,缺乏统一的协调和规划。往往只从具体业务出发,实现手工作业到电子化的转变,很少考虑系统间的信息的共享机制。但从服务的角度看,就形成服务对象的信息分布在多个业务系统中,难以形成统一的视图,从而导致相同的信息在不同职能部门需要重复录入、数据的一致性难以维护。随着管理的变化,很难形成一套整合统一的平台,运转起来困难。同时内部系统目前和外部联系也比较难:重要数据无法共享,数据不是完全共享,特别是一些该共享的重要数据无法共享,无法共享就导致数据不一致或重复,造成缺乏可比数据,缺乏分析、缺乏管理,使政务系统中存在的是条条的、不可共享的数据。令一方面从政府的管理职能看,难以获得管理对象全面的信息,从而影响政府管理决策的效率和准确性。

  第三,由于现有系统数据多、复杂性大,以上的挑战很难通过推倒重来,简单地建立新系统的传统思路进行解决。必须从整体架构平台的角度出发,一方面最大限度地利用现有的数据资源,另一方面应避免未来新的系统面临类似的问题。因而许多政府机构已认识到数据中心的重要性,但分布的数据和异构的数据是大多数机构所面临的现实,从信息的角度看,大多数的机构今天及在可预见的未来,必然存在多个不同层次、不同功能的系统,他们都会拥有自己的数据。对这些信息进行有效地整合,提供一个对未来具有可扩展性的整体信息平台架构,从而能够对各类数据进行访问、共享、查询、搜索、以及深层次的分析能力,是政务系统整体集成的一个关键。

  IBM统一信息平台解决方案

  IBM为应对上述挑战,提供了一个端对端的解决方案,用来透明地管理当今政府各类系统中庞杂的数据,即信息整合。

  信息整合平台的基础架构如下图所示。在省市两级纵向信息整合的过程中,根据信息整合后的不同业务特点,可以分为四个阶段。

 

  第一阶段的主要任务为构建信息整合平台,实现数据的逻辑集中、全省数据共享,而从物理上看,数据仍存储在省市各地原有的数据库中,省级数据逻辑集中成为一个统一的视图。

  第二阶段,结合数据整合层的各项功能,进行省市两级数据标准的规范化,提高共享的质量和数据复用,并为数据交换做准备。这两个阶段是信息整合所不可或缺的必要环节。规范一旦设计完成,其推广可分"转换"和"统一"两个阶段,渐进式的实施。"转换",则业务系统和历史数据都不改动,将各地数据的"方言"解释为"普通话",再共享或交换。统一数据标准,则意味业务系统的更改或更替,需要对历史数据清洗、转换和存储。可以按照上述转换方法,同时结合数据复制技术,整理历史数据。

  第三阶段,将部分被频繁访问、且实时性要求有限的数据物理集中,提高数据查询的质量,便于决策分析等业务应用。这一阶段的任务在于优化查询访问的效率,可以作为全面物理大集中的过渡,关键技术在于数据复制,支持准实时的秒级数据同步,可以根据业务数据对实时性的要求和系统负载情况配置复制间隔。

  第四阶段,在第二阶段数据标准规范化的基础上,旨在利用数据映射层,实现全省数据交换。这些交换以省级DB2数据库为中心形成星形或树状的结构。整个数据共享和交换的底层实现和存储机制对各应用节点是透明的。该结构属于松耦合,如同星形网络一样,很容易进行层次化的结构扩展。数据交换采用的关键技术是复制。以WebSphere II为基础平台,实施数据交换的主要工作可集中在与业务相关的交换标准定义、交换双方的映射关系定义和交换流程规划上。数据交换中的交换流程可分为单向和双向两种模式。这两个阶段可根据实际业务需求取舍,也可更换先后次序。

  核心技术:

  第一,联邦

  采用联邦技术,可通过简单的配置,快速实现数据共享。其主要特点为:

  透明性。所有信息源看起来就像是一个信息源。

  异构性。从不同数据源整合数据。

  双向SQL访问。基于标准的通用访问方式,且双向可读写。

  可扩展性和工具化。可以访问任何数据源,配置方便。

  避免对现有数据源和应用程序进行更改。

  其性能可以满足实际应用程序和可能应用程序的需要,包括高级查询优化技术、本地数据访问以及透明缓存支持。

  可以充分利用标准的分析、报告和开发工具等高级功能。WebSphere II查询接口提供了基于标准的完整功能--包括对后端数据源中缺失能力的补偿。

  第二,SQL复制

  在多种数据源的环境中,主要采用SQL复制技术。SQL复制技术能够支持网络上同构或异构数据库之间的数据的有效传输和冗余性复制,能够实现多种复制模式(如:准实时复制、定时复制、双向复制、复制转发等,复制范围可整表复制或表中部分行复制或修改单元复制)。

  复制运行时包括三个组成部分:Capture、Monitor和Apply。其中Capture提取复制数据源的变化增量;Apply获取Capture的结果,并根据复制映射关系进行转换,按照一定的时间规划,作用于目标数据;Monitor监控复制过程,并给出监控信息。

  SQL复制实现机制能够解决以下三个主要问题:增量复制,支持对数据的变化增量识别、提取和复制,与全量数据复制相比,可避免全量数据传输的巨大负载对各个系统的影响;源数据与目标数据间的复制转换,源数据与目标数据之间,往往存在着数据类型、格式、逻辑等不一致。为了使目标数据源能够读懂、接受复制数据源的数据,就必须进行复制转换;可配置、可管理的数据分发,数据分发主要指Apply的过程,即将复制数据源的增量应用到复制目标。

  第三,Web Service技术

  信息集成技术提供集成多个Web Services提供者的功能,以及通过Web Services发布集成的信息。通过信息集成技术,可使集成的信息平台成为Web Services的提供者及消费者。通过对该技术的支持,使得在各政府部门通过公共的信息网络安全实时地共享信息资源成为可能,而且可使内外的信息集成有效地融为一个完整的整体。

  第四,双层认证授权机制

  WebSphere II的双层认证授权机制,充分保证异地数据访问下的数据安全。Information Integrator用户对数据的操作权限,取决于各个应用系统数据库向它开放的用户的授权,是且仅可能是后者的子集。通过开放不同权限的用户给Information Integrator,可限制通过II的用户访问的数据内容和数据库操作(如插入、修改和删除),这样就保证了业务数据的安全性,不会出现超越业务授权的所谓超级用户,消除数据安全隐患。

  第五,数据存储和管理

  WebSphere Information Integrator内置数据库DB2 UDB,其无论在网络计算方面还是在线分析、多媒体处理,都能给您全面、满意的支持,而且通过集成丰富的数据库管理工具,把原来复杂的管理工作变得非常简单。此外,DB2致力于商业智能和数据仓库方面的改进,包括自动触发器,多分区和多表的自动总计表格,优化星式结构的连接方法,以及多维聚簇索引,物化查询表技术使查询和整个系统的反应速度大大提高。此外DB2先进的并行技术,使得系统资源得到充分利用,并可以是统一信息平台实现线性的扩展。

  主要产品列表

  WebSphere Information Integrator

  WebSphere Information Integrator for Content

  DB2 Information Integrator Omnifind

    信息资源集成平台的价值

  IBM信息整合解决方案将助力政府机构快速、高效、低成本地搭建统一信息资源平台,将内部各系统的信息资源实现有效共享、相互协作、使关键数据能够被多业务系统所复用,实现:

  跨越业务系统的实时数据处理

  建立政务系统全局、统一的客户视图

  实现异构数据源之间的数据复制

  广域网环境中基于消息队列的数据复制,

  实现系统间高效的批量数据交换

  提供企业级的信息搜索

  事件数据的获取和发布

  非关系型数据的集成(包括MQ、XML、Web Service等)

  此外,通过对现有的数据进一步加工和整合,在提升全面的信息服务能力的同时,为政务系统的发展构建长远的信息框架。

  成功案例:

  国内成功案例

  

  山东地税:纳税人信息整合(省市间的纵向整合)

  金税一期、二期山东地税的征管系统主要部署在市县两级。纳税人信息分布在各市县近200个数据库中。数据库的类型、版本各不相同,包括Oracle, Sybase, SQL Server等多个版本。由于历史原因,原有系统有多家开发商开发,其数据模型也不统一。

  山东地税计划在省中心建立全省统一的发票系统,需要从各地市的征管系统中获取准实时的纳税人信息。通过采用WebSphere II, 山东地税仅用一个半月时间建立起了与近200地市不同类型数据库的数据通道,成功实现了全省统一发票抽奖。

  在此基础上,在省中心建立信息整合平台,准实时地从各市的Oracle和Sybase中将纳税人的增量信息复制到省中心。然后统一进行处理,实现与发票系统中纳税人信息的同步。省市间复制纳税人信息的时间延时约为1分钟。

  另外同样采用数据复制技术,将内网发票系统中的数据准实时地复制到外网数据库中,提供对纳税人的网上服务。整个整合过程完全在省数据中心实现,不在各地市安装任何产品,编写专用接口。

  灵活的数据集中枢纽:

  在省中心建立数据整合平台,透明连接到各地市的数据资源。为省市间灵活的数据流动及省数据中心的建设打下了坚实的基础。

  省中心通过此平台即可透明访问个地市数据,也可动态抽取(一般采用Cross-loader方式),或定义增量数据复制实现准实时的数据迁移。极大地便利了省中心对全省数据资源的控制及再利用。

从“信息孤岛 ”到信息集成

由于企业存在“信息孤岛”,企业数据的一致性无法保证,信息及时共享、反馈难,信息需要重复多次的输入,信息孤岛使得大量的信息资源不能充分发挥应有的作用,效率低下,已经成为阻碍企业信息化建设进一步发展的最大障碍。信息资源(Information Resources)与人、财、物资源一样,都是企业的重要资源。目前,许多企业都已经认识到信息资源规划的重要性,认识到它是企业信息化建设的基础工程。只有做好信息资源规划工作,才能理清并规范企业的真正需求,贯彻信息化建设的"应用主导"方针;才能消除因缺乏信息资源管理基础标准而产生的“信息孤岛”。

  整合信息资源,实现应用系统集成;才能指导OA、MES、SCM、ERP、CRM、BI等应用软件的选型和二次开发、系统的集成并保证信息化项目的总体成功实施。

  一、“信息孤岛”对企业的制约和影响

  “信息孤岛”有“单项孤岛”和“系统孤岛”之分,由于企业“信息孤岛”的存在,会造成“信息瓶颈”,给企业“信息共享”带来不便。

  1、由于信息不能共享,使得大量原始凭证(信息)多次在不同“孤岛”上重复录入,重复的次数越多则越容易出错,不仅增加了核对工作量,而且降低了管理(和设计)效率。由于信息多头使用和维护,造成信息更新的同步性差,破坏了信息的统一性、准确性,使管理失去了统一的依据。

  2、由于“信息孤岛”间缺乏业务功能交互与信息共享,致使企业的物流、资金流和信息流地脱节,结果造成账账不符、账物不符,不仅难以进行准确的财务(如成本等)核算,而且难以对业务过程及业务标准实施有效监控,导致不能及时发现经营管理过程中的问题,造成计划失控、库存过量、采购与销售环节的暗箱操作等给企业带来无效劳动、资源浪费和效益流失的后果。

  3、“信息孤岛”之间业务功能没有交互,信息缺乏共享,所以,封闭在部门内部的信息就带有很大程度的私有性。通常,越是掌握重要信息的部门就越是拥有优越于其他部门的权力,往往为了维护本部门的权威和利益,也就不愿意同其他部门共享自己掌握的信息,甚至出于部门或个人的利益需要随意改账、弄虚作假、虚报瞒报,这种严重。

  4、在“信息孤岛”存在的情况下,信息管理缺乏相应的管理手段和管理规范,给系统信息的安全、保密以及一致性等工作带来巨大困难。

  5、信息系统的基础不统一,没有统一的代码系统。

  总之,由于“信息孤岛”的存在,会给企业发展带来致命障碍,影响企业信息化进程。要消除“信息孤岛”,实现信息集成,必须进行信息资源规划。

  二、如何进行信息资源规划

  由于信息资源的存在,“信息孤岛”的既成事实,信息资源的规划就显得非常必要。

  信息资源规划的实施主要是建立数据管理的基础标准,并落实企业应用需求建立功能模型、数据模型和系统体系结构模型。在规划的同时对企业的业务进行梳理、整合、优化,并进行数据分析、数据挖掘,为应用系统集成提供全面的解决方案。

  企业信息化是一项相当艰巨复杂的系统工程,信息资源规划是这项工程的基础工作。信息资源规划基础工作做不好,企业信息化大厦的地基就不牢,导致整个信息化建设不能正确持续的发展。本人认为企业要想成功实施信息资源规划,应遵以下原则。

  信息资源(Information Resources)与人力、物力、财力和自然资源一样,都是企业的重要资源,因此,应该像管理其他资源那样管理信息资源。IRM(Information Resources Management)简称IRM是企业管理的必要环节,应该纳入企业管理的预算。IRM追求高效、实效、经济。信息资源规划考虑以下六个方面问题。

  1、重新进行企业信息集成统一规划和构思。形成企业信息集成模型和规范,在保证各个数据流畅通的前提下,达到消除“信息孤岛”,实现各个子系统的高速、高效互联,达到信息共享和网上数据交换,提高信息传递效率。

  2、理顺企业的数据流。企业信息化作为一个严密的信息系统,数据处理的准确性、及时性和可靠性是以各业务环节数据的完整和准确为基础的。企业信息化建设中有一句老话:“三分技术,七分管理,十二分数据”,信息系统的实施是建立在完善的基础数据之上的,而信息系统的成功运行则是基于对基础数据的科学管理。因此,理顺企业的数据流是企业信息化建设成功的关键之一。

  3、企业信息化就是利用技术的手段将先进的企业管理思想融入企业的经营管理中,在这个过程中将最终实现对财务、物流、业务流程、成本核算、客户关系管理及供应链管理等各个环节的科学管理。因此要明确部门间哪些数据需要共享,哪些数据要上报企业领导,哪些部门需要获取外部的知识或信息,企业的哪些数据需要对外发布和宣传,哪些数据需要保密,子公司要与总公司交换哪些数据等等。当数据流理顺后,相应的业务管理流程也就一目了然,管理流程也就理顺了。

  4、“以数据为中心”的系统集成,建立主题数据库。如果我们把分析信息系统集成问题的着眼点放在信息流上,通过信息流将企业各部门的主要功能“穿起来”,而不是根据现有部门的功能来考虑信息系统的集成问题,就可以建立起既具有稳定性,有具有灵活性的全企业集成化的信息系统模型。这就是“以数据为中心”的系统集成的大思路。数据结构是稳定的,处理是多变的。建立面向业务主题建库(不是面向单证报表建库),主题数据库有以下特征:(1)、支持信息共享;(2)、要求所有源数据一次一处输入系统(不是多次多处输入);(3)、每个主题数据库都由基本表(BaseTable)构成,基本表具有原子性(表中的数据项是数据元素)、演绎性(可由表中的数据生成全部输出数据)和规范性(表中数据结构满足三范式要求)。

  5、建立信息资源管理基础的统一标准,统一基础代码。整合信息资源,消除“信息孤岛”。“信息孤岛”产生的技术原因,是由于缺乏信息资源管理基础标准;信息资源规划过程就是开始建立数据标准的过程,从而为整合信息资源,实现应用系统集成奠定坚实的基础,打造了高档次的数据环境。

  6、以企业为主体,并建立咨询管理机制,企业借助外脑,搞清信息资源规划的需求。企业在应用软件选型要有主动权,保证OA、MES、SCM、CRM、ERP、BI在同一平台、环境下实施。否则,虽经过管理咨询、多方考察和论证,由于自己心中无“数”,容易犯“削足适履”的错误。

  在信息资源规划过程中必须明确目标,制订适合的规划方案,并防止形成新的“信息孤岛”。要考虑集成的开放性,考虑为企业信息化的发展留出发展余地。

  三、如何进行信息集成

  信息集成是两个或两个以上的相对独立的实体(可独立运行)在功能、信息、资源、组织等方面衔接起来,成为统一的整体。

  集成分类:集成分物理集成、信息集成、功能集成。物理集成是指设备(包括计算机)的网络联通。信息集成是指通过数据库互相存取信息。功能集成是指系统之间各功能的协调运行。

  集成包含了信息层面和应用层面。对功能交互的管理与控制就是有计划地、按业务流程和相应规则建立分布于不同计算机的应用系统之间的相互关联的逻辑关系,而这种逻辑关系又是通过相互间信息的共享和信息的交换体现的。同时,通过对信息共享及数据通讯的管理与控制以确保信息的统一性、完整性、准确性、安全性、及时性、使用的方便性等,为不同系统间的功能交互过程中的业务处理营造同一的信息基础环境,进而保证业务处理的准确性、主动性和动态性。总之,就是通过对功能交互、信息共享及数据通讯三个方面的管理与控制使信息与业务流程、信息与应用之间形成一个协同的整体。

  综上,凡是相互之间在功能上互不关联的,信息不共享、不交换的以及存在信息与业务流程和应用相脱节的计算机应用系统就是“信息孤岛”。信息集成和信息孤岛是意义上对立的两个概念,由信息孤岛走向信息集成是企业信息化的重要目标。

  四、企业实现“集成”的操作建议

  1、制定企业信息化建设总体规划

  为消除“信息孤岛”,实现信息集成,必须要站在企业整体高度,以全面和长远发展的观点来制定信息化建设的总体规划。规划要远近结合,既要满足企业当前需要又要有较好的可扩展性和兼容性。规划需要通过企业现状调查和管理需求分析来确定企业信息集成化建设的总体目标,根据企业能力并结合企业发展需要制定总目标下的分步实施计划,也就是按规划中所规范的信息集成内容和实现集成的技术的标准来制约部门或个人在实施过程中由于各行其是、随意引进而制造新的“信息孤岛”的行为,进而按总体规划要求分阶段地引进、实施所规定的集成信息技术(如ERP、PDM等)以消除现存的“孤岛”逐步实现企业信息集成的总体目标。

  总体规划地制定需要一定的信息化建设的经验,需要一定的专业知识和人才,对于目前大多数尚不具备这些资源能力的企业,有必要通过专业的信息化咨询公司的服务以实现企业信息化建设总体方案的制定。

  2、加强过程管理,规范业务流程综观不少信息化水平低,实施信息集成软件(如ERP等)效果不理想甚至失败的企业,基本都是处于管理层次多、机构臃肿、流程混乱、业务重叠、人浮于事、责任不清和效率低下的状态。因此,为保证企业经营管理目标的实现,必须通过业务流程再造(BPR),流程优化,并加强过程管理,以形成合理、效能的业务流程,进而保证:

  (1)、企业部门内部、部门之间的信息畅通并有同一和共享的信息环境。

  (2)、事务处理的“过程”管理和业务过程所处理的数据记录的管理,确保信息的统一性和完整性。

  (3)、精简机构、理顺流程、明晰责权、提高部门间协同工作效率;企业所有部门和个人必须按规定的时间、按规定的合理业务顺序、按规定的业务内容和标准完成流程或岗位描述所规定承担的业务,确保信息的准确性与及时性,进而实现对业务过程的有效监控并增强了决策过程的透明性和科学性。

  总之,规范的业务流程是保证部门或业务之间的信息畅通、实现信息集成和提高管理效率的基础。

  3、建立实现信息集成所需要的其他一些条件:

  (1)、信息规范化

  首先需要对信息系统所涉及的全部物料、部门、人员、科目等进行规范性(即具有唯一性、统一完整性、寓意性、可扩展性、易用性和标准格式化等特点)编码;明确信息之间的关系定义及其处理原则。

  (2)、信息处理程序规范化

  通过对所有需要访问(如查询、处理和维护等)系统的部门或个人要严格按规定进行授权和建立系统安全措施以确保系统安全。同时,系统信息的采集、处理和报告等要有专人分工、责任明确,确保信息的及时、准确和完整。

  (3)、系统信息的范围

  为确保管理决策的全面科学性,系统不仅应当集成供应链所有环节的各类信息,而且还应集成历史的、当前的和未来预测的信息。

  4、贯彻《ERP规范》

  中国第一部企业信息化技术规范——企业资源规划系统(ERP)规范于2003年10月1日起正式开始实施。企业可以参照ERP规范来了解所有ERP产品,考察ERP企业的服务能力、实施能力以及研发能力等,以便保证有针对性地进行ERP产品的正确选型。ERP规范将使企业变得越来越成熟,而企业的成熟将促使厂商向企业提供高品质的产品和服务以帮助企业尽快消除“孤岛”实现信息集成,加快企业信息化的进程。

  随着市场竞争形势越来越激烈,企业要生存发展,必须尽快消除“信息孤岛”,通过信息资源规划,应用信息集成技术,尽快提升企业管理水平,进而增强竞争能力。所以,掘弃“信息孤岛”,坚持信息集成,是大势所趋。

论portal技术在图书馆个性化知识服务中的应用

作者] 陈幼华
[单位] 上海交通大学情报科学技术研究所
[摘要] 文章简要地介绍了portal的基本概念、特征及目前的主要应用,阐述了它对图书馆的管理及数字图书馆未来发展的影响,描述了portal在国外图书馆应用的三个案例,并对我国图书馆界在开展mylibrary服务中的功能模块设置问题进行了探讨。
[关键词] portal,我的图书馆,个性化服务
1 portal的基本概念、特征与应用
信息技术及通讯技术的发展,让人们可以获取前所未有的海量信息;同时,巨量的信息常常让人们不知所措,完全迷失于信息的海洋中。在这种情况下,人们对于单一入口来定制与获取自己需要信息的渴求,就变得异常的迫切。portal的产生即是基于这样一种契机与需求。
1.1 portal的概念
目前portal还没有标准的定义,有的认为它是提供企业数据、程序和服务的,安全的、单一入口的、基于网络的系统;可延伸地理解为让用户在恰当的时间和地点获取信息;也可看作是允许用户集中和分享信息、进行项目合作、有效决策的、基于WEB的系统。而Michael Looney 和Peter Lyman则将portal描述为:一个WEB 经验中心、一个当你迷失时回归的总部、一个保存你的信息的地方、一个与他人交流的地方,一个可信赖的网络信息的指导。也有人认为应该将portal理解为信息与服务的过滤器,并认为理想的portal应该提供:可靠的、便捷的、安全的访问和指导;提供正确的信息或服务;提供恰当的上下文关系;任何时间或地点都可获取信息。portal以用户为中心,信息和服务是依据用户特征来提供的,是一种information for的服务;而传统的WEB是以信息提供商为中心,是information about的服务。
1.2 portal的基本特征
一个优良的portal通常具有以下特性:①用户友好:易于设定和个性化,尽可能不需要培训;②有组织的:以易于查找的方式将内容分类;③自服务:用户可以不依赖管理者管理和发布内容;④可扩展性:支持新的种类、数据格式和访问方式;⑤安全性:对授权用户的识别和保护功能;⑥兼容性:能访问不同来源的、结构及非结构的各种数据;⑦综合性:用标准的界面和协议来综合现有的及将出现的应用程序。
1.3 portal的应用
尽管目前对于portal的概念还不太明确,但它在企业界、教育界、政府界都有大量的研究及应用。据估计,20%的电子商务是基于portal的。现在的portal主要有以下四种类型:
⑴Vertical Portals——VORTAL
类似于第二代的WEB站点,侧重于专门的统计分类、产品分类或主题分类,因为盛行及实际的经济价值而被冠以portal之名,并且它也是增长最快的一种portal。有些分析家用”亲和力或团体portal”来形容这种以统计为中心的portal。现在一些大公司用portal来迎合特殊种族、特定年龄群体、生活方式、宗教及其它群体的需要,以形成一个群体或市场。Linux Links-The Linux Portal Site就是这样一个portal,其用户有免费e-mail,能创建公共或私人的日历,能参与讨论组;MP3.com是一个音乐portal,其MyMP3提供在线的音乐管理,用户可以存贮和组织他们的音乐播放时间、地点,访问有价值的音乐频道,并可以自己编辑音乐。
⑵Horizontal Portals 用户可以挑选信息类别并定义内容和其它特征。MyYahoo, My AltaVista, 和My Netscape 就是很好的例子。用户可以挑选他们想看的部分,如天气、新闻、股票等,能定义每一部分的内容来满足个人需求。而新出现的About.com -“The Human Internet,”和Suite101 -“Real People Helping Real People,” 是mega-portal和vertical portal的综合,其点击率在前10位。
⑶Enterprise Resource Portals (ERP), Enterprise Information Portals (EIP), Business to Employee (B2E) and Corporate Portals. 这一类portal是公司局域网的深入,目的是通过提供雇员所需信息以提高他们的生产力。雇员通过他们的访问权限可以看到大量知识、事件、新闻等。
⑷Business to Consumer (B2C) portals 。Amazon.com, eBay和PriceLine 领导了这类portal的潮流。如NBC最近发布它的新portal—— NBCi.com,除了传统的TV时间表和新闻,还包括网络搜索,E-MAIL,免费的主页空间和购物。另一个成功的案例就是Wal-Mart.
2 portal技术对于图书馆的影响
portal技术的发展,引起人们的广泛注意。其个性化的功能倍受一些信息存贮传播中心的关注,同时也受到广大信息用户的期待和欢迎。对于提供信息服务的图书馆,当然会无可避免地受到这股科技力量的冲击。从图书馆事业管理及发展的角度来看,portal概念的引入及对这种技术的应用,是一种极具战略眼光的举措。图书馆作为信息存贮和传播的一种重要的信息中心,信息资源的组织方式及信息服务的提供方式是其研究的重要内容,这个过程就会涉及到许多信息技术的应用问题。而portal的特性与功能,正解决了信息组织及服务方面的许多问题。它在图书馆的应用结果,就是mylibrary服务的产生。由此而言,portal对于图书馆自身信息资源的管理、图书馆事业的发展及数字图书馆系统的建立都具有重要的意义。从图书馆用户来讲,他们需要一种安全的、单一入口的、快捷而方便的、具有指引的自我信息入口。对于科学研究和学术研究人员而言,这一点尤其重要与必要。对于用户而言,mylibrary服务的提出是非常需要的。尽管目前有一些著名的搜索引擎提供了一些个性化的服务,如my yahoo ,my netscape。它们主要提供股票、新闻、E-MAIL、天气等生活信息,这些对于学术研究是远远不够的。科研人员更多地是希望能有一个平台或入口,将他们常用的数据库、电子期刊、其它资料及信息有序地组织在一起,以方便使用和查找。所以图书馆界如何构建mylibrary项目成为一个引人关注的话题。美国图书及信息学会就认为mylibrary这样的服务是值得关注的一个发展趋势。该会的专家一致公认:越来越多的惯用万维网的图书馆用户期望图书馆加强个别设计customization、交互作用interactivity、用户支持customer support的功能. 另外,作为一种信息服务机构,mylibrary服务的推出,让用户与其常需依信息资源紧密地联系在一起,同时也使他们更容易得到专业馆员的指导,馆员与用户之间的互动性加强,这些将会大大提升图书馆的用户满意度。
3 美国三个mylibrary的案例
美国图书馆界早在1997年就已开始mylibrary项目的研发,该类项目很多是受搜索引擎个性化服务的启发而提出的,在这些个性化服务中,用户可以挑选信息类别并定义内容、显示风格以及其它特征,MyYahoo, My AltaVista, 和My Netscape 都是如此。现在美国已有近40所图书馆开通了此项服务,许多用户已创建了个性化的资源主页。从编写语言看,有的以ASP写成(如,Public Library of Charlotte & Mecklenburg County的BRARYDOG、Mississippi State University Libraries),有的是CGI(北加利弗利亚州立大学)、有的是PHP(Christchurch College of Education, ChristChurch, New Zealand),有的以JAVA、XML、JSP、J2EE写成(UPORTAL)。当然很多是用COLD FUSION软件开发(University of Texas Southwestern Medical Center的My Library@UT Southwestern Medical Center Library、University of Toronto Libraries)。其中NCSTATE的原代码可从网上获取,并已有7所学校采用了它们的原代码。PERSONALIZED ECCLES的原代码也可以从WAYNE PEAY 处获取。从用户而言,有的只面向本馆读者或本校师生;有的没有限制,不过对具体数据库查询时有所限定。以下的三个案例是在观察了开通mylibrary服务的图书馆及阅读大量关于portal在图书馆应用的研究报告或论文的基础上,从资源组织的有效性、服务功能的全面性及用户界面的友好性三方面综合评定的,基本可以代表目前美国mylibrary的发展状况。
3.1北卡罗莱纳州立大学图书馆——MyLibrary@NCState
这是一个用户导向的、可定制的信息服务系统。研发工作始于1998年夏天,系统基于UNIX平台,以PERL语言写成。其编码已被密歇根大学、瑞典LUND大学等7家图书馆采用;加州数字图书馆基于它的编码,开发了可定制的portal原型。该系统总体定制机制包括:①系统提供默认资源与服务页面;②用户可自定义和组合定制内容;③用户可查看和修改定制信息。资源和服务定制内容包括:①我的图书馆员。即在定制之前选择一个学科馆员。它将学科馆员名录按学科列出来,用户可据此选择;②图书馆链接。下面又有4个功能模块:借阅记录、图书馆目录、馆际互借、购买建议(图书馆提示用户先检索目录);③大学链接。分3个方面:学校主页、名录、注册记录;④新主题。图书馆根据用户需要,将新到期刊、书籍、数据库及其它资料信息传送给用户;⑤快速查询。可以在图书馆目录、字典、百科全书、因特网4个选项中进行快速查询;⑥参考书架。从图书馆提供的功能模块中定制你要的部分,并显示在页面上;⑦索引和书目,可选择书目数据库;⑧电子期刊,可选择电子期刊。此系统将学科馆员制度与mylibrary结合起来,这有利于图书馆服务与学校科研活动的紧密结合;对于用户而言,也有了专业信息管理人员的指导。同时系统提供的精要的功能模块,对于用户的学术研究是十分实用的。
3.2弗吉利亚公共健康大学——MyLibrary
进入MYLIBRARY服务主页后,已注册的用户可直接登录,想创建个人信息主页的用户可选择创建;在创建的第一步,选择是VCU USERS或GUEST;然后可直接浏览系统默认主页,或是填写用户信息(用户名、E-MAIL、密码)重新创建定制主页;定制资源与服务;最后可游览和修改个人信息主页。该系统界面比较直观,可选信息资源比较丰富,且全部陈列于页面上。栏目有:①图书馆最爱。列出图书馆推荐的4个数据库供用户选择;②快速查找。可以选择在图书馆目录、期刊篇名、大英百科全书、韦伯特辞典、牛津英语辞典、Pubmed、Alta vasta、Fast、Google、Hotbot、Dogpile、Liszt、VCU E-Mail等13个数据源中进行快速查询;③综合数据库,有8个数据库可选;④主题数据库字顺列表,8个;⑤专题数据库,21个;⑥电子期刊,15种;⑦可添加4个额外的数据库;⑧表格和服务。提供问问题、图书续借、影印服务、预约及到期通知、馆际互借、图书馆开馆时间、图书馆新闻、因特网搜索、专藏档案等9个服务项目;⑨个性化书签,可以添加喜爱的网站。
3.3梅克伦堡州夏洛特公共图书馆——http://www.brarydog.com/
这是一个用户界面容易理解、操作简单、风格活泼的案例。分6步完成:①填写个人信息;②资源选择;③添加链接;④选择搜索工具;⑤页面风格定制;⑥游览和修改个人信息。完成后用户选择的资源以参考书桌、读者书桌、新闻书桌、儿童书桌、我的书桌五个部分组织起来。
4 我国“我的图书馆”的设置
在我国,许多采用深圳市图书馆开发的ILAS系统的图书馆也开通了“我的图书馆”这样的服务项目,但目前的功能只包括:①感兴趣的新书。系统根据读者填写的兴趣特征,将与之符合的新书推送给他;②书目查询。可查询图书馆的馆藏书目信息及预约想要借阅的书;③期刊篇目。查询图书馆的馆藏期刊目次信息;④新书通报。了解图书新到情况;⑤信息查询。查询图书馆自建或引进的各类数据库(这一功能基本上还未能实现);⑥联合目录。查询联合目录数据库;⑦资料更新。更新个人资料;⑧修改密码。
4.1构建“我的图书馆”系统时应注意的问题
通过对以上mylibrary项目的比较与综合分析,我们可以看到在开发“我的图书馆”项目时应注意以下问题: 1 运行环境、软件的兼容、各种语言的兼容问题。开发出的mylibrary系统应能在多种平台上运行;在可扩展性与开放性方面,2 应该可以添加功能组件。这样可以将mylibrary与其它的portal应用程序整合,3 如my netscape , my yahoo,4 或是有待发展的my campus;5 资源与服6 务的有效组织。表现在图书馆给用户提供什么样的信息资源及服7 务,8 及如何以一种逻辑的方式、容易为用户理解和接受的方式,9 对这些信息资源和服10 务进行有效地分类与组织;11 用户友好。用户在进入“我的图书馆”服12 务模块后,13 注册前应有一个默认的主页方便其观察和决定;如果用户决定创建自己的资源主页,14 应以一种最方便的理解方式让其明白如何创建一个Mypage,15 这样才能达到预期效果;同16 时可以让用户设定主页显示风格,17 在这一点上,18 http://www.brarydog.com/的设计值得借鉴;19 学科馆员制度与用户的个性化定制相结合。将学科馆员制度与用户个性设定有机结合起来,20 能够更好地发挥馆员的主动服21 务功能;用户在利用信息资源时,22 可以寻求专业信息人员的指23 导与服24 务。馆员与用户的互动性及互利性大大增强,25 最终实现信息的有效传递;26 安全与隐私问题。这是所有个性化服;27 务中都会面临的重要问题;28 关于what’s new。“我的图书馆”往往会提供这一服29 务,30 但在界定什么是最新的、最有价值的条目时,31 图书馆与用户也许会有不同32 的看法;33 统计问题。一是馆藏资源的统计,34 哪些用户放在他的主页上,35 哪些没有被用过,36 这样便于图书馆进行有效的信息资源建设;二是用户统计问题,37 弗吉利亚公共健康大学图书馆用一个文件,38 以记录用户名39 、访问时间日期、IP地址及访问模式。4.2“我的图书馆”功能模块设置的建议MYLIBRARY项目的总体建设目标是构建图书馆个性化信息服务系统。这个系统应综合图书馆的性质与特点,将学科馆员制度、学科信息门户与用户的个性化行为紧密结合起来,既发挥图书馆信息服务功能,又突出用户个性化需求。借鉴美国mylibrary项目的优点,结合我国用户的实际需求,我们可以对图书馆个性化信息服务作出以下的设定: 在MYLIBRARY系统总体定制功能包括:①系统提供各学科的系统定制资源主页。这是系统按照特定专业需求编制的特定资源与服务定制模板,公开供所有用户查询和引用。系统可根据该专业用户对模板的使用情况及用户个人定制模板的统计分析来对其进行更新;②用户可以对系统提供的资源定制内容进行选择,可以引入或自定义定制内容;③用户可以组合定制内容,定制系统界面,对界面结构(指系统界面的总体模块类别和布局形式)和界面内容(对各个信息或服务模块的具体内容进行定制)进行选择和调整;④浏览定制效果;对定制信息进行修改、存储和管理;⑤根据用户使用选择倾向和历史统计自动修改定制信息。⑥对于用户自己的定制模板,用户可以选择是否共享或共享哪些数据;共享时数据只按用户身份类型公开,不泄露具体身份信息。用户进行定制时系统提供工具帮助其选择公开程度,默认值为不公开。这样用户可以根据系统定制模板来定制个性化资源主页,还可了解相近用户的个人定制模板来完善自己的定制。同时,系统可利用用户个人定制页面了解新的需求和资源,分析资源利用情况,并将统计分析结果作为更新系统定制模板的依据;⑦任何用户都可作为公共用户GUEST进入系统,使用限定的资源和服务,如OPAC检索;但数据库、电子资源等则需要身份验证。在有机整合图书馆资源与服务的基础上,为用户提供的具体资源与服务定制内容包括:①图书馆服务:我的图书馆员,图书馆借还书情况,预约、图书到期通知,馆际互借,购买建议,图书馆新闻,what’s new,教职工名录,我的帮助,我的FAQ;②参考资源:允许用户对数据库、电子期刊、参考书、搜索引擎、学科信息门户进行定制;③快速查询:本馆书目,联合书目,因特网;④添加链接:用户可添加喜爱的搜索引擎、个人链接等。实现资源与服务的个性化定制是MYLIBRARY项目的基本功能,如果条件允许,还可以进一步实现检索定制。包括对专业、文献类型、语言、时间范围、默认检索方式、检索算符表示符号、检索结果排序进行定制;个人词表定制;定题选报表;最常用检索词统计表;最近使用检索式表等。根据以上的定制设置,当用户进入MyLibrary后,会有以下一些程序:①系统出现浏览学科定制模板、已注册用户登录、创建个人信息主页的选择;②如果用户决定创建个人页面,就填写个人信息;③选择一个学科馆员。将学科馆员按学科列出名录,用户从中选择;③定制图书馆的相关链接;④定制大学链接;⑤参考资源的选择,主要是数据库及电子期刊;⑥快速对联合目录及因特网的查询选择;⑦系统根据用户的特征描述,对新到的数据库、期刊及图书实行的推送服务;⑧用户添加自己喜爱的网站链接;⑨页面风格的定制,包括页面背景颜色、字的颜色、链接颜色等;⑩定制个人信息主页的共享程度;⑾观看Mypage,同时用户可以进行选项的修改。每一个步骤,系统都会给出引导信息。这种设置方式对于目前而言,是比较实用的一个模型。

浅谈Portal技术

1.               概述

Portal一词最早是指门户网站。简单讲Portal是一个重要的Web站点,是一个联合的社区,作为Web应用程序的简单统一的访问点和信息系统的展现层,通过个性化“我的主页(My Home Pages)”为不同用户提供个性化、统一登录和内容整合的服务。此外Portal还提供了许多有价值的附加功能,如安全性、搜索、协作和工作流等。对最终用户而言,Portal就是一个到所有计算资源的单独访问点。业界认为Portal将会成为下一代的桌面,在Web上为各种客户机设备提供大量的电子商务应用。

2.               发展历程

最初的Portal指的是像YahooSina这样的Internet门户网站。这些门户网站为用户提供了检索、分类和类似My Yahoo!的个性化定制服务,目的是帮助用户更快地找到自己所需要的信息。这样的Portal被称为Public Portal,即面向公众的信息门户。

随着Web应用的发展,又出现了Vertical PortalEnterprise Information PortalVertical Portal即行业门户,目的是帮助某一行业的商业人员和技术人员找到自已需要的特定行业的商业信息和技术信息。Enterprise Information PortalEIP即企业信息门户。目的是帮助企业用户及员工通过统一入口找到分布于企业的各种信息。与Public Portal相似,Vertical PortalEIP也同样提供了检索、分类和个性化定制服务。

在以上三种Portal中,EIP包含的内容最多,因此,Portal的发展过程也在EIP中得到了最充分的体现。在EIP发展的最初阶段,Portal实际上就是一些静态网页,用户通过它获得企业提供的信息及服务。随着信息量的增加,逐渐增加了搜索功能和内容发布功能,并一定程度上实现了内容管理(Content Management);融入了工作流,渠道(包括Email)的功能;集成了更多应用,如ERPCRMSCM等;增加了Web Services引擎。下面为Portal在企业应用里的结构图(摘自于WebLogic Portal 8.1 相关资料)

图:Portal在企业信息化中扮演的角色

 

3.               现状

Portal技术与应用服务器紧密结合,加强了高级的个性化功能,发展成为应用服务器之上的管理客户、员工和合作伙伴应用的一个框架。Portal作为应用服务器之上的面向企业应用集成的产品里的必不可少的组成部分,在企业信息化方面扮演着重要的角色。各大应用服务器厂商也纷纷推出了自己的Portal产品,比较著名的有IBM WebSphere Portal ServerBEA WebLogic PortalSun Portal Server,同时也有同类开源产品,如Apache JetSpeedLiferay等。

 

4.               趋势

著名咨询公司Gartner不久前提出了应用平台套件(Application Platform Suites,简称APS)的概念。根据Gartner的定义,APS由一批基础软件组装而成,这些基础软件提供了创建企业应用所需的架构,至少必须包括应用服务器、Portal产品和企业应用集成包等。IDC通过对众多企业信息主管的调查发现,他们最关心的问题是如何实现企业应用的整合,以及如何构建统一的企业信息门户平台等。厂商对企业用户的这些需求,仅仅提供一个应用服务器是远远不够的,而需要提供一整套能够使企业有效和灵活地建立信息系统的工具和软件平台,把应用开发平台和应用集成平台有机地结合起来。

总的来看,Portal作为未来企业信息用户平台的一个重要组件,随着应用服务器的发展,也将得到长足的发展和进步。

Portal—信息化的门户

 摘要:Portal是IT领域的新技术,是企业信息化工作的发展方向之一。文章介绍了Portal技术的概念、技术特点和体系结构,比较了现有Portal软件系统,给出了信息化工作中实施Portal技术的几点建议。
    关键词:Portal,信息化

    引言

    随着中国入世和知识经济的到来,经济全球化与市场需求的多样化、个性化对企业提出了更高的要求。如何对市场环境的急剧变化和顾客需求的瞬息万变做出灵活、快捷的响应,及时地把握顾客的需求,有效地组织生产和提供令顾客满意的产品和服务成为企业生存与发展的基本前提。而普遍存在的自动化孤岛成为信息化发展的瓶颈问题。Portal为企业提供了一个单一的访问企业各种信息资源的入口,将企业的应用、人员、信息与流程有机地结合起来,为信息化工作的开展提供了可行的思路和解决方案。
    本文对Portal技术的概念和内涵、Portal的技术特点和体系结构进行了介绍,并比较了现有的Portal软件系统,给出了信息化工作中实施Portal技术的几点建议。

    Portal的概念和内涵

    Portal一词原来是“门户网站”的意思,如YAHOO!、AltaVista、SINA这样的网站。而对于企业信息化而言,它扮演的角色则有所不同。对企业来说,建立Portal的意义在于可以使员工共享各种系统和信息资源,并对其进行统一的管理。对员工来说,通过Portal可以了解和掌握有关企业的各种信息、参加讨论、协同工作等。Portal自动将分散于企业各处的信息资源整理并发送给员工,真正实现信息找人的目的。
    Portal现在已经成为企业最关注的领域之一,是实现企业整合的第一步。其重要价值在于它是企业现有投资与新投资的集成节点,使用户能够与人、内容、应用和流程进行个性化的、安全的、单点式的互动交流。
    Portal技术强调以用户为中心,重视工作流及整体工作效能。通过与应用无关的图形化界面映射以知识为中心的工作流,提供单点集成界面,实现信息的集中化访问。Portal将“自动化孤岛”(IslandofAutomation)和“信息化孤岛”(IslandofInformation)联接起来,创建一个提供支持信息访问、传递,以及跨组织工作的集成化商务环境。
    现有Portal技术可概括为以下四种:
    ●企业信息门户(EIP,EnterpriseInformationPortal)
    依据主题将大量的内容进行组织,并利用这些信息将用户连接起来。
    ●协作门户(CP,CollaborativePortal)
    为用户团队提供协同工具,建立虚拟项目工作区并辅助团队协同工作。
    ●专业门户(EP,ExpertisePortals)
    将用户依其能力、专业知识及对信息的需求进行连接。
    ●知识门户(KP,KnowledgePortals)
    具备上述三种Portal的功能,并继而完成知识管理、内容管理、商务智能等更多工作。
    通常所说的Portal,基本都是EIP的概念。EIP最初是由美林公司(MerrillLynch)的ChristopherC.Shilakes和JulieTylman于1998年11月16日提出的[1]。他们在发表的研究报告中把企业信息化门户定义为在企业内部和企业间管理、分析及发布信息的软件系统(如商务智能(BI,BusinessIntelligence)、内容管理(CM,ContentManagement)、数据仓库(DataWarehouse&Mart)及数据管理(DM,DataManagement)等)的融合体,Portal使得企业能够充分利用内、外部的信息,为用户提供一个面向商务决策的定制信息获取入口。

    Portal的技术特点

    在产品生命周期的不同阶段,信息化工作有其不同的侧重点和表现形式。在新产品开发的市场调查阶段,信息化主要是指运用现代化通讯手段将不同行业、不同需求的用户提出的有关产品性能、造型、价格、数量等要求进行调查、统计和归纳,为新产品的改进提供方向引导和市场依据。在产品的概念设计阶段,信息化则主要表现为对各种分布式公共知识和专业化知识资源的综合利用和共享。从产品设计(从零部件到整机)到产品制造阶段,信息化主要体现为CAD/CAM、CIMS等技术内容。进入销售以及售后服务阶段,信息化伴随着商品流通,又重新进入复杂的市场运作阶段,其表现特征又和第一阶段相仿了。
    因此我们可以说,企业信息化的主要内容涵盖了产品的信息化、产品设计制造的信息化、生产组织信息化和管理与决策信息化等多个方面。针对不同的信息化工作,企业门户的建立也各有差异。企业信息化工作从最初的办公自动化(OA)、企业局域网(LAN)、企业广域网(WAN)、管理信息系统(MIS)、企业内部网和Web网站的建设阶段一路发展至今,开始进入电子商务(Ebusiness)时代。信息门户集中了IT领域的诸多概念,如商务智能(BI,businessintelligence)和文档管理(DM,documentmanagement)等,是信息化工作的融合和发展。
    企业信息门户的15个最突出的特点是[2]:
    1。适应普通用户。提供类似Web浏览器这样直观的工具来满足普通用户快速、简便地访问信息的要求。
    2。提供直观的分类及搜索工具。
    3。用户可使用发布/订阅(publish/subscribe)机制。可以定义agent来完成对特定主题的跟踪搜索。
    4。保证信息资源的全面连通。确保与关系数据库、文档管理系统、电子邮件系统、Web服务器、文件系统和服务器等异构系统的全面连接。
    5。提供信息资源的动态访问。能够对由不同的商务智能工具和文档管理工具创建的报表进行动态访问。
    6。建立智能路由。通过明确定义的工作流向用户发送文档。
    7。集成商务智能工具包,提供全面的查询、报表和分析功能。
    8。采用基于服务器的体系架构,以满足大量用户的并发请求。
    9。建立分布式、多线程服务机制,实现服务负载的动平衡。
    10。建立灵活的许可权审批机制。
    11。附加外部接口方便信息访问。
    12。提供编程接口以供客户定制。
    13。建立因特网安全机制,实现网络安全级别管理、签名与认证管理和进程管理等安全服务机制。
    14。提供经济型配置,方便企业门户系统的安装、配置与维护。
    15。提供客户化和定制功能。

    Portal的功能及体系结构

    Portal为企业信息化工作的开展提供了一致和统一的基础架构。实现统一的系统管理、端对端的安全架构、内容管理及服务的个性化和集成服务。Portal的功能及体系结构如图1所示。
   
    图1.Portal功能及体系结构
    Portal应能提供身份验证、工作管理与监控、信息集成、安全管理、文档管理等功能。考虑到Portal的应用环境,可以把Portal的体系结构分成建立在企业信息化基础设施之上的核心服务层、运行服务层和界面服务层等三层。
    Portal核心服务包括:单机登陆、目录集成、安全、访问权限控制、加密传输、授权与验证、许可权、管理功能等。
    Portal运行服务包括:协同功能(团队知识探索、同步/异步个人信息管理、集中存储、远程教学)和交易功能(交易管理、工作流)等。
    Portal界面服务包括:分类功能(组织分类、索引、自动分类、总结、内容聚合、内容提取、反馈、元数据管理)、搜索功能(联邦式搜索、基于概念的搜索、内容挖掘、全文搜索、与结构化数据、非结构化数据、商务智能及外部内容的连接)和定制功能(个人喜好、基于“推——拉”的信息定制、事件通知、过滤器、个人档案、工作视图可视化定制、行为分析、主动帮助、建议学习)等。

    Portal软件产品及实施方案建议

    Portal软件具有很的的市场潜力,21世纪初Portal市场的年收入将达到150亿美元左右。很多软件供应商都对此加以关注。Owendo咨询公司提交了一份有关EIP市场情况的研究报告[3]。该报告基于企业门户是一个能够在一个用户工作界面下集成尽可能多的功能模块的基于WEB的系统这一事实,将软件提供商按照出身和市场定位以及Portal软件功能两方面进行了分类。
    软件厂商的背景不同,进入Portal市场的定位也有所区别。按照企业背景将Portal软件提供商分为以下7类:纯粹的门户供应商(如Epicentric,PlumtreeandViador等)、基础软件供应商(如IBM,ORACLE,BEA,SYBASE以及MICROSOFT,MICROSOFT等)、搜索/分类方案供应商(如autonomy,arisem和Verity等)、内容管理供应商(如Documentum,Interwoven,iManage,InStranet和OpenText等)、CRM和ERP软件的供应商(如BroadVision,Vignette,SAP和PeopleSoft等)、EAI方案供应商(如Tibco、WebMethods和方正等)和商务智能供应商(如Connos,BusinessObjects以及Brio等)。
    Portal软件必须能够集成应用系统和信息源,能够实现文档的检索与查找,能够支持协同工作,并提供可定制的操作界面。软件厂商都试图提供一整套Portal工具,但由于出发点可基础不同,提供的软件功能也各有侧重。按Portal软件提供的功能可以将Portal软件系统分为如下4类:包含特定领域所有产品的面向业务的Portal软件(如BusinessObjectsInfoView、BrioPortal7.0,以及PeopleSoft、SAP、BroadVision、Vignette和方正的Portal软件产品等)、包含协同、知识管理和分类应用的协同Portal软件(如Documentum、OpenText、Lotus、Microsoft、Arisem、Autonomy、Hummingbird和Verity的Portal软件产品等)、面向大部分需求的通用Portal软件(如IBM、BEA、Oracle、Sybase、Bowstreet和SilverStream的Portal软件系统等)和旨在通过提供各种模块以及应用集成和内容聚集功能来实现信息最大化的Portal软件(如Epicentric、Viador、Plumtree、ATG、Mediapps、Tibco和Yahoo!等)。
    那么如何选择信息化实施过程中适合的Portal软件呢?功能的考虑是最主要的。建议从以下几个方面进行考虑:
    是否提供信息和软件系统的集中式访问
    是否能够实现ERP、CRM等系统的中央集成
    是否提供协同与知识共享工具
    是否能够实现业务流程的定制和管理
    是否提供可靠的安全机制
    是否能够进行快速的部署
    最后,随着IT技术的发展,信息化工作的开展要考虑与新的软件体系结构是否相容。系统对标准化的支持是非常关键的,如是否支持WebServices等等。不仅是Portal技术的实施,在其他工作上也应对此充分注意。

Portal技术原理

JSR168将Portal 的组成分为三部份 (1) Portal Server (2) Portlet Container (3) Portlet。

Portal Server的定义
建立在HTTP Server上。负责接收HTTP请求,调用Portlet,并将Portlet产生的内容聚集到Portal页面返回给用户。(Portal Server有时简称Portal)

Portlet Container 的定义
Portal Container:管理Portlet的生命周期并且提供其运行所需要的必要环境。同时也提供Portlet相关信息的存储。一个Portlet container 接收到来自Portal 的请求后,接着将这个请求传递给存在Container 的Portlet 执行。Portlet Container 没有义务去组合Portlets 产生的信息內容,这个工作必须由Portal (即Portal Server)来处理。Portal 和Portlet Container 可以放在一起视为同一个系统的组件,或者分开成为两个独立的组件。

Portlet的定义
一个 Portlet 是以 Java 技术为技术的 Web 组件,由 Portlet Container 所管理,专门处理客户的 request 以及产生各种动态的信息内容。Portlets 为可插式 ( pluggable ) 的客户界面组件,提供呈现层成为一个信息系统。
这些由 portlet 产生的内容也被称为片段 (fragment),而片段是具有一些规则的Markup( HTML、XHTML、WML ),而且可以和其他的片段组合而成一个复杂的文件。而 Portlet 中的内容正常来说是与其他 Portlet 的内容聚合而成为一个 Portal 网页。而 Portlet 的生命周期是被 Portlet Container 所管理控制的。

客户端和 portlets 的互动是由 portal 通过典型的 request/response 方式实现,正常来说,客户会和 portlets 所产生的内容互动,举例来说,根据下一步的连接或者是确认送出的表单,结果 portal 将会接收到 portlet 的动作,将这个处理状况转向到目标 portlet。这些 portlet 内容的产生可能会因为不同的使用者而有不同的变化,完全是根据客户对于这个 portlet 的设置。

Portlet生命周期
Portlet接口的四个方法构成一个完整的生命周期:
public void init(PortletConfig config) throws PortletException;
     由Portlet容器调用,在将Portlet放入服务区前调用。Portlet容器在初始Portlet后,直接调用这个方法。
public void processAction (ActionRequest request, ActionResponse response) throws PortletException, java.io.IOException;
     由Portlet容器调用,用来处理action request。
public void render (RenderRequest request, RenderResponse response) throwsPortletException, java.io.IOException;
     由Portlet容器调用,用来生成输出。
public void destroy() ;
     将Portlet从服务区中删除。

一个Portal处理流程

1.  一个客户端(例如:一个web浏览器)在被验证之后向Portal发出HTTP请求;

2.  Portal(或称为Portal Server)接收到请求;

3.  Portal判断请求是否包含与组成门户网站网页的portlet有关的动作;

4.  如果存在与某个portlet相关的动作,Portal请求portlet容器调用portlet处理动作;

5.  Portal通过portlet容器调用portlet,获得被包含在产生的门户网站网页中的内容片段;

6.  Portal将portlet产生的结果聚集于门户网站的网页,然后将网页返回至客户端。

在下图中需要注意的是Portal服务器是建立在Http服务器的基础上的。Portal服务器不可独立的运行。


Portal技术分析

· Portlet
JSR-168 Portlet Specifications对Portlet的定义如下:
Portlet是基于web的Java组件。它由portlet容器管理,能够处理请求,产生动态内容。portlet被Portal用作为可插拔的用户接口组件,为信息系统提供展现。
由portlet动态产生的内容也被叫做fragment。fragment是遵循某种规则的标记(例如:HTML,XHTML,WML),可与其他的fragment一起建立一个完整的文档。一般一个portlet产生的内容和其他的portlet产生的内容聚集在一起形成Portal网页。

· Portlet 容器
portlet在portlet容器中运行,portlet容器为portlet提供必需的运行环境。portlet容器包含portlet(组件)并且管理它们的生命周期,它也为portlet的参数设置提供持久化的存储。
portlet 容器不是一个类似于 servlet 容器的独立容器。它是在 servlet 容器上通过扩展方式实现的,并重用 servlet容器提供的功能。

· 工作原理
Portal技术的原理如下图所示。
在图中,portlet的生命周期由portlet容器管理。web端通过由Portal执行的请求/应答机制与portlet进行交互。通常,用户与由portlet产生的内容进行交互,比如通过单击按钮或链接,Portal接收到portlet窗口的动作,随后将portlet产生的内容送至用户操作的portlet窗口。 对不同的用户,一个portlet产生的内容可能会大不一样,这与用户对portlet的设置有关。
portlet容器接收来自Portal的请求并运行它管理的portlet执行请求。portlet容器并不负责聚集portlet产生的内容,处理内容聚集是Portal的职责。Portal和Portlet容器能够被作为单一的应用组件组合在一起,也可以作为一个Portal应用的2个分离的组件。
Portal服务器是建立在Http服务器的基础上的。

 

下面是一个典型的事件序列。
1.一个客户端(例如:一个web浏览器)在被验证之后向Portal发出HTTP请求;
2.Portal接收到请求;
3.Portal判断请求是否包含与组成门户网站网页的portlet有关的动作;
4.如果存在与某个portlet相关的动作,Portal请求portlet容器调用portlet处理动作;
5.Portal通过portlet容器调用portlet,获得被包含在产生的门户网站网页中的内容片段;
6.Portal将portlet产生的结果聚集于门户网站的网页,然后将网页返回至客户端。

Portal 软件产品及实施方案建议

  Portal软件具有很的的市场潜力,21世纪初Portal市场的年收入将达到150亿美元左右。很多软件供应商都对此加以关注。Owendo咨询公司提交了一份有关EIP市场情况的研究报告。该报告基于企业门户是一个能够在一个用户工作界面下集成尽可能多的功能模块的基于WEB的系统这一事实,将软件提供商按照出身和市场定位以及Portal软件功能两方面进行了分类。
  软件厂商的背景不同,进入Portal市场的定位也有所区别。按照企业背景将Portal软件提供商分为以下7类:纯粹的门户供应商(如Epicentric,PlumtreeandViador等)、基础软件供应商(如IBM,ORACLE,BEA,SYBASE以及MICROSOFT等)、搜索/分类方案供应商(如autonomy,arisem和Verity等)、内容管理供应商(如Documentum,Interwoven,iManage,InStranet和OpenText等)、CRM和ERP软件的供应商(如BroadVision,Vignette,SAP和PeopleSoft等)、EAI方案供应商(如Tibco、WebMethods和方正等)和商务智能供应商(如Connos,BusinessObjects以及Brio等)。
  Portal软件必须能够集成应用系统和信息源,能够实现文档的检索与查找,能够支持协同工作,并提供可定制的操作界面。软件厂商都试图提供一整套Portal工具,但由于出发点可基础不同,提供的软件功能也各有侧重。按Portal软件提供的功能可以将Portal软件系统分为如下4类:包含特定领域所有产品的面向业务的Portal软件(如BusinessObjectsInfoView、BrioPortal7.0,以及PeopleSoft、SAP、BroadVision、Vignette和方正的Portal软件产品等)、包含协同、知识管理和分类应用的协同Portal软件(如Documentum、OpenText、Lotus、Microsoft、Arisem、Autonomy、Hummingbird和Verity的Portal软件产品等)、面向大部分需求的通用Portal软件(如IBM、BEA、Oracle、Sybase、Bowstreet和SilverStream的Portal软件系统等)和旨在通过提供各种模块以及应用集成和内容聚集功能来实现信息最大化的Portal软件(如Epicentric、Viador、Plumtree、ATG、Mediapps、Tibco和Yahoo!等)。
那么如何选择信息化实施过程中适合的Portal软件呢?功能的考虑是最主要的。建议从  以下几个方面进行考虑:
是否提供信息和软件系统的集中式访问
是否能够实现ERP、CRM等系统的中央集成
是否提供协同与知识共享工具
是否能够实现业务流程的定制和管理
是否提供可靠的安全机制
是否能够进行快速的部署
  最后,随着IT技术的发展,信息化工作的开展要考虑与新的软件体系结构是否相容。系统对标准化的支持是非常关键的,如是否支持WebServices等等。不仅是Portal技术的实施,在其他工作上也应对此充分注意。

Portal 的技术特点

  针对不同的信息化工作,企业门户的建立也各有差异。企业信息化工作从最初的办公自动化(OA)、企业局域网(LAN)、企业广域网(WAN)、管理信息系统(MIS)、企业内部网和Web网站的建设阶段一路发展至今,开始进入电子商务(Ebusiness)时代。信息门户集中了IT领域的诸多概念,如商务智能(BI,businessintelligence)和文档管理(DM,documentmanagement)等,是信息化工作的融合和发展。
  企业信息门户的15个最突出的特点是:
1、适应普通用户。提供类似Web浏览器这样直观的工具来满足普通用户快速、简便地访问信息的要求。
2、提供直观的分类及搜索工具。
3、用户可使用发布/订阅(publish/subscribe)机制。可以定义agent来完成对特定主题的跟踪搜索。
4、保证信息资源的全面连通。确保与关系数据库、文档管理系统、电子邮件系统、Web服务器、文件系统和服务器等异构系统的全面连接。
5、提供信息资源的动态访问。能够对由不同的商务智能工具和文档管理工具创建的报表进行动态访问。
6、建立智能路由。通过明确定义的工作流向用户发送文档。
7、集成商务智能工具包,提供全面的查询、报表和分析功能。
8、采用基于服务器的体系架构,以满足大量用户的并发请求。
9、建立分布式、多线程服务机制,实现服务负载的动平衡。
10、建立灵活的许可权审批机制。
11、附加外部接口方便信息访问。
12、提供编程接口以供客户定制。
13、建立因特网安全机制,实现网络安全级别管理、签名与认证管理和进程管理等安全服务机制。
14、提供经济型配置,方便企业门户系统的安装、配置与维护。
15、提供客户化和定制功能。

Portal 的功能及体系结构

  Portal为企业信息化工作的开展提供了一致和统一的基础架构。实现统一的系统管理、端对端的安全架构、内容管理及服务的个性化和集成服务。

  Portal应能提供身份验证、工作管理与监控、信息集成、安全管理、文档管理等功能。考虑到Portal的应用环境,可以把Portal的体系结构分成建立在企业信息化基础设施之上的核心服务层、运行服务层和界面服务层等三层。
Portal核心服务包括:单机登陆、目录集成、安全、访问权限控制、加密传输、授权与验证、许可权、管理功能等。
  Portal运行服务包括:协同功能(团队知识探索、同步/异步个人信息管理、集中存储、远程教学)和交易功能(交易管理、工作流)等。
Portal界面服务包括:分类功能(组织分类、索引、自动分类、总结、内容聚合、内容提取、反馈、元数据管理)、搜索功能(联邦式搜索、基于概念的搜索、内容挖掘、全文搜索、与结构化数据、非结构化数据、商务智能及外部内容的连接)和定制功能(个人喜好、基于“推——拉”的信息定制、事件通知、过滤器、个人档案、工作视图可视化定制、行为分析、主动帮助、建议学习)等。

Portal 的概念和内涵

  Portal一词原来是“门户网站”的意思,如YAHOO!、AltaVista、SINA这样的网站。而对于企业信息化而言,它扮演的角色则有所不同。对企业来说,建立Portal的意义在于可以使员工共享各种系统和信息资源,并对其进行统一的管理。对员工来说,通过Portal可以了解和掌握有关企业的各种信息、参加讨论、协同工作等。Portal自动将分散于企业各处的信息资源整理并发送给员工,真正实现信息找人的目的。
  Portal现在已经成为企业最关注的领域之一,是实现企业整合的第一步。其重要价值在于它是企业现有投资与新投资的集成节点,使用户能够与人、内容、应用和流程进行个性化的、安全的、单点式的互动交流。
  Portal技术强调以用户为中心,重视工作流及整体工作效能。通过与应用无关的图形化界面映射以知识为中心的工作流,提供单点集成界面,实现信息的集中化访问。Portal将“自动化孤岛”(IslandofAutomation)和“信息化孤岛”(IslandofInformation)联接起来,创建一个提供支持信息访问、传递,以及跨组织工作的集成化商务环境。

现有Portal技术可概括为以下四种:
●企业信息门户(EIP,EnterpriseInformationPortal)

依据主题将大量的内容进行组织,并利用这些信息将用户连接起来。
●协作门户(CP,CollaborativePortal)

为用户团队提供协同工具,建立虚拟项目工作区并辅助团队协同工作。
●专业门户(EP,ExpertisePortals)

将用户依其能力、专业知识及对信息的需求进行连接。
●知识门户(KP,KnowledgePortals)

  具备上述三种Portal的功能,并继而完成知识管理、内容管理、商务智能等更多工作。
  通常所说的Portal,基本都是EIP的概念。EIP最初是由美林公司(MerrillLynch)的C.Shilakes和JulieTylman于1998年11月16日提出的。他们在发表的研究报告中把企业信息化门户定义为在企业内部和企业间管理、分析及发布信息的软件系统(如商务智能(BI,BusinessIntelligence)、内容管理(CM,ContentManagement)、数据仓库(DataWarehouse&Mart)及数据管理(DM,DataManagement)等)的融合体,Portal使得企业能够充分利用内、外部的信息,为用户提供一个面向商务决策的定制信息获取入口。

Oracle Portal网站开发

摘要: Portal是IT领域的新技术,是企业信息化工作的发展方向之一。本文首先介绍了Oracle Portal的定义、特点,接着阐述了portal的体系结构。随后本文介绍了Oracle9iAS Portal的功能特点及基于它的企业门户网站的开发。最后本文简要探讨了基于portal的门户网站开发的问题。
  
  引言
  
  Oracle Portal为企业提供了一个单一的访问企业各种信息资源的入口,利用它,企业可以为员工、供应商、零售商、合作伙伴等提供个性化的信息服务,使他们能通过单一的入口,迅速找到所需的信息。Portal具有众多的核心功能特性,将企业的应用、人员、信息与流程有机地结合起来,为信息化工作的开展提供了可行的思路和解决方案。
  
  Oracle Portal概述
  
  1、Oracle Portal是什么
  
  Portal一词是从Internet所衍生出来的,最初的“门户”一词主要是指信息门户,诸如雅虎、新浪等网站都是一种信息门户。随后,门户的应用领域又得到扩展,出现了企业信息门户(Enterprise Information Portal,EIP)。Oracle Portal是一个建立企业信息门户的集成环境。通过Oracle Portal,企业员工可以很方便地将自己所需要的,来源于各种渠道的信息集成在一个统一的视图之内。例如,在传统企业信息系统环境下,一个财务部门可能要接触这样一些信息源:企业财务软件,企业内部网站的政策、新闻、公告,各种图表、报表,互联网上的财经新闻,股票行情等等;通过Oracle Portal提供的“自助式”的服务,财务部门可以为自己部门量身定制一套财务人员的信息门户,将上述信息有效地组织在Web应用程序之中,并根据不同级别人员的职能设定相应的访问权限。在以前,这可能需要向IT部门提交详细的需求分析,并等待好几个月才能投入使用;通过Oracle Portal提供的快速、易用的开发工具和内建功能模块,非IT人员也可以根据自己的实际业务需求,创建这样的集成化Web应用了。
  
  2、Oracle Portal的体系结构
  
  1) Oracle Portal节点
  
  每台安装Oracle Portal示例的服务器称为一个Oracle Portal节点。每个OraclePortal节点包含有超过200个表及视图,以及超过1000个PL/SQL包。Oracle Portal节点之间可以相互注册,形成一个联合Portal结构。节点的注册和管理可以很容易地由企业的中心Portal管理。Portal容器是存储Oracle Portal对象的地方。它保存着Provider注册表,页面的样式定义,用户对Portlet的定制,访问权限,内容区域及页面的定义,数据驱动的组件等等。数据库Provider管理基于数据库的PL/SQL或Java存储过程形式的Portlet,它存储在Portal节点之外。Portal框架通过数据库Provider调用这些Portlet,并将返回的HTML/XML形式的结果显示在页面的某个区域中。与数据库Provider不同的是,Web Provider面向的是来自Web的数据,它们通常是通过HTTP协议而不是数据库存储过程来调用的,并且返回的结果已经是格式化的HTML/XML内容。
  
  2) Oracle Logon/SSO Server
  
  SSO是Single Sign-On的缩写,即单一登录模式。SSO服务器集中管理用户的身份验证和权限管理,这使得其它应用程序可以将这些任务交给SSO服务器统一完成,也使得用户只需要在SSO服务器上登陆一次就可以使用所有相关联的应用程序,而无需记忆多个帐户密码。
  
  3)Oralcle 9i Application Server
  
  Oracle 9iAS是Oracle Portal的中间层应用程序服务器。在Oracle9iAS中,Oracle HTTP Server提供主要的HTTP服务,Oracle Jserv提供JSP和servlet服务,modPL/SQL以Apache模块的模式提供从Web访问Oracle数据库的服务。
  
  4)Oracle Portal Cache
  
  Oracle Portal Cache使用基于文件系统的存储系统,为页面定义和portlet生成的内容提供缓存,使用缓存系统,Oracle Portal无需每次生成页面的时候都访问对象存储系统或调用所有portlet,这样大大提高了页面的响应时间。
  
  Oracle9iAS Portal概述
  
  1、Oracle9ias Portal的功能
  
  Oracle9iAS Portal是1999年初作为Oracle WebDB一部分引入的技术的下一代。Oracle9iAS Portal是Oracle9i的关键组件,作为一项服务集成到Oracle9i应用服务器中。有了Oracle9iAS Portal,企业就拥有了一种强有力的手段,可以向员工、合作伙伴和供应商提供一致、高效的访问途径,使他们能够访问更有效地完成日常业务任务所需的企业信息和工具。Oracle9iAS Portal通过提供如下功能实现了上述目标。
  
  1) 单点交互功能
  
  Oracle9iAS Portal的可扩展的门户框架提供了集成能力和对企业信息的标准访问途径,同时,灵活的工作环境使各机构、部门和个人用户能够对他们的门户风格进行个性化定制。Oracle9iAS Portal作为单一交互点,通过把信息集中在一起来解决这些问题:把用户与他们的信息源更好地连接在一起,同时提供了适应不同个人开展工作与处理信息的方式所需的灵活性。Oracle9iAS Portal作为真正企业级的电子商务门户,用称为portlet的可重复使用的信息组件,在彼此互不相连的动态数据、文档和Web站点的世界中架起了沟通的桥梁。
  
  2) 集成的成套门户服务
  
  Oracle9iAS Portal的自助式门户服务使用户和开发人员能够组织与发布信息并创建应用。除了能访问企业数据并对其进行个性化处理外,Oracle9iAS Portal还并入了若干自助式功能,允许门户用户和管理员直接地管理他们的信息。这些服务能够让最终用户控制并负责他们的信息,也向IT专业人员提供了更好地满足最终用户的需求工具。Oracle9iAS Portal还为文档发布、文件上传、页面格式化以及访问控制提供了一套集成功能,可以让用户共享和管理信息。除了文件类型内容外,来自Oracle数据库的信息也能够很容易地集成到Oracle9iAS Portal之中。Oracle9iAS Portal包含有一个数据驱动的组件库,可以用于与Oracle数据库地交互,并把信息无缝地嵌入门户页面内的portlet之中。这些组件包括Javascript增强型地数据输入表单、以HTML、纯文本或MS Excel格式输出的分栏报告、可定制HTML条形图以及其他几个用于发布Oracle数据库中数据的组件。
  
  3)完整的部署和管理环境
  
  Oracle9iAS Portal借助简单性而赋予用户力量,因为它基于互联网的开放标准。它不要求用户安装和学习大型复杂的程序,不让用户接触这些不必要的复杂性,而是通过管理基础性的Oracle8i数据库中的内容,而对Oracle9iAS Portal进行集中维护。Oracle9iAS Portal的成熟的三层体系结构支持多种多样的配置,并可扩展以满足复杂的要求。Oracle9iAS具备灵活的部署模式,支持在类型广泛的硬件和操作系统上的多种配置形式,从而产生了高度可伸缩的性能。Oracle9iAS Portal支持向全球社会部署。包含在Oracle9iAS Portal的向导、对话框、消息和帮助内容中的文本已经翻译成20多种语言,以满足不同用户的需求。
  
  2、基于Oracle9iAS的门户网站的开发
  
  为满足一般企业的业务需求和技术需求,可以构建它的集成信息咨询门户。该解决方案分为4层结构:客户层、中间层、基础架构层,数据层。
  
  1)客户层:我们采用浏览器作为客户端的显示工具,使最终用户无需安装任何客户端工具,即可在任何时间任何地点在任何系统平台上访企业的门户平台。
  
  2)中间层:中间层是标准的基于Apache的Oracle9iAS安装;Oracle Portal直接操纵mod_PL/SQL和mod_OC4J,中间层包括三个部分,Oracle门户,网络提供者(Web Provider)和商务智能。Oracle门户包括HTTP服务器,用以处理Oracle前端的页面请求并负责应答;并行页面引擎,是一个servlet引擎,与Web和数据库提供者通讯生成相应的portlet内容并负责页面装配,也与缓存页面定义和portlet内容的“本地”文件系统交互;可配置多个线程来实现与提供者之间的并行通讯;mod_PL/SQL用于处理PL/SQL的应用模块。 Web-Cache在HTTP服务器上的应用能提高整个Oracle Portal的效率。运用9iAS强大的商务智能分析数据,可提供根据客户需求所定制的报表。Web内容提供者可工作在各种Web环境,通过HTTP通讯并返回HTML/XML格式的结果;通过SOAP XML进行数据交换;适用于现有的和远程的Web服务,并支持订阅模式。
  
  3)基础构架层:提供单一登陆服务,对整个系统进行单一的安全管理;提供访问后台数据库的统一连接;还包括Oracle的集成和工作流服务,用以连接各种异构平台和系统。
  
  4)数据层:包括所有为Portal提供数据的客户服务器,内部网站系统和外部网站。
  
  4、门户网站开发存在的问题
  
  以Oracle9iAS 为基础,为企业提供快速建立企业入口网站的方案,让企业无需购买、安装软件,无需担心额外增加MIS人员等负担,只要嵌入Oracle网站,即可享受Oracle提供的基础构架,并在网站上勾选所需的功能以组建自己的网站。Web界面容易上手的特性,使得Intranet成为企业沟通、管理的重要工具。这也使得企业门户网站的建设逐渐变成一种必然。然而纵观国内多数企业开设的入口网站,目前仍处于低级阶段,尚未发挥应有的功效,而软件商提出的各种解决方案又令人目不暇接,难以抉择。总的来说,企业门户网站建设存在以下几个问题:1)企业的门户网站有建成大杂烩的趋势;2)企业的文化障碍凌驾于技术之上,阻止了企业门户网站的继续开发和投入使用;3)门户网站内容的完成仅仅是个开始,还有很多其它技术任务有待完成。如何解决上述三个问题无疑是当今企业门户网站建设成功与否的关键。
  
  结束语
  
  Oracle9iAS可以用来快速部署和开发个性化门户网站,而它包括的Oracle9iAS Portal具有易用的Web界面,使用户能够有条理的对商业信息、网页内容和应用进行个性化的浏览。使用Oracle的门户解决方案,简单实现门户单点信息访问,将使您的企业门户网站成为一种全新的电子商务桌面,去迎接更为激烈的挑战!

几种Portal技术的比较与评述

作者: ∣来源:中国Java技术网原文地址2005-10-28
BEA WebLogic Workshop让开发人员为整个BEA企业平台建立应用程序,并重用WebLogic Portal 8.1商业逻辑。Sun Java System Portal Server拥有最强的技术基础和标准支持,包括安全性和移动应用,但是它的建立和维护需要Java技能。 Microsoft SharePoint Portal Server 2003可以快速建立门户,与Office 2003配合使用时用户体验最好,但是它的标准支持不如其他门户那么健全。 OracleAS Portal 10g从一个简单数据库应用程序发展成为成熟的门户,具有良好的管理功能和强大的权限,可把内容定位给不同的受众。 Vignette刚刚发布的Application Portal 7.0拥有经过验证的J2EE架构,可让用户收回在应用服务器上的投资,它的易于管理性和应用程序包使用户能够快速实施门户。 两个以前测试过的门户也恰到好处地层叠在一起。IBM最近给WebSphere Portal注入了更多平台支持、改进了内容管理并增加了运行JSR 168小门户的能力。尽管这次没有重新正式测试,但我们感觉这些变化让WebSphere Portal 5接近了其他顶级门户产品。 Plumtree是传统上的纯门户领先厂商,现在仍然保持着总体第一的位置。尽管Plumtree产品按照每个用户算是最昂贵的产品之一,但是在大多数测试中都获得了顶级评价:易于与其他应用集成,这意味着IT成本降低,同时它也是实际投资回报最高的产品。 如果初看之下没有找到完美的门户解决方案也不要失望,情况常常是这样。对以上几个产品的评价接近表明,在门户应用方面还没有绝对的领导者。实际上,一些最成功的门户是组合使用了几家厂商的技术,从而获得了真正的定制化。各个门户在表面的不同之下,也有相似之处,一旦了解了这些相似点,门户就能成为让复杂的技术基础设施发挥更大作用的最好方法之一。

Oracle Portal 及其门户网站开发概述

摘要: Portal是IT领域的新技术,是企业信息化工作的发展方向之一。本文首先介绍了Oracle Portal的定义、特点,接着阐述了portal的体系结构。随后本文介绍了Oracle9iAS Portal的功能特点及基于它的企业门户网站的开发。最后本文简要探讨了基于portal的门户网站开发的问题。

关键词: oracle portal,门户,网站,信息入口,企业入口

引言

  Oracle Portal为企业提供了一个单一的访问企业各种信息资源的入口,利用它,企业可以为员工、供应商、零售商、合作伙伴等提供个性化的信息服务,使他们能通过单一的入口,迅速找到所需的信息。Portal具有众多的核心功能特性,将企业的应用、人员、信息与流程有机地结合起来,为信息化工作的开展提供了可行的思路和解决方案。

Oracle Portal概述

1、Oracle Portal是什么

  Portal一词是从Internet所衍生出来的,最初的“门户”一词主要是指信息门户,诸如雅虎、新浪等网站都是一种信息门户。随后,门户的应用领域又得到扩展,出现了企业信息门户(Enterprise Information Portal,EIP)。Oracle Portal是一个建立企业信息门户的集成环境。通过Oracle Portal,企业员工可以很方便地将自己所需要的,来源于各种渠道的信息集成在一个统一的视图之内。例如,在传统企业信息系统环境下,一个财务部门可能要接触这样一些信息源:企业财务软件,企业内部网站的政策、新闻、公告,各种图表、报表,互联网上的财经新闻,股票行情等等;通过Oracle Portal提供的“自助式”的服务,财务部门可以为自己部门量身定制一套财务人员的信息门户,将上述信息有效地组织在Web应用程序之中,并根据不同级别人员的职能设定相应的访问权限。在以前,这可能需要向IT部门提交详细的需求分析,并等待好几个月才能投入使用;通过Oracle Portal提供的快速、易用的开发工具和内建功能模块,非IT人员也可以根据自己的实际业务需求,创建这样的集成化Web应用了。

2、Oracle Portal的体系结构

1) Oracle Portal节点

  每台安装Oracle Portal示例的服务器称为一个Oracle Portal节点。每个OraclePortal节点包含有超过200个表及视图,以及超过1000个PL/SQL包。Oracle Portal节点之间可以相互注册,形成一个联合Portal结构。节点的注册和管理可以很容易地由企业的中心Portal管理。Portal容器是存储Oracle Portal对象的地方。它保存着Provider注册表,页面的样式定义,用户对Portlet的定制,访问权限,内容区域及页面的定义,数据驱动的组件等等。数据库Provider管理基于数据库的PL/SQL或Java存储过程形式的Portlet,它存储在Portal节点之外。Portal框架通过数据库Provider调用这些Portlet,并将返回的HTML/XML形式的结果显示在页面的某个区域中。与数据库Provider不同的是,Web Provider面向的是来自Web的数据,它们通常是通过HTTP协议而不是数据库存储过程来调用的,并且返回的结果已经是格式化的HTML/XML内容。

2) Oracle Logon/SSO Server

  SSO是Single Sign-On的缩写,即单一登录模式。SSO服务器集中管理用户的身份验证和权限管理,这使得其它应用程序可以将这些任务交给SSO服务器统一完成,也使得用户只需要在SSO服务器上登陆一次就可以使用所有相关联的应用程序,而无需记忆多个帐户密码。

3)Oralcle 9i Application Server

  Oracle 9iAS是Oracle Portal的中间层应用程序服务器。在Oracle9iAS中,Oracle HTTP Server提供主要的HTTP服务,Oracle Jserv提供JSP和servlet服务,modPL/SQL以Apache模块的模式提供从Web访问Oracle数据库的服务。

4)Oracle Portal Cache

  Oracle Portal Cache使用基于文件系统的存储系统,为页面定义和portlet生成的内容提供缓存,使用缓存系统,Oracle Portal无需每次生成页面的时候都访问对象存储系统或调用所有portlet,这样大大提高了页面的响应时间。

Oracle9iAS Portal概述

1、Oracle9ias Portal的功能

  Oracle9iAS Portal是1999年初作为Oracle WebDB一部分引入的技术的下一代。Oracle9iAS Portal是Oracle9i的关键组件,作为一项服务集成到Oracle9i应用服务器中。有了Oracle9iAS Portal,企业就拥有了一种强有力的手段,可以向员工、合作伙伴和供应商提供一致、高效的访问途径,使他们能够访问更有效地完成日常业务任务所需的企业信息和工具。Oracle9iAS Portal通过提供如下功能实现了上述目标。

1) 单点交互功能

  Oracle9iAS Portal的可扩展的门户框架提供了集成能力和对企业信息的标准访问途径,同时,灵活的工作环境使各机构、部门和个人用户能够对他们的门户风格进行个性化定制。Oracle9iAS Portal作为单一交互点,通过把信息集中在一起来解决这些问题:把用户与他们的信息源更好地连接在一起,同时提供了适应不同个人开展工作与处理信息的方式所需的灵活性。Oracle9iAS Portal作为真正企业级的电子商务门户,用称为portlet的可重复使用的信息组件,在彼此互不相连的动态数据、文档和Web站点的世界中架起了沟通的桥梁。

2) 集成的成套门户服务

  Oracle9iAS Portal的自助式门户服务使用户和开发人员能够组织与发布信息并创建应用。除了能访问企业数据并对其进行个性化处理外,Oracle9iAS Portal还并入了若干自助式功能,允许门户用户和管理员直接地管理他们的信息。这些服务能够让最终用户控制并负责他们的信息,也向IT专业人员提供了更好地满足最终用户的需求工具。Oracle9iAS Portal还为文档发布、文件上传、页面格式化以及访问控制提供了一套集成功能,可以让用户共享和管理信息。除了文件类型内容外,来自Oracle数据库的信息也能够很容易地集成到Oracle9iAS Portal之中。Oracle9iAS Portal包含有一个数据驱动的组件库,可以用于与Oracle数据库地交互,并把信息无缝地嵌入门户页面内的portlet之中。这些组件包括Javascript增强型地数据输入表单、以HTML、纯文本或MS Excel格式输出的分栏报告、可定制HTML条形图以及其他几个用于发布Oracle数据库中数据的组件。

3)完整的部署和管理环境

  Oracle9iAS Portal借助简单性而赋予用户力量,因为它基于互联网的开放标准。它不要求用户安装和学习大型复杂的程序,不让用户接触这些不必要的复杂性,而是通过管理基础性的Oracle8i数据库中的内容,而对Oracle9iAS Portal进行集中维护。Oracle9iAS Portal的成熟的三层体系结构支持多种多样的配置,并可扩展以满足复杂的要求。Oracle9iAS具备灵活的部署模式,支持在类型广泛的硬件和操作系统上的多种配置形式,从而产生了高度可伸缩的性能。Oracle9iAS Portal支持向全球社会部署。包含在Oracle9iAS Portal的向导、对话框、消息和帮助内容中的文本已经翻译成20多种语言,以满足不同用户的需求。

2、基于Oracle9iAS的门户网站的开发

  为满足一般企业的业务需求和技术需求,可以构建它的集成信息咨询门户。该解决方案分为4层结构:客户层、中间层、基础架构层,数据层。

1)客户层:我们采用浏览器作为客户端的显示工具,使最终用户无需安装任何客户端工具,即可在任何时间任何地点在任何系统平台上访企业的门户平台。

2)中间层:中间层是标准的基于Apache的Oracle9iAS安装;Oracle Portal直接操纵mod_PL/SQL和mod_OC4J,中间层包括三个部分,Oracle门户,网络提供者(Web Provider)和商务智能。Oracle门户包括HTTP服务器,用以处理Oracle前端的页面请求并负责应答;并行页面引擎,是一个servlet引擎,与Web和数据库提供者通讯生成相应的portlet内容并负责页面装配,也与缓存页面定义和portlet内容的“本地”文件系统交互;可配置多个线程来实现与提供者之间的并行通讯;mod_PL/SQL用于处理PL/SQL的应用模块。 Web-Cache在HTTP服务器上的应用能提高整个Oracle Portal的效率。运用9iAS强大的商务智能分析数据,可提供根据客户需求所定制的报表。Web内容提供者可工作在各种Web环境,通过HTTP通讯并返回HTML/XML格式的结果;通过SOAP XML进行数据交换;适用于现有的和远程的Web服务,并支持订阅模式。

3)基础构架层:提供单一登陆服务,对整个系统进行单一的安全管理;提供访问后台数据库的统一连接;还包括Oracle的集成和工作流服务,用以连接各种异构平台和系统。

4)数据层:包括所有为Portal提供数据的客户服务器,内部网站系统和外部网站。

4、门户网站开发存在的问题

  以Oracle9iAS 为基础,为企业提供快速建立企业入口网站的方案,让企业无需购买、安装软件,无需担心额外增加MIS人员等负担,只要嵌入Oracle网站,即可享受Oracle提供的基础构架,并在网站上勾选所需的功能以组建自己的网站。Web界面容易上手的特性,使得Intranet成为企业沟通、管理的重要工具。这也使得企业门户网站的建设逐渐变成一种必然。然而纵观国内多数企业开设的入口网站,目前仍处于低级阶段,尚未发挥应有的功效,而软件商提出的各种解决方案又令人目不暇接,难以抉择。总的来说,企业门户网站建设存在以下几个问题:1)企业的门户网站有建成大杂烩的趋势;2)企业的文化障碍凌驾于技术之上,阻止了企业门户网站的继续开发和投入使用;3)门户网站内容的完成仅仅是个开始,还有很多其它技术任务有待完成。如何解决上述三个问题无疑是当今企业门户网站建设成功与否的关键。

结束语

  Oracle9iAS可以用来快速部署和开发个性化门户网站,而它包括的Oracle9iAS Portal具有易用的Web界面,使用户能够有条理的对商业信息、网页内容和应用进行个性化的浏览。使用Oracle的门户解决方案,简单实现门户单点信息访问,将使您的企业门户网站成为一种全新的电子商务桌面,去迎接更为激烈的挑战!

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=298730

Portlet 技术发展的思考

Portal这个概念出现很长的时间了,然而Portal应用是直到最近这两三年才蓬勃发展起来,这跟原来缺乏相关的规范有一定的关系。目前关于Portal方面存在两个重要的标准,均是2003年下半年正式通过的,分别为:
1、Java Portlet Specification 1.0 (JSR168), 2003年10月27日
2、Web Services for Remote Portlets 1.0, 2003年9月3日

这两个规范发布之后,得到各个Portal产商的支持,特别是JSR168标准更是得到OpenSource界的大力支持。许多开源项目都声称支持JSR168标准,具体项目列表可以参考:Open Source Portal in Java

不过在对这些标准学习之后,我认识到除了实现一个支持标准的服务器之外,还有很多空间是值得我们去努力的。如果有人正在进行Portal方面的研究、实现,希望我的想法能够有所帮助。

Java Web Framework -> JSR168
我学习JSR168这个规范后,我就认识到开始一个JSR168 Portlet不会是一件愉快的事情。JSR168 Portlet十分类似于Servlet,现在还有谁愿意只是基于Servlet来开发Web应用呢?更进一步的问题是:开发人员需要直接编写JSR168 Portlet么?答案是不需要!

所谓Portlet本身来说就是一个Web应用,只是运行在Portal才被称为Portlet。业界已经有大量熟练的Java Web应用开发人员,让他们去重新学习一种新的Web应用模式、并且只能运行在在Portal中是不现实的,正确的方式应该是能够把普通的Java Web应用包装成JSR168 Portlet。这样开发人员依然按照原来的模式开发Web应用,只是在部署到Portal之前才包装成JSR168 Portlet。目前许多Java Web应用都是基于某些Web Framework(例如Struts)来实现,因此可以考虑基于这些Web Framework的包装方法。

对于这个包装器,我目前想到需要注意的地方有:
1、URL转换。Web应用中使用普通的URL,然而访问一个Portlet的URL有其特殊的格式,因此需要把指向自身的URL全部转换为Portlet格式。这些URL主要是HTML FORM中的ACTION属性。
2、Session范围。Session在Portlet中分为PORTLET_SCOPE和APPLICATION_SCOPE两种,为了避免冲突缺省情况下应该把Web应用中的Seesion变量都设置为PORTLET_SCOPE。
3、开发人员透明。Web应用是否包装为Portlet对Web应用本身不做更改,这样即使被包装为Portlet后,开发人员仍可当作普通的Web应用继续开发。
4、可选的Portlet特性。使得开发人员能够在Web应用中使用Portlet特性,当Web应用独立部署运行时这些特性自动失效,当部署到Portal中就可以利用到Portlet特性了。

Common Web Application -> WSRP

WSRP规范致力于定义一个面向表示(presentation-oriented)的Web Services协议以及相应的接口集,面向表示的Web Services协议不仅提供商业逻辑还提供界面表示,应用程序可以容易的通过代理工具集成面向表示的Web Services。

Portal应用中,经常有将现存的某个应用在Portal界面中显示的需求,而且该应用是运行在与Portal服务器不同的机器上的。这种需求在Portal项目中使极为常见的,解决的方法主要有:1、如果应用提供java接口,可以建立JSR168 Portlet使用该接口;2、如果应用存在Web界面,则可通过Web裁减(Web Clipping)技术来集成,Kapow公司是这一技术的领先者;或者通过HTML IFRAME技术作简单的集成。

WSRP规范出现后,我们有了更加方便的新选择,如果应用本身支持WSRP,那么Portal服务器可以直接集成该应用无需额外开发。但是目前支持WSRP的应用还太少,而且期待现存的应用自身增加WSRP支持也是不现实的。例如对一个现存的部署在Apapche Http Server上的PHP应用,用户当然希望无需对该应用进行任何更改就能够支持WSRP。

我曾写过一篇短文“WSRP实践&想法”阐述这方面的想法。我最希望看到这样的WSRP工具出现,安装在Web服务器上后,通过配置就能够将部署在该Web服务器上的应用以WSRP协议发布。

这样的工具主要的是两部分的功能:
1、当然是WSRP协议支持。可以参考已有的开源实现,我想其中的初期的重点是URL Wirting和Stateful Information,即URL的双向转换和状态信息的处理。
2、与现有应用的交互,可以从两个方向来实现:
2.1 利用服务器功能,例如Java Servlet Server提供javax.servlet.RequestDispatcher接口实现来完成对本服务器上的资源调用。这样做的优点的性能高效,缺点是不同的服务器要开发不同的版本;
2.2 采用类似HTTP Porxy的方式实现。优点是适应性强,不必理睬Web应用的具体实现、部署技术,缺点是性能会有影响。

以上就是我的一些想法,希望尽快看到相关的产品出现,这些开发Portal应用就会轻松很多。


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=299639

Portal实现原理

1.Portal用例

读者可以在下面三个网站上注册自己的用户,体会Portal的功能。
http://my.msn.com
http://my.yahoo.com
http://my.liferay.com

My MSN的功能最灵活强大,用户可以任意拖放操作栏目(column)和内容版块(content)的位置和个数。
My Liferay只能选择固定的栏目(column)布局,但可以在本栏目(column)内移动内容版块(content)的位置。
My Yahoo只能选择固定的栏目(column)布局,而且不能移动内容版块(content)的位置。

Portal的结构分为三层。
(1) Page
(2) Column,或者称为Pane
(3) Content,或者称为Portlet

我们来看看Portal的整个操作流程。
(1) 每个Column的下方都有一个[Add Content]按钮,让用户选择加入自己喜欢的内容。
从这里,我们知道,Portal系统里面有一个公用的Common Portlet Repository,供用户选用。

JSR168 Portlet规范里面定义了Portlet Deployment Discriptor。Common Portlet Repository以这个Portlet Deployment Discriptor的格式存放。

开源项目JetSpeed的XReg文件用来存放Common Portlet Repository的定义。

(2) 加入Content之后,用户的Page和Column里面就多了这个Content。下次用户登陆的时候,就会看到自己订制的Portal版面。
从这里,可以看出,Portal系统会纪录用户的个人Portal配置信息 – User Portal Config。

开源项目JetSpeed的PSML文件用来存放User Portal Config的定义。

------- 综上。
Add Content的整个流程为:
Common Portlet Repository --> Add Content --> Personal Portal Config

Display Portal的整个流程为:
从Personal Portal Config读取用户配置的Portlet ID --> 根据Portlet ID,从Common Portlet Repository查找详细的Portlet定义 --> 根据这个详细的Portlet定义显示这个Portlet。

2.Portal实现
 
我们考虑如何用Java来实现Portal。

2.1 Dynamic Include

首先,我们采用最简单的思路,我们用100个JSP文件(1.jsp, 2.jsp, 3.jsp, … 100.jsp等),代表100个Portlet。
用户页面MyPage.jsp包含用户选定的多个Portlet。
现在,假设用户选取的Portlet为1.jsp, 3.jsp, 7.jsp等3个Portlet,那么我们如何在MyPage.jsp中显示这些Portlet?最直观的做法是,用jsp:include。比如:
<table>
<tr><td>
<jsp:include page=”1.jsp” />
</td></tr>
<tr><td>
<jsp:include page=”3.jsp” />
</td></tr>
<tr><td>
<jsp:include page=”7.jsp” />
</td></tr>
</table>
由于<jsp:include>只能指定固定的jsp文件名,不能动态指定jsp文件名。我们需要把<jsp:include>翻译为Java code – RequestDispatcher.include();
下面我们换成这种写法。

Java代码
<table>
<tr><td>
<% request.getRequestDispatcher(1.jsp).include(request, response); />
</td></tr>
<tr><td>
<% request.getRequestDispatcher(3.jsp).include(request, response); />
</td></tr>
<tr><td>
<% request.getRequestDispatcher(7.jsp).include(request, response); />
</td></tr>
</table>

进一步改进MyPage.jsp。
<% String[] fileNames = {1.jsp”, “3.jsp”, “7.jsp}; %>
<table>
<% for(int i = 0; i < fileNames.length; i++) {
  String fileName = fileName s[i]; %>
<tr><td>
<% request.getRequestDispatcher(fileName).include(request, response); />
</td></tr>
<% } // end for %>
</table>

其中的fileNames的内容可以各种各样,只要RequestDispatcher能够处理。
比如Velocity,fileNames = {“1.vm”, “3.vm”, “7.vm”};
比如URL,fileNames = {“/portlet1.do”, “/portlet3.do”, “/portlet4.do”};
我们可以看到,如果我们从用户配置中读取fileNames的内容,这就是一个简单的Portal实现。

Java代码
<% String[] fileNames = (String[])session.getAttribute(“portlets.config); %>
<table>
<% for(int i = 0; i < fileNames.length; i++) {
  String fileName = fileNames[i]; %>
<tr><td>
<% request.getRequestDispatcher(fileName).include(request, response); />
</td></tr>
<% } // end for %>
</table>

2.2 Portlet Interface

下面我们来扩展这个例子。
假设每个Portlet都规定实现一个Portlet接口。
 
interface Portlet {
  void render(request, response);
};

MyPage.jsp如下:

<% String[] portletClassNames = (String[])session.getAttribute(“portlets.config); %>
<table>
<% for(int i = 0; i < portletClassNames.length; i++) {
  String className = portletClassNames[i];
  Portlet portlet = (Portlet)Class.forName(className).newInstance(); %>
<tr><td>
<% portlet. render (request, response); />
</td></tr>
<% } // end for %>
</table>

Portlet类的示例代码如下:

public class Portlet7{
  public void render(request, response){
    request.getRequestDispatcher(7.jsp).include(request, response);
  }
};

上述代码是Portal显示Portlet的核心流程的一个简化版本。
JSR168 Portlet规范里面定义了真正的Portlet接口定义。

2.3 Portlet Action

Portlet的操作包括,最大化/最小化/恢复/关闭/编辑/帮助/上下移动,等等。
这些操作都有对应的Action类。
开源项目JetSpeed的module/actions/controls目录下面包含Maximize, Minimize, Close等Action类。
开源项目Liferay的portal/action目录下面包含Maximize, Minimize, Close等Action类。

Portal的操作不仅包括上述Portlet的操作,而且包括其它更高级别的操作。
比如,Add/Move Page, Add/Move Column, 换Layout, 换Skin,之类。

2.4 Portlet Cache

我们操作Portlet的时候,往往只操作某个特定的Portlet,或者只是变化Portlet的位置。这时候,页面中大多数的Porlet的内容是不变的,只有一小块Portlet变化。
我们需要把Portlet的内容缓存起来。Portlet接口有一个render(request, response)方法,我们可以订制定制response类,截获portlet的输出,保存到Portal系统的内容Cache当中。
比如,前面提到liferay开源项目,其StringServletResponse类把Portlet的输出保存到一个String当中。


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=299632