A note from 2026: This article was published in 2018, when SAP Hybris Commerce 6.7 and Oracle Commerce Cloud 18A were current. SAP Hybris is now SAP Commerce Cloud, YaaS was discontinued, SAP Commerce Cloud has moved to the CCv2 model, and many legacy tools mentioned here, such as HMC, Cockpits, Data Hub, Adobe Flash-based UIs, and ATG/Endeca-era components, are deprecated or no longer strategic.

I thought it would be really useful to learn more about Oracle Commerce.

So I decided to study it more deeply and capture my thoughts and conclusions as a comparison with what I know about SAP Hybris Commerce. Yes, this is still a Hybris blog, but...

I have participated in negotiations about which platform is better suited to a customer’s needs. Understanding both Oracle Commerce and SAP Hybris really matters. In the past, I participated in many meetings where nobody in the room was able to compare the products properly. Oracle people promoted their products without a clear understanding of the pros and cons of SAP Hybris, and SAP managers behaved in the same way. Partners are generally good at one thing.

I hope the information below will help you form your own understanding. I tried to be as objective as possible. Despite the fact that the blog is Hybris-centered, all strengths of Oracle Commerce are clearly highlighted, and all weaknesses of Hybris are present too.

In this document, I am going to compare four e-commerce products:

Of course, this ambitious goal can’t be achieved fully in a single article. Today’s discussion is just a starting point for a series of blog posts on this blog.

Thanks

Thanks to Alexey Filonov, Danil Melnikov, and Ivan Petrych, who helped me a lot by answering my questions and revising my conclusions.

Contents

A bit of history

Oracle Commerce On-Premise SAP Hybris On-Premise
- Founded in 1991.
- 1997-1998 – ATG offered an application server and e-commerce platform. So by the time Hybris was founded, ATG already had a platform.
- 2010-2011: A major change in the architecture, integrating Endeca and Experience Manager into ATG.
- Founded in 1997.
- 2012 – Hybris 4.7 released. Major changes in technologies used and capabilities.

The fact that Oracle has a rich history is important when discussing the number of projects launched with ATG or Oracle Commerce. A better approach would be to compare the number of installations during the last year. Certainly, I don’t have such information.

Read more:

Oracle Commerce Cloud SAP Hybris Commerce Cloud
- Oracle names its model a Software-as-a-Service platform. Both the application and data are physically hosted in Oracle Cloud. However, each client has its own OCC instance, and this instance is not shared with others, as is common for SaaS solutions. This creates both limitations and opportunities.
- Oracle takes care of the hardware, software, and all operations.
- Subscription model (memory, CPU, storage, environments).
- Automatic upgrades.
- Enables customization without compromising the automated upgrade path.
- Private cloud model. It is something between a SaaS model and a hosted solution model:
  - Subscription model (as SaaS).
  - Very customizable (unlike SaaS).
  - Full control over functionality. Upgrading is not automatic.
- SAP takes care of the hardware, software, and all operations. However, the codebase is completely identical to the Hybris on-premise version.
- Considered a full replacement for an on-premise solution? Never officially declared, but it looks like it. - Not a replacement; the on-premise version is being actively developed, and the roadmap is defined.
- There is another product named YaaS, SAP Hybris-as-a-Service. It is very experimental. It is being merged with SAP Cloud Platform. In this article, we are not talking about YaaS at all.

Read more:

Keep Pace with the World: Updates and Releases

SAP releases new versions of Hybris Commerce nearly every quarter, and each version brings many new capabilities. Oracle has likely stopped releasing new versions of the on-premise version of Oracle Commerce, formerly known as ATG.

Oracle Commerce On-Premise SAP Hybris Commerce On-Premise
- Not active in releasing new versions or updates. - Fast-growing, frequent updates (new versions every quarter in recent years).
- Jul 2009 – Oracle ATG 9.1
- Jan 2013 – Oracle ATG Commerce 10.1.2
- Feb 2014 – Oracle Commerce 11.0
- Jul 2014 – Oracle Commerce 11.1
- Dec 2015 – Oracle Commerce 11.2
- May 2017 – Oracle Commerce 11.3 (latest)
No more updates since May 2017.
- Apr 2016 – SAP Hybris 6.0
- Sep 2016 – SAP Hybris 6.1
- Oct 2016 – SAP Hybris 6.2
- Jan 2017 – SAP Hybris 6.3
- Jun 2017 – SAP Hybris 6.4
- Sep 2017 – SAP Hybris 6.5
- Dec 2017 – SAP Hybris 6.6
- Apr 2018 – SAP Hybris 6.7 (latest).

Read more:

However, the situation is different for cloud versions.

Oracle Commerce Cloud SAP Hybris Commerce Cloud
- Unlike the on-premise version, Oracle Commerce Cloud is a separate product and is being developed actively.
- Feb 2016 – OCC Release 16.1
- Apr 2016 – OCC Release 16.2
- May 2016 – OCC Release 16.3
- Aug 2016 – OCC Release 16.4
- Oct 2016 – OCC Release 16.5
- Dec 2016 – OCC Release 16.6
- Feb 2017 – OCC Release 17.1
- Apr 2017 – OCC Release 17.2
- Jul 2017 – OCC Release 17.3
- Sep 2017 – OCC Release 17.4
- Oct 2017 – OCC Oct Update
- Dec 2017 – OCC Dec Update
- Mar 2018 – Update 18A
- Technically, the product for this offering is basically a service, so there are no versions or releases, but there are improvements and new service offerings.

It looks like ATG On-Premise is already half-dead. Oracle Commerce Cloud is rapidly evolving. Hybris Commerce Cloud is not software; it is a service that uses the on-premise version of Hybris Commerce and cloud infrastructure. The lack of an on-premise option may create issues in markets where it is important to get the system hosted within the country (Russia is an example) or when a subscription model is not an option. There is no simple solution for such issues. However, the cloud version may be very interesting in terms of initial costs and time-to-market.

Pricing models

Of course, you will find no numbers here, just general information about how pricing works for different products.

