对于基于SOA参考架构和技术标准规范体系,服务总线的技术架构设计应该包括了集成架构和技术架构两个方面的设计内容,因此先简单描述下这方面的设计内容。
服务集成架构体系
对于服务的集成主要包括业务组件和平台的纵向集成,也包括了业务组件之间的横向服务集成。当前私有云PaaS平台环境的集成需求主要包括技术服务集成、大数据集成和业务服务集成三个方面的内容,而这三方面服务集成本身具备了不同的业务特性,简要说明如下:
- 技术服务: 数据量和并发量大,实时要求高;
- 业务服务: 数据量小,并发量大,实时要求高;
- 数据服务: 数据量大,并发量小,实时要求低。
根据以上三种服务本身的技术特点, 可以将服务总线本身分为ESB、大数据总线和轻量总线三种服务总线集成模式,对于三类服务总线最终都归集到统一的服务目录进行管理。
传统的ESB主要用于业务服务集成,业务服务本身对消息可靠性、数据和事务一致性要求高、路由规则复杂、服务运行数据审计要求严格,同时还存在和企业内部遗留业务系统的适配和转换。因此对于业务服务本身最适合采用ESB或传统的消息中间件进行集成。
对于技术服务,则建议采用Restful Web Service的服务方式进行开发和服务能力开放。技术服务本身数据和并发量都很大,而管控的重点本身是服务的鉴权和服务运行监控管控,而非技术服务本身数据审计,因此对于技术服务适合采用一种轻量的能够实现服务鉴权,路由和运行安全审计的总线来进行接入和统一管控。
对于大数据服务集成,虽然对数据服务本身的实时性要求不高,但是每次传输的数据量都很大。如果仍然走传统的ESB接入和集成,将对ESB的性能和内存消耗造成巨大的影响。因此对于大数据服务集成建议的方式是采用传统的ETL集成和Web Service结合的模式来实现。对于服务层只实现服务请求发起和服务代理管控,而数据本身的传输仍然走传统的ETL集成模式完成。
服务集成关系
在SOA服务层功能规划完成后,可以进一步分析业务应用群和PaaS平台之间通过服务层的集成关系。
如上图,其中PaaS技术平台层提供的4A和流程服务、DaaS数据库服务、技术服务(消息、日志、安全、文件、配置、通知、GIS)等服务能力都统一注入和接入到服务总线。实现纵向的平台层能力向上的能力开放和服务共享。对于业务系统而言,业务系统被划分为多个松耦合的业务组件,业务组件向外暴露相应的业务服务能力,这些业务服务能力最终也注册和接入到服务总线,以实现横向的业务组件协同和端到端业务流程的整合。
服务技术架构体系
服务技术架构设计仍然是参考标准的SOA参考架构和组件化开发进行。 其核心思想是首先需要参考组件化和平台化开发的思想,将传统的IT应用架构分解为多个高内聚的技术组件和业务组件,同时识别组件可以复用的原子服务能力将其共享发布 ,然后基于原子服务能力可以进一步进行组合服务的设计,进行服务的编排和流程组装。
在私有云PaaS平台中的服务总线,已经从传统单纯的SOA集成平台转化为了服务能力共享平台、服务和流程编排平台。 其核心是共享服务能力的开放而不是跨系统或组件的数据集成和交换。当然对于传统的历史遗留系统仍然可以采用数据交换和集成的方式进行集成和接入。
对于服务技术架构设计 一方面是参考SOA标准技术规范体系,一方面是参考SCA/SDO组件化设计模型和规范 。在服务层设计时前期的重点是可复用的技术和业务原子服务的识别、开发和共享;后期重点则是针对原子服务的组合服务,基于原子和组合服务的服务编排和流程组装。正是因为业务流程或功能是通过底层的各种服务灵活组装和编排出来的,才使得这种服务化架构能够通过配置或重新编排的方式快速适应业务的变化。
评论