在发展IT架构时你会逐渐发现到,若要获得真正的业务效益,你必须彻底改变系统架构的思维。本文是将提供给你实用秘诀、深刻剖析和领域模型(Domain Model)以规划和开发一个成功的SOA架构。
SOA:一种新的思维方式
爱因斯坦说:“当我们面临重大问题的时候,如果我们没有从引发问题的层次往上提升,从更高的层次观察问题,这些问题将不可能被解决。”这个概念应用到当今的企业IT领域时,就是说如果我们不改变对IT的思维习惯,IT也就无法成功支持企业商业方面的需求。对于开发人员和企业架构师来说,SOA为这种改变提供了一个基础的架构。
这里我们要思考的问题是:该如何自我提升到新的层次?该如何为这种彻底变革做准备?如何确保以最具成本效益、对组织最没有损害的方式来进行这种变革?所有答案之首在于适当的规划。
与其说SOA是一种技术,不如说它是一种思维方式。它是一项大胆的基础架构变革,代表我们在使用技术和相互协同方式上的变革。SOA的走红不是业界一时热潮的结果,而是因为IT业已经认识到SOA是促进业务和IT系统更密切结合的重大革命。这场革命惊天动地,对企业具有深远影响。
究竟什么是SOA?
面向服务架构的SOA是一种IT策略,它把包含在各种企业应用中的功能,组织成可相互操作和访问的标准化服务,而这些服务又可以迅速组合和重复使用以满足业务需求。
一个服务是一个由服务层次协议(SLA)管理的代码模块,可经由标准化接口进行存取访问。每个服务都表示特定的一部分功能,明确对应到业务流程中的某一步骤。服务可以重新打造或是把现有把各自孤立的应用程序中的系统功能模块公开(Expose)出来。
慢慢地你就可以建立起服务目录,使业务功能可以让许多不同系统存取访问与重复使用。这样,SOA就能同时支持策略变革并在技巧层次上减少重复数据,避免信息重复输入和人为错误。例如,使用SOA能建立一个消费者的单一视图,在此流程中,开启更多交叉销售和向上销售的可能性,进而提供更多服务提升使用者体验。
基础架构新典范
SOA的典型转移有一部份是从应用基础架构(Application Infrastructure)转换到服务基础架构(Service Infrastructure)。在SOA之前,各种应用程序是以点对点的方式连结成相互分离(silos)的系统。SOA也用同样的后端应用引擎和中间件软件,但却使用一个聚合的服务基础架构层(Service Infrastructure Layer)。
SOA实践
SOA实践依照以下步骤进行。
思维需具备策略性,执行需具有战术性:应从简单的、中立的服务来开始,从单一核心流程开始,而不要想横跨多个业务部门。
从上到下考虑:找出支持这个单一核心流程所需的服务。
从下到上考虑:找出现有系统中可当成一个服务公开、支持这个流程的功能。
考虑基础架构服务:找出共通的支持功能需求。
逐步扩充:最初的项目成功之后,再迈入技术上较具难度挑战性的项目。
建立应用目录(application catalog):一个又一个项目下来,逐步累积与重复使用服务模块,长期下来可减少你的成本。
关注受益:按投资回报率(ROI)划分项目阶段,也要为整合预留一段时间。
利用好的模型有效规划SOA
SOA若想成功,仰赖IT和业务单位之间新的合作方式。在你开始SOA规划时,需要在技术性和非技术性要素之间取得有效的平衡。 最好先从“业务策略与流程”、“架构”,以及“成本与效益”三个领域着手规划。