Oracle Commerce On-Premise SAP Hybris Commerce On-Premise
- License fee + support.
- License fee depends on the number of calls to the commerce engine.
- License fee + support.
Oracle Commerce Cloud SAP Hybris Commerce Cloud
- Usage model:
  - Tiered-pricing structure based on the number of calls to the commerce engine (including REST calls) – “page views”.
  - Revenue share model.
- Revenue share:
  - Metric is revenue.
- Parameters such as memory, CPU, nodes, bandwidth, etc., are out of control. Oracle adds resources if needed.
- Private cloud model.
- Setup fee + usage fee.
- Alternatives: cores or revenue.
- Metrics used:
  - Cores in CPUs.
  - Revenue.
  - Peak page views per second.
- Usage, such as:
  - Servers.
  - Additional VPN tunnels.
  - Additional page views.
  - Additional storage.
  - Additional bandwidth.
  - Additional memory.
  - Additional CPUs.
  - etc.

Read more:

Documentation

Both Oracle and SAP products are well documented. However, the SAP documentation portal is much more functional.

Oracle Commerce On-Premise SAP Hybris Commerce On-Premise
- Documentation is available on the Internet for anyone. There are also restricted-access resources with many useful documents. - Documentation is strictly for partners (Hybris Help).
- The Oracle Commerce documentation website has very poor search. I wonder how this is possible for the company that owns Endeca. No snippets, no filters, no synonyms, etc. - You can search the documentation, but it is not great either. The search is not configured for typical requests, with no snippets. SOLR is not used at its best there. I think almost every visitor to Hybris Help starts their journey with search, so it is very important to have it at its finest.
- However, the documentation is also provided as a PDF file. You can download it and search the text in your PDF reader. You can also use any search tools (including your own) to make it closer to your expectations. In Hybris, this is not possible. - Unfortunately, the documentation is not downloadable.

I recommend that SAP improve the search subsystem of Hybris Help: add snippets, implement automatic phrasing, let developers add tags and search phrases to the pages, and analyze search history and search actions to reveal possible configuration issues.

It would also be great to have the documentation available as a Git repository. It would help developers subscribe to updates and changes.

Read more:

Architecture

Of course, it is not possible to collect all architecture-related points in this section. I decided to highlight only some of them. They seemed important to me.

Oracle Commerce On-Premise SAP Hybris Commerce On-Premise
- Layers of independent services and products connected together.
- Historically, the products were created by independent teams and integrated together by Oracle.
- SAP Hybris works as a monolithic application integrated with SOLR for browse/search functionality. Components such as Database, SOLR, Data Hub, and the Hybris Platform are separate and independent. The first three are basically optional.
- It has well-shaped designated components for different purposes, such as CMS, product management, or data integration. They share the same database, which could be a problem when designing workflow processes, deployment processes, and performance solutions.
- Unlike Oracle Commerce, Hybris components are well integrated, built with the same technology stack, and share the same concepts and architecture.

Read more:

Oracle Commerce Cloud SAP Hybris Commerce Cloud
- Presumably, Oracle Commerce Cloud is based on ATG code, but uplifted specifically for Oracle Cloud. Nobody knows for sure, of course, because it is a black box and the internals are not exposed.
- Basically, it is a set of REST services + hosting for them + a template store (KnockoutJS) + infrastructure + support.
- SAP Hybris Commerce On-Premise + SAP-managed (or partner-managed) hosting + services + subscription model.
- Commerce Cloud, Private Cloud, Public Cloud.
- Automation as a Service (Develop -> Test -> Deploy -> Operate), containers, cluster orchestration, Build/Deploy pipeline with Jenkins.
- Docker as container technology.
- Kubernetes for cluster orchestration.
- API-first strategy.

Customization

Oracle Commerce On-Premise SAP Hybris Commerce On-Premise
- Very flexible.
- You can change the database directly.
- Some modules come precompiled, but there are ways to extend them (via dependency injection, Nucleus).
- Very flexible.
- You shouldn’t change the database directly.
- Some modules come precompiled, but there are ways to extend them (via dependency injection, Nucleus).
Oracle Commerce Cloud SAP Hybris Commerce Cloud
- Black box.
- Basically, it is a set of REST services + hosting for them + a template store (KnockoutJS) + infrastructure + support.
- You can’t add/modify database tables or configuration files directly, as is common in Oracle Commerce On-Premise (ATG).
- There is an API for third-party integrations (webhooks, events, and functions). You can change the data model via API.
- There is no possibility to deploy your own code to the cloud.
- You can create a custom Node.js app and integrate it with the website. However, this app can’t change the existing functionality in detail.
- Normally, almost all changes valid for the on-premise version are also valid for the cloud version.
- Total customizability and flexibility.

Read more:

Deployment and infrastructure options

There are differences in how the systems are designed in terms of high-level data flows and components. This point is also about system architecture.

Oracle Commerce On-Premise SAP Hybris Commerce On-Premise
- Modular and decoupled environments. You can use several databases and schemas in the system setup. In fact, the standard recommendations mention about six:
  - CORE – non-versioning production data (order, user),
  - PUBLISHING – pre-production versioning data (product, content, promotion),
  - SWITCHING_A,
  - SWITCHING_B – production active and passive schemas,
  - STAGING – CORE + SWITCHING for the test environment,
  - AGENT – for a call center.
- Single database, single cluster.
- There is an option to use different databases for different purposes and sync them with each other. However, this setup is not the default, the y2y module behind it is new and unproven, and the configuration is not easy. As far as I know, almost no one uses it.
- Great scalability because of support for multi-database and multi-cluster setups. - Good scalability. The single database or centralized indexing may be a bottleneck. There are solutions to avoid it too, but they are far from out-of-the-box capabilities. Oracle provides more OOTB.
- The cluster setup is flexible, depending on the customer’s and partner’s choice. - The cluster setup is flexible, depending on the customer’s and partner’s choice. The number of nodes with Hybris may be limited because of license limitations.
Oracle Commerce Cloud SAP Hybris Commerce Cloud
- Oracle uses its own data centers for Commerce Cloud.
- Because of its IaaS nature, the implementation details are not available (black box).
- This point is not about deployment or infrastructure, but I decided to put things together: there is no versioning in Oracle Commerce Cloud, which was backed by the multi-cluster environment in ATG. If you change data in Cloud, you won’t be able to roll it back (unlike Oracle Commerce On-Premise, where it is part of the platform). You can’t move data between environments.
- SAP deploys its cloud solutions in controlled data centers operated by SAP or by SAP Certified Partners.
- Because of its IaaS nature, the implementation details are not available.

