怀揣着中小企业量身定做一整套开源软件解决方案的梦想开始了一个网站的搭建。
http://osssme.org/

我对iDempiere还完全摸不着头脑,正好在学习之际,应erp100的@纵横四海 邀请,以一个初学者的身份来开始
写一下自己的学习过程。本文同发这里和erp100,erp100的网页地址如下:
[分享知识 原创连载] iDempiere = OSGi + ADempiere 一款ERP系统、助力中小企业发展 】


在我发了第一篇iDempiere简介之后,@纵横四海 又帮忙添加了OSGi这个标签,那这次就让我说一说我对OSGi的
认识吧。毕竟iDempiere = OSGi + ADempiere这个等式的存在也意味着OSGi的重要性,所以我开始尝试理解这
里的OSGi对iDempiere到底有什么帮助、如何让iDempiere更具有生命力。

  1. 什么是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的第一章就可以让你汹涌澎湃了吧)

  2. ADempiere+OSGi → iDempiere有什么好处?
    这里应该是想要说的重点,我个人觉得由于让ADempiere基于OSGi,不仅仅是ADempiere的架构更加合
    理,因为这点毕竟主要是对系统工程师比较有意义,对更多人来说更有意义的可能是用热插拔方式来动态
    扩展ADempiere,同时针对添加的OSGi组件,如果方法得当的话很有一定的可能绕过GPLv2的限制,实
    现组件商业化。
    注:我不太确定这点,还需要去咨询法律顾问,让他们来考虑并给出个可信的回答啊。
  3. 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

  4. iDempiere架构到底怎么样?

    OSGi是牛的,但是并不等于iDempiere架构一定是牛的,就好像用C++也完全有可能写出比VB更慢的软件
    一样。至少从我个人掌握的内容来看,iDempiere 也不是让人感觉很满意。这也许是iDempiere牛人时间
    不够的原因,更有可能是我比较弱没有理解人家深刻的含义。不过,自己到底不满意什么呢,仔细想想,
    其实不外乎一个词儿,粒度太粗。但是谁需要更细粒度、更优雅呢?粒度更细本身就代表着一个错误的方
    向也说不定。至少对大多数人来说,说的极端一点的话,可能我只需要一个可扩展的Bundle,他的名字叫
    ERP就行了也说不定。

    更进一步说,这样的架构已经足以PK掉很多开源ERP软件,足以用这样的架构来助力中小企业发展。

说说iDempiere = OSGi + ADempiere的OSGi的更多相关文章

  1. iDempiere = OSGi + ADempiere 一款ERP&CRM&SCM系统、助力中小企业发展

    怀揣着为中小企业量身定做一整套开源软件解决方案的梦想开始了一个网站的搭建.http://osssme.org/ iDempiere = OSGi + ADempiere 一款ERP&CRM&a ...

  2. iDempiere VS ADempiere

    怀揣着为中小企业量身定做一整套开源软件解决方案的梦想开始了一个网站的搭建.http://osssme.org/ 第三篇:iDempiere VS ADempiere 一直以来,什么谁谁谁VS谁谁谁的, ...

  3. [OSGI]Eclipse4.2 OSGI依赖Bundle

    Eclipse 4.2 OSGI 依赖的Bundle: org.eclipse.osgiorg.apache.felix.gogo.runtimeorg.apache.felix.gogo.comma ...

  4. OSGI入门笔记

    OSGI框架为Java定义了一个动态模块化系统,它使你可以更好地控制代码结构,动态管理代码的生命周期,并且提供了代码写作的松耦合方式:更值得称道的是,它的规范文档描述详尽.--<OSGI实战&g ...

  5. OSGi——面向服务架构规范简述

    OSGi——面向服务架构规范简述 去年我们组要开发一个新的产品,在讨论产品架构路线的时候,美国的架构师向大家征集了架构设计思想(我推荐了SCSF),有一位工程师向他推荐了OSGi.以前我还没有听过OS ...

  6. OSGi 的核心配置、动态化及问题

    一.OSGi的核心组件Bundle,与java中jar包的差别就是元数据配置:      常用的Bundle元数据定义:     a) Bundle-Activator:定义Activator的实现全 ...

  7. OSGi 的由来和本质特性

    OSGi 的由来 随着科技和需求的发展和变化,现在的软件变得越来越庞大.这样,随之而来的最大挑战就是软件在设计上的越来越复杂和维护上的越来越困难.为了解决这个问题,软件架构师将软件切分成比较小的并且易 ...

  8. Eclipse插件开发之基础篇(4) OSGi框架

    转载出处:http://www.cnblogs.com/liuzhuo. 1. 什么是OSGi框架 OSGi(Open Service Gateway Initiative)框架是运行在JavaVM环 ...

  9. OSGI.NET 学习笔记--应用篇

    关于osgi.net ,想必大家也听说过,以下是自己在学习osgi.net 过程中整理出来的内容,供大家学习参与使用. 1.  OSGI.NET 与UIOSP OSGi是Open Service Ga ...

随机推荐

  1. [Lydsy1806月赛] 超速摄像头

    题面在这里! 可以证明只要叶子两两路径满足条件即可,于是便可以贪心啦,从最外圈(叶子)开始一层一层选,选出前 k/2 层. 如果k是奇数的话,还可以多选一个不是前 k/2 层的点. #include& ...

  2. BZOJ 3282 Tree(动态树)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3282 [题目大意] 0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的x ...

  3. BZOJ 4327 JSOI2012 玄武密码(后缀自动机)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4327 [题目大意] 求每个子串在母串中的最长匹配 [题解] 对母串建立后缀自动机,用每 ...

  4. 【最大权闭合子图】BZOJ1497[NOI2006]-最大获利

    [题目大意] 建立第i个通讯中转站需要的成本为Pi(1≤i≤N).另外公司调查得出了所有期望中的用户群,一共M个.关于第i个用户群的信息概括为Ai, Bi和Ci:这些用户会使用中转站Ai和中转站Bi进 ...

  5. bzoj 2468: [中山市选2010]三核苷酸

    2468: [中山市选2010]三核苷酸 Description 三核苷酸是组成DNA序列的基本片段.具体来说,核苷酸一共有4种,分别用’A’,’G’,’C’,’T’来表示.而三核苷酸就是由3个核苷酸 ...

  6. 20162307 实验四 Android程序设计

    实验四 <Android程序设计> 北京电子科技学院(BESTI) 实 验 报 告 课程:程序设计与数据结构 班级:1623 姓名:张韵琪 学号:20162307 指导教师:娄佳鹏老师.王 ...

  7. 消除重复 Exercise07_15

    import java.util.Scanner; /** * @author 冰樱梦 * 时间:2018年下半年 * 题目:消除重复 */ public class Exercise07_15 { ...

  8. String类的compareTo()和compareToIgnoreCase()

    compareTo()的返回值是int,它是先比较对应字符的大小(ASCII码顺序) 1.如果字符串相等返回值0 2.如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值 ...

  9. PHP手册笔记

    <?php getenv — 获取一个环境变量的值 $ip = getenv ( 'REMOTE_ADDR' ); // 或简单仅使用全局变量($_SERVER 或 $_ENV) $ip = $ ...

  10. 图解SQL Server:聚集索引、唯一索引、主键

    http://www.cnblogs.com/chenxizhang/archive/2010/01/14/1648042.html