Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说SOA到底是什么「终于解决」,希望能够帮助你!!!。
首先,SOA是一种开发思想。是一种松耦合的框架。可以让软件超越开发语言。SOA强调的是一种架构思想,组件化的灵活的开发方式。
SOA是一场革命。一个应用程序的业务逻辑(business logic)或某些单独的功能被模块化并作为服务呈现给消费者或客户端。这些服务的关键是他们的松耦合特性。例如,服务的接口和实现相独立。应用开发人员或者系统集成者可以通过组合一个或多个服务来构建应用,而无须理解服务的底层实现。举例来说,一个服务可以用.NET或J2EE来实现,而使用该服务的应用程序可以在不同的平台之上,使用的语言也可以不同。
SOA的全称是Service-Oriented Architecture,面向服务架构。是一种架构,不是一种具体的开发技术。
要真正理解什么是SOA需要从软件开发的技术发展史谈起。
真正的软件开发从开始到现在经历了四个阶段,也可以说成是四代:
SOA与前面三代的软件开发技术对比,不同点是SOA超越了软件开发语言本身。是一种面向服务的架构,与软件开发语言无关。
但就软件开发本身来说,SOA是一种技术,又超越了所有具体的技术。
SOA既然能成为第四代软件开发技术,究竟带来什么革命。
首先,SOA是一种开发思想。是一种松耦合的框架。可以让软件超越开发语言。
其次,SOA的开发需要SOA体系的支撑,就像J2EE应用一样,离不开应用服务器。SOA也一样,也有一个类似J2EE服务器的东西支持着整个SOA体系架构----ESB(Enterprise Service Bus),企业服务总线。通过这个总线,将多个系统连接起来。
其次,SOA是基于消息请求响应的一个系统,对请求类型有高度的兼容性。与一个Web应用容器相比,web应用容器只能处理HTTP请求,而 SOA的ESB可以接受HTTP、FTP、WebService、JMS...等请求。这就使得SOA架构具有高度的兼容性,可以将不同的平台集成到一 起,从而相互协调工作。
对SOA口号叫的最响的是IBM,出书最多的也是IBM,成功的案例还没看到。所有的大公司都在忽悠,希望拿到第一笔大单。
SOA以来ESB,ESB本身也是一种中间件,或者说是一个增强了的企业应用服务器。目前开源的有几个,也没见过成功的案例。估计SOA技术从起步到成熟还有很长一段路要走。ESB的实现还需要一个发展过程。相反与SOA有紧密联系WebService技术已经深入人心。现在用的比较多。
正因为SOA架构实现不依赖于技术,因此能够被各种不同的技术实现。
因此 REST、SOAP、RPC、RMI、DCOM等都是SOA的一种实现而已。
作者:半兽人 转载来源:http://orchome.com/145 网站来源:OrcHome
上一篇
已是最后文章
下一篇
已是最新文章