4 min.
What to choose to build your website: a framework, a CMS, an e-commerce system, a CXM solution?
1L’art de la gestion de projet2Un projet à succès commence par une bonne gouvernance3Cascade, agilité, demandes de changement?

What to choose to build your website: a framework, a CMS, an e-commerce system, a CXM solution?

  • TECHNICAL LEVEL
Digital transformation

How to build a website? For each site, the answer may be different, depending on a host of factors. But there are a few  big approaches worth knowing and understanding by non-technical staff  who will be selecting a web developer or agency to ask the right questions and understand what they're buying.

 

Unfortunately, too often, companies stop too quickly at a choice: the one that their Web developer or IT department proposes, a completely functional solution, but not optimal for other disciplines of the organization , for example the marketing or order management which, due to a lack of sufficient understanding of the technologies, see their possibilities limited after the launch of the site… or must resort to those who built it for each new need .  

Today, I offer you an overview of the main approaches to managing websites for businesses , just to see things more clearly. 

IN THE BEGINNING THERE WAS THE PROGRAMMING LANGUAGE

But we don't really need to go back that far. Most sites are based on technologies that use one or another of a few languages, in particular (this list is not exhaustive, like all the others in this article for that matter):

  • PHP
  • ASP.NET (Microsoft)
  • Java (Sun/Oracle)
  • Ruby
  • Python
  • And a few others used more marginally (Perl, ColdFusion, ActionScript, etc.)…

AT THIS LEVEL OF ABSTRACTION, AND IN A GENERAL WAY, ANYTHING ALLOWS (ALMOST) TO DO ANYTHING.

For the language, few questions to ask, let's say only one: if I have to make  major changes to  the site's functionalities, do I have the resources at hand and in sufficient quantity to make these changes in time?  

This question arises in particular for companies that have in-house development skills or those considering a technology that uses a language for which expertise is more scarce or expensive.

THEN  WEB DEVELOPMENT FRAMEWORKS 

As the development of applications and websites has recurring components, developers simplify and systematize their applications by using a development framework, which is in fact a set of methods and reusable components in a given language : calls to a database, connection/authentication, creation of templates, etc.  

Many developers build sites directly based on  popular frameworks  , such as the following: 

  • Symfony, Zend (PHP)
  • ASP.NET MVC
  • Spring, Eclipse RAP (Java)
  • Ruby on Rails
  • Django (Python)
  • etc

Sites built directly with a  framework  have management interfaces of as good quality… as what the developer will offer or the client will request.  So, in some cases, the site management staff will ask for very nice interfaces tailored to them, and in others, it will essentially be necessary to resort to the site developers to make a modification to the site.

USE IN PARTICULAR IN ANY OF THE FOLLOWING CASES:

  • Site with a majority of features and business rules that are very unusual
  • Strong, even fusional relationship with the team of long-term developers (e.g. custom site created by an internal team)
  • Company wanting  almost total  control over the evolution of the components of its site
  • Sites where most publishing processes are automated via third-party systems or interfaces that must be custom-made  
  • Example: company whose site is the main product, such as a comparator in the field of travel, a social network, etc.

CONTENT MANAGEMENT SYSTEM (WEB)
CMS  OR  WCMS  (WEB) CONTENT MANAGEMENT SYSTEM ]

Building a website usually involves mostly creating simple pages and forms. That's why there are dozens of systems that simplify this process, such as the following:

  • WordPress, Drupal, Typo3 (PHP)
  • Kentico, Sitefinity, SharePoint (.NET)
  • OpenCMS, Liferay, Magnolia (Java)
  • Typo (Ruby)
  • Django CMS, Plone (Python)
  • etc

Usually these systems allow a user who does not have specific technical skills to easily add pages, modify them, etc. , and promise, as the case may be, richer functionalities, for example to approve publications according to given rules, moderate comments, have a product catalog, manage an intranet, etc. 

If each CMS has its specialty (intranet, blog, media site, wiki, etc.), they all have one main objective: to help distribute content.

USE IN PARTICULAR IN ANY OF THE FOLLOWING CASES:

  • Content or media site
  • Advanced search and content tagging needs
  • Companies with complex publishing processes that need to be formalized (approvals, translations, etc.)
  • Lead Generation Site  with  Simple Processes
  • Site with a simple or marginal transactional dimension
  • Site whose complex processes are managed by third-party systems (e.g. private area managed by a custom system)

