标签:
sap开发 |
分类: 信息化专栏 |
ESA (Enterprise Service Architecture)
简单的说, ESA是SAP 基于SOA(Service Oriented Architecture)的概念。主要目的通过WebService, 进一步提高SAP各业务系统间的统一性,可重用性,建议更方便的业务流程开发模式。主要手段为
先介绍几个概念:
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. 它提供企业的关键业务功能.
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
要统一service interface的定义, 就必须统一数据类型.
一个LDU由一组语义相关的componenet组成, 为了可以简单的activate/deactive一个业务功能.s
提供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的协议