Bibliothèque client pour services HCL Commerce

La bibliothèque client simplifie et élimine le code sur le client. La bibliothèque client est une couche Java destinée qui aide les applications Java à s'intégrer dans votre architecture de services, sans besoin de générer du code supplémentaire. Elle prend déjà en charge les sessions et l'authentification et fournit aux clients basés Java un mécanisme normalisé pour création d'objets SDO OAGIS représentant des requêtes de service.

Chaque composant fournit un projet de bibliothèque client pour accéder au composant. Le projet client contient les éléments suivants :

  • Des interfaces du service fournies pour chaque nom
  • Fichier de constantes partageable entre le client et le serveur
  • Un module client contenant :
    • La classe abstraite de client Java contenant les méthodes communes et les méthodes requises par l'infrastructure de base
    • Une classe Java activée pour le Web qui étend la classe abstraite afin d'implémenter les méthodes conviviales Java et compatibles Web
    • Des exceptions spécifiques au nom pour représentation des erreurs côté client et serveur

La sous-classe de la classe abstraite de bibliothèque client est une classe de bibliothèque client d'activation Web. Le client fournit des méthodes plus pointues pour effectuer des actions de service spécifiques. Ces méthodes plus précises créent le SDO de la demande de service approprié et appellent les méthodes offertes par la classe abstraite de bibliothèque client pour exécuter la demande de service. La bibliothèque ne construit que l'objet de demande de service. Il ne doit pas envoyer le message ou contenir une logique métier supplémentaire. La responsabilité de l'envoi fait partie de la classe abstraite de bibliothèque client et la logique métier supplémentaire est la responsabilité de l'instruction de tâche métier qui utilise la bibliothèque client.

Vous pouvez voir un exemple de ces méthodes d'activation Web dans le code suivant :


//
==============================================================================
        // Programmer friendly APIs that can be used by clients to
perform 
        // more specific operations.  These APIs are a convenient
way to perform
        // common operations that clients of the SubsystemGroupName
facade would perform.
        //
==============================================================================
        protected NounNameType buildNounName(java.util.Map
parameters) {
                NounNameType nounName =
SubsytemGroupNameFactory.eINSTANCE.createNounNameType();
                String[] description = (String[])
parameters.get("description");
                if (description != null) {
                        nounName.setDescription(description[0]);
                }
                return nounName;
        }
        
        protected java.util.Map
buildResponse(AcknowledgeNounNameDataAreaType dataArea) {
                java.util.Map result = new java.util.HashMap();
                // populate response map ...
                return result;
        }
        
        public java.util.Map registerNounName(java.util.Map
parameters) throws NounNameException {
                AcknowledgeNounNameType ack =
super.processNounName(createProcessNounName("Register",
buildNounName(parameters)));
                AcknowledgeNounNameDataAreaType dataArea =
checkAcknowledgeNounName(ack.getDataArea());
                return buildResponse(dataArea);
        }

L'authentification par protocole est utilisée entre le client et le serveur. Cela signifie que le transport contient des informations d'identité qui seront converties en identité HCL Commerce sur le serveur. Bien que les renseignements sur le contexte métier soient contenus dans le document de la demande, l'identité ne fera pas partie du document. Les informations de sécurité ne sont reportées que dans l'en-tête SOAP.

Les identifiants d'authentification de base se trouvent dans l'en-tête SOAP ou les propriétés de transport, et WebSphere les comparera à l'identité appropriée.