Read more:

Core technology and tooling

Oracle Commerce On-Premise SAP Hybris Commerce On-Premise
- Mostly based on proprietary technologies.
- The fact that ATG in 1997-1998 already had a platform, and the first Servlet specification was released in June 1997, explains why proprietary technologies are at the core of the solution. There was a lot of code developed alongside the J2EE specification, and it was costly to transfer it to the newly released specifications.
- Mostly based on open-source technologies and open standards. It is easier to find developers and train them. This creates an advantage in time-to-market.

Read more:

Oracle Commerce Cloud SAP Hybris Commerce Cloud
- OCC uses the same core concepts and shares a lot of code with the on-premise version.
- Many important business features cannot be customized.
- Many important enterprise-level features are not present (yet), such as object versioning.
- In my humble opinion, Oracle Commerce Cloud is a solution for small, medium, and large businesses, but not for enterprise.
- Hybris Commerce Cloud uses Hybris Commerce On-Premise as a core, so the technologies and concepts are the same.

Security: Permissions and Access Rights

Oracle Commerce On-Premise SAP Hybris Commerce On-Premise
- Permissions:
  - Global permissions.
  - Object permissions (for example, only Products or Categories).
  - Item permissions.
- In the catalog security policy, an access control list (ACL) is stored for each individual item (catalog, product, SKU, media), except for category.
- Permissions.
- Global permissions.
- Type permissions (for example, only Products or Categories).
- Item permissions (for example, only Product X or Category Y).
- Attribute permissions (for example, product name only).
- There is no easy way for the database server to perform a permission check when retrieving item rows from the database. This also means that permissions cannot be used for filtering rows in the data access layer.

Security: Vulnerability protection

Oracle Commerce On-Premise SAP Hybris Commerce On-Premise
- There is no similar list to what we have for SAP Hybris. It is considered that the implementation partner takes care of it by adding extra components (some of them are very common). - XSS Prevention Rules.
- XSS Encoder.
- XSS Filter.
- OWASP Java Encoder.
- OWASP Java HTML Sanitizer.
- OWASP JSON Sanitizer.
- CSRF Protection.
- Clickjacking Protection.
- SSL Client Authentication.
- HTTP Header Security Filter.
- Cache control.
- Malware Filter Proxy.

Read more:

Oracle Commerce Cloud SAP Hybris Commerce Cloud
- I couldn’t find any specific features like what we have for SAP Hybris Commerce Cloud. Similar to SAP, Oracle takes care of it for the cloud setup. The list of features is likely the same; it is a sort of best practice. All on-premise features +
- Two-factor authentication.
- DDoS monitoring (ADNS-based).
- Malware Protection.
- Security Information and Event Monitoring.
- Infrastructure Vulnerability Scanning.
- Network-Based Intrusion Detection and Prevention System.
- DNS-based DDoS Mitigation.
- Protection from Volumetric Attacks.
- Network Segregation.

Read more:

Security: Authentication and authorization

Oracle Commerce On-Premise SAP Hybris Commerce On-Premise
- Basic authenticator OOTB.
- Oracle Access Management:
  - LDAP support.
  - Single Sign-On support.
- Storefront SSO is supported.
- Hybris uses Spring Security for this purpose. It is well documented and very flexible. For example, you can easily integrate all Cockpits with LDAP or SSO (such as Okta).
- Built-in support of SSO (SAML) for Backoffice.
- Storefront SSO is not supported.

Read more:

Oracle Commerce Cloud SAP Hybris Commerce Cloud
- Oracle Commerce Cloud REST APIs use OAuth 2.0 with bearer tokens for authentication. - It is based on SAP Hybris Commerce On-Premise.
- No information about any extra capabilities or limitations of SAP Hybris Commerce Cloud.

Read more:

Security: EU GDPR Compliance mechanisms

The General Data Protection Regulation (GDPR) (EU) 2016/679 is a regulation in EU law on data protection and privacy for all individuals within the European Union. It also addresses the export of personal data outside the EU.

The topic of GDPR regulation is important starting this year. All e-commerce websites supposed to operate in the European Union must be ready, and it is great if the platform has built-in capabilities for GDPR.

Oracle Commerce On-Premise SAP Hybris Commerce
- No support at all. - Built-in GDPR support. Consent Management system to care about capturing and processing personal data, Personal Data Reporting to generate private customer data reports, etc.
Oracle Commerce Cloud SAP Hybris Commerce Cloud
- GDPR support is very basic. Some basic support has been added in 18A (profile deletion and order anonymization); other basic features will be added later in the 18B release. - GDPR support is integrated into SAP Hybris Commerce On-Premise, which is used in the cloud.

Personalization

Oracle Commerce On-Premise SAP Hybris Commerce On-Premise
- Stronger in personalization: ATG can segment users based on various criteria.
- You can configure UI components for different users and user groups.
- Hybris personalization relies on external software, which is not part of SAP Hybris Commerce, such as SAP Hybris Marketing or SAP Hybris Profile. The BTG module is getting deprecated because of technological limitations. The new SmartEdit Personalization module can’t work without a customer segmentation module. This module is supposed to be custom or SAP’s.
- In Hybris, you need to use Hybris Marketing or SAP Hybris Profile, products with separate licensing. Content items, such as banners, for example, can be segmented in the same way. It uses flexible business rules for that.
Oracle Commerce Cloud SAP Hybris Commerce Cloud
- OCC introduces the concept of Audiences. It represents a segment of the shoppers that visit your store. For example, you could create an audience called Student Females Outside Texas that includes female shoppers who have a .edu email address, but excludes people living in Texas.
- Embedded product recommendations.
- Best with Hybris Marketing Cloud (a separate subscription, not included in Hybris Commerce Cloud).

