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的好處是除了自帶的強大功能,和海量商店應用,它還是可以靈活開發擴展的平台。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM