网上对于SOA架构的说明和解释很多,我就不再累述了。SOA架构只是一种思想,将业务分为服务进行封装,对服务进行管理,进行配置的各种策略和方式。下面介绍一种实现了SOA架构的方式:
1.根据业务对服务进行分类,大体分为:系统配置服务(必须的,SOA架构中的Search角色和配置角色),用户认证服务(基本所有系统都需要的),数据管理服务(对数据库的增删改查),业务处理服务(处理系统中的具体业务),还有很多比如日志服务,文件处理服务,消息路由服务等等等等。服务各种的状态不依赖于其它服务,服务都是个自包含的整体。大体的架构如下:
2.系统的每个服务只发布一个接口,接口叫Invoke(string str)。这样的好处是解除了服务端与客户端调用的耦合度,客户端只需要晓得一个Invoke接口即可。invoke内部的参数是一个字符串格式的参数,这就表明是序列化对象后的数据。服务端收到数据后进行反序列化即可。这样做还能跨越平台,采用json或者xml序列化
3.这种系统架构的流程:
启动系统配置服务------------》启动其它服务(从配置服务下载配置信息,比如数据库连接配置文件等等)
客户端输入系统配置服务的IP和端口-------------》连接配置服务----------》下载配置服务的配置文件(其它服务的IP地址和端口)-----------------》调用其它服务