欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

企业门户 Liferay + Activiti 解决方案技术说明

最编程 2024-04-20 10:43:09
...

 

Liferay + Activiti 企业门户 - 方案介绍

官网:

https://www.liferay.com

中文官网:

https://www.liferay.com/zh

 

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.comhttp://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
优势  
  • 让开发人员更加可控 ( 对比闭源 )
  • 比国内假开源产品稳定得多
  • 扩展性更强
  • 内置功能强大
  • 开发组件完备
  • IDE强大,集成Eclispe
  • 应用商店数以千计的应用支持
  • 移动端支持好
  • 界面风格好
  • BPM非常强大
  • APIs接口非常强大,更利于日后的业务系统集成
  • 开发人员更乐于接受这种成熟开源,有利于技术进步
  • 免费
劣势  
  • 入门坡度较陡,对想在其基础上开发出平台产品的开发者要求较高
  • 门户与BPM的集成需要时间开发
  • 中文风格的支持需要开发改进
风险  
  • 新版v7.0的技术改动较大,全新设计,是今年新推出,技术文档较缺乏,风险待观察
  • Liferay其自身BPM较弱,这也是想集成Activiti的原因,集成难度较大,但收益也高
  • 前期开发应用的时间较久(需要大量学习)

推荐阅读