SAP Commerce Architecture (SAP Commerce Mimarisi) – Kapsamlı Teknik Rehber

Haziran 28, 2026 Reopiya 6 dk okuma Sap Commerce Cloud Mimari & Teknik


SAP Commerce Architecture, modern e-ticaret sistemlerinin kurumsal ölçekte nasıl tasarlanması gerektiğini anlamak için en kritik mimari modellerden biridir. Özellikle büyük ölçekli B2C ve B2B projelerde, SAP Commerce Cloud (eski adıyla SAP Hybris) güçlü bir layered architecture + extension-based modular monolith yaklaşımı sunar.

Bu makalede SAP Commerce mimarisini sadece teorik olarak değil, gerçek kurumsal proje deneyimlerine dayalı olarak ele alacağız.


1. SAP Commerce Architecture Nedir?

SAP Commerce Architecture, SAP Commerce platformunun nasıl yapılandırıldığını, bileşenlerin nasıl iletişim kurduğunu ve sistemin nasıl ölçeklendiğini tanımlayan mimari modeldir. Eğer sap commerce’in ne olduğu hakkında fikir sahibi değilseniz öncelikle Sap Commerce Cloud Nedir yazımızı okumanızı tavsiye ederiz.

Architecture neden önemlidir?

E-ticaret sistemleri:

  • Yüksek trafik alır
  • Sürekli değişen kampanya ve ürün yapısına sahiptir
  • Çok kanallı (web, mobile, marketplace) çalışır
  • ERP, CRM, OMS gibi sistemlerle entegredir

Bu nedenle SAP Commerce Architecture:

  • Performansı
  • Ölçeklenebilirliği
  • Genişletilebilirliği
  • Bakım kolaylığını

doğrudan belirler.

SAP Commerce neden modüler tasarlanmıştır?

SAP Commerce, “monolithic ama modular” bir yapıya sahiptir.

Bu şu anlama gelir:

  • Tek runtime (Tomcat üzerinde çalışan tek uygulama)
  • Ama içeride extension-based modüler yapı

Monolithic mi Microservice mi?

SAP Commerce:

  • Saf microservice değildir
  • Distributed microservice architecture değildir
  • Modular monolith’tir
  • Microservice’lere entegre olabilir

Composable Commerce ile ilişkisi

SAP Commerce Cloud, Composable Commerce yaklaşımına uyumludur:

  • OCC API ile headless kullanım
  • CMS ve frontend ayrıştırma
  • Microservice entegrasyonları
  • Event-driven mimari destekleri

2. SAP Commerce High Level Architecture

SAP Commerce Architecture genellikle aşağıdaki gibi modellenir:

[ Frontend (Angular / React / Mobile Apps) ]

[ OCC Layer (REST API) ]

[ Facade Layer ]

[ Service Layer ]

[ DAO Layer ]

[ Persistence Layer (Hibernate) ]

[ Database (SQL DB) ]

Architecture Diagram Açıklaması

OCC Layer

  • REST API katmanıdır
  • Headless commerce sağlar
  • JSON response üretir

Facade Layer

  • DTO mapping
  • Business orchestration
  • API aggregation

Service Layer

  • Business logic burada bulunur
  • Transaction boundary yönetimi

DAO Layer

  • FlexibleSearch veya Criteria API kullanır
  • Database erişimi

Persistence Layer

  • Hibernate ORM
  • Model mapping

3. SAP Commerce Katmanları

3.1 Presentation Layer

  • Storefront (Accelerator veya Spartacus)
  • UI logic
  • SEO optimizasyonu

3.2 OCC Layer (Omni Commerce Connect)

  • REST API katmanı
  • Spartacus frontend ile kullanılır
  • JSON-based response

Örnek Controller:

@Controller
@RequestMapping("/products")
public class ProductController {

@Autowired
private ProductFacade productFacade;

@GetMapping("/{code}")
@ResponseBody
public ProductData getProduct(@PathVariable String code) {
return productFacade.getProductByCode(code);
}
}

3.3 Facade Layer

  • DTO dönüşümü
  • Aggregation logic
public class ProductFacade {

@Autowired
private ProductService productService;

public ProductData getProductByCode(String code) {
ProductModel model = productService.getProduct(code);
return convert(model);
}
}

3.4 Service Layer

  • Business logic
  • Transaction yönetimi
public class ProductService {

@Autowired
private ProductDao productDao;

public ProductModel getProduct(String code) {
return productDao.findByCode(code);
}
}

3.5 DAO Layer

public class ProductDao {

public ProductModel findByCode(String code) {
FlexibleSearchQuery query = new FlexibleSearchQuery(
"SELECT {pk} FROM {Product} WHERE {code}=?code"
);
query.addQueryParameter("code", code);

return flexibleSearchService.searchUnique(query);
}
}

3.6 Persistence Layer

  • Hibernate entity mapping
  • Model layer

3.7 Database

  • MSSQL

4. Extension Architecture

SAP Commerce’un en güçlü yönü Extension Architecture’dır.

Extension nedir?

Her modül bir extension’dır:

  • product
  • promotionengine
  • customer
  • order

