懷揣著為中小企業量身定做一整套開源軟體解決方案的夢想開始了一個網站的搭建。 |
我對iDempiere還完全摸不著頭腦,正好在學習之際,應erp100的@縱橫四海 邀請,以一個初學者的身份來開始
寫一下自己的學習過程。本文同發這裡和erp100,erp100的網頁地址如下:
【[分享知識 原創連載] iDempiere = OSGi + ADempiere 一款ERP系統、助力中小企業發展 】
在我發了第一篇iDempiere簡介之後,@縱橫四海 又幫忙新增了OSGi這個標籤,那這次就讓我說一說我對OSGi的
認識吧。畢竟iDempiere = OSGi + ADempiere這個等式的存在也意味著OSGi的重要性,所以我開始嘗試理解這
裡的OSGi對iDempiere到底有什麼幫助、如何讓iDempiere更具有生命力。
- 什麼是OSGi
好象很久前就開始知道這個詞,但是由於它和JavaEE(J2EE)走的是兩條路,而我更關注企業級解決方案,
所以也沒有太多關注。但是OSGi優秀的機制是很多解決方案無法簡單比擬、超越的,應該是在2000前後年
吧,有很多人追求可熱插拔機制在企業級應用中的使用,於是OSGi無疑成了一些大牛們的選擇(例如
Richard S. Hall?)。同時大家好象都說應該是Eclipse給了OSGi活躍發展的一個強大契機,Eclipse的插
件系統就是完全基於OSGi的傑作,如今OSGi更是企業級解決方案中重要的基礎平臺之一,並且OSGi也從
“JAVA虛擬機器中的SOA”走到了今天這個真正的SOA的高度。
非常慚愧、似乎什麼也沒有吹出來,但是還是要抓緊說一下OSGi到底是什麼?讓我引用【OSGi in Action】
這本書的說明。著者:Richard S. Hall、Karl Pauls、Stuart McCulloch、David Savage
首先:
NOTE Once upon a time, the letters OSGi were an acronym that stood for the
Open Services Gateway Initiative. This acronym highlights the lineage of the
technology but has fallen out of favor. After the third specification release,
the OSGi Alliance officially dropped the acronym, and OSGi is now a trademark
for the technology.
也就是說由於OSGi發展已經超越了最開始的定義,所以Open Services Gateway Initiative已經不合
時宜,OSGi只是一個標識這個偉大平臺的標誌而已。
注:當寫到這裡的時候突然發現,原本想把書中OSGi的定義拷貝下來,但是發現一旦拷貝到這裡來的話,
似乎很容易讓人誤解OSGi並麼有什麼了不起,畢竟這裡不是說OSGi的地方。我還是介紹我買的兩本
書,如果想知道OSGi的偉大的話,還是從書中找答案吧(只是想巨集觀看的話,新華書店站一站,只
看OSGi in Action的第一章就可以讓你洶湧澎湃了吧)
- ADempiere+OSGi → iDempiere有什麼好處?
這裡應該是想要說的重點,我個人覺得由於讓ADempiere基於OSGi,不僅僅是ADempiere的架構更加合
理,因為這點畢竟主要是對系統工程師比較有意義,對更多人來說更有意義的可能是用熱插拔方式來動態
擴充套件ADempiere,同時針對新增的OSGi元件,如果方法得當的話很有一定的可能繞過GPLv2的限制,實
現元件商業化。
注:我不太確定這點,還需要去諮詢法律顧問,讓他們來考慮並給出個可信的回答啊。 - iDempiere = OSGi + ADempiere
寫到第2節,其實就可以結束了,這裡只是追加做點說明,讓人對iDempiere的OSGi有點視覺化的印象。
當你用Eclipse開啟iDempiere原始碼後,完全可以使用PDE Incubator Dependency Visualization來可
視化的看看他的架構。這裡以把我平時寫的一小段博文貼進來,分享一下。
iDempiere OSGi Bundle的倚賴關係視覺化分析(使用Eclipse PDE Dependency Visualization)
雖然這個等式iDempiere = OSGi + ADempiere代表著全面擁抱OSGi,可惜還是沒有搞明白,
還好參看IBM的網站,找到了可以對OSGi Bundle倚賴關係進行視覺化分析工具(PDE Incubator Dependency Visualization)
的相關說明。針對org.adempiere.server的分析結果如下:
原文地址:http://www.cnblogs.com/Yu/archive/2013/06/06/3121249.html - iDempiere架構到底怎麼樣?
OSGi是牛的,但是並不等於iDempiere架構一定是牛的,就好像用C++也完全有可能寫出比VB更慢的軟體
一樣。至少從我個人掌握的內容來看,iDempiere 也不是讓人感覺很滿意。這也許是iDempiere牛人時間
不夠的原因,更有可能是我比較弱沒有理解人家深刻的含義。不過,自己到底不滿意什麼呢,仔細想想,
其實不外乎一個詞兒,粒度太粗。但是誰需要更細粒度、更優雅呢?粒度更細本身就代表著一個錯誤的方
向也說不定。至少對大多數人來說,說的極端一點的話,可能我只需要一個可擴充套件的Bundle,他的名字叫
ERP就行了也說不定。
更進一步說,這樣的架構已經足以PK掉很多開源ERP軟體,足以用這樣的架構來助力中小企業發展。