欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Hybris的extension和ABAP的package abapHybriskeySAP成都研究院SAP Cloud Platform 

程序员文章站 2022-05-09 18:53:29
...

An extension can contain business logic, type definitions, a web application, or a Hybris Management Console configuration. That way, you link up in one place all of the functionality that covers a certain field of use, for example a webshop.

这个概念和ABAP里的package非常类似。

比如这个alipay是成都团队开发的一个extension:

Hybris的extension和ABAP的package
            
    
    
        abapHybriskeySAP成都研究院SAP Cloud Platform 

典型结构:

Hybris的extension和ABAP的package
            
    
    
        abapHybriskeySAP成都研究院SAP Cloud Platform 

UI:

Hybris的extension和ABAP的package
            
    
    
        abapHybriskeySAP成都研究院SAP Cloud Platform 

一个细微的差异是,我们知道在ABAP package里创建的所有object,都可以被其他package的代码访问。即使这些object没有加到package interface的visible element里,runtime也不会报错。

Hybris的extension和ABAP的package
            
    
    
        abapHybriskeySAP成都研究院SAP Cloud Platform 

Hybris的extension里的大多数folder下的object,访问控制的behavior和ABAP package一致。除了/web folder下的UI实现:This directory contains the web extension module parts of the extension (JSP files, libraries). Sources and resources from this directory are only accessible to a Web application containing the extension. They cannot be accessed from another extension.

Hybris的extension和ABAP的package
            
    
    
        abapHybriskeySAP成都研究院SAP Cloud Platform 

Hybris启动时加载的extension列表:

Hybris的extension和ABAP的package
            
    
    
        abapHybriskeySAP成都研究院SAP Cloud Platform 

注意,即使是很多Hybris core的功能,也是以extension的方式实现的,这一点对于从ABAP转过来的developer一开始会特别confusing,因为在ABAP里extension一般意味着属于partner或者客户.

比如这个extension,是Hybris core的一部分.

 

Hybris的extension和ABAP的package
            
    
    
        abapHybriskeySAP成都研究院SAP Cloud Platform Hybris的extension和ABAP的package
            
    
    
        abapHybriskeySAP成都研究院SAP Cloud Platform