我眼中的面向服务编程
我眼中的面向服务编程
在进入大学不久便接触了编程,从面向过程到面向对象,再到面向组件(面向接口),以为编程方法应该到此为止,而在偶然的一个时间从一位学长口中得知了还有面向服务这个概念,为此通过查找资料以及自身思考,认为面向服务应该是这样的一个东西。
首先它是一个方法,编程的方法,一个为了解决面向对象以及面向组件带来的缺陷的编程方案。而它的基本单位便是服务,相对于面向对象方法的基本单位是对象一样。
其次它的基本单位——服务,应该是把众多组件组合后封装起来的形成的一个能独立完成某一项功能(也就是服务,比如说洗衣服)的块,这个块具有自我管理,自我修复,提供安全的客户通信以及不断完善和扩展自己等功能。
再者就是我本人对于它的结构组成的看法:
它应该有四个基本部分:客户端、服务器端(主要处理客户请求)、组件数据库以及基本数据库。
(1)客户端:最简单的一个部件,只需要有发送请求和提供服务两个基本功能就足够了,发送请求部分不必细讲,提供服务部分就应该具有一个能对视觉、听觉等人类需要的服务展示的平台,确保服务被客户享用到。
(2)服务器端:也是比较简单的一个部件,主要是接收客户的请求以及将请求处理成指令发送给组件数据库,并拿到返回的组件,将返回的组件数据还原成服务回送给客户,可以理解为类似于操作系统的东西。
(3)组件数据库:是比较复杂的一个部件,存放标准的组件,根据被需要的组件向基本数据库发送指令获取被需要的数据,接收来自服务器端的指令,根据指令来搜索需要的组件并组装成相应的服务还回给服务器端。
(4)基本数据库:是最复杂的一个部件,用于存放组件的数据,接收来自组件数据库的指令,根据指令获取并处理相应的数据,生成相应的组件返回给组件数据库。由于需要存放大量标准组件的基本数据,而且需要对来自组件数据库的指令做相应的操作,所以该部件需要强大的计算能力、储存能力、读取能力以及组装组件的能力,至少在时间上有严格要求,所以主要设备(计算和储存)都应该在这个部件上。
最后谈谈关于实现它的效率基础,本人认为一下几个方面都是必须的:
1.高速的网络
2.稳定的硬件
3.具备概念发展中的云计算能力或超算能力
4.高度发达的物联网技术
缺少某一个环节都将会造成服务的中断,所以本人认为缺一不可。