一直提倡的Java构件化开发,到今天偶总算渐渐想明白是怎么回事啦。
每一个业务模块都是构件,构件可以是独立部署的war应用程序或者jar包。
每一个构件都能够独立部署运行,又能在集成环境下运行,这时候怎么管理构件之间的依赖关系成为了一种关键。
偶像的是同一个App Server下部署的构件,可以通过App Server本身提供的功能进行服务的调用,例如发布成JMX服务之类。
也就是说,例如在同一个JBoss下发布了A构件和B构件,A构件想调用B构件里的b1接口,可以将b1的实现类发布成一个服务,然后把接口提供给A,就实现了A构件调用B构件的服务。
有人说,为什么不直接把b1打成jar包直接提供给A,让A本地化调用?
请注意,使用b1服务的不只是A,可能还有C,D,E,如果打jar包给A,C,D,E构件的话,那么意味着B一旦升级功能,需要重新编译打包,同时A,C,D,E的代码也有可能发生变化。所以必须通过服务的方式提供。
那么其他的问题又来了,如果A和B不在同一个server里呢?那又需要怎么做呢?
webservice的方式是一个好的解决方法。但是,在开发的时候,A根本不知道B最终会被部署到哪个App Server下,再者,B部署的App Server,也可能在各种环境下变化。
所以,需要一个服务的管理者出现,任何需要提供服务的构件,都必须在服务管理者里进行注册。而服务的调用者,同样是通过服务管理者进行服务的获取。这样即便B部署的环境发生了变化,只需要服务管理者变化即可,A,C,D,E这样的调用者是不需要知道任何实现细节的。
偶很艰难的悟清了上面这些道理,恍然一想,是否跟最近流行的SOA的架构极为相似涅?
分享到:
相关推荐
嵌入式实时软件的构件化开发技术分析
面向构件的软件开发 确定业务范围和框架 确定应用环境和技术 选择开发平台 建立构件化开发体系 建立构件库
软件开发:研究基于构件和SOA技术的农业信息化应用开发平台 本文研究的主要目的是设计和实现基于构件和SOA技术的农业信息化应用开发平台,以支持农村信息化应用软件的快速生成和有效部署。该平台基于Java EE框架下...
资源名称:构件化软件设计与实现内容简介:本书以软件复用为宗旨,以软件体系结构为中心,以中间件为构件框架,系统介绍了构件化软件设计与实现的概念、方法和技术,提供了工程应用范例。在构件化软件设计方面,突出...
2. **图形化开发环境**:详述如何通过图形界面设计传感器网络,可能包括节点配置、连接设定、数据流可视化等方面。 3. **构件库**:描述平台上提供的各种传感器、处理器、通信模块等构件,以及如何选择和组合这些...
综上所述,SOA SCA服务构件架构Spring构件实现方案是当前企业级应用开发中的一个重要方向。通过将Spring框架的强大功能与SCA服务构件架构相结合,可以构建出高度模块化、易于扩展和维护的企业级服务系统。对于开发...
基于SOA的异构构件组装模型研究 浙江师范大学 硕士学位论文 2007 盛贤良 瞿有甜副教授
本文在对软件构件技术理论进行深入探讨的基础上,结合PLM系统的开发实践,在项 目中实现了构件技术的部分思想,这其中包括,软件复用及面向构件的开发方法!领域构 件库的设计与实现!构件组装环境的设计与实现!软件系统的...
基于构件的软件开发技术 本文以某公司生产经营管理系统为例,探讨了基于构件的软件开发问题。该系统是一个集原料采购、生产管理、物流管控等七大功能于一体的综合信息系统。在系统的开发过程中,作者担任系统架构师...
即使近几年炒得火热的SOA也无法为软件公司带来多少的利润和股价提升。难道软件业真的就这样了,还是在等待新的一次飞跃?我们小时候都读过这段“生产力的提高会促进生产关系的改变,而生产关系的改变又会反过来促进...
通过以上讨论,我们可以看到,基于构件化的GIS工作流中间件整体解决方案为GIS应用开发带来了很多优势,包括提高开发效率、简化复杂工作流程、增强系统的可扩展性和互操作性。这份名为“基于构件化的GIS工作流中间件...
在软件开发过程中,软件构件的开发是一个至关重要的环节,它涉及到软件的可重用性、模块化和效率。构件开发的步骤通常是系统化的,旨在确保构件的质量和适用性。以下是对"软件构件的开发步骤"的详细解释: 1. 需求...