面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口联系起来。接口是独立于实现服务的硬件平台、操作系统和编程语言的。
这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。对松耦合的系统的需要来源于业务应用程序需要根据业务的需要变得更加灵活,以适应不断变化的环境,比如经常改变的政策、业务级别、业务重点、合作伙伴关系、行业地位以及其他与业务有关的因素,这些因素甚至会影响业务的性质。
面向服务的体系结构是面向对象的模型的替代模型,面向对象的模型是紧耦合的。虽然基于SOA的系统并不排除使用面向对象的设计来构建单个服务,但是其整体设计却是面向服务的。由于它考虑到了系统内的对象,所以虽然SOA是基于对象的,但是作为一个整体,它却不是面向对象的。不同之处在于接口本身。
SOA系统原型的一个典型例子是通用对象请求代理体系结构(Common Object Request Broker Architecture,CORBA)。现在的SOA已经有所不同了,因为它依赖于一些更新的进展,这些进展是以可扩展标记语言(eXtensible Markup Language,XML)为基础的。通过使用基于XML的语言(称为Web服务描述语言(Web Services Definition Language,WSDL))来描述接口,服务已经转到更动态且更灵活的接口系统中,非以前CORBA中的接口描述语言Interface Definition Language,IDL)可比了。
建立SOA体系结构模型需要:
(1)定义服务描述
(2)定义整个应用程序如何在服务之间执行其工作流(针对部门之间)
(3)定义服务之间关系的策略,这种策略常常采用服务级协定和操作策略的形式(针对外部合作伙伴)
(4)安全、信任和可靠的消息传递
利用SOA的好处不仅是一个软件开发流程,而且还是一个业务开发流程。采用SOA有四个层次:
第一个层次是最简单的,因为它只需创建单独的服务。
第二个层次将业务功能集成到SOA中。这涉及多个层次的集成,其中包括应用程序集成、信息集成、流程集成和整个系统集成。
第三个层次涉及将企业IT基础设施转换到SOA模型。
第四个层次集中于转换业务模型,以使之成为按需就绪的模型。
从IT专业人员的角度来看(与业务层相比),要创建SOA应用程序,通常将经历四个阶段:构建、部署、使用和管理。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
如何避免云计算与SOA冲突