企业门户 Liferay + Activiti 方案技术介绍
Liferay + Activiti 企业门户 - 方案介绍
官网:
中文官网:
Liferay是世界领先的开源企业门户
以世界权威的Gartner评定,Liferay不输微软SharePoint门户,甚至更强.
近年来,权威的Gartner将其位置排在IBM企业门户(websphere portal) 和 微软企业门户(即SharePoint Office协作平台 )之间.
当然, 这个排名是Liferay的商业版取得的,但其商业版和社区开源版的核心都是一样的,区别在于企业插件的不同。
Liferay的用户众多
截至2015年在全球有1800多家企业用户,使用者数千万,不乏500强企业,行业集中在金融、政府、机构、医疗、教育、汽车等行业。
访问其官网案例介绍:
https://www.liferay.com/zh/resources
访问其官网案例介绍:
https://www.liferay.com/zh/resources
Activiti 简介
详情见官网:http://activiti.org/
关于企业门户选型
作为IT技术负责人的你是否有以下选型烦恼:
1、选国内闭源产品(比如蓝凌OA),受制于大厂,费用高,周期慢,因产品框架限制不一定能实现较特殊的需求;
2、选的技术太旧(比如东软开发平台),开发出的项目,开发扩展困难,和其他业务系统集成困难,开发人员抵触;
3、选国内假开源产品,技术能力参差不齐,产品包装的很牛,但用起来各种细节问题;
为什么选基于Liferay + Activiti 开发产品
1、Liferay是最优秀的开源企业门户,使用企业数千,使用者数千万,产品稳定性和先进度有保障,功能极具扩展性;
2、移动端支持好(H5自适应);
3、Liferay自身的BPM较弱,所以需要集成较强的BPM,而Activiti是非常优秀的BPM产品,使用者众多,功能灵活,上手难度不大;
4、Activiti BPM满足国际BPMN2.0规范,选用Activiti BPM在流程迁移方面有规范、风险低;
5、有代码可以掌控,可以迭代开发,不会受制于人,更可控;
6、开发风险可控,最核心的2个功能(门户平台和BPM)依托成熟开源,稳定性不用担心;
7、他们社区和公司应用商店有数以千计的免费和商业应用,实现快速开箱即用;
总之就是基于知名开源平台,核心风险可控,我们只需要关注开发连接器和Hook或者插件,即可形成产品,思想和CVTalk产品的核心是基于开源的Openfire服务器是一样的。
只需要关注好以下8件事情即可:
我们要基于Liferay + Activiti 做什么
1、账户迁移工具或脚本
如果涉及旧OA或门户迁移,必须开发迁移工具;
2、组织架构迁移工具或脚本
组织架构是非常重要的基础数据;
3、权限组的迁移工具或脚本(非必须)
如果涉及旧OA或门户,权限组最好能批量迁移;
4、Activiti BPM集成Portlet(重点、难度较大)
Liferay自身的BPM较弱,所以需要集成较强Activiti,通过Portlet集成,Portlet其实就是Liferay规范化的servlet 。
5、Activiti BPM集成Liferay权限体系(重点、难度较大)
实现Liferay和Activiti 的权限通讯。
有三个方案:http://www.kafeitu.me/activiti/2012/04/23/synchronize-or-redesign-user-and-role-for-activiti.html
需要慎重选择方案。
6、Activiti-Designer 流程设计器的中国化改造(重点、难度较大)
Activiti 的表单设计器非常强大,但需要改造符合中国企业使用习惯;
Liferay自身的简单BPM估计能实现业务流程需求的简单需求(可能占50%),其余的需要Activiti 实现。
Activiti 中提供了 2 种可视化流程设计器:Web Application 形式的 Activiti Modeler 和 胖客户端形式的流程编辑器Activiti-Designer,必须先慎重选型。
7、开发开放API,方便业务系统调用
这部分可基于Liferay WebAPI扩展包装,难度不大;
8、组建开发团队
Liferay + Activiti 企业门户 - 方案特点
特性 | 细节 | 开源方案(LifeRay + Activiti) |
主页 | https://www.liferay.com http://activiti.org/ |
|
协议 | 社区版开源 或 企业版 (企业版和社区版代码一样,服务不同) | |
开发者论坛 | 热门 https://www.liferay.com/zh/community/forums https://forums.activiti.org/forums/activiti-developers |
|
开发书籍 | 1、Liferay in Action 2、Liferay Portal 6.1门户网站建设最佳实践 3、Activiti in Action (英语) 4、Activiti实战 (闫洪磊2015年版) 5、疯狂Workflow讲义:基于Activiti的工作流应用开发 6、更多:http://www.amazon.cn/s/ref=nb_sb_noss_1?__mk_zh_CN=%E4%BA%9A%E9%A9%AC%E9%80%8A%E7%BD%91%E7%AB%99&url=search-alias%3Daps&field-keywords=liferay&rh=i%3Aaps%2Ck%3Aliferay |
|
应用市场 |
https://www.liferay.com/zh/marketplace 数以千计的免费或商业收费应用开箱即用 比如日程管理\会议管理\企业协助...... |
|
认证、安全、权限 | ||
域认证LDAP | 是 | |
单点登录 | 支持类型:CAS,OpenSSO,JAAS, JOSSO, LDAP, Netegrity,Microsoft Exchange | |
加密算法 | 采用行业标准与美国政府级的加密技术,包括诸如DES,MD5和RSA等先进算法。通过使用LogicLibrary的Logiscan suite提供最安全支撑。 特性:嵌入式认证、电子邮件验证、细化权限、LDAP验证、会话管理 |
|
权限 | 细化的授权系统:可重用和可扩展的授权架构应用于整个Portal,并适用于个别的Portlet元素,如按钮、消息、Portlets 和用户等。管理员可以自定义并控制可以访问敏感信息、功能的用户 | |
OAuth2.0 | 是 | |
自定义认证 | 是 | |
用户,组,角色、站点权限、团队 | 是 | |
规则引擎 | Drools | |
基于角色的内容传送 | 是 允许多种用户类型访问一个URL、浏览独一的页面。管理员操控且用户自定义, 提供了一个决定企业内容政策的中心平台,包括谁可以编辑和发布内容、档案、社区、文件和应用程序 |
|
前端、界面 | ||
基本特性 | 用户组页面模板、页面结构自动继承、jQuery标准化、语义与隐性Mashup LAR主题导入/导出、热部署 |
|
可开发主题风格 | 是 | |
bootstrap框架 | 是 | |
表单 | ||
前端框架 | HTML5、CSS | |
后端技术 | JavaEE、Portlet、Spring MVC | |
移动端支持 | 是 | |
表单技术 | Alloy UI(发展自YUI)、JSP、JSF Spring MVC 基于XML的portlet配置文件可以自由地动态扩展 |
|
组件 | 数十种常用组件 | |
其他特点 | 代码生成器不生成视图层的代码,需要自己实现, 这样虽然较费时,但可控性更有保障,使开发复杂表单成为可能 |
|
插件开发 | ||
工程类型 | Portlet Service Builder Portlet Hook Layout Template Theme Ext |
|
内置插件 | 60多种开箱即用插件和Portlet,比如Wikis,博客,日历,提醒,内部消息,知识库,邮件客户端(web),Presence & Social... | |
流程BPM | ||
BPMN 2.0 流程 | 符合完整BPMN2.0规范 | |
服务组件 | RepositoryService RuntimeService TaskService IdentityService ManagementService HistoryService FormService 利用内置的服务组件开发BPM应用非常方便 |
|
流程设计器IDE | 是 | |
Web流程设计器 | 是 | |
设计模式 | Command模式、观察者模式等 | |
流程格式 | 标准BPMN2格式、xPDL、jPDL等 | |
引擎 | PVM虚拟机、Drools | |
事务管理 | MyBatis机制/Spring事务 | |
功能完备性 | 包含齐全的Sequence Flow(流程转向)、Task(任务,包含User Task、Manual Task、Service Task、Script Task等)、Sub-Process(子流程) 、Parallel Gateway(并行执行网关)、ExclusiveGateway(排它型网关)、InclusiveGateway(包容型网关) |
|
集成接口 | SOAP、Mule、RESTful Json | |
自动生成流程单元测试 | 是 | |
报表 | ||
特性 | 可集成任意报表 | |
可扩展性 | 支持任何层次组合上的聚合(视图、服务、业务逻辑与数据库) Terracotta DSO集成 高级缓存、网页缓存、负载均衡、分布式缓存 会话复制、静态内容导出 支持Hook开发 |
|
社交协作 | Wikis 博客 日历 知识库 邮件客户端(web) Presence & Social |
|
内容管理 | JSR - 170兼容Java内容储存库、签入文档/签出文档、集成Microsoft Office® 版本控制、工作流、细化权限、多文件上传、常用文档格式之间相互转换,如Microsoft Office,PDF,TXT和HTML(导入和导出)、启用WebDAV、图片库、丰富(WYSIWG)文本编辑器、内容与布局分离、可重复使用的内容、CSS、采用Velocity或XSL的逻辑内容模板 书签、动态生成的网站分类、拖放式网站地图、网站地图协议支持、搜索引擎优化(SEO) OpenSearch、实时网页编辑、分段按计划转移到远程服务器、相关链接(URLs)、Meta标记 |
|
APIs支持及接入 | Json Web Service Spring HTTP RMI Hessian Burlap WSRP Mule or ServiceMix ESB(企业服务总线) |
|
移动端支持 | ||
数据库支持 | MySQL Oracle PostgresSQL SQL Server |
|
技术框架 | AJAX、Apache ServiceMix、ehcache、Groovy、Hibernate、ICEfaces、Java J2EE/JEE jBPM、Jgroups、Lucene、MuleSource ESB、Seam、Spring 3.0 & AOP、Struts & Tiles Tapestry、Velocity、JSON、Hessian、Burlap、REST、RMI、Spring HTTP |
|
优势 |
|
|
劣势 |
|
|
风险 |
|
目前维护的开源产品:https://gitee.com/475660