使用SOA架构的企业,应该是有一定IT系统基础的企业,最好是已经实施过ERP,或者HCM,CRM等的企业。企业发展到一定的程度,会需要上线相应的ERP来规范化流程,数据。而当企业进一步发展后,单一的ERP产品已经无法满足业务变化的需要,比如一个业务不仅和生产相关,同时还和人力资源相关,另外还和公司内新开发的一个第三方系统关联。ERP应用二次开发已经无法满足这种需求,而SOA就能很轻松的胜任。
现存的ERP和HCM,CRM等必定存在很多现成的服务,或者说很容易就能包装出服务。在这些服务的基础上,加上一定的整合代码,就能快速开发出符合企业工作流的应用,优化企业的流程。
SOA架构的主要目标就是把这些服务整理出来,用统一的规则进行管控,像企业API一样方便新开发的应用使用。书中所提到的全息架构视角列举了一系列的活动,产出物来达成这个目标。
企业架构
了解企业的组织架构,现有的IT化程度, ERP, HCM, CRM等的覆盖程度,明确架构建设目标。了解组织的目标能够帮助做到有的放矢。因为任何开发的活动,都是为了帮助这些目标的实现。
业务架构
业务架构范围其实是很宽泛的,企业的任何活动都可以称之为业务。不可能所有的业务都涵括,但是作为企业的核心业务,还是需要非常的明确。从企业的现金流,战略出发,整理出企业的核心业务。这些业务按照不同的层次,建立相关的列表,整理出目录。
另外需要挖掘的是目前企业的痛点,比如某些费时耗力的流程,或者稳定性很难把握,经常会反复的事情。
非功能需求
对性能,易用性,安全,灵活性,维护性,互操作性等的定义和归纳。
应用架构
- 技术层面的总体规划,对已存系统的技术框架,应用规模的考虑,实例化出Service的方法归纳整理。
- 企业总线的选择,SOA框架的抉择。结合以存系统,选择最优解决方案。学习曲线是首要考虑的问题,毕竟是全司推广的技术,一线工程师的掌握熟练程度直接影响整体产出的质量。灵活性,扩展性也是重要的因素。
企业总线是SOA的核心,它的选择和应用的程度,自动化管控程度等直接关系到SOA架构的成败。
接口规约
对于开发,暴露出来的服务,其目的就是要让其他应用来使用(SaaS)。那么这个服务的实现的原则的统一和定义就显得尤为重要。如何让使用者快速的理解服务,并使用服务是提高效率的关键因素。
- 接口开发遵循严格的原则Standard.
- 产出的文档要清晰明了,以方便重用
架构实现
服务是在各种语言,各种平台上实现,并注册到企业总线上的。两个目标:
- 经济有效的实现服务: 各种语言平台,经济有效的实现。
- 快速有效的维护,部署,验证服务。考虑自动化编译,部署,版本管理等
架构校验
- 自动化校验服务,明确的架构测试计划和用例。
- 完善的变更管理,并能确保主题的稳定性