Liferay-Activiti 企业特性功能介绍 (新版Liferay7)
前言
如果你是开发者
你已经是多少次开发一个项目,一次次的用一些框架,一次次的写类似的重复的代码,一次次建表\写类和方法\写HTML\CSS\JAVASCRIPT,一次次测试,一次次的写Bug。。。
如果有一个平台,提供基线的框架,可以是应用程序\网站,支持移动端,不必一次次开发无法重用,一次次造就信息孤岛。
那么试试Liferay。 很多的应用开箱即用,如CMS\博客\企业协作\动态表单\良好的组织架构和权限体系。
先别急着上船,你得接受和适应Liferay的扩展框架体系,比如Portlet,还有应用程序显示模版的机制,这有些代价,但对于真正的JavaEE开发者,并不会困难,另外你还会学到另你获益终身的设计模式思想,OK,想好了就上船吧,这必将是愉快的旅程。
如果你是IT主管
可能选型选择开源不容易,哪怕是Liferay如此成功的产品,实际上Liferay的企业服务费用不算低,要节省成本用社区版,必然要有好的开发服务团队。
这必须非常谨慎,诚然,Liferay还有软肋,这个是其产品定位造成的,比如:
- 工作流较弱,它集成的两个BPM都偏弱,而工作流是中国企业门户或OA应用的核心,必然要集成更强大的BPM进来,如Activiti;
- 还有中国式的组织架构;
- 项目数据迁移,比如员工,组织架构数据;
- 和其他系统的集成;
- 还有一些中国式的操作习惯改造;
国内的甲方公司很难有这样的开发实力,这需要技术和耐力相结合,虽然只是开发连接器插件,但做好并不容易,开发技能栈必须全面。
言归正传,介绍Liferay的企业特性。
Liferay7架构 :

模块:

权限和认证体系
Liferay支持 权限、组、用户、团队、组织架构 的权限控制体系,详情见上一篇文章:http://www.cnblogs.com/starcrm/p/5919294.html 。
支持的用户认证方式:
- Liferay自带认证
- LDAP
- SSO
- CAS
- NTLM
- OpenId
- Crowd
- Open SSO
- SiteMinder
- Shibboleth
- SAML
开发扩展方式
Liferay几乎什么都可以定制。应用程序接口可以重新设计,整个用户界面可以定制为主题,菜单项可以添加或删除...
所有的应用程序及扩展,是建立在liferay自定义分布式部署模块(典型的jar文件),用Java开发人员熟悉的方式开发,编译,定义模板,资源,和一些元数据。
它遵循一套非常强大的标准称为OSGi。多模块可以相互依赖、相互沟通,实时部署,不用重启服务器(热部署)。
模块可以有一个或多个组件。创建一个组件和Java类开发一样简单。
一个组件是一个更大的应用程序的最小的构建块,并且应用程序本身是由许多小的组件组成的,就是以重复使用的堆积木的方式开发系统。
组件由组件容器管理,该容器提供安装和激活。组件提供服务,通过一个强大的依赖管理系统,在运行时自动处理。
您可以编写组件以提供新的服务或以重写现有的服务,容器管理所有一切。Liferay是一个激动人心的平台,使开发人员更高效。
扩展方式介绍:
- OSGi Modules
- 建立Liferay Portal Web应用程序最常用的方法是用一个portlet;
- 利用Liferay的移动SDK,开发移动应用;
- 开发主题(theme);
- 开发MVCPortlet
可以使用现有框架,如Struts、Spring。使用Service Builder,很容易创建后台数据库表、对象关系映射。
它还可以生成JSON或SOAP的Web服务,为开发者提供完整的开发元素用于存储和检索数据,用于Web或移动客户端。
工作流
Liferay自身支持的BPM工作流:
1 、Kaleo,集成Liferay表单的内置工作流,极简单,没有图形设计器;
2 、jBPM3, 现在都6.4版了,有点跟不上时代;
另外还有两个外接集成插件:
集成Activiti5.11版:https://github.com/emdev-limited/activiti-liferay ,功能还不够完善,已经3年没有更新;
集成Bonita BPM:http://www.bonitalife.org ,Bonita 也是一款强大的BPM,这个插件还待试用评;
Activiti是完全实现BPMN 2.0规范的工作流引擎,它对比jBPM的优势是轻量级,容易集成,可单机或集群部署。
目前Activiti支持的数据库:
- DB2
- H2
- Oracle
- MySQL
- MS SQL
- PostgreSQL
Activiti的集成开发方式有:
- Standalone JDBC :通过Portlet方式,加入Activiti的jar包,直接集成;
- Spring:通过Spring MVC方式集成;
- JTA:对J2EE异构分布式数据源的集成开发;
- Web API:通过restful接口进行集成;
所有的开发重点在UI的集成、用户权限的集成、单点登录、流程设计器、控制面板、和Liferay表单的集成,待办已办待阅面板开发,工程较大。
目前Activiti只有用户组、用户上级、用户三种权限概念(用于流程节点分配);
扩展更复杂更集成业务系统的权限机制的方案:http://www.kafeitu.me/activiti/2012/04/23/synchronize-or-redesign-user-and-role-for-activiti.html
一些企业扩展
企业社交代理
通过整合OAuth服务作为一个HTTP代理服务器的应用程序,该插件为您的应用程序提供了一个安全的令牌,可以将类似的网站推特,LinkedIn、微信;

