Architecture de magasin

HCL Commerce sépare les vitrines frontales individuelles des serveurs sur lesquels elles s'appuient. Cette architecture renforce la sécurité, l'évolutivité, la flexibilité de la topologie du serveur et facilite le développement et le déploiement des magasins et des personnalisations de magasin.

Le Store server est constitué d'une JVM légère qui sépare la couche de présentation de la vitrine du réseau principal de recherche et de transaction. Le Store server conserve les sessions utilisateur avec des cookies et gère la sécurité via le canal Web (c'est-à-dire entre le magasin et l'utilisateur via HTTP et HTTPS). Toutes les transactions du magasin, les requêtes de recherche et les authentifications d'utilisateur sont effectuées via les services REST avec le Transaction server et le Search server. Le Store server n'a aucun accès direct à la base de données.

L'environnement de programmation sépare toutes les ressource de vitrine personnalisées en une seule archive d'application Web. Cette séparation entre fichiers personnalisés et fichiers fournis par défaut permet un cycle de vie simplifié, dans lequel les modifications deviennent plus faciles à mettre en œuvre lorsque des améliorations sont apportées à HCL Commerce.

Cette architecture offre aux développeurs et aux administrateurs de sites plusieurs caractéristiques intéressantes :
  • Sécurité

    Tâches séparées entre sécurité du canal Web et sécurité de l'API de backend et des données :

    • Les vitrines individuelles n'ont aucun accès direct à la base de données et communiquent de manière sécurisée via les services REST.
    • Les développeurs de magasins ne peuvent pas accéder aux beans de données, aux objets de service et aux conteneurs d'objets backend potentiellement dangereux.
  • Evolutivité et flexibilité

    Echelle séparée des serveurs frontaux et principaux et des tâches de développement :

    • Des vitrines individuelles peuvent être construites et déployées, désaffectées, personnalisées ou modifiées et testées sans aucun impact sur le fonctionnement de votre site.
    • Délimitation claire des tâches de développement frontal et principal.
  • Modernisation

    Utilise une technologie moderne et flexible :

    • L'infrastructure MVC (model-view-controller) utilisée par le magasin est Spring. Spring est populaire, pris en charge et facile à adopter par les développeurs ayant déjà une expérience Struts et HCL Commerce.

      Pour plus d'informations, voir Personnalisation de l'infrastructure MVC Spring et du contrôleur de magasin.

    • Le Store server est exécuté sur WebSphere Application Server V8.5.5 Liberty.

La liste suivante décrit les tâches effectuées et gérées par le Store server :

  • Gestion des sessions
    • Résoudre une session à partir de cookies
    • Générer des cookies de session
    • Gérer une session persistante
  • Sécurité
    • Validation des cookies et jetons
    • CSRF, XSS, liste blanche des paramètres
    • Liste blanche de redirection
    • Délai d'attente de session
    • Redirection HTTPS
    • Gérer les vues requises pour l'authentification :
      • Vues non génériques requises et création d'utilisateur invité (utilisateur invité non générique)
      • Vues requises avec données d'identification complètes et migration des utilisateurs invités (utilisateur générique, client invité avec données d'identification complètes ou utilisateur connecté avec données d'identification complètes)
      • Vues requises pour l'authentification (utilisateur connecté)
  • Redirection pour l'invalidation du mot de passe
  • Traitement par double clic
  • Logique de référencement
  • Gestion des erreurs
  • DynaCache pour le cache de données du magasin, pour les configurations synchronisées

Architecture du Store server

Architecture du serveur de magasin

Le Store server reste léger car il ne contient que les éléments essentiels requis pour afficher la vitrine aux clients. Seules les fonctions de sécurité, de gestion de session et de référencement sont intégrées et toutes les données autres que les informations d'invalidation de cache sont extraites du Transaction server et du Search server via les services REST.

Structure de fichiers

Le contenu du magasin se trouve dans l'archive crs-web.

  • Ressources non personnalisables au niveau du site, ressources statiques et fichiers de configuration par défaut.
  • Ressources personnalisables de niveau de magasin et fichiers de configuration.

Pour en savoir plus sur la structure de fichiers du serveur de magasin, voir Ressources de magasin.