The fastest growing eCommerce platform in the recent past, Magento is a PHP based Open Source eCommerce platform. Magento is also the youngest member of the eCommerce platform family; that said the brains behind the product have been around in the industry for quite a while – and that experience quite as well reflects in the product offering.
Magento offers a rather unique combination of a broad set for out-of-box ecommerce features and an intuitive user interface. This comprehensive feature set covers most aspects of an eCommerce solution including product and catalog management, order management, marketing and promotions, customer self-service, user management as well as customer support functions. These features not only allow merchants to deploy simple yet feature rich eCommerce storefront rather quickly, but also provide the backend admin interface with the toolset to allow you to manage your ecommerce operations effectively. This combination is not too common in the product segment that it is most popular in – the small and medium eCommerce platform segment.
Magento is well suited for direct to customer storefronts that offer a limited number of products to its customer like Boutique storefronts, single or Multi-Brand storefronts, Manufacturers and the likes. Magento however is not the best solutions for merchants who offer a large number of products (above several thousands) like large retailers or enterprises that need tight integration of eCommerce with their enterprise systems.
Magento offers three editions as well as a SaaS offering which serve as a cost effective alternative options for customers who are just starting on their eCommerce journey and are not willing to invest in large enterprise solutions.
Do remember that Magento has been dogged by performance issues and is also known for system complexities – the primary source of Magento’s limitations and shortcomings.
Magento traces back its root to Varien Inc. – a company originally founded by Roy Rubin in 2001 and later joined by Co-Founder Yoav Kutner. The company worked on osCommerce (an Open Source e-Commerce project) however the team wasn’t too satisfaction with osCommerce as a platform. In 2006 Varien planned a fork from osCommerce but then later dropped the idea and decided to build a completely new e-Commerce platform from scratch. This development work began in January 2007 on what is now known as Magento and the first beta version was release on 31st August, 2007. The product was well accepted and the first stable release on 31st March, 2008. In January 2009 itself Magento was names as an ‘Emerging Player to Watch’ by Forrester in ‘Forester Wave: B2C eCommerce Platforms, Q1 2009’.
Varien was officially renamed at Magento in 2010, around the time when eBay bought a 49% stake in Magneto in March 2010. The minority stake buy out wasn’t officially disclosed until a 100% acquisition by eBay in July 2011. While the official figures are unknown, unconfirmed reports claim that the acquisition was prices at $180M US. This acquisition seems to have been part of eBay’s X.Commerce strategy and Magento is expected to be an important component of it.
While this is defiantly good news for Magento – the eBay support and funding will give Magento an opportunity to fire all its cylinders and accelerate its growth; do keep in mind that eBay has also recently acquired other ecommerce product like GSI Commerce (for $2.4billion) and Intershop (majority stake only of 27%).
Magento is a PHP based Open Source eCommerce platform – licensed under Open Software License (OSL 3.0). Magento eCommerce offering is available in three editions – Magento Community, Magento Professional and Magento Enterprise edition. Of these Magento Community is the freely available open source editions; the other two are commercial open source editions – have an enhanced feature-set, maintenance, supports and come with a price tag. Magneto also offers a hosted SaaS service ‘Magento Go’ that helps customers gets started on their eCommerce journey rather easily.
Magento’s first stable version was released on 31st march 2008 and has been rapidly gaining popularity ever since. In April 2009, Magento launched its commercial open source offering ‘Magento Enterprise Edition’ – this version has a border feather set and complemented with a support services agreement. This was followed by the release of Magento Mobile platform in September 2010 – the platform allowed developers to easily create native storefront applications for mobile devices. These mobile apps tightly integrated with their Magento eCommerce platform.
Keep in mind that Magento is undergoing constant evolutions with new features getting added at a fast pace.
Magento has been built on the LAMP (Linux, Apache, MySQL and PHP) however it also runs on Windows. Magento has been built using the popular Zend framework. One the most important unique selling point (USP) of Magento is its flexibility – Magento adopts OOPs standard, Model View Controller (MVC) architecture and Event-Driven Architecture (EDA) enabling loosely coupling of the various layers and components. Magento also implements Entity-Attribute-Value (EAV) data model instead of the traditional RDBMS data model. While these architectural decisions bring in significant flexibility into the system; on the down side they result in an equally complex system that’s a difficult to customize and extend. As a result the platform is also known to be sluggish and requires a heavy hardware footprint.
Architecturally Magento can be considered as a collection of modules – each module is an independent application implementing MVC. MVC implemented in Magento is not the traditions MVC implemented in Java or PHP – it implements configuration based MVC. This means that each module’s is governed by a config.xml – the module will only load the classes / configuration explicitly declared in the file. Unlike the conventional MVC is will not automatically load a class once added in the module codebase.
Magento model implements Object Relational Mapping (ORB) that allows you to manage your database directly from your PHP code – no longer need to write SQL queries. Nevertheless a Magento model also comprises your business logic – something that’s traditionally delegated to the Controller. Magento Models can be classified as traditional Table-Column-Record model and the EAV model that’ spans across multiple table.
Unlike tradition controllers, Action Controllers in Magento MVC do not pass data object to View. Instead, Views are broken up into Templates and Blocks (see Templates section). Blocks are PHP objects that handle data while templates handle the presentation of this data – it is a combination of HTML and presentation related PHP.
Similar to other LAMP/WAMP offering, installation is a pretty straight forward process. Do however ensure that system prerequisites have been met.
Out of box, Magento used its native authentication and authorization system. It allows you to register customer for your storefront as well as user for Magneto’s administration interface. Magento user management allows you to define your own custom Roles – these roles can be granted access to granular level access to individual Magneto resource allowing you to create a strong authorization model for your stores.
Surprisingly though Magento does not support integration with external or enterprise authentication systems like OpenID, LDAP or Active Directory.