They say "Beauty is in the eyes of the beholder", so if you are a purist in one of these technologies you would probably never agree to my comparison matrix, However these are my personal opinion, From my experience standpoint I have longest exposure to WCS Commerce Suite and the least with ATG Commerce.
Feature comparison are always shallow and should not be taken at face value, they serve a purpose and it is up to you to decide what best suits your implementation, I feel all three of these are excellent commerce products, they serve a different market segment and will continue to have a space for themselves for years to come.
...so at the end of the day you need to do your homework to see what best fits your needs..
IBM WCS(V7, FEP5)
|Development Environment||+1 |
Complexity associated with development is very high, The system resources required for running IBM RAD and associated WAS Runtime is highest among the three, Organizations are often forced to use VDI which slows down the developer productivity vastly.
Hybris probably ranks no. 1 in this category, the best in terms of supportability for lighter development environment, it can run in an eclipse environment with tomcat container
ATG development environment includes Eclipse, ATG Eclipse Plugin, JBoss
|JEE Environment||+1 |
Works only on IBM Websphere Application Servers
Hybris Server (Flavor of Tomcat)
Spring Source TC Server (Flavor of Tomcat)
|Total installer size||+1 |
4-10 GB when we include WCS, RAD and WAS test environment
|Development Database||Apache Derby||HSQLDB database||MySQL|
|Production Database||+2 |
Microsoft SQL Server
Microsoft SQL Server
|OS Support||+1 |
Many Flavors(Refer Product documentation)
|Framework Versatility||+3 |
Controller Layer uses a modified version on Struts Framework, Services Layer uses Apache Wink, rest of the framework is IBM custom and the complexity associated with learning and extension of components is probably highest of the three.
Familiar and Flexible programming model as it is based on Spring Framework.
Most probably the purest implementation of Spring without too many custom wrappers, so if you know Spring you already know how to code in Hybris
ATG Custom IOC Container is referred to as “ATG Nucleus“, they were probably the first advocates of IOC containers even before Spring came to lime light.
But things have evolved over time and Spring IOC is far ahead of ATG custom IOC framework.
|HTTP Session||+3 |
Zero session footprint, WCS does not use HTTPSession Object, instead the state is maintained in DB tables.
Since the states are saved in DB a node failure does not impact session state and “full session failover” is supported OOB, this works very nicely with both active active and active passive db configuration.
This architecture seems to be of significant advantage in very large scale deployments and session management is natively supported in WCS framework instead of depending on WAS
Depends on JsessionID
Hybris refers to session failover support as “Semi session failover”, so if a node fails it can restore the guest session in a semi state like Guest ID, Cart etc..
Depends on JsessionID and HttpSession features of underlying JEE server.
Out of the box, nothing is persisted to the database until sign-in, but a configuration is available to persist state to DB for anonymous users.
DynaCache for caching within JVM and Advanced support for remote Cache by making use of IBM WXS as a central Cache repository
Hybris Region Cache custom caching framework, can be extended to custom caching provider like EHCache.
Standard Spring annotations are supported for caching objects.
Possibility to plugin other commercial third party caching solutions like
Coherence, Gigaspaces and Memcache
ATG supports custom Distributed hybrid caching
All of the standard WAS Clustering features, considering WAS is very matured as a JEE server you can leverage all of the standard WAS clustering and failover features
Since Hybris is supported by various JEE container they cannot rely on container clustering features, Hybris Cluster solution is independent of the underlying JEE container.
Support for TCP or UDP based clustering.
Another important feature of Hybris cluster is Multi-Tenant Mode, this gives the flexibility to use a different database prefix for multiple application in the same JVM, WCS does not support this feature and uses a common underlying DB for multi-site mode, Multi-tenant mode could be an extremely useful feature when you would like to run multiple sites on same instance and scale out the database based on the db prefix
Depends on the clustering support from underlying JEE engine.
|CSR Module||+2 |
Referred to as “Sales Center” is a Rich client application for CSR
Sales center is a thick client application and needs to be installed on every CSR desktop, it uses the WCS back end shared by production environment.
Referred to as “Customer Service Cockpit” is a module to support call center operations like order management
ATG provides Service module for service center agents. Commerce service center app uses it's own database which is different from production customer facing site DB.
|Search Engine||+2 |
WCS Search is based on SOLR search engine.
Does not really unleash all the power of SOLR and integration with any other search engine is not supported OOB
SOLR search and native support for Endeca Integration
ATG Search engine or Endeca
|Print Module||Not supported||Hybris Print Module|
Limited PIM features Supported by “Commerce Management Center” and Commerce Accelerator
Support by Hybris PIM module. Much more advanced PIM support as compared to other 3 products, this is good enough for medium scale retailers
ATG does not support a native PIM module
|Business User Tool||+2 |
WCS support Commerce Management center which is supported on limited set of browsers, it is a Flash based user interface.
WCS supports authoring and production environment similar to ATG.
Hybris supports product cockpit tool which allows business users to manage product and catalog information.
Referred to as BCC (Business Control Center) is a web based business user interface.
ATG supports publishing and production server, publishing server is used by business users for content creation, aggregation and version management.
Data Access Layer
EJB, BOD / DSL (Similar to Ibatis and Hybernate data access API)
EJB specification supported by WCS is quite outdated and BOD programming and WCS query language used in BOD is pretty complex to learn and implement.
But the good news is we have the flexibility to easily create custom tables and write custom optimized native SQL's as an alternate to EJB and DSL components
In Hybris you have to stop thinking in terms of tables, DAO's make use of Hybris Type system for persistence and FlexibleSearch engine for executing query. It takes time to get into the weeds of these concepts and can be confusing as there is a complete shift from normal database table and native SQL concepts.
Personally I did not like the idea about inability to query database directly, I think this can be a big limitation for ongoing production support.
ATG Data Anywhere architecture provides a “Repository API” abstraction on top of multiple datasources like RDBMS, LDAP or File system. This is another custom OR mapping style of data access which serves as an alternative to EJB or plain JDBC. ATG boosts RQL (Repository Query Laguage) for writing queries against unified repository.
I just feel that it is easier to find good DBA's in the market to write optimized SQL compared to learning and writing another non stadard RQL language based queries.
WCS does not have any module for OMS, instead IBM sterling commerce is another IBM offering which integrates well with WCS to provide end to end OMS capabilities
Hybris Order Management module can server as a full-fledged OMS
| +1 |
No native support for Order management system
WCS lacks a concrete unit testing framework, most of the components cannot be unit tested without the complex and heavy WCS runtime support.
Hybris is leaps and bounds ahead of others in this category, it inherits all of the standard Spring unit testing support, there isn't a comparison to the extent a component can be unit tested independent of JEE container in Spring.
| +1 |
Similar to WCS and lacks a native support for unit testing.
|Deployment Suitability||+3 |
Very Large retailers
Mid to Large size implementation
|Community Adoption||+2 |
Although commercial the documentation is very detailed and community driven, forums are not so active
Software is not free to download, you need a partner world account to get your hands on WCS even for development and evaluation purpose
Closed community, I think this will only hurt its adoption, documentation is not so great.
For instance I can google on IBM infocenter pages, but finding something out of hybris is near impossible, you need to login to hybris wiki and search for the details.
After Oracle acquisition the software is free to download for learning and evaluation purpose
Documentation is pretty detailed and well structured
|Starter Stores||+3 |
WCS provides nearly a dozen of starter stores for B2B and B2C store models, I think this is a great asset and let's development teams to get started with a fully functional store in no time, of course you need to use it as a base to perform your customization.
Hybris Accelerators can be used to create custom stater stores for b2b and b2c store model.
| +2 |
ATG provides starter stores that share a common master catalog and store assets similar to WCS extended sites model, it also provides starter stores for independent B2C and B2B stores.