Read more:

Integration tooling/frameworks

Oracle Commerce On-Premise SAP Hybris Commerce On-Premise
- Integration in ATG is generally a completely custom solution. There are integration frameworks to accelerate development.
- Data load uses XML as an option OOTB.
- SAP Hybris has a set of tools for integration, such as Hot Folder (based on Spring Integration and Enterprise Integration Patterns), Omni Channel Commerce (OCC) web services, platform web services, and Import Cockpit (legacy).
- There is a lot to integrate with other SAP products out of the box.
- Data load uses text files as an option OOTB (IMPEX).
- Data Hub – external SAP Hybris Integration Module.
Oracle uses JMS. It is used for OOTB fulfillment, for example. It can be used for inventory updates and cache invalidation notifications.

Read more:

Oracle Commerce Cloud SAP Hybris Commerce On-Premise
- REST webhooks.
- External Node.js apps.
- Oracle connectors to Oracle Cloud Services.
- Some tools and capabilities may require extra fees to be activated.

Software components for business users

In this section, I try to decompose the solution from both business and technical perspectives.

Oracle ATG SAP Hybris
- Business Control Center.

BCC includes all admin management capabilities, including CMS, Product, Merchandising, Order, and Customers, which can be modified in BCC.

- Endeca Experience UI.
- CSC – Customer Service Center (Call Center) – analog of Hybris CS agent.
- ATG Control Center. It is a Windows-only application that gives users access to Platform features and allows easy graphical editing of scenarios (analog of workflows in Hybris).
- Backoffice New Generation Cockpits (ZK Framework 8), such as:
  - PCM Backoffice.
  - Adaptive Search.
  - etc.
- Cockpits (ZK Framework 2.6):
  - CMS Cockpit.
  - Admin Cockpit.
  - etc.
- SmartEdit (AngularJS).

Read more:

Business User Interfaces

Oracle Commerce On-Premise SAP Hybris Commerce On-Premise
- The user interfaces are not intuitive, and I wouldn’t say that they are well designed. It is common to see XML editors and low-level configuration components. Some concepts, such as projects and change conflict resolution, aren’t easy either. In terms of usability, it is far from products such as Sitecore or Adobe CQ5.
- Lack of browser and device support adds complexity. You need to have Adobe Flash installed and activated. It is required by Oracle Commerce business applications.
- Backoffice UI and SmartEdit are very convenient and intuitive. They work on almost all devices, including mobiles and tablets.
- Cockpit interfaces and Hybris Management Console are a bit geeky, but SAP is no longer supporting them, and there is a good replacement (Backoffice).
Oracle Commerce Cloud SAP Hybris Commerce On-Premise
- The interfaces are much better than in Oracle Commerce On-Premise. - No difference, because SAP uses the same product for its cloud solution.

Product Catalog

Structure

Oracle ATG SAP Hybris
- Hierarchical catalogs (subcatalogs). - Flat list of catalogs.
- The product catalog is a collection of versionable repository items (categories, products, media, etc.). - Product catalog version is one of the filtering properties of catalog-aware data, such as products, categories, and media.
- Versioning is not supported.
- Catalogs are containers for categories. Catalogs can contain links to subcatalogs and to categories. - Catalogs have one or more catalog versions. Normally, there are two of them: Online and Staged.
- Catalog versions are containers for catalog-aware objects, such as products, categories, images, and many others.
- Categories have properties that link them to other categories and to products. They can also link to other catalogs. - The same.
- Products have properties that link them to other products and to SKUs (stock-keeping units). They contain links to text and images used to describe a group of SKUs. - There is no difference between a product and a SKU in Hybris. However, there are different types of products and two implementations of the variant products concept.
- SKU: the actual unit that is shipped to the user. Pricing is generally done at SKU level. A product can have several different SKUs associated with it, representing varieties, sizes, and colors. - There is no difference between a product and a SKU in Hybris. Pricing is done at product level.
- Categories do not “contain” products, nor do products “contain” SKUs. Rather, the objects are peers that are linked together through their various properties. - Products and subcategories are linked as many-to-many. Categories are normally organized into a tree-like structure.
- The ATG product catalog has two main categories of products: non-navigable and root category products. - A Hybris product catalog version can have any items with a product type or its successor.
- In order to customize the catalog, you can add, remove, or modify a property of an existing item type, create a subtype of the existing type, and create a new item type. - In Hybris, there is no way to safely remove an attribute or change its type.

Variant / multi-dimensional products

Oracle ATG SAP Hybris
- The implementation is basic: SKUs are grouped under the product item. Each product has a template. The template knows how to build variant product navigation (color, size) and what attributes are variant attributes. - There are two ways to implement variant products: via custom Variant Category types and using Multi-Dimensional Variants. Both are provided OOTB.

Dynamic Attributes

Oracle ATG SAP Hybris
- The implementation is very basic.
- Simple key/value list. There is no way to present dynamic attributes in the product category-specific form, no validators, and no custom types. There is a Dynamic Attributes field in the SKU object to allow dynamicity, which is essentially key/value pairs.
- Classification catalogs. There is a tree of properties, classification categories. Each category can be assigned to a product or product’s category. The classification category defines a set of dynamic properties for a product. For example, the classification category “TVs” will have properties such as “Display type”, which can be applicable for different product categories, such as plasma TVs, LCD TVs, and computer displays.
- This approach has its drawbacks. For example, if you have only one exception in a long list of products, it won’t be easy to hide the attribute for that product because it is considered in the same way as others within the same group.

Product Content Management

