HCL Commerce présentation de la structure
Dans HCL Commerce, l'exécution du serveur définit la structure de traitement des requêtes du système et de l'utilisateur et exécute la logique commerciale appropriée pour traiter les requêtes. La structure est construite à l'aide d'un patron de conception MVC et fournit un environnement qui héberge la logique commerciale et gère la persistance. Elle effectue des tâches telles que la gestion des transactions et la gestion des sessions.
HCL Commerce prend en charge divers mécanismes de sécurité qui peuvent être utilisés pour protéger l'accès aux données et autres ressources du serveur. La structure de contrôle d'accès HCL Commerce empêche les utilisateurs d'exécuter une logique commerciale particulière. La structure de contrôle d'accès offre un contrôle détaillé sur la logique commerciale et une flexibilité pour restreindre l'accès aux données que l'utilisateur peut afficher et modifier. Avec le contrôle d'accès, vous pouvez regrouper les commandes par groupes d'accès, affecter différentes commandes client à différents propriétaires et affecter l'accès à tous les propriétaires et l'accès à l'administrateur de site global. En utilisant la sécurité globale de WebSphere, l'accès aux ressources Web telles que servlets, les fichiers JavaServer Pages (JSP) et les méthodes Enterprise JavaBeans (EJB) peut être contrôlé pour une couche de sécurité supplémentaire.
La structure de commande, un composant architectural de l'exécution Transaction server, offre la possibilité d'exécuter des commandes qui représentent différents processus métier dans le système. La structure de commande définit les interfaces Java et l'implémentation abstraite que la logique commerciale étend et implémente. Un ensemble de classes de base que les commandes peuvent étendre pour simplifier l'implémentation est également fourni.
Les interactions entre les composants HCL Commerce sont affichées dans le diagramme suivant.
- Moteur de servlet
- Couche de présentation
- HCL Commerce couche de modèle de commande
- Couche de persistance
- Moteur de servlet
- Le moteur servlet est la partie de l'environnement d'exécution WebSphere Application Server qui agit comme répartiteur de requêtes pour les requêtes URL entrantes. Le moteur de servlet n'est utilisé que pour les applications Web. Le moteur de servlet gère un pool d'unités d'exécution pour traiter les requêtes. Chaque requête entrante est exécutée sur une unité d'exécution distincte. Les commandes HCL Commerce peuvent être appelées à partir de différents appareils. Voici quelques exemples d'appareils pouvant appeler des commandes :
- Navigateurs Internet typiques
- Téléphones mobiles à l'aide de navigateurs Internet
- Systèmes d'approvisionnement qui envoient des requêtes à l'aide de XML sur HTTP
Un programme d'écoute de protocole est un composant d'exécution qui reçoit les requêtes entrantes des transports, puis envoie les requêtes aux adaptateurs appropriés, qui se basent sur le protocole utilisé. Le programme d'écoute de protocole inclut un servlet de requête.
Lorsque le servlet de requête reçoit une requête URL du moteur de servlet, il transmet la requête au gestionnaire d'adaptateurs. Le gestionnaire d'adaptateur renvoie l'adaptateur associé pour la requête. Une fois l'adaptateur spécifique déterminé, la requête est traitée. L'adaptateur associé est utilisé pour la gestion de session spécifique à l'appareil pour le formatage des réponses.
La liste des adaptateurs est initialisée lorsque le serveur est initialisé. Chaque module Web peut avoir sa propre liste personnalisée d'adaptateurs pris en charge.
Couche de présentation
- Contrôleur
-
Le contrôleur joue un rôle dans l'application du modèle de programmation de l'application de commerce. Par exemple, le modèle de programmation définit les types de commandes qu'une application peut écrire. Chaque type de commande sert un but spécifique. La logique commerciale doit être implémentée dans les commandes de contrôleur. Le contrôleur s'attend à ce que la commande de contrôleur renvoie un nom de vue.
Pour les requêtes HTTP, le contrôleur exécute les tâches suivantes :
- Démarre la transaction à l'aide de l'interface UserTransaction à partir du package javax.transaction.
- Obtient les données de session de l'adaptateur.
- Détermine si l'utilisateur doit être connecté avant que la commande ne soit appelée. Si nécessaire, il redirige le navigateur de l'utilisateur vers une URL de connexion.
- Vérifie si HTTPS sécurisé est nécessaire pour l'URL. S'il est requis mais que la requête en cours n'utilise pas HTTPS, il redirige le navigateur Web vers une URL HTTPS.
- Invoque la commande de contrôleur et lui transmet le contexte de commande et les objets de propriétés d'entrée.
- Si une exception de restauration de transaction se produit et que la commande du contrôleur peut être essayée à nouveau, elle lance la commande de contrôleur.
- Une commande de contrôleur renvoie normalement un nom de vue lorsqu'une page d'affichage doit être renvoyée au client. Le contrôleur invoque la vue appropriée pour l'affichage de la page correspondante. Il existe plusieurs façons de former une vue de réponse. Il s'agit notamment de rediriger vers une url différente, de transférer vers une page JSP ou d'écrire un document HTML sur l'objet de réponse.
- Valide les données de session.
- Valide la transaction en cours si elle réussit.
- Rétrograde la transaction en cours en cas d'échec (selon les circonstances).
- Structure d'adaptateurs et adaptateurs
- La structure d'adaptateurs détermine quel adaptateur peut gérer la requête et associe l'adaptateur à cette requête de création de réponse et de gestion de session.
HCL Commerce les adaptateurs sont des composants spécifiques à l'appareil qui exécutent des fonctions de traitement avant qu'une requête ne soit transmise au contrôleur Web. Voici quelques exemples de tâches de traitement effectuées par un adaptateur :
- Demander au contrôleur Web de traiter la requête d'une manière spécifique au type de périphérique. Par exemple, un adaptateur de périphérique informatique nomade (PvC) peut demander au contrôleur Web d'ignorer la vérification HTTPS de la requête d'origine.
- Transformer le format de message de la requête entrante en un ensemble de propriétés que les commandes HCL Commerce peuvent analyser.
- Fournir la persistance de session spécifique à l'appareil.
Le diagramme suivant montre la hiérarchie de classe d'implémentation pour la structure d'adaptateurs HCL Commerce.
- Gestionnaire de beans de données et beans de données
- HCL Commerce les beans de données qui sont insérés dans les pages JSP permettent l'inclusion de contenu dynamique dans la page. La façon recommandée d'activer les beans de données dans une page JSP est d'utiliser la balise useBean HCL Commerce. Alternativement, le gestionnaire de beans de données peut être utilisé. Le contrôle d'accès est appliqué en appelant des beans de données à l'aide du gestionnaire de beans de données.
Le gestionnaire de beans de données active le bean de données de sorte que ses valeurs soient remplies lorsque la ligne de code suivante est insérée dans la page :
com.ibm.commerce.beans.DataBeanManager.activate(data_bean, request, response)où data_bean est le bean de données à activer, request est un objet HTTPServletRequest et response est un objet HTTPServletResponse.
Les beans de données sont des beans qui sont principalement utilisés par les concepteurs web. Le plus souvent, ils donnent accès à une entité HCL Commerce. Un concepteur Web peut placer ces beans sur une page JSP, permettant le remplissage des informations dynamiques sur la page au moment de l'affichage. Le concepteur Web doit comprendre uniquement quelles données le bean peut fournir et de quelles données le bean a besoin comme entrée. Conformément au thème de séparation de l'affichage de la logique commerciale, il n'est pas nécessaire que le concepteur Web comprenne comment le bean fonctionne.
- Affichage des pages
- Les pages JSP sont des servlets spécialisés qui sont généralement utilisés à des fins d'affichage. A la fin d'une requête URL, le contrôleur Web appelle une instruction de visualisation qui appelle une page JSP. Un client peut également appeler une page JSP directement à partir du navigateur sans commande associée. Dans ce cas, l'URL de la page JSP doit inclure le servlet de requête dans son chemin d'accès afin que tous les beans de données requis par une page JSP puissent être activés dans une seule transaction. Le servlet de requête peut transférer une requête URL à une page JSP et exécuter la page JSP dans une seule transaction.
Le gestionnaire de beans de données rejette toute URL d'une page JSP qui n'inclut pas le servlet de requête dans son chemin.
HCL Commerce couche de modèle de commande
HCL Commerce les commandes sont des beans qui contiennent la logique de programmation associée à la gestion d'une requête particulière. Les principaux types de commandes sont les commandes de contrôleur et les instructions de tâche.
Couche de persistance
Les beans d'entité sont les objets de commerce transactionnel persistants qui sont fournis par HCL Commerce. Si vous connaissez le domaine du commerce, les beans d'entité représentent les données HCL Commerce de manière intuitive. Autrement dit, plutôt que d'avoir à comprendre l'ensemble du schéma de base de données, vous pouvez accéder aux données à partir d'un bean d'entité qui modélise plus étroitement les concepts et les objets dans le domaine du commerce. Vous pouvez agrandir les beans d'entité existants. En outre, pour vos propres exigences commerciales spécifiques à l'application, vous pouvez déployer des beans d'entité entièrement nouveaux.
Les entités JPA sont implémentées selon le modèle de composant JPA.