【IT专家网独家】在软件开发这个冒险的领域,我们都经历了经验、批评并且采用了许多软件生命周期的方法(如RUP、Agile、Scrum、XP等)。这些方法的核心是确定软件流程中的各个阶段,并通过各种重复的技术优化这些方法。Gregory Bohmer根据他对许多项目的咨询经验指出,软件开发过程中有一套略有不同的“阶段”。扩展这些传统的软件开发阶段,这种演化的软件周期将给管理者和开发人员带来令人难以置信的负担,经常导致人员消耗、流程下降或者耗尽资源。了解演化周期,软件专业人员就能够做好应付那些冷酷无情的影响的心理准备。
业务部门经常叹息说,我的程序员不理解我!这个软件不能做我需要做的事情。标准化的应用程序并不完全适合理想的商务流程。客户化应用程序价格昂贵并且会很快不适应现实的环境。由于应用的成本高以及缺乏流程的灵活性阻碍了业务的发展,管理层和部门会经常对应用软件提出批评。
SOA在最初发展的时候,目的仅仅只是为了使应用功能可以被作为共享服务来使用,这一点牵引着个领先的IT架构理念一步一步走到现在。不过,企业从最初开始得SOA道路到现在,都还在建立属于自己的架构体系。相比之下,不同的是在过去几年中,业务方面的需求更好的体现了这一IT技术的战略价值,而IT方面也更多的了解了业务方面需要承受多大的竞争压力。如此一来,SOA就能够提供IT与业务前所未有紧密结合的可能。
业务需要
业务需要的是一组服务:能够重组,得出新业务流程以支持新的产品或服务组件。而SOA的职责所在就是发布这些服务,提供连贯一致的框架,使服务组件能够得到治理并重组为应用。虽然许多SOA的举措仍停留在早期阶段,它对增加业务反应度的承诺还是真是可靠的。我们看到越来越多的企业正推进更为高级的部署。
对于开发人员而言,他们无时无刻不面临的问题是:所有的应用程序使用在对于一个很普遍的系统时,即便是在同一时刻不同的团队之间也无法很好的达成协作。公司并不仅仅只是打算让简单的让SOA在开发工具和综合应用平台上发挥微乎其微的作用。更多的是他们希望SOA能够在更为广泛的程度上自由发展,从一个领先理念指导的前提出发整合所有平台为一体以达到最佳的效果,从而可以更好的专注于应用程序的功能性并在此程度上最大限度的使用各个开发技术所带来的优势。但是对于SOA的核心观点而言,对于完全不同的系统是需要友好整合在一起的。对于SOA最为明智的理解是对于处理散乱的信息处理功能,能够将业务流程作为整体指导并分成若干的不同的组件,发展成型的独立应用服务,并根据不同的业务应用需求将这些组件有选择性的匹配起来。在SOA的基础上,这些不同的功能模块组件能够像积木一样组合,同时也可以几乎无限的分散成各个块。
业务部门与IT部门的这种分歧可以追溯到执行商务管理应用程序中的技术流程要求的一些基本问题:很长时间以来,没有一种方法能够在明确地表明专业人员的商务流程要求的同时也同样满足软件中描述这个流程的技术要求。现在,采用SOA(面向服务的架构),新的篇章正在开始。在这个新的篇章中,真正的商务流程将在应用程序开发中占主导地位。商务流程模型与SOA的结合将消除业务管理问题和IT实施之间的隔阂。

