最新天津大学计算机学院SOS的实现PPT课件.ppt
《最新天津大学计算机学院SOS的实现PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新天津大学计算机学院SOS的实现PPT课件.ppt(105页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、天津大学计算机学院天津大学计算机学院SOSSOS的的实现实现编程模型SCA(Service Component Architecture)服务组件架构SDO(Service Data Object)服务数据对象Use Case(Simplified Bigbank)2IntegrationAssemblySCAAssemblyModelAssemble heterogeneous components into service networksSCABinding&PolicyModelExpose components as Services regardless of underlying
2、 technologyDevelopmentSCAClient&ImplementationModelSimplify implementation of business services by focusing on business logic not on infrastructureSDO-ServiceDataObject Makes it easy to manage data exchange across services with heterogeneous data formats.InteroperabilityacrossHeterogeneousEnvironmen
3、tsSimplifiedCompositionandImplementationforServicesandDataBusinessProcessModeling&ManagementGovernance9SOA模型中服务组件体系结构SCA&服务数据对象SDO基于SOA模型构建解决方案的新技术将SOA解决方案分解成合适的元素简化面向服务的业务逻辑及其相关联的数据表示10服务组件体系结构(SCA)是一个规范,它描述用于使用 SOA 构建应用程序和系统的模型。它可简化使用SOA进行的应用程序开发和实现工作。SCA可简化使用SOA构建的业务应用程序的创建和重用。SCA提供了构建粗粒度组件的机制,这些
4、粗粒度组件由细粒度组件组装而成,因而容易被集成。SCA 将传统中间件编程从业务逻辑中分离出来,从而使程序员免受其复杂性的困扰使用SCA使得开发人员集中精力编写业务逻辑,而不必将大量的时间花费在更为底层的技术实现 11SDO服务数据对象可简化数据访问;可简化数据表示;提供一致和统一的方式来访问数据,而不管数据的物理访问方式。12通过使用SDO:开发者从访问后端数据源的技术细节中解脱出来;编程者得益于静态和动态的API支持;也得益于非连接编程的支持13SCA&SDO可分开使用;SCA&SDO可一起使用以提供强有力和灵活的SOA的解决途径;在SOA模型的实现中,业务组件可表示为SCA组件,组件之间使
5、用的数据可表示为SDO对象 14实现应用的实现提供了灵活性。表现为:技术中性;可重用;合成;动态适应性灵活性是soa编程模型最大的优点之一:从业务的角度来说,灵活性有下面几方面的含义技术中立:与实现无关重用:服务和业务过程的重用,用清楚地定义和松散的服务耦合组合:通过sca中的服务装配,可以将服务组装在一起。对变化的动态适用性:当业务人员提交一个业务流程变化后,不需要等待很长时间就可以得到程序实现15Improved Flexibility16提高编程人员的生产效率松散耦合的服务模型能够使soa的开发团队中的人员并行工作,互相之间具有一定的独立性服务重用:重用不仅仅增加了服务业务的灵活性,同时
6、也降低了开发soa应用的成本,提高了系统的开发效率。使用sca可以将一流资源和新建的组建用进行统一的建模。支持由低向上的应用开发方式。同时自顶向下的开发:soa支持自顶向下的应用开发方式。组建可以在实现之前就可以进行装配,而组建的实现可以放在开发周期之后完成。改进的组织管理:sca使用模型的概念。模型用来组织组建。技术中立:sca和sdo提供了对复杂过程和复杂数据对象的抽象。隐藏了服务提供者和服务消费者之间的的复杂关联细节。17Increased Programmer ProductivitySCA SolutionJ2EE Solution18有助于提高业务的敏捷性;将IT构建为组合应用;关
7、注业务目标和业务过程;组合应用中粗粒度且松耦合服务19SCA models the“A”in SOA-可重用服务组成的系统基于服务的系统的一个编程模型,:构造construction装配assembly部署deployment异质性 元数据驱动多语言多容器技术21一套规范描述了一个使用面向服务的体系结构建设应用程序和系统的模型扩展和补充实施服务的已有办法建立如Web服务的开放标准,22SCA将建立SOA应用的过程分解成两个主要的部分组件的实现为外部提供服务为外部提供服务组件的组装将服务引用与真实的服务连接起来,使用各组件之间建立真实而不是虚拟的程序调用与数据传递通道。23SCA规范着重强调要将
8、服务的实现和服务的组装与实现的细节进行解藕与底层平台的细节解藕合与如何调用服务的具体方式进行解藕合SCA组件在“业务逻辑”层面是进行设计使用最少的中间件API2425支持多种编程语言 面向对象和过程语言 Java,PHP,C+,COBOL 以XML为核心技术的语言BPEL and XSLT 描述性语言SQL and XQuery 26SCA还支持多种程序设计风格异步程序设计和面向消息的程序设计同步程序设计,即调用返回的程序设计风格静态程序设计动态程序设计基于连接的非连接的27同时支持多种服务调用方式Web services Messaging systems CORBA IIOP 重点关注服务
9、的申明,不依赖于服务的具体实现技术BindingsInfrastructure capabilities28Assembly ModelClient ModelSCAESBService RegistryRoutingTransportsPolicyTransactionsSecurityClusteringQoS ContainerSCA JavaSpringEJBComposition,Visualization and ManagementArchitectural DesignDevelopmentOperations29一系列文档,即组装模型linking of components
10、 through wiring independent of implementation language 客户端以及服务实现规范implementation of service components and of service clients Java&C+specificationsBEPL30发布的SCA白皮书Changes in the SCA Assembly specification since the 0.9 release The Recursive Assembly Model WS-BPEL and SCA White Paper EJB Integration W
11、hite Paper JAX-WS Services Integration PHP and SCA White Paper SCA Bindings for Web Services,JMS and EIS/JCA 31SCA规范草案SCA Assembly Model V0.96 SCA Client and Implementation Model for Java(V0.95)SCA Client&Implementation for BPEL(V0.95)SCA Client&Implementation for Spring(V0.95)SCA Client&Implementat
12、ion for C+(V0.95)SCA Policy Framework SCA Web Service bindings SCA JMS Binding SCA EIS/JCA Bindings 32DevelopersOSOA(Open SOA Collaboration)http:/www.osoa.org33Supporters34提供了一个统一的描述服务实现的模型更容易组成服务网络在组装时客户化服务实现提供了一个业务逻辑层的服务实现模型没有像JDBC,JCA,JMS这样的技术API支持多种服务绑定方式,包括Web服务WSDL,SOAPRMI,IIOPOthers定义了具体的数据转输
13、格式和协议互操作独立于编程模型需要将服务接口显式定义到WSDL文件中35Scenario 1:Integrate 2 EJBs,1 JavaBean,and two Web Services into a JSP based web application:Without SCADeveloper hardcodes EJB access,JavaBean,and Web Service invocation in their web applicationSpecific low-level APIs must be used for each technology(EJB,JavaBean
14、,Web Service)Tight Coupling:Additional coding required to replace one EJB with another EJBIf one component needs to be invoked asynchronously,low level coding is necessaryStructure of the composite application is hard to visualizeWith SCADeveloper wires EJB access,JavaBean,and Web Services together
15、using a Visual Tool.Developer uses one wiring editor for all components(developer does not need to use specific APIs)no low level APIs at allLoose Coupling:New components can be wired into existing applications easilyNo additional coding needed to invoke a component asynchronouslyStructure of the so
16、lution captured in assembly model36Scenario 2:Integrate 1 Rule,1 Web Service,1 EJB,and 1 CICS Transaction into a BPEL Business Process:Without SCADeveloper uses wizards to generate WSDL for each componentTight Coupling:Business process must be modified if a service is replaced by another serviceIf o
17、ne component needs to be invoked asynchronously,a complex set of steps are required to build an asynchronous service.Integration Developer=Highly skilled component developerWith SCADeveloper assembles components developed by other developers or creates business components using Wizards/Tools.The ass
18、embler doesnt care how each component is implementedLoose Coupling:Business process does not need to be modified if a new service replaces another service(the new service is simply rewired into the application)Simple to invoke a component asynchronouslyIntegration Developer=A developer who can build
19、 a composite application without low-level component development Skills37=SCA ComponentServiceComponent DeveloperIntegration DeveloperRolesTasksRuntimeTask:Build/Assemble J2EE ComponentsTask:Build/Assemble Business ProcessesTask:Build MediationsUsesJavaApplicationDeveloperToolsProcess&IntegrationDev
20、eloperToolsProcessServerESB/Connection ServerEJB1POJOWebServiceJSF1BusinessProcessStateMachineBusinessRuleI/ForBOTransformAdapterMediation1Mediation2ApplicationServer(w/SCA)WebContainerEJBContainerProcessContainerMediationContainerSCA CompositeSCA CompositeSCA CompositeThis Person.uses this toolto p
21、erform this task to build this type of applicationand deploys it to this runtime3839Composite AComposite BComponentAComponent BComponent CComponent D ServiceRefe-renceRefe-renceRefe-renceComposite CServiceAServiceBSystemSDOSDOFlexible,powerfulserviceconstructionFlexible,powerfulassemblyFlexible,powe
22、rfulbindingServices are assembled and“wired”together.SCA allows wiring to be done using a diverse bindings such as WS-*and JMS SCA components may be implemented using a variety of technologies including POJOs,BPEL,Spring Beans,EJBs,etc.Service40Contents:Assembly ModelIntroduction,Overview,Composite,
23、System,Binding,Extension ModelAppendix 1:Packaging and Deployment,XML Schemas,UML Model,SCA ConceptsAppendix 2:Policy,Security,Transactions,Reliable Messaging41provides:提供一个统一的、语言无关的服务提供机制Java and C+available now BPEL and interpretive languages(e.g.XSLT,XQuery)other languages via extensibility(inclu
24、ding.NET)提供一个与底层技术无关的服务网络建模与组合机制Service dependenciesResolution through wiring提供服务动态配置与管理的机制PropertiesProtocolsQualities of service42Diagrams used to Represent SCA Artifacts43一个SCA的组合是一系列SCA组件的逻辑聚合。一个组合可以包含一个或多个服务组件、服务、引用或连接。一个组合还被赋予一系列属性,通过配置这些属性,可以实现对组合内部组件的配置。从更高的逻辑层次进行SCA系统建模时,一个组合还可以被看作是一个服务组件的实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 天津大学 计算机 学院 SOS 实现 PPT 课件
限制150内