SOASOA企业应用架构企业应用架构与标准规范与标准规范企业应用的存在问题企业应用的存在问题zz应用交付问题(时间、质量、成本)应用交付问题(时间、质量、成本)zz应用需要向客户为中心的模式转变应用需要向客户为中心的模式转变zz应用系统越来越多,难以维护,成本巨大应用系统越来越多,难以维护,成本巨大zz应用的业务化和个性化定制能力不足应用的业务化和个性化定制能力不足zz应用的用户体验问题:低效、差异应用的用户体验问题:低效、差异zz困难:缺架构、却规范、缺方法、缺工具、困难:缺架构、却规范、缺方法、缺工具、缺平台缺平台当前的应用架构:当前的应用架构:2.5G2.5GJ2EEplatformJ2EEplatformOpensourceframeworkOpensourceframeworkIn-HouseframeworksIn-Houseframeworks3rdpartyframeworks3rdpartyframeworksOpenstandardsOpenstandardsCustomdevelopmentofbusinessandpresentationlogicCustomdevelopmentofbusinessandpresentationlogicCustomintegrationCustomintegration3rdPartyintegrationtechnologies3rdPartyintegrationtechnologies体系转变体系转变zz打破竖井,单应用体系打破竖井,单应用体系走向开放网络环境下的走向开放网络环境下的SOASOA体系体系平台和构件库平台和构件库组合式应用组合式应用端到端流程端到端流程RIARIA用户体验用户体验zzSOASOA体系转变带来体系转变带来客户信息的流畅客户信息的流畅客户服务的可用客户服务的可用客户流程的敏捷客户流程的敏捷客户体验的良好客户体验的良好zz但是,但是,……普通:180度SOASOA体系体系小视场:90度广角:360度1970s1970s1980s1980s1990s1990s2000s2000s主机/终端(Mainframe/DumpTerminal)支撑技术:批处理,OLTP,消息,DBMS/IMS,CICS…易用性:COBOL,SQL,…互联互通:APPC,…主机/终端(Mainframe/DumpTerminal)支撑技术:批处理,OLTP,消息,DBMS/IMS,CICS…易用性:COBOL,SQL,…互联互通:APPC,…客户机/服务器(Client/Server)支撑技术:阶段1:2-Tier(图形界面GUI,RDBMS)阶段2:3-Tier(TPM,MQM,CORBA…)易用性:PowerBuilder,VisualBasic,…互联互通:TCP/IP,…客户机/服务器(Client/Server)支撑技术:阶段1:2-Tier(图形界面GUI,RDBMS)阶段2:3-Tier(TPM,MQM,CORBA…)易用性:PowerBuilder,VisualBasic,…互联互通:TCP/IP,…浏览器/服务器(Browser/Server)支撑技术:应用服务器(J2EE和.NET)易用性:浏览器,开源框架…互联互通:HTTP,…浏览器/服务器(Browser/Server)支撑技术:应用服务器(J2EE和.NET)易用性:浏览器,开源框架…互联互通:HTTP,…Web平台(EnterpriseSocialComputing)支撑技术:阶段1:SOA(SCA,SDO,BPEL)阶段2:Web2.0(Mash-Ups,RSS,REST)易用性:RIA,EOSStudio,…互联互通:WebServices,…Web平台(EnterpriseSocialComputing)支撑技术:阶段1:SOA(SCA,SDO,BPEL)阶段2:Web2.0(Mash-Ups,RSS,REST)易用性:RIA,EOSStudio,…互联互通:WebServices,…2010s2010s银行通存通兑和中间业务电信计费和营业账务银行实时账户交易7*24网上和手机银行7*24电信网上营业厅SOA应用用户体验:One应用业务发展:走向服务交付部署价格:从百万$到几块¥企业计算的演进•“主流编程模型对逐渐流行的SOA和EDA的支持限制变得越来越明显。假设90年代后期支持Web应用,这些编程模型已经吸收了基本的SOA和事件处理能力,但是这些特性只会进一步复杂化已经复杂的编程模型”•“目前主流的javaEE平台和.NET平台越来越不足以解决如下的需求趋势:可扩展性和性能,事件驱动的编程模式,先进的SOA架构和动态应用开发”•“新的编程模式,部署选择,License规划和技术架构都在推动克服现在的主流应用服务器产品的限制,并挑战这些产品的发展状况。”•“新的技术融合趋势正在催生新一代的中间件平台产品,新中间件产品只会部分支持现有的系统,并迫使客户和厂商开始新的学习周期”-Gartner,2007先进统一的先进统一的SOASOA架构,架构,提升提升ITIT与业务的一致性与业务的一致性zz模块化模块化zz标准化标准化zz预集成预集成zz可组装可组装构件化业务逻辑模型业务流程业务流程业务构件业务构件证券交易证券交易现金管理现金管理核心业务核心业务信贷风险信贷风险市场风险市场风险平台构件平台构件技术构件技术构件O-CRMO-CRMA-CRMA-CRM人力资源人力资源资产负载资产负载内部审计内部审计工作流工作流规则规则报表报表表单表单UAAPUAAPECMECM菜单菜单异常异常日期时间日期时间字符处理字符处理XMLXML日志日志事件事件事务事务消息消息缓存缓存国际化国际化定时器定时器EAIEAIDBDBESBESBERPERPCRMCRM资源层资源层构件层构件层Java构件Java构件逻辑构件逻辑构件SpringSpring业务流程业务流程服务层服务层安全安全事务事务SCASCASDOSDOWfMCWfMC人工活动人工活动代理代办代理代办自动活动自动活动流程层流程层协同层协同层RIARIAReportReport工作台工作台SSOSSORCPRCPAJAXAJAXHTMLHTMLWMLWMLJavaClientJavaClient标准化技术分层架构zz协同层协同层提供各种展现、交提供各种展现、交互、服务消费及业务互、服务消费及业务协同协同zz流程层流程层基于服务编制实现业基于服务编制实现业务流程务流程zz服务层服务层服务标准化、服务装服务标准化、服务装配和服务管理配和服务管理zz构件层构件层服务构造服务构造zz资源层资源层资源也是服务资源也是服务zz实时管控实时管控监控监控管理仪表盘管理仪表盘zzITIT与业务的与业务的策略性治理策略性治理安全、交易安全、交易服务水平与质量服务水平与质量管理管理行业策略行业策略……zz动态配置动态配置应用与平台配置应用与平台配置服务仿真服务仿真服务虚拟化服务虚拟化规范化管理框架OpenSOAOpenSOA协作组织协作组织zz对服务基础架构市场至关重要的对服务基础架构市场至关重要的SOASOA标准标准服务构造的实现模型和技术规范服务构造的实现模型和技术规范((SCAClient&ImplementationSCAClient&Implementation))服务组装的技术与元数据规范服务组装的技术与元数据规范((SCAAssemblyModelSCAAssemblyModel))服务数据对象规范服务数据对象规范((ServiceDataObjectsServiceDataObjects))部署时的服务策略和质量框架规范部署时的服务策略和质量框架规范((SCAPolicyFrameworkSCAPolicyFramework))zz更为开放的组织协作模式更为开放的组织协作模式多样灵活的规范制定机制多样灵活的规范制定机制和官方和官方中文社区中文社区email,email,wikiwiki,con,con--call,f2fmeetingcall,f2fmeeting共同支持开源项目推广标准共同支持开源项目推广标准ApacheApacheTuscany(Tuscany(committercommitter))EclipseSTPEclipseSTP共同支持各类技术大会共同支持各类技术大会OASISSymposiumOASISSymposium((0808年年44月)月)SOASOA中国论坛(中国论坛(0808年年44--77月)月)SOASOA中国国家标准大会(中国国家标准大会(0808年年1111月)月)zzSOASOA体系架构下的应用软件标体系架构下的应用软件标准构造单元准构造单元(BuildingUnit)(BuildingUnit)用以构造更为高层和更粗粒度的应用以构造更为高层和更粗粒度的应用软件模块用软件模块(Services,References,Properties)(Services,References,Properties)用以封装更为低层和更细粒度的逻用以封装更为低层和更细粒度的逻辑实现辑实现(Implementation)(Implementation)¾¾Services:Services:服务服务是被使用的功能是被使用的功能¾¾References:References:实现时所要引用于其他构件的实现时所要引用于其他构件的服务服务¾¾Properties:Properties:实现时影响构件运作的实现时影响构件运作的可设置数可设置数值值¾¾Implementation:Implementation:支持各种支持各种实现实现技术技术(Java,(Java,C++,PHP,JavaScript,BPEL,SQL,C++,PHP,JavaScript,BPEL,SQL,XQueryXQuery,Composite,Composite……))Component……servicesreferencespropertiesImplementation-Java-BPEL-Composite…构件,SOA应用的构造单元zzSOASOA应用体系架构下的软件开发模式应用体系架构下的软件开发模式(ProgrammingModel)(ProgrammingModel)基于构件,以组装基于构件,以组装(Assembly)(Assembly)为方法的开发模式为方法的开发模式(Composite,Wire,Properties,PropertySetting)(Composite,Wire,Properties,PropertySetting)组装出的组合构件组装出的组合构件(Composite)(Composite)是是SOASOA服务的来源服务的来源(Interface,Binding)(Interface,Binding)CompositeAComponentAServiceBindingWebServiceSCAJCAJMSSLSB…BindingWebServiceSCAJCAJMSSLSB…ComponentBInterface-Javainterface-WSDLPortTypeInterface-Javainterface-WSDLPortTypeWireWireWireReferencePropertysettingProperties组装,组装,SOASOA应用的应用的编程模式编程模式SDOSDO,,统一统一的数据模型和访问方式的数据模型和访问方式20062006年年77月月zzGroupAdvancesSCAandSDOSpecificationstoGroupAdvancesSCAandSDOSpecificationstoHelpSim