现在常常听到有人讨论SOA,SOA究竟是什么,众说纷纭。在此,我也将自己的认识写出来,欢迎交流。
一、认识SOA
SOA(Service Oriented Architecture)1996年有Gartner提出,后经过IBM、SUN、BEA、Oracle等公司完善和推广,SOA的思想和理论逐步得到完善。
SOA的出现,预示着一个以服务为导向的新IT(Information Technology)时代的到来。
SOA服务的理念思想,本质上是一种业务和技术完全分离,业务又能和技术自由组合的思想,它达到了软件设计的最高境界。
SOA是为软件集成而服务的,它实现了技术和架构的完全分离,消除了软件服务集成的所有障碍。
SOA超越了所有的具体技术(如WebService),也超越了所有具体的架构(ESB),同时,SOA也包含这些具体的技术和架构。
SOA在Java领域有两套标准:一个是SUN推出的JBI(没有得到BEA和IBM的承认),另外一个是:IBM和BEA等公司推出的SCA和SDO标准。
二、IT的本质和发展史
IT的中文翻译为信息技术,是为企业的需要出现的。IT的本质上包括两种信息的使用方式:创建信息、调用信息。
IT的进一步发展:信息集成。使信息的应用价值提高。
IT语言的发展史:面向过程--》面向对象--》面向组件--》标准的WS--》面向服务
IT语言的发展过程:逐步的解耦与封装。
三、WebService与SOA的区别
SOA是在WebService的基础上发展起来的
WebService实现了松耦合和粗粒度的服务
四、SOA的基本要素
松散耦合:服务之间、接口与实现之间、业务组件和传输协议之间
粗粒度:SOA中服务的接口更接近实际中的用户操作。
位置和传输协议透明:不论服务组件的传输协议如何改变,客户端的调用程序传输协议不需要改变。
五、SOA的目标
敏捷的、不受限制的业务集成。
-------------------------------
SOA的思想很高级,实现太复杂,SOA实施过程也很不容易,业务的抽取、划分都是很费劲的事情,很多软件为了适应SOA要重写。
SOA的给开发人员也带来了沉重的学习负担,是一个挑战,不管怎么样,我们只有准备着,迎接真正的SOA时代到来。
本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/160901,如需转载请自行联系原作者