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的协议 

原文地址:https://www.cnblogs.com/byfhd/p/869339.html