组件化的业务系统架构观念据说已经提出来20多年了,可是至今没有见到让人信服的组件化业务系统(注:组件化≠模块化).关于业务组件是什么,长什么样子,如何实现,又有什么样的远景?
组件介绍这篇文章很详细的阐述了作者在业务组件的想法。

下面是文章的部分内容:

组件化的业务系统架构观念据说已经提出来20多年了,可是至今没有见到让人信服的组件化业务系统(注:组件化≠模块化).关于业务组件是什么,长什么样子,如何实现,又有什么样的远景? 大家也都做了很多思考和讨论.
看了社区里的一些内容,再加上平时跟同事们的交流和讨论,对组件化业务系统的实现产生了一点想法。下面我说下我的想法,欢迎大家来拍砖讨论。
        我觉得目前大家对业务组件有一个共识:就是各个业务组件相对独立,并且具有可组装性和可插拔性。
        每个组件的运行仅依赖于平台或者容器,组件与组件之间不存才直接的耦合关系。同时,组件与组件之间又并非绝对的独立。组件经过组装后可以与其他的组件进行业务上的交互。比如销售组件与财务组件,一笔销售业务的完成必定会产生一笔或几笔财务的业务,如×××的开出和一笔新的应收应付或者现金银行的记账。又比如,采购与库存管理,当采购的需求被提出,那么是不是要先看看仓库是不是有存货呢?如果本仓库没有,是否允许从其他仓库调拨呢?等等等等……,诸如此类的业务场景无法穷尽,而不同行业不同规模的用户他们的业务过程又各自不同。
        也就是说,组件之间的交互在业务上存在着不可规范和不可穷尽的特点.这是个比较头疼的问题,暂且记下,稍后再做讨论。
        另外,我的理解:组件化是介于模块化与应用系统集成之间的一个概念.关于组件化、模块化、应用的不同,社区中的一篇文章写得很好。这篇文章的最后,提到了组件化不同于模块化,引文:模块化开发不同于组件开发,模块化开发只是在逻辑上做了切分,物理上(开发出的系统代码)通常并没有真正意义上的隔离,一切都只是在文档中。文章中间也提到过组件化与应用集成的不同,引文:EAR或者WAR部署的是一个企业应用,请注意EJB规范中明确说:The Enterprise JavaBeans architecture is a architecture for the development and deployment of component-based (distributed) business applications(EJB 2.x和3.x唯一的区别是2.x有distributed),它们有自己的应用域,彼此相互隔离(简单的看,它们有各自独立的会话管理)。.NET也是有自己的应用域概念。
        根据上面所描述,结合我把组件化放置到模块化和应用集成之间的定位。组件化应比模块化更独立,但比应用集成结合得更加紧密。借助上面提到的那篇文章分析的,引文:基于应用的部署导致了三个隔离问题:交互(界面)隔离程序访问隔离数据隔离.来看看组件化、模块化、应用集成的区别,以更清晰的看清楚组件化的位置。。。。。。

关于更多的 业务组件的内容.