sap-commerce
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSAP Commerce Development
SAP Commerce开发
Overview
概述
SAP Commerce Cloud (formerly Hybris) is an enterprise e-commerce platform built on Java and Spring. This skill provides guidance for extension development, type system modeling, service layer implementation, data management, API customization, and accelerator patterns for both Cloud (CCv2) and On-Premise deployments.
SAP Commerce Cloud(原Hybris)是基于Java和Spring构建的企业级电商平台。本技能为Cloud(CCv2)和本地部署场景提供扩展开发、类型系统建模、服务层实现、数据管理、API定制以及加速器模式相关指导。
Core Architecture
核心架构
Type System
类型系统
Data modeling via defines item types, attributes, relations, and enumerations. Types are compiled into Java classes during build. See type-system.md for syntax and patterns.
items.xml通过进行数据建模,定义项目类型、属性、关联关系和枚举类型。构建期间,这些类型会被编译为Java类。语法和模式请参考type-system.md。
items.xmlExtensions
扩展
Modular architecture where functionality lives in extensions. Each extension has for metadata, for types, and for beans. See extension-development.md.
extensioninfo.xmlitems.xml*-spring.xml采用模块化架构,功能以扩展的形式存在。每个扩展包含用于元数据的、用于类型定义的以及用于Bean配置的。请参考extension-development.md。
extensioninfo.xmlitems.xml*-spring.xmlService Layer
服务层
Four-layer architecture: Facade (API for controllers) → Service (business logic) → DAO (data access) → Model (generated from types). See service-layer-architecture.md.
四层架构:Facade(供控制器调用的API)→ Service(业务逻辑)→ DAO(数据访问)→ Model(由类型生成)。请参考service-layer-architecture.md。
Data Management
数据管理
ImpEx: Scripting language for data import/export. See impex-guide.md.
FlexibleSearch: SQL-like query language for items. See flexiblesearch-reference.md.
ImpEx:用于数据导入/导出的脚本语言。请参考impex-guide.md。
FlexibleSearch:用于项目查询类SQL语言。请参考flexiblesearch-reference.md。
OCC API
OCC API
RESTful web services exposing commerce functionality. Controllers use for DTO conversion. See occ-api-development.md.
DataMapper暴露电商功能的RESTful Web服务。控制器使用进行DTO转换。请参考occ-api-development.md。
DataMapperAccelerators
加速器
Pre-built storefronts: B2C (retail) and B2B (enterprise with approval workflows). See accelerator-customization.md.
预构建的店面:B2C(零售)和B2B(带审批流程的企业级)。请参考accelerator-customization.md。
CronJobs & Task Engine
CronJobs与任务引擎
Scheduled and asynchronous job execution. Define implementations, configure via + + in ImpEx. See cronjob-task-engine.md.
AbstractJobPerformableServicelayerJobCronJobTrigger用于调度和异步任务执行。实现接口,通过ImpEx配置 + + 。请参考cronjob-task-engine.md。
AbstractJobPerformableServicelayerJobCronJobTriggerBusiness Processes
业务流程
Stateful workflows for order processing, returns, approvals, and custom flows. XML process definitions with action beans (, ), wait states, and event triggers. See business-process.md.
AbstractSimpleDecisionActionAbstractAction用于订单处理、退货、审批和自定义流程的有状态工作流。使用XML定义流程,包含动作Bean(、)、等待状态和事件触发器。请参考business-process.md。
AbstractSimpleDecisionActionAbstractActionSolr Search
Solr搜索
Product search and faceted navigation powered by Apache Solr. Configure indexed types, properties, value providers, and boost rules. See solr-search-configuration.md.
基于Apache Solr的产品搜索和分面导航。配置索引类型、属性、值提供器和加权规则。请参考solr-search-configuration.md。
Promotions & Rule Engine
促销与规则引擎
Drools-based promotion rules with conditions and actions. Supports order/product/customer promotions, coupons, and custom actions. See promotions-rule-engine.md.
基于Drools的促销规则,包含条件和动作。支持订单/产品/客户促销、优惠券和自定义动作。请参考promotions-rule-engine.md。
Caching
缓存
Multi-layered caching: platform region caches (entity, query, typesystem), Spring , and cluster-aware invalidation. See caching-guide.md.
@Cacheable多层缓存:平台区域缓存(实体、查询、类型系统)、Spring 以及集群感知失效机制。请参考caching-guide.md。
@CacheableBackoffice
Backoffice
Administration UI customization via cockpitng: widget configuration, custom editors, search/list views, wizards, and deep links. See backoffice-configuration.md.
通过cockpitng定制管理UI:部件配置、自定义编辑器、搜索/列表视图、向导和深度链接。请参考backoffice-configuration.md。
Common Workflows
常见工作流
Create a Custom Extension
创建自定义扩展
- Generate structure with or use template from
ant extgenassets/extension-structure/ - Configure with dependencies
extensioninfo.xml - Define types in
items.xml - Configure beans in
*-spring.xml - Add to
localextensions.xml - Build:
ant clean all
Reference: extension-development.md | Template:
assets/extension-structure/- 使用生成结构,或使用
ant extgen中的模板assets/extension-structure/ - 在中配置依赖
extensioninfo.xml - 在中定义类型
items.xml - 在中配置Bean
*-spring.xml - 添加到
localextensions.xml - 构建:
ant clean all
参考:extension-development.md | 模板:
assets/extension-structure/Define Custom Item Types
定义自定义项目类型
- Create or modify in extension
*-items.xml - Define itemtype with attributes, relations
- Build to generate model classes
- Use in services/DAOs
Reference: type-system.md | Templates:
assets/item-type-definition/- 在扩展中创建或修改
*-items.xml - 定义包含属性、关联关系的itemtype
- 构建以生成模型类
- 在服务/DAO中使用
参考:type-system.md | 模板:
assets/item-type-definition/Implement Service Layer
实现服务层
- Create DTO class for data transfer
- Create DAO interface and implementation with FlexibleSearch
- Create Service interface and implementation with business logic
- Create Facade interface and implementation for external API
- Configure beans in
*-spring.xml
Reference: service-layer-architecture.md | Templates:
assets/service-layer/- 创建用于数据传输的DTO类
- 创建带FlexibleSearch的DAO接口和实现
- 创建包含业务逻辑的Service接口和实现
- 创建供外部API调用的Facade接口和实现
- 在中配置Bean
*-spring.xml
参考:service-layer-architecture.md | 模板:
assets/service-layer/Import Data with ImpEx
使用ImpEx导入数据
- Create file with header and data rows
.impex - Use INSERT_UPDATE for create/modify operations
- Define macros for reusable values
- Import via HAC or
ant importImpex
Reference: impex-guide.md | Templates:
assets/impex-scripts/- 创建包含表头和数据行的文件
.impex - 使用INSERT_UPDATE进行创建/修改操作
- 定义可复用值的宏
- 通过HAC或导入
ant importImpex
参考:impex-guide.md | 模板:
assets/impex-scripts/Query with FlexibleSearch
使用FlexibleSearch查询
sql
SELECT {pk} FROM {Product} WHERE {code} = ?code
SELECT {p.pk} FROM {Product AS p JOIN Category AS c ON {p.supercategories} = {c.pk}} WHERE {c.code} = ?categoryReference: flexiblesearch-reference.md | Examples:
assets/flexiblesearch-queries/sql
SELECT {pk} FROM {Product} WHERE {code} = ?code
SELECT {p.pk} FROM {Product AS p JOIN Category AS c ON {p.supercategories} = {c.pk}} WHERE {c.code} = ?category参考:flexiblesearch-reference.md | 示例:
assets/flexiblesearch-queries/Customize OCC API
定制OCC API
- Create controller with and
@Controller@RequestMapping - Create WsDTO for response data
- Create populator for model-to-DTO conversion
- Register in
*-web-spring.xml
Reference: occ-api-development.md | Templates:
assets/occ-customization/- 创建带和
@Controller的控制器@RequestMapping - 创建用于响应数据的WsDTO
- 创建用于模型到DTO转换的populator
- 在中注册
*-web-spring.xml
参考:occ-api-development.md | 模板:
assets/occ-customization/Extend Accelerator Checkout
扩展加速器结账流程
- Create custom checkout step implementing
CheckoutStep - Configure in checkout flow XML
- Create JSP for step UI
- Register beans in
*-spring.xml
Reference: accelerator-customization.md | Templates:
assets/checkout-customization/- 创建实现的自定义结账步骤
CheckoutStep - 在结账流程XML中配置
- 为步骤UI创建JSP
- 在中注册Bean
*-spring.xml
参考:accelerator-customization.md | 模板:
assets/checkout-customization/Create a Scheduled Job (CronJob)
创建调度任务(CronJob)
- Implement with
AbstractJobPerformable<CronJobModel>methodperform() - Register Spring bean with
parent="abstractJobPerformable" - Create ,
ServicelayerJob, andCronJobvia ImpExTrigger - Test via HAC > Platform > CronJobs
Reference: cronjob-task-engine.md | Templates:
assets/cronjob/- 实现并编写
AbstractJobPerformable<CronJobModel>方法perform() - 注册Spring Bean,设置
parent="abstractJobPerformable" - 通过ImpEx创建、
ServicelayerJob和CronJobTrigger - 通过HAC > Platform > CronJobs进行测试
参考:cronjob-task-engine.md | 模板:
assets/cronjob/Define a Business Process
定义业务流程
- Create process definition XML in
resources/processes/ - Implement action beans extending
AbstractSimpleDecisionAction - Register action beans in Spring with
parent="abstractAction" - Register process definition via Spring bean
ProcessDefinitionResource - Start process via and
BusinessProcessService.createProcess()startProcess()
Reference: business-process.md | Templates:
assets/business-process/- 在中创建流程定义XML
resources/processes/ - 实现继承的动作Bean
AbstractSimpleDecisionAction - 在Spring中注册动作Bean,设置
parent="abstractAction" - 通过Spring Bean注册流程定义
ProcessDefinitionResource - 通过和
BusinessProcessService.createProcess()启动流程startProcess()
参考:business-process.md | 模板:
assets/business-process/Configure Solr Product Search
配置Solr产品搜索
- Set up with server, languages, currencies, catalog versions
SolrFacetSearchConfig - Define for Product
SolrIndexedType - Configure entries (searchable, facet, sortable)
SolrIndexedProperty - Set up indexer CronJobs (full nightly, incremental every 5 min)
- Test search via HAC > Platform > Solr
Reference: solr-search-configuration.md | Templates:
assets/solr-configuration/- 设置,包含服务器、语言、货币、目录版本
SolrFacetSearchConfig - 为Product定义
SolrIndexedType - 配置项(可搜索、分面、可排序)
SolrIndexedProperty - 设置索引器CronJob(每晚全量,每5分钟增量)
- 通过HAC > Platform > Solr测试搜索
参考:solr-search-configuration.md | 模板:
assets/solr-configuration/Set Up Promotions
设置促销活动
- Create for your store
PromotionGroup - Define with conditions and actions
PromotionSourceRule - Configure coupons (/
SingleCodeCoupon) if neededMultiCodeCoupon - Publish rules to activate them
- Test in Backoffice > Marketing > Promotion Rules
Reference: promotions-rule-engine.md | Templates:
assets/promotions/- 为店铺创建
PromotionGroup - 定义包含条件和动作的
PromotionSourceRule - 如有需要,配置优惠券(/
SingleCodeCoupon)MultiCodeCoupon - 发布规则以激活
- 在Backoffice > Marketing > Promotion Rules中测试
参考:promotions-rule-engine.md | 模板:
assets/promotions/Quick Reference
快速参考
| Task | Reference | Assets | Script |
|---|---|---|---|
| Extension setup | extension-development.md | | |
| Type definitions | type-system.md | | - |
| Service layer | service-layer-architecture.md | | - |
| Data import | impex-guide.md | | |
| Queries | flexiblesearch-reference.md | | |
| API customization | occ-api-development.md | | - |
| Checkout/Storefront | accelerator-customization.md | | - |
| Spring config | spring-configuration.md | - | - |
| Data patterns | data-modeling-patterns.md | - | - |
| Troubleshooting | troubleshooting-guide.md | - | - |
| CronJobs | cronjob-task-engine.md | | - |
| Business processes | business-process.md | | - |
| Solr search | solr-search-configuration.md | | - |
| Promotions | promotions-rule-engine.md | | - |
| Caching | caching-guide.md | - | - |
| Backoffice | backoffice-configuration.md | - | - |
| 任务 | 参考文档 | 资源 | 脚本 |
|---|---|---|---|
| 扩展设置 | extension-development.md | | |
| 类型定义 | type-system.md | | - |
| 服务层 | service-layer-architecture.md | | - |
| 数据导入 | impex-guide.md | | |
| 查询 | flexiblesearch-reference.md | | |
| API定制 | occ-api-development.md | | - |
| 结账/店面 | accelerator-customization.md | | - |
| Spring配置 | spring-configuration.md | - | - |
| 数据模式 | data-modeling-patterns.md | - | - |
| 故障排除 | troubleshooting-guide.md | - | - |
| CronJobs | cronjob-task-engine.md | | - |
| 业务流程 | business-process.md | | - |
| Solr搜索 | solr-search-configuration.md | | - |
| 促销活动 | promotions-rule-engine.md | | - |
| 缓存 | caching-guide.md | - | - |
| Backoffice | backoffice-configuration.md | - | - |
Resources
资源
scripts/
scripts/
Utility scripts for common tasks:
- - Scaffold new extension structure
generate-extension.sh - - Validate ImpEx syntax before import
validate-impex.sh - - Execute FlexibleSearch queries via HAC
query-items.sh
用于常见任务的实用脚本:
- - 快速搭建新扩展结构
generate-extension.sh - - 导入前验证ImpEx语法
validate-impex.sh - - 通过HAC执行FlexibleSearch查询
query-items.sh
references/
references/
Detailed guides for each topic area. Load as needed for in-depth information.
各主题领域的详细指南。可按需加载以获取深入信息。
assets/
assets/
Production-quality code templates ready to copy and customize. Organized by domain (service-layer, impex-scripts, etc.).
可直接复制和定制的生产级代码模板。按领域组织(服务层、ImpEx脚本等)。