Oracle Commerce On-Premise SAP Hybris Commerce On-Premise
- Product content management and order content management are present but basic. The existing capabilities require “finishing” for almost any project. There are Oracle Fusion Applications that are supposed to change the equation, but these tools are too new and immature. - Product content management and order content management are strong and mature in Hybris.
- Product content management is implemented very similarly to what we had in Hybris years ago, Hybris Management Console. It is a step forward from a web-based database editor, but not a big step. The interfaces are built with Adobe Flash technology (Flex). - Product content management in Hybris is backed by two products: the legacy Product Management Cockpit and the new Product Management Backoffice. Both products are very functional and are considered best-of-breed on the market.
Oracle Commerce Cloud SAP Hybris Commerce Cloud
- The product management interfaces are better than in Oracle On-Premise. The functionality is still about the same. - SAP uses the same product for its cloud services, so there is no difference from an on-premise solution.

Content Management

Oracle ATG SAP Hybris
- Oracle Endeca Experience Manager UI.
- BCC has a preview function that allows you, when fired, to select a user and hence the rules for whom the page will be shown before even publishing to the Staged environment.
- CMS Cockpit (legacy).
- SmartEdit (new).

Inventory

Oracle Commerce On-Premise SAP Hybris On-Premise
- Inventory information is stored in the Inventory repository, which is separate from the product catalog. - Inventory information is stored in a separate entity (table).
Oracle Commerce Cloud SAP Hybris Cloud
The same as for On-Premise. The same as for On-Premise.

Checkout

Oracle ATG SAP Hybris
- The checkout process is not configurable, but customizable. Any changes in the process will require creating or modifying code.
- The user checkout flow is defined with a combination of JSP templates and form handlers.
- Customization is done through FormHandlers (similar to Spring Controllers), JSPs (view), and pipeline (process in Hybris) modifications.
- The checkout process is not configurable, but customizable. Any changes in the process will require creating or modifying code.
- However, there is a framework to help developers make checkout-related customizations faster.

Order Management

Oracle ATG SAP Hybris
- No OMS. The only app for the order processing workflow is Agent Call Center.
- ATG has a fulfillment module. It is mainly used in automated order processing.
- In past versions, SAP Hybris had a separate module for order management, a separate app integrated with SAP Hybris. In 2017, SAP moved the functionality into SAP Hybris.

Promotions

Oracle ATG SAP Hybris
- OOTB promotion templates + Advanced Expression Editor. - OOTB promotion templates + Promotions Rule Builder.
- Promotion upsell messages are easier to configure than in Hybris. In Oracle, the upsell logic is linked with the main promotion. - In Hybris, you need to create a separate promotion to show the message.
- Tiered Price/Order breaks. - Tiers are not supported. You need to create a promotion per tier.
- Stacking rule combinations are supported. - Stacking groups are flat.

B2B

This topic is too broad to cover in this article. I am considering creating a separate review. Below is an excerpt from Forrester.

Hybris. Since its acquisition by SAP in 2013, Hybris has experienced significant market share growth in B2B verticals including (but not limited to) manufacturing, wholesale, and distribution firms, with these verticals now accounting for approximately 50% of Hybris’ revenue. The firm has made significant R&D investments over the past two years in B2B features including integration with SAP’s CPQ tools, the development of Data Hub (an integration and data exchange tool that provides robust integration with SAP’s ERP), a focus on account and organization hierarchies, and an all-new responsive-enabled B2B reference store. B2B prospects continue to be attracted to Hybris for six key reasons:

  • the modern Java-based architecture;
  • the embedded enterprise product content management (PCM) capabilities;
  • the flexibility of the platform framework to solve bespoke business scenarios;
  • the reference integration framework with SAP’s ERP and CPQ offerings;
  • the robust partner ecosystem; and
  • Hybris’ pedigree in core commerce capabilities and associated customer engagement and marketing solutions...

Oracle. In 2013, we [Forrester] reported that Oracle had made progress, but was still in the process of integrating many of its major eCommerce platform acquisitions (e.g., ATG, BigMachines, Endeca, FatWire). Two years later, Oracle now boasts a complete set of B2B eCommerce features and has developed into an essentially solid, stable, and integrated offering that can be further augmented through additional integrations with other key Oracle B2B products — notably CPQ Cloud, Sales Cloud, and Siebel. That said, customers report still hearing sometimes conflicting narratives from Oracle insiders about how the various acquisitions fit together and deliver integrated value. (...)

  • “ (Forrester, 2015)

Read more:

Reference Stores

Oracle ATG SAP Hybris
- Discover Electronics & Commerce (CRS).
- Mobile Commerce.
- iOS app.

The reference stores have not been designed to be used as accelerators. Developers normally use code from the reference stores, but they don’t normally create solutions on top of them. They are just a demonstration for developers of how to use the components of the system to build a solution. Almost all projects with ATG use a custom store with no traces of reference stores.
- A rich set of stores:
  - Electronics B2C.
  - Apparel UK/DE B2C.
  - Powertools B2B.
  - Marketplace.
- iOS and Android apps.

Hybris reference stores are real accelerators. The majority of SAP Hybris Commerce-based stores are created on top of accelerators. Almost all partners use all or major parts of the templates provided with the accelerator package to boost development. This creates an advantage in time-to-market.

Workflow and publishing, teamwork

Oracle ATG SAP Hybris
Simultaneous multi-user editing with conflict negotiations. Concurrent change control is poorly implemented. Per field, the latest changes win. Automatic item locking is not OOTB (but provided as an extra low-level feature in the latest versions of SAP Hybris).
This concept is represented by versioned items and the separate database concept for Staging and Online versions.

Deployable artifacts are projects. Projects have assets (promotions, content, products, prices, etc.). With versioning, you can roll back changes even after propagating to production.

This approach helps handle complex workflow operations and quick and safe rollback.
Hybris OOTB uses only one database, and the same tables for both Staged and Online versions. If the administrator decides to publish some content, it is performed on the same database. It may create issues and complexities, especially in comprehensive workflows.

There is a solution called y2y for organizing inter-cluster data exchange. Using this solution, it is possible to implement an approach similar to what ATG uses. However, it is not an OOTB setup. The customization level is high and very specific to the task.
ATG supports versioning for assets. When you create an asset, the system gives it the number 1. When you or another user edits the asset, a second version is created, and versions 1 and 2 are both stored in the system. This behavior has two purposes: it prevents conflicts when two or more people edit the same asset, and it allows you to recover from errors by reverting to a previous version of an asset at any time. Hybris doesn’t support versions out of the box. When another user edits an asset (the product, for example), their changes will be merged with the changes made by you. If you and another administrator edit the same piece of data, the latest change will be applied.

