2008年12月4日 北京近日,由中文技术社区Csdn主办的“中国软件开发2.0技术大会”(SD2C 2008)在北京九华山庄拉开帷幕,一千多名CTO、架构师、项目经理与开发管理人员及软件工程师齐聚歆享这场技术盛宴。会上,来自普元软件的首席架构师焦烈焱与胡长城围绕“SOBA:企业应用2.0”主题发表演讲,揭示在企业软件应用领域,随着IT与业务更为一致的客户需求压力,面向服务的业务应用(Service-Oriented Business Application,简称SOBA)将成为软件开发的主流。Gartner是SOBA一词的定义者。在他们看来,SOBA是ERP、CRM和其他C/S(客户机/服务器)商业应用的终极体现,而这些应用正是目前单一计算体系的中坚力量。Gartner甚至预言,面向服务的业务应用(SOBA)将会兼备ERP、CRM、供应链和其他应用的全部功能,从而成为单一的商业应用终结者。在SOA时代,SOBA将是商业管理系统的代名词。何谓SOBA?SOBA(Service-Oriented Business Application),面向服务的商业应用,其理念是构造可复用、易集成的业务应用。SOBA的核心是以用户为中心、以流程为中心,针对目前大多企业的现状(拥有多个相互之间难于集成的异构系统和框架、新的应用需求复杂高、业务创新迅速),通过整合界面、业务流程、服务和信息,提供统一、灵活的用户体验和跨流程、跨系统的组合能力。

企业应用技术架构的演进会经历3个主要阶段:主机架构、客户机/服务器架构、企业服务架构。他们之间的主要区别是:
- 在主机架构下,数据和逻辑是一体的,采用面向过程的设计方法,每个应用是一个孤立的系统,维护相对容易,难于相互集成;
- 客户机/服务器架构将逻辑与数据进行了分离(不论C/S还是B/S 模式,本质都是客户机/服务器架构),采用面向对象的设计方法,每个应用是一个孤立的系统,提供了一定后台集成的能力,典型的客户机/服务器架构就是 MVC 架构;
- 企业服务架构把流程从逻辑中抽象出来,逻辑成为系统对外的服务,通过统一的用户界面、流程打破竖井式结构,采用面向服务的设计方法,企业多个应用之间将成为一个有机的整体。

简而言之:目前企业计算的架构正在从关注单系统、单应用的MVC架构向关注多系统、多应用的企业服务架构发展,伴随着支持这种发展,新的技术和产品已经出现。
SOBA开发平台

SOBA强调突破应用系统的限制,从整体视图构建企业应用,支持 SOBA 的企业服务架构采用了SOA的架构风格,以松耦合为特点,将企业应用分为协同、流程、服务、逻辑和资源(数据)5个层面。
- 协同层——为用户提供了一个统一的交互门户和工作平台,通过RIA(Rich Internet Application)的方式提升用户体验,用户通过协同层更容易以其他人进行协作,例如即时通讯、查看任务列表、查看发布信息,也能够把已有数据、服务或界面快速组合到新应用中。通过协同层,用户不再与多个孤立的系统进行交互,而是面对一个有机的整体;
- 流程层——维护跨系统之间的业务状态,企业应用的核心是业务流程,流程包括端到端流程和人工参与的流程,流程会产生任务,推送到工作平台。流程把企业中多个应用联接起来;
- 服务层——将应用系统提供的逻辑以标准化的方式暴露出来,使开发者不需要关心逻辑的对外协议、逻辑的实现方式、逻辑的部署位置,并提供事件的方式降低逻辑间的耦合度,为非侵入式的操作提供基础。
- 逻辑层——实现了具体的业务逻辑,包括UI逻辑和后台逻辑。逻辑将由多个组件组成,这些组件将以可插拔的方式部署,使用AOP、依赖注入的方式编程,提供逻辑的编排能力;
- 资源层——解决如何整合数据的问题,需要通过一个统一的数据编程模式统一对不同数据源的访问。
SOBA,企业应用2.0?
会上,普元软件首席架构师焦烈焱说道,SOBA面向服务的业务应用,其理念是构造可复用、易集成的业务应用。2.0时代的企业应用中系统越来越多,越来越复杂,企业更加希望用统一架构进行应用的规划,打破竖井式结构,使应用天然具备集成能力。为达到上述目标,未来企业应用架构将更加看重多系统之间的集成能力,包括可插拔的构件模式、UI集成、流程集成、组合服务等,SCA、SDO、BPEL、RIA等技术标志着企业应用2.0 时代的到来。
面向服务架构时代,对企业应用提供了更新的要求,构造SOBA(面向服务的商业应用)是我们面临的迫切问题。在SOBA中,企业应用的体系架构将从以MVC为代表的单系统架构发展为更加考虑系统间集成性的企业服务架构,相关技术的出现也给程序员带来了新的挑战和机遇,让我们一起,拥抱这个新的变化。