将业务与 IT 结合起来
SOA 不仅是一个开发范例。该体系结构用于在业务和 IT 之间构建中间地段,其中包含双方都同意的一组与业务一致的 IT 服务,这些服务结合在一起,以实现组织的业务流程和目标。此范例提供了前所未有的灵活性:它允许将业务流程的结构化组成从为流中每个活动提供功能的服务中分离出来。它还允许将业务实现与其描述分离开来。进行了此分离后,公司能以增量的方式更改其后端遗留系统,并添加新功能来支持新需求,而不用受到供应商选择的限制。因此,可以在最小化对业务流程和 IT 系统的影响的前提下对软件包和自定义应用程序进行替换。
将访问功能从其实现分离的下一步工作就是 SOA。而且,除了此功能方面外,我们还可以将非功能方面外部化。例如,我们可以根据建立的业务策略确定哪些人应该可以访问特定的功能。我们还可以定义如何管理希望以灵活的、可重构的方式访问的技术资源。
软件工程发展的下一步就是此体系结构。它使我们从结构化对象转向分布式对象和组件,然后以一组公共服务为中心来将业务和 IT 加以结合(这些服务结合在一起,可以实现组织的流程和目标)。SOA 还允许将公司的部分业务流程向生态系统中的合作伙伴公开。
当需要支持业务灵活性的 IT 灵活性时,就可以使用 SOA。因此,对于两个程序需要进行通信并访问组合业务流程的行业应用程序而言,就非常适合选择 SOA。
使用 SOA 技术时,实时或被动系统通常不是进行实现的非常好的选择,因为当前的技术不支持将 SOA 用于有大量并发使用情况的实时系统。不过,这些系统的建模也可以从 SOA 提供的分离和独立概念获益。
SOA 非常适合用于消除冗余及将业务与未紧密耦合到特定服务实现的 IT 功能相结合。它可以允许服务使用者选择后备服务提供者(不仅基于功能进行选择——我需要类似的功能,但不要此版本的服务中的额外依赖项,还可以基于设计及运行时策略和 Web 服务管理功能进行选择)。
企业体系结构基于 SOA 的公司具有稳定的基础,能从现有系统概念地抽象业务功能。它们还具有允许随着新软件包、系统和资产的提供和新需求的出现以增量的方式进行业务驱动的 IT 转换的基础。