There is a built-in mechanism for pessimistic locking of items, but you need to customize the system to use these capabilities.
Oracle supports switching of data sources. There can be two production customer-facing database setups, one active and one inactive. The changes can be deployed onto the inactive setup in a “switch mode” deployment. Then, in one transaction, the active and inactive are switched. It can be done only with a set of versioned types. For example, Orders and Customers are not involved in the process of switching product information data. The concept of switching data sources is implemented in Hybris only for the search index. However, you can change the active content or product catalog for a website.
For Experience Manager, all changes are grouped and can be published in one click. It is closer to how version control systems work. You can list and inspect the changes before publishing. In Hybris, mass publishing is not a safe operation. You can publish other people’s changes without letting them know.

Generally, SAP Hybris Commerce is not designed for large teams of administrators sharing the same objects. Auditing capabilities and concurrent change control are poorly implemented.
Oracle Commerce Cloud Hybris Commerce Cloud
Regarding workflows, almost all ATG Hybris Commerce On-Premise capabilities are available in Cloud.
Versioning is not implemented yet. You can’t roll back changes applied to the production instance. No significant changes compared with Hybris Commerce On-Premise.

CMS Concepts

Oracle ATG SAP Hybris Search (SOLR + Adaptive Search)
ATG focuses on dynamic components and dynamic components. For example, the banner component and banner data are decoupled, and there are rules saying what banner should be shown to this user in this component. Another example: in ATG, search terms can trigger a rule to promote a product category. It generally requires selecting an individual record or group of records and placing it on the page to be displayed. For example, the banner component and banner data (image, link) are tightly linked, and the administrator sets up the specific banner. The banner data is just a component property. Another example: product recommendation. In this case, data and components are separated, but what product should be shown for what product as a cross-sell or upsell offer is defined by the administrator or external software (external to SAP Hybris).
Endeca-powered pages work differently from other parts of the website.

There are building blocks called Cartridges.

ATG provides 20+ cartridges OOTB.

These components are managed by Endeca Assembler.
It is CMS Components.

Hybris provides XXXX CMS Components OOTB.

However, in Hybris, it is not part of the search subsystem. It is part of WCMS architecture. Search is represented by one of the WCMS components.
A cartridge can be instantiated from its cartridge template.
The cartridge template defines the structure and initial configuration for an item and a set of properties and the associated editors with which the business user can configure them. The component defines the structure and initial configuration via the component data model. The editors are defined by XML configuration used in Cockpits.
Page templates are prebuilt page layouts that determine where the content and data are placed.
Pages can have child pages. Hybris supports a flat list of pages only.
Oracle Commerce SAP Hybris Commerce
- Endeca and Experience Manager are core. Oracle focuses on integrating them into ATG. Endeca is a key component of the system. - SOLR Search is just a component for search and navigation. Product listing pages and search pages rely on it. Promotions and recommendations don’t use the search index at all.

Read more:

Search engine

Oracle ATG SAP Hybris
- “Endeca”:
- Proprietary, tightly integrated with ATG:
- Oracle Commerce Guided Search (Endeca) +
- Oracle Content Acquisition System +
- Oracle Commerce Workbench +
- Endeca Developer Studio +
- Endeca Assembler API +
- Endeca Web Crawler
- Endeca MDEX Engine
- (There is “Web Commerce Search” as well, but it is deprecated.)
- Open source, standalone.
- Integrated with SAP Hybris via API.
- Apache SOLR + SAP Hybris Adaptive Search.
- SOLR doesn’t have any GUI for business users. SAP Hybris Adaptive Search adds some capabilities, but that’s a drop in the bucket compared to Oracle’s.

Oracle Commerce Guided Search is more than a search engine. It is not 100% correct to contrast it with SOLR.

Indexing strategies

Oracle ATG SAP Hybris
- CAS, Forge.
- Unstructured and structured.
- Active crawler.
- Data source connection via Data Anywhere.
- SAP Hybris extracts and transforms data before loading it to SOLR. Transformation rules are manageable and extendable. Unstructured content is not supported. By default, Hybris extracts all information about the product before updating the index.
Data transformation is mainly configurable. Data transformation is mainly hard-coded.

Diverse content

Oracle ATG SAP Hybris
Supported OOTB via Endeca Content Acquisition Service and Web Crawler. SAP Hybris Search isn’t able to crawl, index, and search diverse content repositories. It can work only with product data.

Full text search

Oracle ATG SAP Hybris
Auto-correction is OOTB. Capable, but customization is needed.

Spelling

Oracle ATG SAP Hybris
ATG combines the reference terms from different languages. This can be fixed by using different indexes for different languages. Language-dependent spelling dictionary.

Secured Search

Oracle ATG SAP Hybris
ATG is able to crawl secured content and make it accessible only to authorized people and/or groups. SAP Hybris Search isn’t able to crawl, index, and search diverse content repositories. It can work only with product data.

Also, it can’t filter results depending on the user role OOTB. It can be done via facets, but not OOTB; customization is needed.

GUI for business users, search reporting

Oracle ATG SAP Hybris
GUI-based business suite to manage configurations and merchandising rules.

Robust integrated reporting and tool set.

Highly configurable.
SOLR doesn’t have any GUI for business users. It is considered a framework, not a product.

SAP Hybris Adaptive Search and Hybris Backoffice add some capabilities, including GUI, but that’s a drop in the bucket compared to Oracle’s.

Search data

