关于业务组件相关架构的讨论

10-11-12 yongtree
         

组件化的业务系统架构观念据说已经提出来20多年了,可是至今没有见到让人信服的组件化业务系统(注:组件化≠模块化).关于业务组件是什么,长什么样子,如何实现,又有什么样的远景?

http://www.po-soft.com/hi/slx/blog/1964

这篇文章很详细的阐述了作者在业务组件的想法,但是社区内对业务组件的关注和讨论还非常少,我希望大家都能说一下自己对业务组件的理解,对于业务组件的发展的一些看法,甚至更想知道这方面的架构和实现的思路。欢迎大家讨论!

[该贴被yongtree于2010-11-12 19:29修改过]

         

2
yongtree
2010-11-18 13:52

这篇文章写的非常好,很系统,比较全面,拜读了。我谈一点自己的看法。业务组件只是操作级的,不涉及到管理级的报表和复杂查询。应该只是单据级的查询和关联查询。对于组件间的数据交换,我还是倾向于总线方式。通过总线缓存数据,统一单据格式,每个独立的业务组件需要数据时直接到总线去取,组件中的接口只要针对总线设计就可以了,减少了组件间的相互依赖和耦合。BI可以从总线直接提取数据做查询和报表。这只是我的观点,欢迎拍砖。

banq
2010-11-20 10:22

组件这个问题是复杂些,甚至有人认为和面向对象冲突的,历史上经久不衰的组件好像和面向对象无关,如TCP/IP 等等,组件更多是API形式出现。

组件的高层次探索目前被SOA架构,以及云计算逐步替代,可见“中间件”中相关讨论。

yongtree
2010-11-22 10:57

组件是一个很朴实的概念,是元定义,就好比内存、CPU一样不会轻易被谁替代。再将组件比喻成经济活动中的“公司”,公司的组织形式可以采取“事业部制”、“职能制”等,组件的设计也可以采用面向对象或者面向数据结构等方法。公司间的交易是契约制,必须订立经济合同,SOA是保障契约执行的体系,可以是计划经济、社会主义市场经济或者是完全自由的市场经济,SOA不是终极模式,云计算最本质的概念是共享资源,就像很多中小公司,在淘宝或淘宝商城上做买卖,共享了市场、销售、甚至财务等部门,与SOA不一样。对象的概念太细小,组件中包含对象,我们说计算机是由内存、CPU等组件构成,而不是由内存、CPU等对象构成,对象可以继承和直接调用,而内存和CPU确需要用总线来支持。针对管理系统,面向组件是基于系统的集约化的设计方法,面向对象是基于组件(不适合基于系统)的程序设计方法。最劲爆的说法是:SOA死了,组件还活着。

banq
2010-11-22 11:51

2010年11月22日 10:57 "yongtree"的内容
最劲爆的说法是:SOA死了,组件还活着 ...

确切说:SOA死了,API还活着。只要有语言就有API,所谓组件,这么多年为什么没有发展,问题会不会出在方向上?也许组件本身就是一个伪命题,或许根本无法存在。

另外,组件和框架是什么关系?如果说当初EJB1.x出来时是组件的天下,那么后来就成为Spring等框架为王的时代,OSGI叫喊了那么多年,到现在还无法成为主流。

欢迎探讨。

2Go 1 2 下一页