企业应用集成企业应用集成鲍亮baoliang@mailxidianeducn西安电子科技大学软件工程研究所baoliang@mail.xidian.edu.cn2010-6-301SOA介绍西安电子科技大学软件工程研究所西安电子科技大学软件工程研究所://sei.xidian.edu.cn/22本节内容本节内容软件开发方法的演变软件开发方法的演变;服务与Web服务的基本概念;业务驱动的软件开发;面向服务架构(SOA)面向服务架构(SOA);SOA治理策略与过程;治理策略与过程;SOA应用的设计原则和特征;的效益观SOA的效益观;SOA的发展前景。西安电子科技大学软件工程研究所西安电子科技大学软件工程研究所://sei.xidian.edu.cn/33SOA的发展前景。软件开发方法的演变软件开发方法的演变面向服务面向接面向服务业务流程导向的、松散耦合面向接口以接口为核心面向组件粗粒度的复用、事件驱动面向对象软件可重用维护性满足用户需求粗粒度的复用、事件驱动面向过程软件可重用、维护性、满足用户需求西安电子科技大学软件工程研究所西安电子科技大学软件工程研究所://sei.xidian.edu.cn/44服务的基本概念服务的基本概念广义的“服务”广义的服务是一项有用的工作,不产生有形物品;是一种能满足公共需求的功能是种能满足公共需求的功能。抽象的“服务”一个计算机程序在另一个计算机程序的请求下执行的个计算机程序在另个计算机程序的请求下执行的一些有意义的活动;一个可供远程访问的独立应用程序模块。个供程程序模面向服务的“服务”是一些应用程序功能,提供了独立的构建模块,这些是些应用程序功能,提供了独立的构建模块,这些模块共同代表业务应用程序环境。明确定义的、独立的、可被重用的工作单元。西安电子科技大学软件工程研究所西安电子科技大学软件工程研究所://sei.xidian.edu.cn/55西安电子科技大学软件工程研究所西安电子科技大学软件工程研究所://sei.xidian.edu.cn/66服务组件服务组件服务是技术中立的服务是技术中立的;服务是位置独立的;服务具有更高级别的抽象能力;服务是面向业务的服务是面向业务的;服务之间高度的松散耦合。服务之间高度的松散耦合西安电子科技大学软件工程研究所西安电子科技大学软件工程研究所://sei.xidian.edu.cn/77抽象层次抽象层次组件是对象的更组件是对象的更高级别的复用;服务比组件具有更大的粒度更大的粒度;服务对组件进行服务对组件进行了包装;组件是比较好的实现服务的较好的实现服务的方式西安电子科技大学软件工程研究所西安电子科技大学软件工程研究所://sei.xidian.edu.cn/88方式使用和组合服务使用和组合服务西安电子科技大学软件工程研究所西安电子科技大学软件工程研究所://sei.xidian.edu.cn/99基于服务的企业集成基于服务的企业集成西安电子科技大学软件工程研究所西安电子科技大学软件工程研究所://sei.xidian.edu.cn/1010b服务Web服务Web服务是一种新型的Web应用程序它们是Web服务是种新型的Web应用程序。它们是自适应、自我描述、模块化的应用程序,这些应用程序可以跨越Web进行发布、定位和调用。Web服务所执行的功能可以是从简单的请求到复杂的商业过程中的任何事。简单的Web服务可以提供股票报价或处理信用卡交易。一旦部署了Web服务,其它报价或处理信用卡交易。旦部署了Web服务,其它的应用程序(及其它的Web服务)可以发现和调用所部署的服务Web服务特征Web服务特征完好的封装性松散耦合松散耦合使用协约的规范性使用标准协议规范西安电子科技大学软件工程研究所西安电子科技大学软件工程研究所://sei.xidian.edu.cn/1111高度可集成能力业务驱动的软件开发业务驱动的软件开发WSDLServiceITITLegacyapplicationServices(reusablefunctionalt)Specification**ITITITITInterfaceSpecification*ITITcomponents)ITITRequirementsBABAReceiveInvokeInvokeInvokeReplyReplyFaultNon-InterruptibleReceiveInvokeInvokeInvokeReplyReplyFaultNon-InterruptibleNewApplicationChoreography(businessrulesandprocesses)BABABusinessProcessModelITITprocesses)UseCasesBusinessProcessModelandStoryBoardBABABABA西安电子科技大学软件工程研究所西安电子科技大学软件工程研究所://sei.xidian.edu.cn/1212业务驱动的软件开发()角色业务驱动的软件开发(BDD)角色Harvest,acquire&ttthTesttheindividualModelthebusinessDesigntheProvision,fitAnalystArchitectDeveloperTesterDeploymentManagerconstructtheservicesAssemble&deploythitindividualservices&compositeapplicationbusiness&identifythebusinessservicestheservicesarchitectureconfigure,tuneandtroubleshootcompositeapplicationsthecompositeapplicationFollowaservice-orientedprocessManageSOAassetsFollowaserviceorientedprocessManagerequirementsManageSOAassetsManagequalityProjectManagerAlignbusinessstrategywithITexecutionGovernSOA–align,executeandcontrolinvestmentsITExecutive西安电子科技大学软件工程研究所西安电子科技大学软件工程研究所://sei.xidian.edu.cn/1313ITExecutive业务驱动的软件开发()技术业务驱动的软件开发(BDD)技术DescriptionRoleBenefits&SkillRequirementsModelingbusinessprocessesforoptimizationortoreengineerexistingbusinessprocessesordefinenewbusinessprocessesNoprogrammingexperiencerequiredCanfocusonbusinessperformance&processBusinessAnalystVisualtoolstogenerateintegrationlogicwithexistingandnewapplicationsandhumansinthenetworksomebasicprogrammingexperience(loops,conditions,stringmanipulation)NoJ2EEskillrequiredExpecttoolstosimplifyandabstractadvancedITimplementationdetailsIntegrationDeveloper/SpecialistFocusedspecificallyonUMLmodelingandJ2EEimplementationMDDenvironmentthatautomatesthetranslationfromdesigntoimplementation.IncludesrequirementsandbusinessmodelingintegrationswithITimplementationdetailsSoftwareArchitectFocusedspecificallyonJ2EEimplementationComprehensiveintegrateddevelopmentenvironment,forWeb,Java,Webservices,Portal,andEJBdevelopmentandbusinessmodelingintegrationswithRequisiteProandWBIModelerJ2EE/JavaApplicationimplementationToolsformaintaininglegacyassetsandextendingthemtonewuserstoenableFocusedonmixedworkloadofJ2EEand,,pwithvisualtoolsthataccelerateapplicationdevelopment.DeveloperEnterprise西安电子科技大学软件工程研究所西安电子科技大学软件工程研究所://sei.xidian.edu.cn/1414thoseassetstobeusedinSOAandasWebservicesCOBOL/PL1/RPGenvironmentsDeveloper业务驱动的软件开发()具业务驱动的软件开发(BDD)工具DescriptionRoleToolsModelingbusinessprocessesforoptimizationortoreengineerexistingbusinessprocessesordefinenewbusinessprocessesNoprogrammingexperiencerequiredCanfocusonbusinessperformance&processBusinessAnalystWebSphereBusinessModelerVisualtoolstogenerateintegrationlogicwithexistingandnewapplicationsandhumansinthenetworksomebasicprogrammingexperience(loops,conditions,stringmanipulation)NoJ2EEskillrequiredExpecttoolstosimplifyandabstractadvancedITimplementationdetailsIntegrationDeveloper/SpecialistWebSphereIntegrationDeveloperFocusedspecific