传统企业(数据库)应用软件产品,如MRP、ERP、OA系统等,在设计或架构上都是紧偶合、封闭式、自成体系,属于一次性投入一次性完结的产品。这样的产品很难适应或快速响应市场或客户灵活多变的需求,以及后续的扩展。在这样的市场、及客户需求下,从而催生了软件产品一种新的设计或架构的理念:面向服务架构(SOA架构)。
其原理是,通过分析服务之间的相互调用,SOA使得公司管理人员方便的拿到什么时候、什么原因、哪些商业逻辑被执行的数据信息,这样就帮助了企业管理人员或应用架构师迭代地优化他们的企业业务流程、应用系统。SOA的一个中心思想就是使得企业应用摆脱面向技术的解决方案的束缚,轻松应对企业商业服务变化、发展的需要。企业环境中单个应用程序是无法包容业务用户的(各种)需求的,即使是一个大型的ERP解决方案,仍然不能满足这个需求在不断膨胀、变化的缺口,对市场快速做出反应,商业用户只能通过不断开发新应用、扩展现有应用程序来艰难的支撑其现有的业务需求。通过将注意力放在服务上,应用程序能够集中起来提供更加丰富、目的性更强的商业流程。其结果就是,基于SOA的企业应用系统通常会更加真实地反映出与业务模型的结合。服务是从业务流程的角度来看待技术的--这是从上向下看的。
SOA要求开发者超越应用软件来思考,并考虑复用现有的服务,或者检查如何让服务被重复利用。SOA鼓励使用可替代的技术和方法,通过把服务联系在一起而非编写新代码来构架应用。经过适当构架后,这种消息机制的应用允许公司仅通过调整原有服务模式而非被迫进行大规模新的应用代码的开发,使得在商业环境许可的时间内对变化的市场条件做出快速的响应。
保全或保护企业原来遗留下来的软件系统,实现软件数据的无缝接轨,避免企业原有投资打水漂、数据需重复录入。由此,可以缩短软件产品的实施推广期。可以在实施推广期间,快速调整以最大程度的满足客户的需求。在客户应用业务发生改变,必须进行新的投入、改造时,产品可以进行新的快速扩展或直接第三方设备(软、硬件)兼容。从而避免产品本身的僵化,成为使用者的遗留系统。