最近一直在考虑平台的总体结构以及服务框架的问题,粗粗的接触了OSGI和SCA等思想,有了一些思路,但是还不是很清晰。昨天很好的机会,和普元公司做了一次交流,看到了很炫的IDE功能,同时也看到了SCA思想真正运用到了实际平台中的效果,中间的工作流也给我留下了很深的印象。
1.程序员就是技术工人,使用好的工具就是为了提高生产率。刚出学校大门,遇到了JAVA,真正的了解了面向对象编程,看到了面向对象带来的优势,封装让我们这些初出茅庐的小劳工知道了如何将做好的成果,下次再用,一次一次的重构,将小零件作的越来越顺眼,这个过程中,也让我们在重构中积累了经验,我想这也是每个程序员必经之路,有了这个阶段的积累,将来收益无穷。接着遇到了被大牛们说的神乎其神的J2EE的EJB,这时候,从简单的类复用逐渐转变成为了组件复用,同时J2EE容器提供了功能强大的容器。在EJB的世界里,传说只需要关心业务逻辑,开发人员不必再为一些重复的细节和非业务的功能反复重构轮子,我们只需要根据客户的爱好,给车子上面点缀一些装饰即可。但是结果并非如传说这样,对于EJB的组件的误用造成了性能瓶颈,对于容器的过分依赖,以及发布部署的复杂,调试的繁琐,不仅让原来支持他的大牛对它丧失了信心,也让新人们敬而远之。此时,大家开始迷惑究竟怎样的模式才能够真正适合开发人员。这是,spring的出现,无疑给了每个人新的亮点,IOC的思想,回归POJO的原始,让大家知道了,原来简单才是我们需要的,就好比现在流行绿色健康生活,吃粗粮,回归简朴生活就是最好的。但各大厂商当然不能让这个状况永久的保持下去,后面有千千万万口要吃饭呢,这时候又掀起了SOA的狂潮,一种思想,一种理念又类似于当年的EJB开始蔓延,这次他所提倡的就是更高级别的复用,服务的复用,Internet提供了开放的环境,但是没有一种统一的服务访问模式,让各个企业之间成了信息内部丰富的孤岛,需要将这些孤岛串联起来,同时要最大限度的复用有限的资源,因此提出了面向业务的服务概念。但是很可惜,SOA喊了很多年,但都还是一个概念灌输阶段,一直都没有一个机构给出一个真正的实施标准,因此大家都采取的观望态度。服务的复用也就停留在了理论阶段。
2.SCA和SDO的出现,给SOA来了点实际的。SCA(Service Component Architecture)其实就是将过去EJB的成果继续下去,基于Component的复用,同时吸收了IOC的思想,Component之间的组装是通过SCA框架来实现的,但是很重要的一点,他没有走EJB的老路,而是学习spring的轻量级框架,不再为开发者作的面面俱到,其实,特别对于中国的程序员来说,不需要太多的框架去限制他们,只需要给他们一个可以订制的灵活的框架即可,他们的手艺都不错,同时也可以在这个订制的阶段学到很多,这也是为什么开源项目吸引那么多高手的原因,因为参与和创造才能给程序员一种自我实现的快感。SCA的Component和OSGI的Bundle一样其实是对Java封装的一种贯彻,它有需要Import的服务引用,需要Export的服务,很重要一点就是它对于Component,service,reference的实现都没有作限制,这类对象只需要有个接口定义和实现描述即可,当前规范中支持的接口定义可以是java接口也可以是wsdl文件(最终也是转换成为java接口),实现的话那么更加广泛java,webservice,rmi,jms,脚本语言等等,同时提供了扩展接口,所以只要你想的到,就可以实现的了。然后多个Component组装成为一个Composite(对于业务开发来说,也就是一个业务的Model)。
3.一种约束。对于JAVA开发人员来说,看你是否有经验,其实看看你写的代码就能略知一二,能够抽象设计,能够针对面向接口考虑,那么这个开发者多多少少对于面向对象就有一些认识。在我们现在的业务开发者开发的系统来说,让人很头痛的一件事情就是,我们可以约束Java的规范性,但无法约束业务开发的规范性,好比客户模块一堆类,实现了一大堆功能,订单模块需要查询客户信息,这时候开发者不会去和开发客户模块的人员交流,自己开发了直接访问客户信息代码,结果就是,维护成本大,客户模块修改了,他不知道到底有多少模块需要去更新,反复的重写同样的逻辑,最要命的就是系统的耦合度增加,无法单独的将这些业务模块独立出来,系统没法根据业务模块来拆分。而如果基于更高级的组件复用和服务复用,那么模块间的信息交互不得不通过接口的方式来调用,这就提供了一种业务开发的约束。
4.SCA和OSGI的互补。记得在论坛上有人讨论过SCA和OSGI的优劣,但其实作为这两个规范面向的解决问题都是不同的,SCA是SOA的一个实现,SOA是解决分布式服务的互通问题,而OSGI是针对单机服务的动态绑定义及组装,因此两者不存在着可比性,但是在我看来,两者却有着很好的互补性,在平台的现有情况下,用SCA来实现服务框架,同时通过OSGI来实现组件装配,这无疑是很好的一件事情,同样有个开源项目也正在做这件事。
其实,任何技术开发人员都喜欢采用最新最流行的,但是作为架构师,却需要选择最合适的,因为我们是在为公司的盈利作出自己的贡献,而不是为实验室作出Fancy的效果,因此自己玩可以用最炫的最新的,而真正考虑做一个项目,开发一个框架,那么需要慎重的选择一种合适的技术规范,利用可以利用的资源,Solve Problem。后续将会把自己前段时间整理的SCA的实践整理一下,毕竟这个让SOA落地的东西到底是否能踏踏实实的干活,还是需要实践来检验的。
分享到:
相关推荐
普元EOS-NUI开发框架源码,介绍nui框架各种组件,下拉框,多级联查显示,数据表单验证等NUI组件是公司新一代的前端开发框架,它精致优雅的前端编程模型,是大家能够,或者想接受学习它的重要原因,在使用它的时候,...
【普元权限框架ABFrame】是一个专为EOS6应用基础框架设计的权限管理解决方案,它旨在提高开发效率,增强系统稳定性和展示EOS的构件思想。ABFrame不仅提供了基础的组织结构和角色权限管理,还引入了更高层次的开发...
普元eos的帮助文档详细介绍了如何安装使用普元前端开发框架NUI,它是普元eos的前端技术组件,可以帮助开发者快速构建Web界面,提高开发效率,减少代码编写量。本篇文章将从普元eos帮助文档的内容出发,提取出以下几...
对于初学者来说,通过nuiDemo示例学习,可以快速理解并掌握普元EOS的nui功能。 **1. 普元EOS平台基础** 普元EOS是一个开放源码的企业级应用服务器,它包含了服务层、业务层、表现层的全面解决方案。EOS的核心功能...
【普元SOA中间件技术特征与架构】 普元SOA(Service-Oriented Architecture,面向服务的架构)中间件是一种先进的软件系统设计方法,它强调将企业应用解构为可独立部署、可复用的服务单元,从而实现业务流程的灵活...
普元,全称普元信息技术股份有限公司,是一家专注于基础软件平台研发与服务的高新技术企业。在IT行业中,普元以其高效、稳定、可扩展的中间件产品和服务著称,为各行业的信息化建设提供强大的技术支撑。 一、普元...
- **资源服务标准化**:对于底层资源访问,EOS实现了资源服务的标准化,提高了IT集成与业务集成的效率。 - **SOA标准技术架构**:EOS采用了先进的SOA(Service-Oriented Architecture,面向服务架构)标准技术架构,...
【普元红宝书系列】是一份集合了普元公司全系列产品和技术文档的珍贵资源,为开发者和IT专业人士提供...对于开发者来说,【普元红宝书系列】不仅是了解普元产品的窗口,也是提升技术水平、解决实际问题的宝贵参考资料。
普元BPS开发api普元BPS开发api普元BPS开发api普元BPS开发api普元BPS开发api普元BPS开发api
**EOS - 普元企业服务总线** EOS(Enterprise Service Bus),由普元公司研发,是一款高效、灵活的企业服务总线系统。它在SOA(Service-Oriented Architecture,面向服务架构)环境中扮演着核心角色,为企业提供了...
普元EOS开发帮助手册,普元EOS开发帮助手册,普元EOS开发帮助手册,普元EOS开发帮助手册
3. 促进技术普及:普元面向个人开发者提供易于理解和使用的SOA工具和平台,降低SOA技术的入门门槛,促进其在国内的广泛应用。 4. 创新解决方案:普元结合中国市场的特性和需求,开发出符合本土化的SOA解决方案,解决...
1. **高性能**:通过采用多进程管理、SEDA(Staged Event-Driven Architecture)和NIO(Non-blocking I/O)等先进技术,普元ESB在不依赖Java EE容器的情况下,有效分散了性能瓶颈,显著提升了系统处理效率,确保了...
【普元EOS与FlashPaper整合应用详解】 在IT行业中,普元EOS(Primeton Enterprise Service Oriented Operating System)是一款常见的企业级服务化操作系统,它提供了一整套面向服务的架构(SOA)解决方案,用于构建...
【普元信息技术股份有限公司2021年半年度报告】是该公司向公众披露其在上半年经营状况的重要文件,其中包含了公司的财务数据、经营策略、风险管理等多个方面的内容。以下是该报告中涉及的一些关键知识点: 1. **...
总结来说,《普元信息:普元信息技术股份有限公司2021年半年度报告》是一份全面展示公司业务运营和未来规划的重要文件,对于投资者、分析师以及关心普元信息发展的各界人士而言,具有极高的参考价值。通过深入阅读和...