Biblioteca de cliente para servicios de HCL Commerce

La biblioteca de cliente simplifica y elimina el código del cliente. La biblioteca del cliente es una capa de Java que ayuda a que las aplicaciones Java se integren con su arquitectura de servicio, sin generación de código adicional. La biblioteca de cliente ya tiene soporte para la sesión y autenticación, y proporciona a los clientes basados en Java un mecanismo estandarizado para crear objetos de SDO de OAGIS.

Cada componente proporciona un proyecto de biblioteca de cliente para acceder al componente. El proyecto del cliente contiene los siguientes artículos:

  • Interfaces del servicio proporcionado por cada nombre.
  • Un archivo constante que se puede compartir entre el cliente y el servidor
  • Un paquete de cliente que contiene
    • La clase Java de cliente abstracta que contiene métodos comunes y métodos que la infraestructura base necesita
    • Una clase Java habilitada para la Web y fácil de utilizar que se amplía desde la clase Java abstracta para implementar métodos Java habilitados para la Web y fáciles de utilizar
    • Excepciones específicas de los nombres que representan errores de cliente y errores de servidor

La subclase de la clase abstracta de la biblioteca de clientes es una clase de biblioteca de clientes para habilitación de la Web. El cliente proporciona métodos mejores para realizar acciones de servicio específicas. Estos métodos construyen el SDO de petición de servicio adecuado y llaman a los métodos ofrecidos por la clase de biblioteca de cliente abstracta para realizar la petición de servicio. La biblioteca solo debe crear el objeto de petición de servicio. No debe enviar el mensaje ni contener ninguna lógica de negocio adicional. La responsabilidad del envío forma parte de la clase de biblioteca de cliente abstracta y la lógica de negocio adicional es responsabilidad del mandato de tarea empresarial utilizando la biblioteca de cliente.

Un ejemplo de estos métodos de habilitación web se muestra en el siguiente código:


//
==============================================================================
        // 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);
        }

La autenticación de protocolo se utiliza entre el cliente y el servidor. Esto significa que el transporte contiene información de identidad que se convertirá en identidad de HCL Commerce en el servidor. Aunque la información de contexto empresarial se incluirá en el documento de petición, la identidad no formará parte del documento. La información de seguridad sólo se pasa en la cabecera SOAP.

Las credenciales de autenticación básica se encontrarán en la cabecera SOAP o en las propiedades de transporte y WebSphere las resolverá en la identidad adecuada.