Oracle ATG SAP Hybris Search (SOLR + Adaptive Search)
- With Endeca Search, the index supports complex types (structured data, hierarchical and multi-type items) and unstructured or custom data (web crawls, PDFs, WCMS). There is a dedicated component, Content Acquisition System (CAS). - Search index supports only text items. All other types are converted to text by Hybris. It helps to index them properly, but may create issues or complexity in querying or customization for specific needs.
An Endeca record is a combination of typed properties and typed dimensions. A SOLR record is a combination of text properties.
A value of a key/value pair can be created as a hierarchy of values rather than a simple flat value — this is how dimensions work. A value of a key/value pair is always a flat value (text).
Aggregation/record rollup support. No built-in aggregation support.

Search data model: Hierarchical structures

Oracle ATG SAP Hybris Search (SOLR + Adaptive Search)
Values can have one parent and many child values (dimensions). So the value is a tree. The value is always flat, and these are strings. In order to represent a tree, more than one property is used, one per tree level. This may create issues. For example, for wines, you can have two levels of wine types: (red, white, sparkling) and (merlot, chianti, chardonnay). The product in Hybris will have a property for each type, and you will have both facets displayed. In ATG, you have options, and the level of the property can be taken into account (first, red/white/sparkling, and after that merlot/chianti/chardonnay).

Search data model: Ranges

Oracle ATG SAP Hybris Search (SOLR + Adaptive Search)
Sift: organized as ranges, but returns the value inside the range as a child of the range. For this purpose, you need to have two properties in SOLR: one for the range and another for the value. This is how price ranges work in Hybris.
Cluster discovery. Fixed ranges only.

Search data model: Facet Visibility

Oracle ATG SAP Hybris Search (SOLR + Adaptive Search)
Precedence rules. When triggered, they display a target dimension (facet) that was previously not displayable. Adaptive Search rules. You can add or remove facets per category or for specific conditions.

Type-ahead

Oracle ATG SAP Hybris Search (SOLR + Adaptive Search)
Via dimension query. Not implemented.

Language analysis

Stemming

Oracle ATG SAP Hybris Search (SOLR + Adaptive Search)
Two-way only. Can be tuned both for querying and indexing.
Can only be enabled for a language, not defined. There are various stemming algorithms; any of them can be enabled and configured in detail for a particular language.
Only nouns are stemmed in English.

Stopwords

Oracle ATG SAP Hybris Search (SOLR + Adaptive Search)
All languages share the same list of stopwords. This may create issues. It can be fixed with the setup “A separate search index per language”.

Localization is not implemented nicely in Endeca. Stopwords are not 100% language-dependent.
Language-dependent stop words.

Synonyms / Thesaurus

Oracle ATG SAP Hybris Search (SOLR + Adaptive Search)
One-way and two-way synonyms. One-way synonyms.
All languages share the same list of synonyms. This may create issues. It can be fixed with the setup “A separate search index per language”.

Localization is not implemented nicely in Endeca. Synonyms are not 100% language-dependent.
Language-dependent synonyms.

Read more about Language Analysis:

Relevancy

Oracle ATG SAP Hybris Search (SOLR + Adaptive Search)
Visual builder (from relevancy calculation modules, such as Exact Match, Priority Field, First – how close to the beginning, by Frequency, Glom – single field goes ahead of cross-field and no match, Weighted, Maxfield, Numfields, NTerms, Interpreted, etc.). By default, BM25 with some minor tuning. However, there are other relevancy calculation formula implementations available as modules. There is no way to implement “closeness to the beginning” for relevancy calculation.

Phrase search

Oracle ATG SAP Hybris Search (SOLR + Adaptive Search)
Automatic phrasing. In Hybris, only a whole phrase match has a higher rank. SOLR supports phrasing.

Multi-level navigation via indexed search

Oracle ATG SAP Hybris Search (SOLR + Adaptive Search)
Index-based navigation via Endeca dimensions. Not implemented.

Customization, extensibility

Oracle ATG SAP Hybris Search (SOLR + Adaptive Search)
Very limited. Configurable within limits. Extension of Oracle Commerce modules is similar to extension of Hybris. But dependencies are declared in MANIFEST.MF, compared to extensioninfo.xml. You can change/extend the ranking formula or use experimental or market-specific modules to get better results.

Other remarkable features

Oracle ATG SAP Hybris Search (SOLR + Adaptive Search)
Conversational search capabilities. For example: ...
Hierarchical dimensions allow entities to be logically structured by attributes: https://docs.oracle.com/cd/E70265_01/common.11-3/EndecaConcepts/html/cc_recpropdim_dimension_hierarchy.xmlconcept_3A05F7CFFEEB44E9918A98EA78446E69.html
Better support for languages: https://docs.oracle.com/cd/E66320_01/common.11-2/EndecaInternationalization/html/RECI_language_reference.xmlreference_D53FF400F31047339DF5DA7C4F2BA806.html

Other remarkable features

Oracle ATG SAP Hybris Search (SOLR + Adaptive Search)
Search page context-specific offers (upsell, cross-sell) are available OOTB. Search page context-specific offers (upsell, cross-sell) are available only with BTG personalization (or require creating custom components). This module is getting deprecated; it is slow and rarely used.

Extensibility

Oracle ATG SAP Hybris Search (SOLR + Adaptive Search)
Highly extensible, provided you know what you are doing. Highly extensible.

Web Server

Oracle ATG SAP Hybris
Default:

- Oracle WebLogic.

Also supported:

- JBoss Enterprise Application Platform.
- IBM WebSphere.
Default:

- Hybris Server (based on Tomcat).

Also supported:

- SpringSource tcServer.

IBM WebSphere and Oracle WebLogic aren’t mentioned in the documentation anymore. SAP Hybris used to support them in previous versions.

Software components

Oracle ATG SAP Hybris
Each line is a separate product:

- Oracle JDK.
- WebLogic Server.
- ATG Web Commerce.
- Modules:
  - Platform.
  - Reference Store.
  - ATG Control Center (ACC).
  - Customer Service Center*.
  - MDEX Engine.
  - Guided Search Platform Services.
  - Experience Manager Tools and Framework.
  - Developer Studio.
- Oracle Database. MySQL is supported too, but only for demo or educational purposes.
- JDBC Driver.
- ATG Plug-in for Eclipse.
- SQL Client.
Each line is a separate product:

