当前市场不断出现快速交付业务价值的需求,这对企业意味着什么?意味着企业架构不能过于复杂,否则很难满足快速变化的市场。这对企业架构设计师来说非常困难,因为我们既不想做“快速而臃肿”的架构,也没有足够的(时间和资源)来做“简洁干净”的架构,那么我们该怎么办呢?
简单地说,我们需要的是构建快速但可持续的架构。这是关于找到实用主义(精益 EA)与规则(框架驱动 EA)的正确平衡。
集成架构作为一个概念,始于各种应用程序的点对点集成。但随着业务需求的发展和技术的进步,我们逐步转向使用中间件来“精心安排”集成连接系统公开或消耗的各种服务。
面向服务的架构(SOA)是一种流行的集成架构,它不仅仅涉及中间件,而是一种以服务为导向的架构方法。在SOA中,各种应用程序、业务流程和其它可重用的服务通过标准化的接口(如Web服务)进行交互和集成。
虽然中间件通常是 SOA 的一个组成部分,但在SOA中,服务可以在不同的技术平台上实现,并且可以使用不同的通信协议和数据格式。事实上,即使在最“现代”的 SOA 环境中,也总会存在一些点对点集。我们可以将其称为遗留应用程序接口,但实际上它不只是遗留,还是现代的。
我将总结几个关键的 SOA 概念:
1.服务合同(包括标准集成、文档等)
2.Litmus“测试”标准(包括业务对齐、可组合、外部描述、可重用、技术上可行)
3.编排(包括流程、监控、安全等)
我并没有将中间件列为所有接口的 “工具”,但当然,大多数集成服务都期望它成为工具。 通过中间件拥有统一的视图,将进一步简化集成服务生命周期的管理——从设计、实施、操作,最后到更换和淘汰。
另外值得注意的是,SOA 不仅限于本地或云架构,它甚至可以是混合云。
不过, SOA 能否满足对业务流程集成、UI 集成、“物联网”(IoT) 和 AI/ML 集成等不断增长的需求?显而易见的是,SOA并不能满足日新月异的市场变化和技术变化,那么一个智慧企业需要怎么样的架构呢?
因为我们的业务必须快速,它需要行动(不仅仅是反应)上的智能企业。这种“智能”,具有许多内部或外部的集成服务,它是复杂生态空间的一部分,与其他智能企业相连。 因此,智能企业需要的不仅仅是集成的应用程序和服务,它还需要一个支持互操作性的环境。
在缺乏服务的集成中,我们是要通过中间件来运行微服务还是Webhooks?这样的讨论或许没有太大的意义。
在智能企业中,我们应该看得更远,它不仅仅只有API 驱动的集成架构。在未来的环境中,不存在单一的中间件,也不存在用于构建集成服务的单一样式或模式。
在构建集成架构时,我们应该更开放(对于新事物、新风格、新模式)。我们需要在“现代”智能企业中构建互操作性环境时,保持足够敏捷。
毕竟,敏捷企业架构是关于互操作性的,而不仅仅是集成的。