转载:SAP技术概述(三)
ESA (Enterprise Service Architecture)
ESA (Enterprise Service Architecture) 简单的说,ESA是SAP 基于SOA(Service Oriented Architecture)的概念。主要目的通过WebService,进一步提高SAP各业务系统间的统一性, 可重用性,建议更方便的业务流程开发模式。主要手段为 ??????? 建立以Service为中心的开发模式. 因为service相对于组建或者其他软件封装技术来说, 有耦合度低,跨Internet,范围更广, 跨平台, 粒度更自由等优点。 ??????? 在web service的基础上, 建立统一的service infrastructure(就是后面说到的ESI). ??????? 建立所谓“模式-驱动”的开发模式。 其实, 我的理解是,在强大的Service Infrastructure基础上, 有统一的数据类型来描述数据,有Business Object来封装逻辑, 有UI pattern来封装UI,有了这些,就可以用一个简单的设计工具, 就可以快速的描述数据, 拼装业务逻辑,建立UI, 这就是使所谓的“模式-驱动”的开发模式,成为现实。这里指的开发, 不是简单应用的开发,而是业务流程的开发。这各设计工具, 就是Visual Composure. ? 先介绍几个概念: ??????? Service: Service就是SOA中的service概念. 它提供了企业的某个业务功能.s ESA中有三种Service: Core Service: 提供对Business Object的直接访问,如retrieve,access,action… Compound Service: 由对多个core service的call组成. Enterprise Service: 也是一种compound service,但是它是组成Business Process的直接service. 它提供企业的关键业务功能. ? ??????? Business Object: BO可以看作是Service的实现. Service的定义和其实现无关. SAP在ESA中主要用BO实现 Service的功能. BO是结构化的. 每个BO之间由Association连接.但是只有一个root node. 一个BO可以有多个service interface,一个service interface由多个operation组成 BO定义了一组Attribute和Operation. 每个BO都由一个Business Object provider class 实现,它实现了一组Generic Interface. BO的attirbute的type必须是Global?? Data Types(GDT) ? ??????? Global Data Type 要统一service interface的定义,就必须统一数据类型. ? ??????? Business Process: ? ? ??????? LDU(Logical Deployment Unit) 一个LDU由一组语义相关的componenet组成,为了可以简单的activate/deactive一个业务功能.s ? ??????? Process Agent: 提供Message-Based的LDU之间的通信. ?
下图是ESA实现:
ESI(Enterprise Service Infrastructure) 为ESA的实现提供了基于Web Service的统一的Service定义。使“模式驱动”的开发成为可能。这种设计由需求开始,定义服务,服务驱动实现.? 下图显示了ESA的开发模式:
ESI由三部分组成: ESD: Enterprise Service Designtime: 提供ESI的设计时的支持。包括三个项目: ESR(Enterprise Service Repository),包括ES Object,Modelling,ESR Framework ES Java Tools,包括Repository Browser, Service and Consumer Definition Editor,Service Configuration and Consumer configuration Editor,Proxy Generation. ES ABAP Tools: 包括Repository Browser, Service and Consumer Definition Editor,Proxy Generation ESF: Enterprise Service Framework, 提供了ESI的运行实现。(应该叫做Enterprise Server Engine) ESF Runtime Architecture,如图:
ESP: Enterprise Service Protocol: 定义所有ESI的协议? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |