I thought it would be really great to know more about Oracle Commerce.
So I decided to learn it better, and fix my thoughts and conclusions in the form of comparison with what I know about SAP Hybris Commerce. Yes, it is still a Hybris blog, but…
I’ve been participating in negotiations on what platform is better suited for customer’s needs. Understanding both Oracle Commerce and SAP Hybris really counts. I participated in many meetings in my past where nobody in the room was able to compare the products properly. Oracle people big up their products without the clear understanding of pros and cons of SAP Hybris, and SAP managers behave in the same way. The partners are generally good at any one thing.
I hope the information below will help you to picture your own understanding. I was trying to be as objective as I can. Despite the fact the blog is hybris-centred, 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:
- SAP Hybris Commerce On Premise
- SAP Hybris Commerce Cloud
- Oracle Commerce (ex-ATG) On Premise
- Oracle Commerce Cloud
Of course, this ambiguous goal can’t be done in full in a a single article. Today’s debates are 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 with 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 is founded, ATG has already had a platform.
- 2010-2011: The 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 a number of projects launched with ATG or Oracle Commerce. A better approach would be to compare a number of installations during last year. Certainly, I don’t have such information.
Read more:
Oracle Commerce Cloud |
SAP Hybris Commerce Cloud |
- Oracle named their model as Software-as-a-Service platform. Both the app and data are physically in the Oracle Cloud hosting. However, each client has their own instance of OCC, and this instance is not shared with others, as it is common for SaaS solutions. It 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 automated upgrade path.
|
- Private cloud model. It is something between SaaS model and 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 Hybris on Premise version.
|
- Considered as a full replacement for an on-premise solution? Never officially declared, but it looks like it.
|
- Not a replacement; on-premise version is being developed actively, the roadmap is defined
|
|
|
Read more:
Keep Pace with the World: Updates and Releases
SAP releases the new versions of Hybris Commerce nearly every quarter and each version brings a lot of 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, updates
|
- Fast growing, frequent updates (new versions every quarter last 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 |
|
- 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 half-dead already. Oracle Commerce Cloud is rapidly evolving. Hybris Commerce Cloud is not a software, it is a service that uses the on-premise version of Hybris Commerce and the cloud infrastructure. Lack of on-premise option may create issues on markets where it is important to get the system hosted within the country (Russia is an example) or when 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 any numbers here, just the 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
|
|
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
- Such parameters 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
- Revenues
- 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, SAP documentation portal is much more functional.
Oracle Commerce On Premise |
SAP Hybris Commerce On Premise |
- Documentation is available on Internet for anyone. There is restricted-access resources with many useful docs too.
|
- Documentation is strictly for partners (Hybris Help)
|
- Oracle Commerce documentation website has very poor search. I wonder how it is possible for the company which owns Endeca. No snippets, no filters, no synonyms etc.
|
- You can search over documentation, but it is not great too. The search is not configured for typical requests, no snippets. SOLR is not used in its best there. I think almost every visitor of 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 PDF file. You can download it and search over 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, it is not possible.
|
- Unfortunately, the documentation is not downloadable.
|
I recommend SAP to improve the search subsystem of Hybris Help: add snippets, implement automatic phrasing, let the developers add tags and search phrases to the pages, analyze the search history and search actions to reveal the possible issues with the configuration.
Also it would be great to have the documentation available as a git repository. It would help developers to subscribe for 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 that integrated with SOLR for browse/search functionality. Such components as Database, SOLR, DataHub, and hybris Platform are separate and independent. 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 the workflow processes, deployment processes, and performance issues..
- Unlike Oracle Commerce, Hybris components are well-integrated, built with the same technology stack, share same concepts and architecture.
|
Read more:
Oracle Commerce Cloud |
SAP Hybris Commerce Cloud |
- Assumingly, Oracle Commerce Cloud is based on ATG code, but uplifted specifically specifically for Oracle Cloud. Nobody of us knows for sure, of course, because it is a black box, the internals are not exposed.
- Basically it is a set of REST services + hosting for them + 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 w/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 database directly
- Some modules come as pre-compiled, but there are ways to extend them (via dependency injection, Nucleus)
|
- Very flexible.
- You shouldn’t change database directly
- Some modules come as pre-compiled, 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 + template store (KnockoutJS) + infrastructure + support
- You can’t add/modify database tables or configuration files directly (as it is common in Oracle Commerce On Premise (ATG)
- There is an API for 3rd party integrations (Web Hooks, Events and Functions). You can change the data model via API.
- There is no any possibility to deploy your own code to Cloud.
- You can create a custom NodeJS 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 on 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 say 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 test environment,
- AGENT – for a call center;
|
- Single database, single cluster.
- There is an option how to use different databases for different purposes and sync them with each other. However, this setup is not default, the module y2y behind it is new and unproven, the configuration is not easy. As far as I know almost no one uses i .
|
- Great scalability because of supporting multi-database and multi-cluster setups
|
- Good scalability. The single database or centralized indexing may be a bottleneck. There are solutions how to avoid it too, but it is far from out-of-the-box capabilities. Oracle provides more OOTB.
|
- The cluster setup is flexible, the customer’s and partner’s choice.
|
- The cluster setup is flexible, 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 their own datacenters for Commerce Cloud.
- Because of IaaS nature, the details of implementation 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 back (unlike Oracle Commerce On-Premise where it is part of the platform). You can’t move data between the environments.
|
- SAP deploys its Cloud solutions in controlled datacenters operated by SAP or by SAP Certified
Partners.
- Because of IaaS nature, the details of implementation 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 has a platform and the first Servlet specification was released in June 1997 explains why the proprietary are in the core of the solution. There are a lots of code developed alongside with J2EE specification and it was costly to transfer it to the newly released specifications
|
- Mostly based on open-source technologies. Open standards. Easier to find developers and train them. It 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 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, middle and large business, 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 usual)
|
- 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 set-up. The list of feature 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 the 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 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 |
|
- 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 |
- The GDPR support is very basic. Some basic support has been added in 18A (Profile Deletion and Order anonymization), other basic features are will be added later in 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 the users based on various criterias.
- You can configure UI components for different users and usergroups.
|
- 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, the products with separate licensing. The content items, such as banners, for example, can be segmented in the same way. 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 that have an .edu email address, but excludes people living in Texas.
- Embedded product recommendations
|
- Best with Hybris Marketing Cloud (a separate subscription, not included into 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 the development.
- Data load uses XMLs as an option OOTB.
|
- SAP hybris has a set of tools for integration such as Hotfolder (based on Spring integration and Enterprise Integration Patterns), Omni Channel Commerce (OCC) webservices, platform webservices, Import Cockpit (legacy)
- There are a lot to integrate with other SAP products out of the box.
- Data load uses text files as an option OOTB (IMPEX)
- DataHub – external SAP Hybris Integration Module
|
Oracle uses JMS. It is used for OOTB Fulfillment, for example. It can be used for inventory update and cache invalidation notifications. |
|
Read more:
Oracle Commerce Cloud |
SAP Hybris Commerce On Premise |
- REST Web Hooks
- External NodeJS 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 component the solution from both the business and technical perspective.
Oracle ATG |
SAP Hybris |
BCC includes all the admin management capabilities including CMS, Product, Merchandising, order and customers could 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 edit 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 hey 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 too. In terms of usability it is far from such products as Sitecore or Adobe CQ5.
- Lack of browser and device support add complexity. You need to get Adobe Flash installed and activated. It is required by Oracle Commerce bussiness 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 has not been supporting them already 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 SA uses the same product for its cloud solution
|
Product Catalog
Structure
Oracle ATG |
SAP Hybris |
- Hierarchical catalogs (subcatalogs)
|
|
- 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 a container 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.
|
|
- Products have properties that link them to other products and to SKUs (stock-keeping units).Contain links for 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 variant products concept.
|
- SKU : is 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.
|
- Hybris product catalog version can have any items having a product type or its successor.
|
- In order to customize the catalog, you can add, remove or modify a property to 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 the 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 the variant product navigation (colors, size) and what attributes are variant attributes.
|
- There are two ways on how to implemented 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 the dynamic attributes in the product category specific form, no validators, no custom types. There is a Dynamic attributes field in SKU object to allow dynamicity that is essential 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 such properties 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 the long list of products, it won’t be easy to hide the attribute for the 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 which 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 similar to what we had in Hybris years ago, Hybris Management Console. It is a step forward from the 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, legacy Product Management Cockpit, and new Product Management Backoffice. Both products are very functional and considered as 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 any difference with an on-premise solution
|
Content Management
Oracle ATG |
SAP Hybris |
- Oracle Endeca Experience Manager UI
- BCC has a preview function that allows when fired select a user and hence rules for whom the page will be shown before even publishing to 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 the code
- 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), pipeline (process in Hybris) modifications.
|
- The checkout process is not configurable, but customizable. Any changes in the process will require creating or modifying the code
- However, there is a framework to help developers in making the 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 the 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
|
- Promotions 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 rules combinations are supported
|
|
B2B
This topic is to broad to cover it in this article. I am considering to create a separated review. Below is an exreipt from Forrester’s.
“
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 DataHub (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. (…)
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 accelerator. The developers normally use code from the reference stores, but normally they don’t create solutions on top of them.They are just a demonstration for the developers how to use the components of the system to build a solution. Almost all projects with ATG uses 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 accelerator. The majority of SAP hybris Commerce based stores are created on top of accelerators. Almost all partners uses all or major parts of the templates provided with the accelerator package to boost the development. It creates an advantage in time-to-market. |
Workflow and publishing, team work
Oracle ATG |
SAP Hybris |
Simultaneous multi-user editing with conflict negotiations. |
Concurrent change control is poorly implemented. Per field, last changes win. Automatic Item Locking is not OOTB (but provided as an extra low-level feature in the last versions of SAP hybris) |
This concept is represented by Versioned items and separate database concept for Staging and Online versions.
Deployable artifacts are projects. Projects have assets (promotions, content, products, prices, etc.). With versioning, you can rollback changes even after propagating to production.
This approach helps to handle complex workflow operations and quick and safe rollback. |
Hybris OOTB uses only one database, and the same tables both for 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 the approach similar to what ATG uses. However, it is not OOTB setup. The customization level is high and very specific to the task. |
ATG supports versioning for the 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 the asset (the product, for example), his 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 the items, but you need to customize the system to use these capabilities. |
Oracle supports switching of datasources. 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 into the process of switching of product information data. |
The concept of switching datasources is implemented in hybris only for the search index. However, you can change the active content or product catalog for a website. |
For the 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 safe operation. You can publish other people 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 the workflows, almost all ATG Hybris Commerce On Premise capabilities are available in Cloud. |
|
Versioning is not implemented yet. You can’t rollback changes applied to the production instance. |
No significant changes with Hybris Commerce On-Prem |
CMS Concepts
Oracle ATG |
SAP Hybris Search (SOLR+AdaptiveSearch) |
ATG is focusing on dynamic components and dynamic components. For example, banner component and banner data are decoupled, and there are rules saying what banner should be shown for this user in this component. Another example: in ATG, the search terms can trigger a rule to promote the product category. |
It generally requires selecting an individual record or their group, place it on the page to get 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 up-sell 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 a one of the WCMS components. |
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 with 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 is placed. |
|
Pages can have children pages |
Hybris supports a flat list of pages only |
Search
Oracle Commerce |
SAP Hybris Commerce |
- Endeca and Experience Manager is a 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. The product listing pages and search pages rely on it. Promotions and recommendation 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. That is not 100% correct to contrast it with SOLR.
Indexing strategies
Oracle ATG |
SAP Hybris |
- CAS, Forge
- Unstructured and structured
- Active crawler
- Data source connect 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, Web crawler |
SAP Hybris Search isn’t able to crawl, index and search diverse content repository. 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. Can be fixed with 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 to only
authorized people and/or groups |
SAP Hybris Search isn’t able to crawl, index and search diverse content repository. It can work only with product data.
Also it can’t filter the results depending on the user role OOTB. It can be on 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, 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+AdaptiveSearch) |
- With Endeca Search, 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.
|
Endeca record is a combination of typed properties and typed dimensions. |
SOLR record is a combination of text properties |
A value of key/value pair can be created as a hierarchy of values rather than a simple flat value – it is how dimensions work |
A value of 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+AdaptiveSearch) |
Values can have one parent and many child values (dimensions). So the value is 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. It 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 per each type, and you will have both facets displayed. In ATG, you have options and the the level of the property can be taken into account (first, red/white/sparkling, and after merlot/chianti/chardonnay). |
Search data model: Ranges
Oracle ATG |
SAP Hybris Search (SOLR+AdaptiveSearch) |
Sift: organized as ranges, but returns the value inside the range as a child to the range |
For this purpose, you need to have two properties in SOLR, one is for the range, and another is for the value. It is how price ranges work in hybris. |
Cluster discovery |
Fixed ranges only |
Search data model: Facet Visibility
Oracle ATG |
SAP Hybris Search (SOLR+AdaptiveSearch) |
Precedence rules. When triggered they display target dimension (facet) that was previously not displayable |
Adaptive search rules. You can add or remove the facets per category or for specific conditions |
Type-ahead
Oracle ATG |
SAP Hybris Search (SOLR+AdaptiveSearch) |
Via dimension query |
Not implemented |
Lamnguage analysis
Stemming
Oracle ATG |
SAP Hybris Search (SOLR+AdaptiveSearch) |
Two-way only |
Can be tuned both for querying and indexing |
Can be only enabled for a language, not defined |
There are various stemming algorithms, any of them can be enabled and configured in detail for the particular language. |
Only nouns are stemmed in English |
|
Stopwords
Oracle ATG |
SAP Hybris Search (SOLR+AdaptiveSearch) |
All languages share the same list of stopwords. It may create issues. 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+AdaptiveSearch) |
One-way and two-way synonyms |
One-way synonyms |
All languages share the same list of synonyms. It may create issues. 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:
- In hybris (SOLR):
https://wiki.apache.org/solr/LanguageAnalysis#English
Relevancy
Oracle ATG |
SAP Hybris Search (SOLR+AdaptiveSearch) |
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 implementation available as modules. There is no way to implement “Closeness to the beginning” as for relevancy calculation. |
Phrase search
Oracle ATG |
SAP Hybris Search (SOLR+AdaptiveSearch) |
Automatic Phrasing |
In hybris, only whole phrase match has higher rank. SOLR supports phrasing. |
Multi-level navigation via indexed search
Oracle ATG |
SAP Hybris Search (SOLR+AdaptiveSearch) |
Index-based navigation via Endeca dimensions |
Not implemented |
Customization, extensibility
Oracle ATG |
SAP Hybris Search (SOLR+AdaptiveSearch) |
Very limited. Configurable within limits. Extension of Oracle Commerce modules is similar to the extension of Hybris. But dependencies are declared in MANIFEST.MF compared to the extensionifo.xml. |
You can change/extend the ranking formula or use experimental or market-specific modules to get better results |
Other remarkable features
Other remarkable features
Oracle ATG |
SAP Hybris Search (SOLR+AdaptiveSearch) |
Search page context-specific offers (up-sell, cross-sell) are available OOTB |
Search page context-specific offers (up-sell, cross-sell) are available only with BTG personalization (or requires creating custom components). This module is getting deprecated, it is slow and rarely used. |
Extensibility
Oracle ATG |
SAP Hybris Search (SOLR+AdaptiveSearch) |
Highly extensible providing you know what you are doing. |
Highly extensible |
Web Server
Oracle ATG |
SAP Hybris |
Default:
Also supported:
- JBOSS Enterprise Application Platform
- IBM Websphere
|
Default:
- Hybris Server (based on Tomcat)
Also supported:
IBM Websphere and Oracle Weblogic aren’t mentioned anymore in the documentation. SAP Hybris used to support them in the previous versions. |
Software components
Oracle ATG |
SAP Hybris |
Each line for 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 it is just for demo or educational purposes.
- JDBC Driver
- ATG Plug-in for Eclipse
- SQL Client
|
Each line for a separate product:
- SAP Hybris Commerce Platform and OOTB Extensions
- Java (JDK)
Database Server is not required, there is a support of HSQLDB (built-in). For MySQL, 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 FlexUI (basically it is based on Adobe Flash) for the administrative interfaces
|
Server:
Backoffice supports IE 11, Firefox, Chrome, 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)
- 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 nodes(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:
|
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: database, hierarchical file system, hierarchy in text file itself. Anything providing the corresponding adapter repository created. It allows easily have for Order/User, other repositories a separate database schema for instance
- Data Anywhere Architecture hides the way these data are stored. Repository API shields the 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 can be used for mapping to the file system, text inside file, whatever similar a bit to https://en.wikipedia.org/wiki/Content_repository_API_for_Java It all depends on ATG Adapter Respository implementation. |
*-items.xml
No UI |
Data Access Control
Oracle ATG |
SAP Hybris |
Access Control Lists |
Flexible Search Constraints |
Data Access Language / API
What capabilities 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 command line to a project in BCC, automatic deploy 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 clean up procedures OOTB
Changing a type of the 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) runs on Hybris Platform and Spring
|
Nucleus is a lightweight container for managing life cycle and dependency binding of Java component objects (Plain Old Java Objects, POJOs), using reflections and dependency injection. Responsible for instantiating objects and setting their props 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 resolving the names to components, which can be a request, session or globally scoped.
Nucleus’s properties and dependency injection configuration are changeable runtime |
|
Presentation handlers
Oracle ATG |
SAP Hybris |
Droplets (dependency injected tag libraries)
Servlet pipeline.
Essentially, Droplets is something like creating your own tags. Developers try to avoid using Droplets because it affects 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 the Java class and configuration (properties file). ATG provides more than 150 droplets OOTB for common tasks sich as repository lookups, iterations, page-linking etc. The droplets can be inter-linked (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
|
|
lkedia
21 May 2018 at 07:59
Wonderful comparison and very detailed. Would love to see a side by side comparison with IBM WCS/OMS and Salesforce Commerce Cloud as well
Danil
21 May 2018 at 22:54
Interesting, you are comparing, but not trying to draw the conclusions about superiority, even at feature level.
One would usually compare when making a choice, influenced by much more factors than side-by-side technical comparison (pricing, sales team professionalism, support quality, skills availability, long-term roadmap/strategy for the platform, just to name a few).
Rauf Aliev
21 May 2018 at 22:55
It was on purpose. I decided to delegate that to a reader;)
Ben
24 May 2018 at 00:35
Great comparison. You should consider putting together a side by side for Oracle Commerce Cloud / Salesforce Commerce Cloud. Now with their acquisition of CloudCraze for B2B, will be interesting to understand their go to market strategy for a B2C/B2B customer. So they sell two skus/two environments which will have a different experience. On the surface seems confusing. Keep us posted, great job!
Rauf Aliev
24 May 2018 at 00:36
Thanks!