第一章 简介
Liferay portal是开源企业级门户解决方案的领导者,采用java与WEB2.0技术构建,经过11年的开发,Liferay portal在世界范围内已部署将近250000次,Liferay 已成为部署应用最广的portal之一。
Liferay不仅仅是一个门户,也是一个构建高效企业应用程序和解决方案的开源平台,Liferay具备高可靠性、高可扩展性,提供高效的开发工具,支持超过22种语言,新版liferay具备以下特点:
l 兼容主流数据库,操作系统及应用服务器中间件。
l 良好的系统分层结构。
l 细粒度、灵活的权限管理系统。
l 高可靠性,单机应用可支持超过5000(33000同时在线用户)并发。
l 案例丰富,目前已拥有超过1300万用户使用。
l 支持22种语言,开箱即用。
l 丰富的用户接口。
Liferay具备健壮的功能体系,提供超过60多个开箱即用的portlet ,主要分为三类:
1. 内容管理&WEB发布
Liferay门户的内容管理系统结构完整,系统支持基于角色的工作流管理,实现从内容编辑、审批到最终发布展现的全过程控制,内容编辑与展现分离,支持版本管理。文档库管理支持文档锁定、协作中的文档自动类型转换、WEBDEV支持、整合微软Office实现动态文件共享。内容也可以存储在第三方系统中,例如Jackrabbit, Magnolia, 和Alfresco等。同时,用户也可以通过无缝的整合本地、网络内容或者第三方应用程序,发布完整的企业级解决方案到WEB上。
2. 协作应用(Collaboration)
Liferay协作应用套件包含公告、Blogs、Wiki、RSS、标记(togging)、通用元数据(common meta-data)、社交书签(socialBookmarking)等,在Liferay灵活的组织和社区中进行应用。通过这些应用,可以方便的讨论共同感兴趣的知识;不仅用户自己可以通过邮件客户端和日历管理工作过程,也可以在一个群体里面相互分享经验与想法。
3. 社交应用(Social Networking)
Liferay 内容与协作管理功能旨在为企业提供开箱即用的社交网络套件,例如通过即时消息和活动跟踪等功能,可以方便的进行实时沟通与交流。同时,Liferay Social API为用户构建本地化的社交程序提供一个平台支持。用户可以随意插入Liferay的社交特性,Liferay允许第三方应用程序加入到Liferay的activity feeds,member,“friend” 列表等。Liferay提供构建完整社交网络功能的工具和框架,通过定制,可以满足各类独特的需求。
Liferay提供丰富、易用的“WEB2.0”接口,充分应用AJAX和其他的展现层技术。具有简介的基于GUI的个性化机制、拖拉拽、动态导航和面包屑导航(面包屑导航的作用是告诉访问者他们目前在网站中的位置以及如何返回)等特点,平台同时也整合了YUI3, jQuery等特性,也可以方便的整合个性化的javaScript库。
Liferay Portal可以通过部门、地理位置、办公室、或者跨部门的团队、工作组进行用户组织。每一个社区和组织都能够继承和定义自己的权限和管理员、组,通过角色管理确定所选择包含的portlet。虚拟主机允许社区和组织定义独立的友好访问地址(域名地址)、主题和配置等。各社区和组织之间相互独立。
Liferay Portal架构灵活、易于集成,平台采用面向服务的架构(SOA),有效加快用户开发周期,支撑构建可重用的服务和复合应用程序开发。
Liferay Portal是一个开放的框架,对Web Servcie(SOAP)、JSON、RMI以及Liferay专有的隧道(tunneling classes)均有完整的API支持,只要已存在的应用程序是开放的,且是通过servcie层或者API提供支撑,均可以使用Liferay进行整合。
应用程序整合的方式取决于你的选择,Web Service和 IFrame适用于轻量级整合场景,web proxy或者WSRP适用于更复杂的场景。
Liferay Portal 应用工业级标准,政府级安全加密技术,使用DES,MD5,RSA等高级算法,提供可定制的单独登录解决方案,整合Yale CAS、JAAS、LDAP、Netegrit、Microsoft Exchange等。
Liferay Portal提供强健的用户管理以及密码保护、用户提醒设置、安全登录过程等安全特性。遵循OWASP原则,减少安全缺陷导致的风险,liferay其他安全特性包括:
l 可插拔的认证机制;
l Email验证;
l Session管理。
核应用服务器上,经过测试,Liferay Portal支持超过3000并发(33000在线用户),平均一秒钟时间,系统吞吐量可达到79次登录以上(liferay每次登陆每个用户的网络吞吐量大概为194kb,系统吞吐量约为 79*194 kb)。Web 内容管理系统,在单台应用服务器上,可支持150000并发用户,平均响应时间50ms以下,CPU使用率35%。在高流量网页发布环境下,Liferay Portal已经被证明可以处理百万级数目网页、超过130万用户数。另外,在协作与社交网络应用方面,每一个物理服务器支持超过1300并发用户,平均响应时间800ms。
Liferay Portal也可以部署在云环境和虚拟服务器环境,采用以下策略确保高可用性及高性能:
l 硬件/软件 负载均衡,HTTP故障转移,Session复制。
l 应用轻量级多播协议(Lightweight Multicast Protocol)支持分布式缓存。
l Terracotta,Oracle RAC以及其他可扩展的解决方案。
Liferay Portal实现可插拔的主题机制,可以方便的创建从传统的门户到一个甚至都不像是门户的解决方案应用的任何形式的动态网站。通过创建和继承原有的CSS和JS模板,不用修改任何portal或者portlet代码既可以控制站点的展现方式。由于Liferay SDK中的所有组件(Themes, Hooks, Layout Templates 和 Portlets)都是动态部署到liferay环境中,因此,你可以在portal运行过程中进行客户化定制,这为liferay客户化工作提供了极大的灵活性,实现快速更新,节省开发时间。
作为市场上唯一独立的企业门户,Liferay致力于保持其与主流数据库平台、操作系统及中间件兼容。Liferay Portal 基于JSR 168/268,JSR 170,WebDev,ICal和WSRP等标准构建,内核由Struts、Spring、Hibernate等开源框架构成,同时,可以在稳定的Java框架中运行PHP, Ruby,Python, Grails以及其他轻量级脚本。
Liferay遵循开放的体系标准,实现了灵活的体系架构,因此,不管是开源项目或是商业产品(Documentum, Microsoft Office®, Alfresco,Intalio, JasperSoft, Magnolia, MuleSource, Pentaho, Terracotta等)均可以非常容易的与其相互整合。
Liferay提供自己的SDK, 包含像Liferay Service构建器(自动构建数据操作层(Sql和hibernate 逻辑/类),Spring依赖注入和web Service访问等),让开发人员更多的关注业务逻辑。同时,通过Liferay Hooks可以不修改liferay核心代码既可以修改liferay的核心应用功能。Liferay扩展开发环境构建一个易于升级的客户化开发环境,将平台与客户化修改分离。Hooks的模块化特性让我们只需维护少量的代码,减少测试场景。其他的特性包括:
l 工业标准的Struts/Tiles MVC框架。
l 整合Kaleo工作流,开发人员可以动态的定义业务逻辑(例如:发布审批,用户注册,电子商务交易等)。
l Spring 框架事务管理机制。
l 支持包括JSF,IceFaces,Wicket,Spring MVC等其他框架。