我经常听到面向服务的体系结构(SOA)作为非技术客户或项目经理之间的流行语而被抛弃,对实际需要的内容几乎没有关注或理解(例如:"我可以购买SOA吗?").还有很多关于SOA的错误信息(例如:"只有Web应用程序可以使用SOA")以及对其功能的普遍缺乏理解(例如:"SOA可以使您的所有数据一起工作").
作为了解SOA技术方面的人,您有哪些关键事实可以用来教育项目经理如何正确使用和理解SOA?与非技术人员一起设置记录的最佳方法是什么?
对于非技术人员,我会使用以下概念。整个专业领域都是以服务为导向的。
这意味着两个主要优点:
在软件世界中,这种架构是通过定义专用于执行特定任务的专用服务(应用程序)和定义解决这些应用程序之间的通信问题的协议来实现的。当部署这样的架构时,您会获得一些好处,这些好处也可以映射到现实世界:
如果医生不在,你就无法治愈,但至少你可以从面包店得到一块饼干!在软件中,这意味着一项失败的服务不会破坏整个系统。
通常医生和面包师不共用同一个房间,这使他们能够更好地操作。就像在软件中一样,您可以将每个服务放置在自己的硬件上。
对于软件世界来说,这意味着更好的可用性、可维护性、重用性和降低的成本。祝你好运!