- SAP Hybris Commerce Platform and OOTB Extensions.
- Java (JDK).

A database server is not required; there is support for HSQLDB (built in). For MySQL, a JDBC driver is required (downloadable).

Developers don’t work with the database directly, so the SQL client is not required.

Supported operating systems and browsers

Oracle ATG SAP Hybris
- Server:
  - Microsoft Windows.
  - Oracle Linux.
  - Solaris.
- Some business tools (Developer Studio, ATG Control Center) work only on Windows.
- Some business tools (Experience Manager, etc.) use Flex UI (basically based on Adobe Flash) for administrative interfaces.
Server:

- Linux.
- Windows.

Backoffice supports IE 11, Firefox, Chrome, and Safari.

Supported databases

Oracle ATG SAP Hybris
- Oracle Database.
- MySQL (for evaluation and development only).
- Oracle Database 11.
- MySQL.
- Percona XtraDB Cluster.
- SAP HANA.
- Microsoft SQL Server.
- Single-node HSQLDB.
- Amazon Aurora.
Multi-database (agent DB, asset DB, staged DB, switchable customer-facing DB). Single database (all in one).

Cluster support

Oracle ATG SAP Hybris
- OOTB / best practice:
  - Search node(s):
    - Application node(s).
  - Customer-facing cluster:
    - Web node(s).
    - Application node(s).
    - Database node(s).
  - Agent-facing cluster:
    - Web node(s)
.
    - Application node(s).
    - Database node(s).
  - Asset management cluster:
    - Web node(s).
    - Application node(s).
    - Database node(s).
  - Data warehouse cluster.
- OOTB / best practice:
  - Search node(s).
  - Web node(s).
  - Application node(s).
  - Backoffice node(s).
  - Cronjob node(s).
  - Database node(s).

Development environment

Oracle ATG SAP Hybris
- Windows, Linux (RHEL, Oracle Linux, Fedora). There is no Mac OS version of Endeca.
- Minimal:
  - Oracle ATG.
  - Oracle WebLogic Server/JBoss is more common.
  - Oracle JDK.
  - Oracle Database.
- Mac OS, Windows, Linux.
- Minimal:

- SAP Hybris.
- Oracle JDK.

Data access

ORM

Oracle ATG SAP Hybris
- Proprietary:
- Repository API.
- Oracle ATG Web Commerce Data Anywhere.
- Proprietary:
- SAP Hybris Persistence Layer.
- Originally based on EJB.
- Repository is the basic method of data access. It is capable of managing structured data, documents, and multimedia data.
- ATG built an abstraction around Repository. It can be anything: a database, hierarchical file system, hierarchy in a text file itself. Anything, provided the corresponding adapter repository is created. It easily allows, for example, Order/User and other repositories to have a separate database schema.
- Data Anywhere Architecture hides the way this data is stored. Repository API shields developers from the underlying complexities.

Data Definition / Data Mapping

Oracle ATG SAP Hybris
Repository.xml – direct mapping to table and column names.

Repository is an abstraction that can be used for mapping to the file system, text inside a file, or whatever is similar, a bit like https://en.wikipedia.org/wiki/Content_repository_API_for_Java. It all depends on the ATG Adapter Repository implementation.
*-items.xml

No UI.

Data Access Control

Oracle ATG SAP Hybris
Access Control Lists. Flexible Search Constraints.

Data Access Language / API

What capabilities do platforms provide in terms of searching for data?

Oracle ATG SAP Hybris
RQL looks very similar to SQL in the part that follows SQL’s WHERE clause. No joins. No projections (as there is no SELECT in the query, it always returns the whole RepositoryItem object; it can’t return just a field). It is possible to perform RQL queries in the corresponding repository of /dyn/admin. Flexible Search, ModelService.

Data load (import)

Oracle ATG SAP Hybris
XML, command line.

Repository Loader. Versioning XML files can be loaded from the command line to a project in BCC; automatic deployment can be triggered.
IMPEX (CSV-based), web.

Other remarkable features

Oracle ATG SAP Hybris
Supports cascade delete, inserts, updates.

Multi-database.

Easy cleanup (removing references).

Modifying a data model definition is allowed.
No cascade automation.

Single database.

No cleanup procedures OOTB.

Changing the type of an attribute is problematic and not straightforward (and not documented; not recommended by SAP).

Building applications

Oracle ATG SAP Hybris
Dynamo Application Framework runs on top of the application server:

- Proprietary.
- Nucleus.
- Tag libraries.
- Security.
- Components (~beans).
- Components are configurable via web.
Based on Spring:

- Open source.
- Spring + data-driven.
- Spring beans.
- Beans are configurable only via XML; restart is required.
- Hybris Platform runs on top of Spring.
- Modules (OOTB and custom) run on Hybris Platform and Spring.
Nucleus is a lightweight container for managing the lifecycle and dependency binding of Java component objects (Plain Old Java Objects, POJOs), using reflection and dependency injection. It is responsible for instantiating objects and setting their properties based on configuration (text files). These objects are called components in Oracle ATG. Basically, named JavaBeans and Servlets. Nucleus also maintains a name hierarchy and resolves names to components, which can be request-, session-, or globally scoped.

Nucleus’s properties and dependency injection configuration are changeable at runtime.

Presentation handlers

Oracle ATG SAP Hybris
Droplets (dependency-injected tag libraries).

Servlet pipeline.

Essentially, Droplets are something like creating your own tags. Developers try to avoid using Droplets because they affect the supportability and maintainability of the code.
Universal page handler + configurable components in the page slots + Content Management.

Custom page handler (page controller).

Custom filters (before the controller).
A droplet is a combination of a Java class and configuration (properties file). ATG provides more than 150 droplets OOTB for common tasks such as repository lookups, iterations, page-linking, etc. The droplets can be interlinked (you can pass parameters from one droplet to another).

MVC

Oracle ATG SAP Hybris
- Nucleus MVC.
- JSP.
- Droplets – kind of JSTL.
- FormHandlers – similar to Spring MVC controllers.
- Spring MVC.
- JSP.