E-COMMERCE PLATFORM
E-COMMERCE SOLUTION / SHOPPING CART SOFTWARE ]

While most CMS are suitable for creating a catalog and at the limit receiving simple transactions, when the main purpose of the site is to sell online , the system will probably have to include richer functionalities that are usually included in a commerce platform. electronic: 

  • Advanced shopping cart
  • Automated email delivery based on transaction or delivery
  • Availability management
  • Management of promotions, prices and discount codes
  • Order management

There are several dozen e-commerce platforms , in most Web languages, including (this list is not really exhaustive): 

  • Magento, PrestaShop, OpenCart (PHP)
  • Hybris, NetSuite, ATG, Broadleaf (Java)
  • AbleCommerce, uCommerce, AspDotNetStoreFront, ZNode (.NET)
  • Shopify, Active Merchant, Spree (Ruby)
  • Satchmo (Python)

Usually, such solutions provide a systematic way to establish an online store that has common retail functionality. In some cases, most of the effort to bring the site online is for web configuration and integration (site presentation), with very limited use of programming.  

USE IN PARTICULAR IN ANY OF THE FOLLOWING CASES:

  • We must manage a large number of transactions according to the usual business rules of online sales
  • We must structure a catalog of several tens, hundreds, thousands of products (search or navigation by facets, recommendations, related products)
  • We must set up simple but large number of customer accounts (mainly supporting the history and tracking of orders and delivery addresses)

Finally, most e-commerce solutions offer basic CMS functionalities, but do not always have more advanced publishing processes (approvals, comments, etc.). Sometimes you can also join an e-commerce platform and a CMS to manage the same site: the couple WordPress / Magento (PHP) is a combination that shows.  

CUSTOMER EXPERIENCE MANAGEMENT SYSTEMS
CXM, CUSTOMER EXPERIENCE MANAGEMENT ]

Note that the three cases seen above do not cover several types of essential sites. For example, B2B online sales sites that must support complex processes (e.g. multi-user customer accounts, deferred orders, etc.) or even sites supporting transactional business models, but more complex , for example financial institutions (e.g. request for pre-approvals, change of account type, etc.) 

At the same time, the discipline of Internet marketing automation is booming: rather than publishing common pages to all visitors, we now want to adjust the message to a particular user or context , for example presenting a page different welcome to the recognized user and to the visitor who had connected to his account yesterday, or to a mobile user. 

These two great complexities require platforms that manage the publication differently from a traditional CMS, and which support less conventional transactions than the e-commerce solutions very aligned with the usual retail. So much so that several very advanced CMS have added customer experience management functionalities that have made them CXMs . In this group, we could name among others: 

  • Drupal, eZ Publish (basic CXM PHP)
  • Sitecore, EpiServer, Ektron (.NET)
  • Adobe QC, Hippo CMS (Java)

By allowing the creation of tailor-made experiences (and not just pages or products), these solutions not only provide access to several components allowing the creation of tailor-made business logic (products, customer accounts, companies, pages, campaigns, etc.), but also to establish — without programming — business rules controlling the display of certain messages or the automatic triggering of site behaviors  (e.g. promotion, product recommendations, etc.) to maximize the impact of advertising campaigns, for example social media promotions or performance-based media buying.   

These systems therefore make it possible both to create transactional sites that have a more complex e-commerce strategy, but also to better support multi-platform advertising campaigns. As long as we take the trouble to configure and optimize them enough to enjoy them. 

A FINAL WORD ON PROPRIETARY/HOME SYSTEMS

Many development firms also offer an in-house solution, which fall into one or other of these categories, but without third-party rating/rating and detailed online documentation, nothing beats a good demonstration to understand what you are really buying, and to what extent what you are asking for will require tailor-made work in a less widespread platform or adapted to your business model . The longevity of the site, the proposed system and the supplier are also to be questioned.   

Several software or service providers also use the catch-all name  framework  to designate both very flexible software, a development framework and several other types of solutions. It is important to be careful with this term, and to verify what it is really about by seeing a demonstration of the system: yes, the system "  can do everything ", but can we really establish business rules without additional programming from the developer? Do we have to resort to the competence of the supplier for any modification?   

In all cases, a neutral evaluation, which takes into account the needs of all the departments of the organization involved in the use of the site is essential.