Showing posts with label hybris. Show all posts
Showing posts with label hybris. Show all posts

8 June 2015

Hybris omnichannel commerce performance tips

Nice Hybris performance/design post.
Given that the original blog is inactive I'm copying and structuring some of the content below:

  • Data structure / DB
    • Indexing – Add DB indexes according to your model customization. (High priority) You would like to drop unused indexes also, so that DB should not waste it’s time. (Medium priority) 
    • Ensure your custom types defined into items xml are persisting data into its own table rather than piggy banking on generic table. (High priority) 
    • Any relation-end that does not need to be ordered should have this attribute set to false. A common mistake is that developers cut-and-paste type and relation definitions in items.xml files which may result in unintentionally setting relation ends to be ordered.(High Priority
    • If no deployment table is defined for a many-to-many relation, a generic join table is used to store relations and is not optimal for performance. So ensure you define rel table for your custom many to many relationships.
    • Avoid defining collection types. To maintain data integrity, always use a relation.
  • Front end webserver
    • Leverage web server modules for browser caching and compression. Don’t forget disabling unused apache modules. (Low priority)
    • Ensure Hybris app servers are not serving static content. (High priority) Use CDN for static media/pages delivery. This may reduce 90% load from your infrastructure. If above not possible then simply ensure web server layer fronting hybris serving static media or scale externally.
    •  Perform SSL termination at load balancer/web server. Don’t trouble hybris app servers for SSL handshake. (Medium priority)
  • Ensure only required extensions are deployed on front end hybris servers and avoid deploying any back office extension on front end. This is good for security and performance. (Medium priority)
  • Log/audit
    • Ensure loggers configuration is not too verbose in production. (Low)
    •  Cron job logs. Hmc does not have pagination and this kills your hmc when you open a job with thousands of log files. (Medium Priority)
    • Avoid creating history records if possible or purge them on regular interval. Creating a history record by using auditing service might be fancy but can become a big performance overhead very quickly. Imagine creating an audit record for each stock level change. (Medium Priority)
  • Catalogs
    • Avoid maintaining/developing catalog version aware types. If cannot then avoid making them part of catalog sync. e.g price  - Touching price daily for every product may result into full cat sync. Either maintain prices with online version only or at the time of create/update update both version. This way you can remove price item type from catalog sync.
    • If hybris is not your PIM and you have some other system where merchandising team perform preview before publishing a product then you really don’t need multiple catalog version in hybris. Here you can save lots of overhead from hybris. (High priority)
  • Stock service
    • Ensure you are not checking stock on loading of product detail page, category listing pages or add/remove event on basket page. Do this check only on add item into basket, submission of basket page and just before taking payment (i.e. you need to reserve stock here). (High priority)
    • Ensure hybris stock service is used to check stock status and no logic is written on Stock Model directly. (High priority)
  • Ensure JALO and web app session time out are configured to same value. (High priority)
  • Clustering
    • 4 load balanced hybris app servers should be more than sufficient for a decent load, if solution is designed correctly.  
    • TCP/UDP clustering configuration doesn’t matter much for 4 app server cluster. But prefer sticking with default UDP settings. Hybris works well for either case until you have some serious networking issue. Use udpsniff to validate packets (Low priority)
  • Set the minimum and maximum heap sizes for the JVM to the same value. 8GB should be more than sufficient. More memory means longer GC pause and GC pause means all threads on halt.
  • Search
    • Ensure solution is designed properly. You should be really very smart here.
    • Run Solr in standalone mode with one master server. Perform delta Index frequently 10-15 mins.  Prefer two-phase mode so that your site should not stuck while indexing happening behind the scene. Run full index update once in a week or only when you perform schema change. (High Priority)
    • Use Solr as much as you can. Because this way you can save DB calls. Hybris is very chatty with DB because of it’s cache refreshment and lazy loading concept. I really hate this part of hybris but now used to live with this and identified ways to avoid implementing DB centric solution. E.g. you can use solr to render category listing pages, you can index price and stock data and use this data as much as you can. Whole objective touch DB when it is really necessary. (High priority)
    • < Disable Quick Search in hmc on the front-end and back-end hybris application servers. (Low priority)
  • Use Out Of the Box functionality whenever possible
    • Order Invoice generation/re-generation in pdf format.
    •  Purging/archive items older than 30 days: you can configure this manually through hmc or write an impex.
  • Ensure you use hybris WCMS Navigation node design for Mega menu construction so that you should not end-up preparing nested category hierarchy with every hit. 

25 September 2014

Hybris 5.3 released

Highlights:

  • Data Hub / SAP ERP integration 

    • SAP ERP order integration
      • Replicate master data from SAP ERP
        • Products
        • customers
        • pricing (includes SAP Retail discounts and bonuses)
      • send orders to be fulfilled to SAP ERP
    • online customers can configure complex products based on SAP Configure, Price and Quote rules
    • online customers can also see their physical store purchases stored in SAP Customer Activity Repository (CAR)
    • Hybris can send customer and order related information to SAP Customer Engagement Intelligence (CEI) and use the resulting segmentation information for targeting and personalisation
  • B2B restful API. This is also an enabler for B2B mobile HTTP and Android clients and a sample app.
  • When an anonmymous user log in, merge his session cart with the cart stored against the customer account
  • Update nodes in a live cluster
And a no-show of the Data Hub cockpit :(

28 July 2014

Forrester on Digital Experience Delivery platforms

Forrester published a report on products supporting the digital customer experience life cycle. The picture below shows how Oracle defines this process:


Currently no product supports the entire cycle. Products partially supporting the cycle come from the Web Content Management and E-commerce market segments. Even if vendors have products supporting the entire cycle, the integration is not seamless.

Hybris and Adobe are seen as  strategic leaders. They are also partners.
Adobe, Hybris, SDL and Sitecore have the strongest offerings.
Oracle has the largest installed base but comes out remarkably weak in the evaluation, probably because it did not participate in this evaluation.

8 July 2014

Hybris 5.2 released

Highlights

  • Data Hub
  • Punchout service 
    • Expose Hybris catalog to integrate a storefront in third party procurement systems
      • orders are integrated in procurement system
    • Ariba procurement integration (used by > 1.5 million companies)
  • Subscription enhancements
    • Entitlement & Metering Management UI
    • ...
  • Revamped backoffice
    • cockpits are perspectives in a uniform backoffice
    • will replace the management console in the future
  • B2B commerce accelerator enahcemed
    • configurable and personalisable checkout flows
    • ...
  •  OCC (Omni Commecrce Connect) Webservices V2 preview
    • trusted devices can manage users, carts, checkouts
    • stateless calls
  • Percona DB cluster support

21 June 2014

Hybris Data Hub


Up until now you could only exchange data with the Hybris e-commerce platform using the Hybris impex format. To communicate with external datasources (product, order, customer data...) you needed to add an ETL tool or write your own data converter.
With the upcoming 5.2 release Hybris is filling this gap with the Data Hub. The Data Hub performs asynchronous import and export of data as provided by communicating systems. It can be installed on a system separate from the Hybris e-commerce system if desired.
The Data Hub processes all data with a common strategy:

  1. Data are communicated through a Spring integration channel
    • Message or batch driven
  2. Data are stored in a raw (source) data model: a database where data are kept as CLOBs in schema-less XML-like records whose structure is close to the structure of the external source data.
    • Only an integration key is mandatory for a record
  3. Data are transformed and stored Canonical model: an implementation neutral, logical business data model that contains the master data
    • Data model structure is defined in XML
    • Easy to query with little hybris knowledge
    • Specify data transformation process
      • dependencies (e.g. process categoy taxonomy before records)
      • m-n mapping of records using grouping handlers
      • Field mapping using composition rules
      • Spring Expression Language (SpEL) can be used for custom transformations
  4. Transform data to target system format and transfer them
    • The Hybris Commerce DataHub adapter transforms the model to impex data an communicates it to the Hybris Commerce System.
Validation takes place at all stages.
Anouncements for upcoming releases (5.3...):
  • Management and monitoring cockpit
  • Ready made extensions  for specific integrations (e.g. SAP ERP) 
A separate license will be needed for this module. I understand that the development has to be payed for. Still, for me, such functionality should be in the base license of an e-commerce product. That would lead to widespread adaption and generate a more lively ecosystem of handlers and adapter for specific integrations.

19 May 2014

SAP/Hybris to resell Adobe Marketing Cloud

SAP/Hybris e-commerce will be reselling Adobe Marketing Cloud with the Hybris e-commerce system.
Digital marketing is crucial for online shops. Being able to resell these will allow SAP/Hybris to sell a total solution to their customers.
Adobe Marketing Cloud is a platform that integrates multiple marketing products and thus adds a host of features to an e-commerce solution. The products typically integrate web, social and mobile interactions

  • Search, navigation and targeting
    • A/B and multivariant testing
  • Analytics
    • web, social, mobile
    • campaigns
    • integrate with offline sources
  • Cross channel campaigns
  • Social media interaction
    • manage content accross social networks
    • listen and respond
  • ...

25 March 2014

5.1 released

  • Hybris 5.1 is released. Some interesting new features:
    • enhanced solr search backoffice
    • enhanced accelerators
    • Subscription Billing Gateway to integrate with billing provider (e.g. Vindicia)
    • SAP Hana DB support
    • channel specific pricing
  • Unnethack 5.1 is released. Some interesting new features:
    • new role: Convict class
      • Start
        • wearing a cursed striped shirt 
          • shopkeepers will not let you in (and remember you)
            • exception: on the black market you will receive a reduction
        • chained to an iron ball
        • having a sewer rat as a pet
        • on the verge of becoming hungry
        • immune to sickness (can eat tainted corpses)
      • can pacify and tame rats by #chatting with them 
      • can become expert in 
        • flail skill (iron ball)
        • escape spells
        • ...
      • All races are hostile to them
      • Minetown watch is hostile to them
    • New branch: The Ruins of Moria
      • Watcher in the Water
      • Durin's Bane
    • Tourists get automatic type identification for shop items
    • Healers can see how healthy monsters are
    • Player vampire gets a charisma bonus when wearing an opera cloak
    • It is impossible to know both the speed and location of a quantum mechanic
    • Intelligent monsters pick up and use keys
    • Wearing fedora increases luck of archaeologists

13 June 2013

Hybris 5.0.1 released

New Accelerator feature highlights:

  • Subscriptions (Telecommunications/Digital Accelerator):
    • Define complex subscription offerings with combinations of one-time, recurring, and per-usage charges
    • Manage multiple price periods
    • Personalize pricing based on customer profile
    • Manage subscription promotions by defining free trial or reduced price periods
    • Integrate with the organization’s billing system
    • Manage billing cycles (e.g., frequency, cycle type, cycle day)
    • Define metered and non-metered entitlements and associate them with subscription products
  • Order processing and delivery information Integrated with Store front (My account), Customer Service WebApp, email notification...
  • Progressing uncollected Buy-Online-Pickup-In-Store orders
    • Customers are reminded to pick up their orders if they forget
    • If customers never show then the order is cancelled and a ticket is generated for the Customer Service representative to contact the customer and refund.

11 June 2013

Hybris v5 new features (updated)

In march Hybris made an announcement of a new release. For a major version release the announcement was very low profile. It does not even say that it is a release at all, it just mentions some new features. Maybe they will make a more official announcement yet, who knows.
The release is much more about internals being updated than about radically new features, although there are some. Here's the stuff that caught ^my eye:

  • Architecture
    • New cockpit framework (a cockpit is a small web application directed at a specific task)
      • made up of widgets: multichannel screens that may user multiple datasources
      • Application Orchestrator: a graphical workflow tool to link widgets
    • Accelerators now have Addons: extensions without modifying the accelerator codebase. They may contain frontend functions
    • Mobile SDK
      • HTML5
      • sample apps with  GPS, camera, QR-code scanning, NFC...
    • Clustering without multicast
    • Better caching (EhCache default)
    • Default lazy loading
    • Media storage plugins + Cloud media support
    • Graphical workflow preview
  • Order Management Services (OMS) cockpit
    • single inventory view (multi shop, multi shop)
    • sourcing and allocation
    • pick/pack/dispatch
    • expected for V5.1
      • return management
      • back orders
  • Commerce Infrastructure Services (CIS): 
    • framework with pluggable payment, taxes, address verification, shipping, fraud detection, geolocation...
    • third party plugins for various services
  • InStore module: module providing services in brick and mortar stores
    • QR code, barcode, NFC identification
    • show rich product info
    • access to stock and order management

7 June 2013

SAP acquires hybris (updated)

German enterprise software builder SAP announced that it is acquiring the Hybris e-commerce platform.
From a product perspective this makes sense: e-commerce software always needs to be integrated with enterprise ERP/CRM backend systems. With the growth of e-commerce SAP needs this to offer an overall solution to its customers and its own WCEM (Web Channel Experience Management) was too limited and too much linked to the SAP backends. Of course we can expect SAP technology creeping into Hybris in the future, like strong integration with the SAP backends and SAP's im-memory HANA database.
Care should be taken that these integrations do not reduce fexibility. Software moloch SAP does not exactly fit Hybris' catch phrase agile e-commerce. Let's hope agility prevails

11 December 2012

Upcoming features for Hybris 4.8

Next week a new minor 4.8 release is expected for the Hybris e-commerce platform.
This should be the last release before the major Hybris 5.0 release (expected Q2 2013).
Expected new features:

  • Subsrciptions and bundling module
    • recurring price models
    • product bundles (e;g. sell entire digital publication or individual chapters and articles, sell mobile with phone contract)
      • dynamic, rule based bundling and pricing
    • cockpit: graphical dashboard for managing bundles and subscriptions
    • great for any digital content provider(newspapers, platform subscriptions, eBooks, Steam-like online game buying...)
  • New Telco accelerators, built on subscription and bundling module. An accelerator is a prebuilt Hybris application targeted at a specific market.
    • B2B accelerator mobile front