今天分享下SOA服务架构规划的整体方法论,并基于多年前的一个项目案例进行说明。在传统的企业架构规划里面往往并没有特意强调服务架构规划,仅仅是在应用架构规划里面增加了应用集成架构分析和接口梳理。
但是到了当前微服务架构和中台建设情况下,对于服务架构规划会成为一个关键点,即中台构建完成后最终还是要提供接口服务能力给前台应用使用。那么这些接口服务本身是否可复用,颗粒度是否合适就成为中台提供价值度的一个关键内容。
在微服务架构规划和设计下,可以看到基于企业架构的SOA服务规划架构思路仍然适用。服务架构规划整体方法论
再次强调下SOA的核心思想是解耦,在首先满足解耦的要求下实现共享,协同和复用。一个完整的业务系统被拆分了应用,服务和资源层能力三个方面的内容。资源层的能力最终以粗粒度的服务方式暴露出来,应用的构建需要大部分的借助于共享服务层抽取和接入的各种服务能力。对于传统的企业架构规划和SOA规划思想的融合,在这里也只谈一些关键点和上下游衔接。
从端到端流程分析梳理业务架构
首先谈下业务架构的设计必须是以端到端流程驱动入手,通过逐层的流程分解最终确定各种业务活动单元,各个业务活动单元按照高内聚松耦合的指导原则(各种类似CRUD的矩阵分析方法)来确定大的业务域和业务组件。前面很多文章都谈到了业务组件化和组件能力化是一个核心,那么初步的业务架构和业务组件规划完成后,接着又一个重要的事情即组件向外暴露的能力服务如何识别?在这里需要在业务架构层面增加一个跨业务域或业务组件的组件交互或协同分析,分析在完成一个端到端流程的时候这些业务组件应该如何交付,那么这些具体的交互点将成为潜在的服务识别点。
数据架构规划和设计
在业务架构完成后进行数据架构规划和设计,而数据架构规划中的一个重点即是SID共享数据,其中包括了主数据和共享动态...
(全文)