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