面向服务(Service-Oriented Architecture,SOA)
面向服务的体系结构是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以使用一种统一和通用的方式进行交互。
软件设计方法的变革:
面向过程(1970S)
是一种以事件为为中心的编程思想。就是分析出结局问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个一次调用就可以了。设计思想:程序=算法+数据结构
面向对象(1980S)
是一种以事务为中心的编程思想。在面向对象分析设计方法中,基本的构成是类和对象。对象是封装了描述其属性的数据以及可以对这些数据实施的操作,对象之间通过发送消息相互协作。提供了信息隐蔽、继承、多态和动态绑定等机制。
基于组件(1990S)
基于组件的软件开发方法的基本思想就是“分治”,强调将系统分解成松散耦合的组件并独立开发,然后通过接口及脚本语言将它们连接起来。
面向服务(2000S)
面向服务的体系结构是一个组件模型,它将应用程序的不同功能单元成为服务通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构件在各种各样的系统中的服务可以以一种通用的方式进行交互。
面向服务体系架构与传统架构的比较:
总结:
函数——>对象——>组件——>服务
面向过程——>面向对象——>基于组件——>面向服务
从过去到现在,软件设计方法所关注的侧重点在一点一点的变化,我们的思想和技术也在一点一点的进步!