图表插件
https://web.liferay.com/zh/marketplace/-/mp/application/48919330

一个使用 Liferay 和 Lucene 实现企业门户智能帮助机器人的方法
很有意思
http://www.ibm.com/developerworks/cn/java/j-lo-LiferayLucene/index.html
企业门户智能帮助机器人总体架构图

简易敏捷插件
https://web.liferay.com/zh/marketplace/-/mp/application/44480388


用户反馈插件
https://web.liferay.com/zh/marketplace/-/mp/application/56687742
相册插件
https://web.liferay.com/zh/marketplace/-/mp/application/48594640
https://web.liferay.com/zh/marketplace/-/mp/application/52543103
MongoDB CRUD 简单应用插件
features.
1. Insert New Record (in Collection/Table).
2 Update inserted records.
3. Delete Single/Multiple Record(s).
4. Sorting (Ascending/Descending)
5. Searching (AND search / OR search)
https://web.liferay.com/zh/marketplace/-/mp/application/56256837

集成导入插件
https://web.liferay.com/zh/marketplace/-/mp/application/76233767
使用这个Web服务插件,你可以从其他平台导入内容到Liferay中
更多插件
在应用商店:地址链接
选择Liferay的好处是除了自带的强大功能,和海量商店应用,它还是可以灵活开发扩展的平台。
Liferay-Activiti 企业特性功能介绍 (新版Liferay7)的更多相关文章
- Liferay-Activiti 功能介绍 (新版Liferay7基本特性)
一句话简介 Liferay是世界领先的开源企业门户(也可作为综合门户),是最强大(没有之一)的JAVA开源门户,在Gartner和Forrester和评价非常高,近几年已经超越了微软门户Sharepo ...
- Activiti工作流引擎核心介绍
引言 Activiti 作为一个遵从 Apache 许可的工作流和业务流程管理开源平台,其核心是基于 Java 的超快速.超稳定的 BPMN 2.0 流程引擎,强调流程服务的可嵌入性和可扩展性,同时更 ...
- 微信小程序产品定位及功能介绍
产品定位及功能介绍 微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验. 小程序注册 注册小程序帐号 在微信公众平台官网首页(mp.weixin.qq ...
- 带你走近AngularJS - 基本功能介绍
带你走近AngularJS系列: 带你走近AngularJS - 基本功能介绍 带你走近AngularJS - 体验指令实例 带你走近AngularJS - 创建自定义指令 ------------- ...
- Delphi 各版本新特性功能网址收集
Delphi XE2 三个新功能介绍举例_西西软件资讯 http://www.cr173.com/html/13179_1.html delphi 2007新功能简介-davidxueer-Chin ...
- Joomla软件功能介绍与开源程序大比拼Joomla,wordpress,Drupal哪个好?
Joomla 软件功能介绍: Joomla!是一套在国外相当知名的内容管理系统 (Content Management System, CMS),它属于Portal(企业入口网站)类型,顾名思义 ...
- CentOS以及Oracle数据库发展历史及各版本新功能介绍, 便于构造环境时有个对应关系
CentOS版本历史 版本 CentOS版本号有两个部分,一个主要版本和一个次要版本,主要和次要版本号分别对应于RHEL的主要版本与更新包,CentOS采取从RHEL的源代码包来构建.例如CentOS ...
- fedora21发布与新功能介绍(附fedora21安装教程与fedora21下载地址)
fedora21发布与新功能介绍(附fedora21安装教程与fedora21下载地址) 最新的Fedora 21终于正式发布了,Fedora Server 是一款强大可定制化的操作系统,包括了最好最 ...
- HBase的Snapshots功能介绍
HBase的Snapshots功能介绍 hbase的snapshot功能还是挺有用的,本文翻译自cloudera的一篇博客,希望对想了解snapshot 的朋友有点作用,如果翻译得不好的地方,请查看原 ...
随机推荐
- mysql 添加外键详解
为已经添加好的数据表添加外键: 语法:alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的主键字 ...
- 2019.01.22 poj2926 Requirements(状态压缩)
传送门 题意:给一堆五维的点,求最远点对. 思路:跟CF1093G差不多 考虑把正负号状压成一个323232以内的数,然后对于每一类分别求最大最小值再做差更新答案即可. 代码: #include< ...
- SHELL脚本之awk妙用
对于一个sougou文本文件,解压后大概4G,要求在其基础上切出第一列时间年月日时分秒增加在列中,作为hive的一个索引.先将文件head一下展示格式: [root@Master date]# hea ...
- mouseover和mouseout事件的相关元素
在发生mouseover和mouseout事件时,还会涉及更多的元素,这两个事件都会涉及把鼠标指针从一个元素的边界之内移动到另一个元素的边界之内.对mouseover事件而言,事件的主目标获得光标元素 ...
- vip导致的serverConnection closed by foreign host问题
问题描述: 应应用需求,设计搭建了一套带tokudb存储引擎的percona数据库,使用的是常见的双主架构.具体的架构如下图所示: 在172.20.32.x1上进行验证的时候出现了下面的问题: FHo ...
- 实战--利用HierarchicalClustering 进行基因表达聚类分析
利用建立分级树对酵母基因表达数据进行聚类分析 一.原理 根据基因表达数据,得出距离矩阵 ↓ 最初,每个点都是一个集合 每次选取距离最小的两个集合,将他们合并,然后更新这个新集合与其它点的距离 新集合与 ...
- (转)php语法(符号用法)
转自:http://blog.unvs.cn/archives/php-equal-bracket.html 学习PHP过程中,会常碰到一些特殊的符号,比如:=.==.===.->.=>. ...
- 绑定弹窗事件最好的方法,原生JS和JQuery方法
使用jQuery ui = { $close: $('.close') , $pop: $('.pop') , $topopBtn: $('.topop-btn') , $popbtnArea: $( ...
- 20169207《Linux内核原理与分析》第三周作业
这周主要对于以往的知识进行了复习,包括开始的Linux基础,以及对需要学习的新知识进行了复习,也对markdown的语法进行了初步的了解.开始学习markdown的一些基本语法和Linux的一些常用命 ...
- set_magic_quotes_runtime set_magic_quotes_gpc
set_magic_quotes_runtime(0); 可以修改php.ini中 magic_quotes_runtime boolean的设置 当你的数据中有一些\"'这样的字符要写入到 ...