Core Extension

SAP tarafından sağlanan temel modüller.

Custom Extension

Proje özel geliştirmeler.

extgen mycustomextension

AddOn

Storefront üzerine eklenen UI modülleri.

Dependency Yapısı

storefrontaddon → core → services → persistence

Build Sırası

  • localextensions.xml belirler
  • ant clean all

5. SAP Commerce Temel Bileşenleri

Backoffice

  • Admin panel

SmartEdit

  • CMS editing tool

OCC API

  • Headless commerce

CMS

  • Content management

Promotion Engine

  • Kampanya yönetimi

CronJobs

  • Scheduled tasks

FlexibleSearch

  • SAP özel query dili

ImpEx

  • Data import/export

Solr

  • Search engine

Integration API

  • External system integration

Event System

  • Event-driven architecture

Rule Engine

  • Business rules

6. Request Lifecycle

Bir ürün sayfası açıldığında süreç:

Browser

Controller (OCC)

Facade

Service

DAO

Database

Return Model

DTO Mapping

JSON Response

Detay

  • Request Tomcat’e gelir
  • Spring MVC controller devreye girer
  • Facade business orchestration yapar
  • Service transaction yönetir
  • DAO DB sorgusu yapar
  • Cache varsa DB’ye gitmez (Redis / Ehcache)

7. Büyük Ölçekli SAP Commerce Mimarisi

Cluster Architecture

  • Multi-node setup
  • Load balancer (NGINX / F5)

Session Management

  • Sticky session veya Redis session

Solr Cluster

  • Distributed search index

Cache Layer

  • Ehcache
  • Redis

Media Storage

  • AWS S3 / Azure Blob

CDN

  • Akamai / Cloudflare / Medianova

Monitoring

  • Dynatrace

Cloud Deployment

  • SAP tarafından sağlanan panel sayesinde, kesintili ve kesintisiz deploylar yapılabilir, SAP Paneli ile entegre uygulamalar yapılarak otomatize edilebilir.

8. SAP Commerce Architecture Best Practices

  1. Facade içine business logic yazma
  2. Service layer’ı transaction boundary yap
  3. DAO sadece data access yapmalı
  4. God service oluşumunu engelle
  5. Extension’ları küçük tut
  6. Circular dependency yaratma
  7. DTO model separation kullan
  8. FlexibleSearch optimize et
  9. Cache stratejisi belirle
  10. OCC response lightweight olmalı
  11. Event-driven tasarım kullan
  12. Async processing tercih et
  13. Solr indexing optimize et
  14. DB query sayısını azalt
  15. Lazy loading kullan
  16. Integration API layer ayır
  17. Custom cronjob overload etme
  18. Logging standardize et
  19. Monitoring entegre et
  20. CI/CD pipeline kur (Azure DevOps / Jenkins)

9. Sık Yapılan Mimari Hatalar

  • Facade içinde business logic yazmak
  • DAO’nun controller tarafından çağrılması
  • Tek devasa extension oluşturmak
  • Service layer’ı bypass etmek
  • Cache kullanmamak
  • Solr index optimize etmemek
  • OCC layer’da ağır logic çalıştırmak
  • Transaction boundary hataları
  • Async yerine sync integration kullanmak

10. Sık Sorulan Sorular (FAQ)

SAP Commerce microservice mi?

Hayır, modular monolith’tir.

SAP Commerce layered architecture kullanıyor mu?

Evet.

Facade neden var?

DTO mapping ve orchestration için.

Extension neden gerekli?

Modülerlik ve bağımsız geliştirme için.

OCC ne işe yarıyor?

Headless API sağlar.

Backoffice neden ayrı?

Admin operasyonları için.

SAP Commerce scalable mı?

Evet, cluster mimarisi ile.

Solr neden kullanılır?

Search performance için.

Cache neden önemli?

Latency azaltmak için.

SAP Commerce cloud ready mi?

Evet, Azure ve AWS desteklidir.

CI/CD nasıl yapılır?

Jenkins veya Azure DevOps.

Event system ne işe yarar?

Asenkron işlem yönetimi.

FlexibleSearch nedir?

SAP özel query language.

ImpEx ne işe yarar?

Data import/export.

Spartacus nedir?

Headless frontend framework.


11. Sonuç

SAP Commerce Architecture, enterprise e-ticaret sistemlerinin kalbini oluşturur. Doğru tasarlanmış bir mimari:

  • Performansı artırır
  • Ölçeklenebilirliği sağlar
  • Bakım maliyetini düşürür
  • Sistem stabilitesini yükseltir

Yanlış mimari kararlar ise büyük ölçekli projelerde ciddi teknik borç oluşturur.

Bu nedenle SAP Commerce projelerinde mimari tasarım:

  • Development’tan önce
  • Business analizi ile birlikte
  • Solution architect liderliğinde

yapılmalıdır.

SAP Commerce mimarisi, performans ve ölçeklenebilirlik açısından kritik tasarım kararları içerir. Bu kararların doğru alınması için SAP Commerce Cloud Danışmanlığı kapsamında Reopiya ekibiyle iletişime geçebilirsiniz.