Use of a Rapid Application Development framework for the backend replacing Hybris

On April 2018 my development team got the requirement to provide means to sells product groups with a special real-time calculation of the price, the offer of additional services or definition of the components of the article in each order. Because these features are expensive to develop on our legacy e-shop, SAP Hybris didn't offer these features out-of-the-box, developers with Hybris experience are scarce and it takes around seven months for a Java developer to fully understand the limitations of Hybris' persistence layer, I looked for alternatives to implement these requirements using Java frameworks and tools which are common in the IT market.

While we are using Spring Boot, Tymeleaf and JQuery for the frontend, I am looking now for a framework for the administration of the system (backend) which offers the same features as Backoffice and hMC with the same or less development effort for Java developers

This was a proposal and the use of Apache ISIS wasn't accepted. I still don't have any development experience with it.

Comparison between Hybris' HMC and Cockpit framework and Rapid Application Development Frameworks

This is still work in progress but I invested 10,5 hours during my holidays to analyse Apache ISIS and these are my first conclusions. I also started learning Grails but I still don't have any conclusions because I had problems with the plug-ins showing date fields.

The expected use of the frameworks is the development of an administration backend with

  • Create, Read, Update and Delete (CRUD) editors including the GUI
  • User rights, group and users
  • Auditing of every change in the configuration
  • Integration with our LDAP authentication servers or Single Sign On integration
  • The data will be accessed from a frontend Spring Boot application
CriteriaMaximum number of points (Importance)Hybris' HMC or cockpitsApache ISIS
Can a Java developer without experience create a CRUD of 3 objects with relations in less than 10 hours?555
Uses Java as the programming language?555
Are no developers with an expensive hourly rate required?505
Has out-of-the-box auditing of every change in the objects?555
Provides out-of-the-box user rights, definition of roles and users?555
Can be used for Domain Driven Design?555
Can it easily be integrated with LDAP authentication servers or Single Sign On serves like KeyCloak?555
Has an extensive documentation?52, the documentation was improved in the last years5
Is it continuously improved and supports the latest Java features?535, supports Java's LocalDate out-of-the-box in the fields
Uses the framework internally known and proven technologies? This makes the framework transparent and developers can do troubleshooting53, it uses Spring Core and MVC and JSP but the persistence layer is opaque5, all used technologies are mature and open
Was it already used in production by big companies?555, source
Has the internal code of the framework a good structure? This helps the developer understand the framework505
Is the format of the data stored in the database open and accessible by other applications?1)50, Hybris uses a propietary format5, Hibernate is used
Is possible to localize the text shown on the GUI in different languages?555
Provides a mechanism to run tasks in the background regularly or only once?555
Provides a messaging mechanisms for the integration of web services (Event Bus)?21, with Spring Integration2
Provides mechanisms to update the structure of the database and migrate old tables?22, essential and project data and Areco deployment manager2, patch system
Is it possible to extend the components of the GUI?222
Has our development team experience with the frontend technology used on the GUI?53, partial experience with the cockpit framework but not with ZK0, No experience with Apache Wicket
Can you change the frontend technology used on the GUI?202
Has the GUI a responsive design?101
Provides out-of-the-box access to the objects using REST?33, with platform web services3
Is it possible to change the persistence technology?101
Can you store the data in NoSQL databases?101
Sum946489
  • I didn't include the cost of the commercial licenses in the comparison because all of the big companies I worked for, already have an unlimited Hybris SAP license and the use of Hybris in new systems don't generate any additional costs.
  • I didn't include the cost of the vendor lock-in because these backend systems are small and I expect low migration costs, when these systems are replaced by new ones.

This article only addresses the suitability of the SAP Hybris E-Commerce Suite for a project with the given requirements. If SAP Hybris is suitable for your own project depends on many factors like:

  • Goals of the project
  • Requirements
  • Constraints like
    • Experience of the development team
    • Budget
    • Time
    • Integration with existent systems like ERPs, Content Management Systemen (CMS), Produkt Information Systems (PIM)

After identifying the main goals, requirements and constraints, you should seek technical advise to determine the suitability of the SAP Hybris E-Commerce Suite for your project.

–Based on Hybris 6.6

1)
The integration of applications using the same database generates a tight coupling and a change on one application may impact on another one. But for small systems developed by the same team in the same domain, it is a good integration strategy and allows frontend systems like shops to directly access the data on the database

Discussion

Enter your comment. Wiki syntax is allowed: