WebSphere Product Center: Integración de WebSphere Commerce

Versión 5.2

 

 

 

 

 

 

 


Nota: antes de utilizar esta información y el producto al que da soporte, lea la información del apartado "Avisos" al final de este documento.

 

23 de marzo de 2005

Este manual es la traducción del manual en inglés WebSphere Product Center: WebSphere Commerce Integration. Esta edición de este documento se aplica a WebSphere Product Center, versión 5.2 (5724-I68), y a todos los releases y modificaciones posteriores hasta que se indique lo contrario en nuevas ediciones.

Copyright International Business Machines Corporation 2005. Reservados todos los derechos.
US Government Users Restricted Rights-Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

Tabla de contenido

Capítulo 1. Visión general

Capítulo 2. Arquitectura

Diseño de la aplicación
Scripts personalizados de Product Center

Capítulo 3. Integración con WebSphere Commerce

Configuración de Commerce
Exportación de datos de WC a Commerce

Configuración para vista previa

Configuración de Product Center

Capítulo 4. Procesos empresariales

Exportación completa
Supresión de la exportación delta

Actualización de la exportación delta

Apéndice A - Consulta de modelo de datos

Objetos de Commerce
Objetos de Product Center relacionados con Commerce

Avisos

Capítulo 1. Visión general

La integración con Commerce proporciona a los clientes una base con la que establecer un entorno de autoría completo y altamente productivo para la información de los productos destinado a los sitios web de comercio electrónico B2B (de empresa a empresa) y B2C (de empresa a consumidor). WebSphere Product Center (al que a partir de ahora se hará referencia como Product Center) puede aumentar en gran medida el valor de las implementaciones de comercio electrónico, pues mejora considerablemente la preparación de información completa y precisa acerca de los productos para su publicación.  

Junto con una plataforma de comercio electrónico, proporciona herramientas para organizar las contribuciones de diferentes usuarios a las funciones de los diversos procesos de Commerce. También ofrece funciones y prestaciones para simplificar de forma significativa la agregación, ampliación, gestión y aprobación de grandes cantidades de información compleja sobre productos.  

Los procesos empresariales soportados son los siguientes: introducción de nuevos productos, creación de ventas cruzadas, ventas unidireccionales y promociones, fin de vida de los productos, sincronización de la información sobre artículos, cargas masivas de artículos y sus atributos en un sitio web y sindicación de la información de los productos en diferentes puntos de contacto de cliente además de en los sitios web de comercio electrónico.  

La integración del servidor Commerce incluye:

Requisitos

Limitaciones

Los datos del producto que se han definido en Product Center y que se han cargado en Commerce contienen el inventario predeterminado. Para cambiarlos, el usuario debe utilizar Commerce Suite Accelerator.

Capítulo 2. Arquitectura

El intercambio de datos entre Product Center y Commerce se basa en documentos XML. El equipo de Commerce debe proporcionar el DTD de la última herramienta de carga masiva de éstos. Los scripts de Product Center se utilizan para crear documentos XML, que pueden validarse con el DTD de Commerce y enviarse mediante FTP a una ubicación previamente definida desde la que la aplicación Commerce recuperará el documento y lo procesará. Si se detecta algún error durante el proceso, el documento XML debe gestionarse manualmente.  

Se considera que la primera entrada de datos masivos en Commerce es la exportación completa, y, posteriormente, sólo se exportarán a Commerce como parte de la entrada de datos masivos delta los objetos que se hayan suprimido o que hayan cambiado en Product Center.

Product Center genera el XML que se ajusta al DTD que Commerce define (WCS.dtd). El proceso delta siempre implica la ejecución de la supresión del xml en primer lugar y, a continuación, la realización de la actualización; con ello se elimina cualquier incoherencia que pudiera existir en los estados de los objetos.

 

La integración de WebSphere Product Center y WebSphere Commerce satisface los objetivos siguientes:

Nota: En el Apéndice A encontrará información detallada acerca de la consulta de modelo de datos.

Diseño de la aplicación

El paquete de integración de Product Center incluye los objetos siguientes:

WCCatentryCtg: catálogo maestro en Product Center

WCSKUCtg: códigos de artículos que pertenecen a un producto

WCSalesHr: catálogo de ventas

ActivityLog: catálogo de anotaciones de actividad

Scripts personalizados de Product Center

Son varios los scripts de Product Center que forman parte de la representación del modelo de datos de los objetos de Commerce en Product Center. Se describen en la tabla siguiente:

Nombre de script Tipo de script Descripción/función
Script de postproceso WCCatentry  Script de catálogo: postproceso

Realiza validaciones básicas del modelo de datos, como duplicar el número de pieza, definir validaciones relacionadas con el atributo, etc.

Postguardado CatentryCtg WCSKUCtgPostSave

Comprueba si el artículo guardado es un producto y, a continuación, crea el producto como categoría en el catálogo de códigos de artículos; asimismo, también asocia el atributo de definición como especificación secundaria.

WCSKUCtgPostSave  WCSKUCtgPostSave

Crea entradas en el catálogo de anotaciones de actividad.

Script de vista previa de entrada WCCatentryCtg  Vista previa de entrada

Crea el XML del artículo solicitado para presentar la vista previa, carga los datos XML como correo HTTP y llama al mandato de vista previa de Commerce.

WCSkuCtgEntryPreview Vista previa de entrada 

Igual que el anterior, vista previa para un código de artículo.

DataExportToCommerceScript  Script de informe

Informe que ayuda al usuario a realizar fácilmente las entradas de datos masivos de catálogo completas o delta en Commerce. Este script, junto con algunos scripts de desencadenante, crea el XML calculando los artículos que han de exportarse desde el catálogo ActivityLog en caso de existir datos delta, coloca el XML mediante FTP en un directorio previamente definido (se describe en la tabla de búsqueda) y llama al mandato de Commerce.

WC-Export.Wc.XmlFormat Script de desencadenante

Este script, de tipo ASP/JSP, es una pieza importante en la creación del XML. Todos los nodos XML de Commerce se describen en este script como funciones que se llaman desde los scripts de desencadenante.

WC.Validation.Utility.Lib Script de desencadenante

Script de desencadenante de validación que se utiliza para realizar validaciones básicas en los objetos, como determinar si es un objeto no nulo, realizar el filtrado de caracteres especiales, validar la exclusividad, etc.

WCExportUtil.wpcs Script de desencadenante 

Potente y principal script al que se llama al realizarse una exportación completa o delta así como durante la obtención de una vista previa. Gestiona toda la lógica empresarial y crea el XML.

activityLogger.wpcs Script de desencadenante

Este script gestiona todo el catálogo de anotaciones de actividad relacionado con las entradas. 

WC.utility.Lib Script de desencadenante

Dispone de funciones de programa de utilidad, como la modificación de valores de apariciones múltiples para un artículo, la creación de especificaciones secundarias, la supresión de la relación de los códigos de artículos para los artículos del catálogo, etc.

CopyItemsandCategory Script de desencadenante 

Este script se utiliza para copiar los artículos o las categorías desde el catálogo maestro hasta los catálogos de ventas.

Library Logger  Script de desencadenante

 Programa de utilidad de anotaciones que se utiliza durante el proceso de desarrollo para disponer de un archivo de anotaciones de los sucesos. Actualmente no se utiliza porque no ofrece seguridad para las hebras.

 

Capítulo 3. Integración con WebSphere Commerce

En este capítulo se proporciona la configuración para Product Center y para WebSphere Commerce. 


Configuración de Commerce

Requisitos previos

Configuración para la integración de Commerce

Configuración de los mandatos de integración

Para configurar los mandatos de integración en WebSphere Commerce, realice los pasos siguientes.

1) Cargue el archivo SQLLoad.xml de la carpeta temporal utilizada en el apartado anterior en la base de datos;para ello, ejecute idresolver (idresgent) seguido del mandato massloader (massload) en la misma ventana, tal como se muestra a continuación: 

idresgen -dbname <nombre_base_datos> -dbuser <nombre_usuario> -dbpwd <contraseña> -infile C:\test\ SQLLoad.xml –outfile C:\test\ SQLLoadout.xml –method mixed

massload -dbname <nombre_base_datos> -dbuser <usuario_base_datos> -dbpwd <contraseña> -infile C:\test\ SQLLoadout.xml –method sqlimport 

Nota: En el archivo SQLLoad.dtd, asegúrese de que la vía de acceso de wcs.dtd se haya establecido correctamente.

Por ejemplo, si wcs.dtd se encuentra en el directorio D:\WebSphere\CommerceServer56\schema\xml, la vía de acceso debe especificarse como se indica a continuación: 

<!ENTITY % wcs.dtd SYSTEM "D:\WebSphere\CommerceServer56\schema\xml\wcs.dtd"> 

2) Cargue el archivo wpcwcUserGroup.xml que se ha copiado en el directorio <dir_instalación_WC>\xml\policies\xml. Para ello, abra una ventana del indicador de mandatos, cambie al directorio <dir_instalación_WC>\bin y ejecute el mandato acpload, tal como se indica a continuación:

acugload <database name> <nombre base datos> <contraseña> wpcwcUserGroup.xml <nombre esquema>

donde 

nombre base datos es el nombre de la base de datos
usuario base datos es el nombre del usuario que se conecta con la base de datos
contraseña base datos es la contraseña del usuario que se conecta con la base de datos
nombre esquema es el nombre del esquema de la base de datos de destino

3) Cargue el archivo wpcwcpolicy.xml que se ha copiado en el directorio <dir_instalación_WC>\xml\policies\xml. Para ello, abra una ventana del indicador de mandatos, cambie al directorio <dir_instalación_WC>\bin y ejecute el mandato acpload, tal como se indica a continuación:

acpload <nombre base datos> <nombre usuario> <contraseña base datos> wpcwcpolicy.xml <nombre esquema>

donde 

nombre base datos es el nombre de la base de datos
usuario base datos es el nombre del usuario que se conecta con la base de datos
contraseña base datos es la contraseña del usuario que se conecta con la base de datos
nombre esquema es el nombre del esquema de la base de datos de destino

4) Abra el archivo MANIFEST.MF que se encuentra en el directorio <dir_instalación_WAS>\installedApps\<nombre_celda>\WC_<nombre_instancia>.ear\Stores.war\META-INF y añada el archivo WPCWC.jar al final de la vía de acceso de clase. 

5) Abra el archivo WPCWCProperties.properties que se encuentra en <dir_instalación_WAS>\installedApps\<nombre_celda>\WC_<nombre_instancia>.ear\Stores.war\WEB-INF\classes y modifique los siguientes valores según proceda 

nombre base datos es el nombre de la base de datos
usuario base datos es el nombre del usuario que se conecta con la base de datos
contraseña base datos es la contraseña del usuario que se conecta con la base de datos
idresinfiledir es el directorio en el que Product Center debe colocar mediante FTP los archivos de entrada

    Por ejemplo: C:/WPC-WC/testing

massloadinfile es el archivo de salida que se generaría desde el proceso IdResolver y que se enviaría como entrada al proceso massloader

    Por ejemplo: C:/WPC-WC/testing/idresout.xml

nombre esquema es el nombre del esquema de base de datos de destino

customizer es el archivo de personalización que debe proporcionarse a las otras bases de datos, como Oracle.
    Por ejemplo: OracleConnectionCustomizer.properties

nombre archivo propiedades es la vía de acceso del archivo de propiedades IdResolveKeys.properties

    Por ejemplo: C:/WebSphere/CommerceServer56/properties/IdResolveKeys.properties

Nota: 

1. Añada la siguiente entrada al final del archivo IdResolveKeys.properties, que se encuentra en el directorio <dir_instalación_WC>\properties.

    ATTRIBUTE=@LANGUAGE_ID@NAME@FIELD1:LANGUAGE_ID NAME FIELD1

2. No modifique las otras propiedades de mixedmethod, sqlmethod, deletemethod y optimize.

3. Asegúrese de que wcs.dtd aparece en el directorio que idresinfiledir especifica.


Exportación de datos de WC a Commerce

En este apartado se describe cómo extraer información desde WebSphere Commerce a una tienda de Commerce.

Crear un nuevo usuario

Cree un nuevo usuario (que pertenezca a la organización raíz) en Commerce por medio de la consola de administración de la organización que disponga de privilegios de administración. Asigne una función de administrador de WPC al usuario.

Extraer los metadatos

Para extraer la información de metadatos de WebSphere Commerce, realice los pasos siguientes:

1) Extraiga el archivo zip en un directorio local

2) Copie el archivo de filtro Export_MetaData_Filter.xml en un directorio temporal. Por ejemplo, C:\test.

3) Abra el archivo Export_MetaData_Filter.xml para realizar los siguientes cambios y guarde el archivo:

4) Abra una ventana del indicador de mandatos y cambie al directorio <dir_instalación_WC>\bin

5) Ejecute la herramienta massextract desde <dir_instalación_WC>\bin, tal como se muestra a continuación:

    massextract -dbname <nombre base datos> -dbuser <nombre usuario> -dbpwd <contraseña> -filter 
    C:\test\Export_MetaData_Filter.xml -outfile <archivo salida> -schemaname <nombre esquema>

    donde 

    nombre base datos: es el nombre de la base de datos
    nombre usuario: es el nombre del usuario que se conecta con la base de datos
    contraseña: es la contraseña del usuario que se conecta con la base de datos
    archivo salida: es el nombre del archivo xml de salida en el que se almacenarán los datos extraídos
    nombre esquema: es el nombre del esquema de base de datos de destino

La información de metadatos se generará en un archivo, tal como define el valor que se ha especificado anteriormente para <archivo salida>.

Editar el archivo de salida generado

Edite el <archivo salida> generado en el apartado anterior. Vaya al siguiente elemento, al final del archivo, y sustituya logonPwd (contraseña de conexión) por la información de la contraseña correcta que se ha creado en el apartado "Crear un nuevo usuario".

<userId
logonid = “<ID conexión del usuario>”
logonpassword =”<contraseña conexión del usuario>” />

Este archivo de salida editado será la información de metadatos que se proporcionará a Product Center.

Realizar la configuración para copiar archivos de imágenes desde Product Center hasta Commerce 

1. Abra el archivo WPCWCProperties.properties que se encuentra en el directorio <dir_instalación_WAS>\installedApps\<nombre_celda>\WC_<nombre_instancia>.ear\Stores.war\WEB-INF\classes y vaya al nombre de propiedad ConsumerDirectImgDir.

2. Este nombre debe cambiarse en función de las tiendas que se hayan publicado. En este caso, ConsumerDirect es el identificador de la tienda que se ha publicado, de aquí el nombre ConsumerDirectImgDir.

3. Si el identificador de la tienda que se ha publicado es ToolTech, el nombre de propiedad que se proporciona es ToolTechImgDir en lugar de ConsumerDirectImgDir.

4. Al valor para este nombre de propiedad ConsumerDirectImgDir se le proporciona una vía de acceso, donde han de colocarse las imágenes de la tienda. Esta vía de acceso está relacionada con StoreDirectory. Por ejemplo, si la vía de acceso de la tienda en la máquina de Commerce es:

    <dir_instalación_WAS>/installedApps/<nombre_celda>/WC_<nombre_instancia>.ear/Stores.war/ConsumerDirect

 y las imágenes van a colocarse en el directorio de imágenes de ésta, la propiedad debe indicarse como:

    ConsumerDirectImgDir = images


Configuración para vista previa

1. Desde el archivo WPC_WC_Version_X.zip, extraiga el archivo zip PreviewUtils.zip en una carpeta temporal.

2. Extraiga el contenido de PreviewUtils.zip en WAS_HOME\installedApps\<nombre_nodo>\<nombre_celda.ear>\Stores.war

Existen dos métodos para obtener una vista previa:

          Método A: Utilice las JSP de ejemplo existentes para la tienda ConsumerDirect

1. Publique la tienda ConsumerDirect por medio de la interfaz de la consola de administración en Commerce

2. Extraiga las JSP desde samples.zip hasta WAS_HOME\installedApps\<nombre_nodo>\<nombre_celda.ear>\Stores.war\ConsumerDirect. 

Por ejemplo, C:\WebSphere\AppServer\installedApps\vdev\WC_demo.ear\Stores.war\ConsumerDirect

3. Vuelva a iniciar el servidor de Commerce

Método B (requiere desarrollo de JSP): Modifique las JSP de tienda para cualquier otra tienda 

Suposiciones: los beans de datos de la JSP se han llenado utilizando su ID de clave.

Lógica para el funcionamiento de la vista previa:

a) Los beans de datos que corresponden a los datos que se han recibido de Product Center se colocan en la antememoria del extremo del servidor de Commerce, en una estructura de datos. Esta estructura de datos se aloja en una correlación hash. Esta estructura de datos puede recuperarse de la correlación hash mediante el valor PreviewBeanId que se pasa en la sesión. Los beans de datos pueden recuperarse de esta estructura de datos por medio de sus valores de clave primaria, que se pasan en la solicitud. La JSP utiliza estos beans de datos (que contienen información fusionada) en lugar de construir sus propios beans de datos.  

b) Puede hacerse que la JSP utilice estos beans de datos disponiendo de una JSP, que realiza el proceso de carga de estos beans de datos en el ámbito de la página. Esta JSP debe incluirse de forma estática en todas las JSP, que necesitan la función de vista previa. El nombre de la variable/clave utilizada para cargar la variable en el ámbito de la página debe ser, en el mejor de los casos, el mismo nombre que el de la variable que va a utilizar el bean de datos en la JSP. (Con ello se facilita el desarrollo al utilizar JSTL)

c) Algunas funciones que no van a habilitarse durante la vista previa (como la ordenación de un artículo, etc.) deben eliminarse condicionalmente o sustituirse por un mensaje adecuado.  

Descripción del método con fragmentos de código:

Recuperación de beans de datos desde el servidor de Commerce 

Consulte PreviewDatabeanEnvironmentSetup.jsp en el directorio PreviewHelper para obtener información acerca de la implementación.

Recuperación de la estructura de datos

1) Obtenga el ID del bean de vista previa de la correlación hash 

HttpSession session1 = requst.getSession();
String prvw_Bean_Id = (String)
session1.getAttribute(MappingConstants.PRVW_DATA_BEAN_ID); 

2) Obtenga la estructura de datos utilizando este ID:

if (prvw_Bean_Id != null) { 
CommDataHashBucket wpcComMapDataBucket = CommDataHashBucket.getCommDataHashBucket();
WPCCommerceMapDataStructure wpcComDataStructure = 
wpcComMapDataBucket.getComDataStructure(prvw_Bean_Id);
HashMap catlgObjMap = 
wpcComDataStructure.getCatalogObjectsMap();

Recuperación de beans de datos

1) Catalogue los beans de datos:

String catlgId = request.getParameter("ID_catálogo");
if (catlgId != null) { 
CatalogPreviewDatabean cPrvwDb = null; 
HashMap catlgDBMap = (HashMap) 
catlgObjMap.get(MappingConstants.CATALOG_BEAN);
cPrvwDb = (CatalogPreviewDatabean) catlgDBMap.get(new Integer(catlgId));

2) Obtenga la categoría de los beans de datos:

String catgryId = request.getParameter("ID_categoría"); 
if (catgryId != null) { 
CategoryPreviewDataBean catgryPrvwDB = null;
HashMap catlgDBMap = (HashMap) 
catlgObjMap.get(MappingConstants.CATEGORY_BEAN);
catgryPrvwDB = (CategoryPreviewDataBean) 
catlgDBMap.get(catgryId);

3) Para cualquiera de los otros beans de datos relacionados con el producto

String prodId = request.getParameter("ID_producto"); 
if (prodId != null) { 
    HashMap catlgDBMap = (HashMap) catlgObjMap.get(MappingConstants.PRODUCT_BEAN);

    Object prodLvLObj = catlgDBMap.get(prodId);

    if (prodLvLObj != null) {
    if (prodLvLObj instanceof ProductPreviewDataBean) {
        ProductPreviewDataBean prodPrvwDB = 
        (ProductPreviewDataBean) prodLvLObj;
                                                                            ; 
    }
    else if (prodLvLObj instanceof ItemPreviewDataBean) {
        ItemPreviewDataBean itemPrvwDB = (ItemPreviewDataBean) prodLvLObj;
    
    }
    else if(prodLvLObj instanceof PackagePreviewDataBean) 
    {
        PackagePreviewDataBean itemPrvwDB = 
        (PackagePreviewDataBean) prodLvLObj;

}
else if(prodLvLObj instanceof BundlePreviewDataBean){
    BundlePreviewDataBean itemPrvwDB = (BundlePreviewDataBean) prodLvLObj;

}else if(prodLvLObj instanceof DynamicKitPreviewDataBean){
DynamicKitPreviewDataBean itemPrvwDB = (DynamicKitPreviewDataBean) prodLvLObj;

}

Cargue estos beans de datos en el ámbito de la página 

if (cPrvwDb != null) {
pageContext.setAttribute("catálogo",cPrvwDb,1); 

El nombre de variable que se utiliza para su colocación en el ámbito de la página debe ser el mismo que el utilizado para crear su instancia en la JSP de tienda. Esto debe realizarse para todos los tipos de objetos de catálogo.

Incluya de forma estática esta JSP en la JSP existente que se ha utilizado para la visualización del objeto de catálogo.

Por ejemplo: <%@ include file="../../PreviewHelper/PreviewDatabeanEnvironmentSetup.jsp" %> 

Asegúrese de que este bean de datos se utiliza en la JSP

1) Si utiliza JSTL : no es necesario realizar ningún cambio

2) Si utiliza codificación JSP normal, realice una acción similar a la que se muestra en el fragmento de código siguiente:

DynamicKitDataBean DynamicKitDataBean = null;
String storeId = ((TypedProperty)request.getAttribute(ECConstants.EC_REQUESTPROPERTIES)).getString(ECConstants.EC_STORE_ID); 

if (pageContext.getAttribute("DynamicKitDataBean") == null) {
DynamicKitDataBean = new DynamicKitDataBean ();
com.ibm.commerce.beans.DataBeanManager.activate (DynamicKitDataBean, request);
} else {
DynamicKitDataBean = (DynamicKitDataBean) pageContext.getAttribute("DynamicKitDataBean");
}

Eliminación condicional de determinadas acciones en modalidad de vista previa

Para utilizar correctamente estos escenarios, compruebe si existe un valor para PreviewBeanId y, si se ha establecido, realice la acción adecuada, como visualizar un mensaje que indique que la acción están inhabilitada. Así se muestra en el fragmento de código siguiente:

<c:when test="${!empty PreviewBeanId}">
<span class="text"><fmt:message key="CÓDIGO_ARTÍCULO_QUE_NO_PUEDE_ADQUIRIRSE" bundle="${storeText}" /></span><br /><br /> 
</c:when>

Pasos de la configuración de la vista previa:

Rellene las entradas correspondientes, que se muestran a continuación, en el archivo WPCWCproperties.properties. Son las páginas que se utilizarán para obtener la vista previa de diversos objetos de catálogo creados en Product Center. Las claves son la combinación del identificador de tienda y de la visualización del objeto de catálogo. (En el siguiente ejemplo: el identificador de tienda es ConsumerDirect)

######### JSP DE VISUALIZACIÓN DE CATÁLOGO ###############
ConsumerDirectCategoryDisplay = ShoppingArea/CatalogSection/CategorySubsection/CategoriesDisplay.jsp
ConsumerDirectProductDisplay = ShoppingArea/CatalogSection/CatalogEntrySubsection/ProductDisplay.jsp
ConsumerDirectItemDisplay = ShoppingArea/CatalogSection/CatalogEntrySubsection/ItemDisplay.jsp
ConsumerDirectDynamicKitDisplay = ShoppingArea/CatalogSection/CatalogEntrySubsection/DynamicKitDisplay.jsp
ConsumerDirectPackageDisplay = ShoppingArea/CatalogSection/CatalogEntrySubsection/PackageDisplay.jsp
ConsumerDirectBundleDisplay = ShoppingArea/CatalogSection/CatalogEntrySubsection/BundleDisplay.jsp


Configuración de Product Center

Para configurar Product Center para la integración de WebSphere Commerce, realice los pasos siguientes.

1. Cree una empresa denominada carmel en el entorno WPC ejecutando el mandato src/db/schema/cmp/create_cmp.sh --code=carmel

2. Ahora, obtenga el archivo .zip denominado commerce_carmelV1.0.zip utilizando FTP desde la ubicación que se especifica a continuación

Servidor: <consulte la nota que contiene información adicional>
Nombre de usuario: <consulte la nota que contiene información adicional>
Contraseña: <consulte la nota que contiene información adicional>
Ubicación: <consulte la nota que contiene información adicional>

3. Extraiga el archivo zip en un directorio local. Este archivo .zip contendrá los archivos que se indica a continuación

4. Como solución provisional a un problema detectado en la herramienta de importación/exportación, en primer lugar, cree la colección de atributos WCSKUAttrValColl sin ningún contenido en ésta.

5. Importe primero COMMERCE_CARMELLKP.ZIP y, a continuación, COMMERCE_CARMELNONLKP.ZIP, por medio de la función del entorno de importación WPC, en la empresa carmel que ha creado en el paso 1.

6. Solicite ayuda al equipo de Commerce para rellenar los detalles de los siguientes campos de tabla de búsqueda correspondientes a la tabla de búsqueda WCConfigLkpTbl. Deje los demás valores de esta tabla de búsqueda tal como aparecen:

a. WC1_STORE_ID 

ID de la tienda que se publica

b. WC1_MEMBER_ID 

ID de miembro de Commerce

c. WC1_MASTER_CATALOG_ID 

ID del catálogo maestro para la tienda publicada

d. WC1_LANGUAGE_ID 

Siempre será 1; no cambie este valor

e. WC1_ITEM_TYPE_ID 

No cambie este valor

f. WC1_ITEM_SPC_ID 

No cambie este valor 

g. WC1_BASE_ITEM_ID 

No cambie este valor 

h. WC1_FFMCENTER_ID 

Solicite ayuda al equipo de Commerce para rellenar este valor

i. WC1_QUANTITY_ID 

No cambie este valor 

j. WC1_TRADE_POSCN_ID 

Solicite ayuda al equipo de Commerce para rellenar este valor

k. WC1_SALES_CATALOG_ID 

En la instancia de Commerce debe crearse un catálogo de ventas, y el ID de ese catálogo debe especificarse aquí; para ello, solicite ayuda al equipo de Commerce

l. WC1_FTP_HOST_NAME 

IP de la máquina donde se ejecuta el servidor de Commerce

m. WC1_FTP_PORT 

El puerto FTP, que por lo general no cambiará, depende de la configuración del servidor FTP en la máquina del servidor de Commerce

n. WC1_FTP_USER_ID 

Nombre de usuario FTP para el servidor FTP de la máquina del servidor de Commerce; para rellenar este valor, solicite ayuda al equipo de Commerce

o. WC1_FTP_PASSWORD 

Contraseña FTP para el servidor FTP de la máquina del servidor de Commerce; para rellenar este valor, solicite ayuda al equipo de Commerce

p. WC1_FTP_PATH 

Vía de acceso desde la que la herramienta de carga masiva recuperará el archivo colocado en FTP; para rellenar este valor, solicite ayuda al equipo de Commerce

q. WC1_SALES_HIERARCHY_NAME 

No debe cambiarse; jerarquía de ventas predefinida para el catálogo de ventas/navegación creado en Commerce como parte del paso k

r. WC1_SERVER_NAME 

Nombre del servidor en el que se ejecuta el servidor de Commerce

s. WC1_LAST_UPLOAD_TIME 

Conserve este valor vacío la primera vez para que se inicie la carga inicial. A partir de este momento, esta clave tendrá el valor de la última indicación horaria de ejecución del informe. Si está vacío, se ejecutará la carga inicial.

t. DEFAULT_LOCALE 

Este atributo debe especificar el entorno local predeterminado para la parte de la integración. DEBE ESTABLECERSE DURANTE EL DESPLIEGUE, Y NO DEBE CAMBIARSE POSTERIORMENTE; ASIMISMO, ESTE ENTORNO LOCAL DEBE FORMAR PARTE DE LOS ATRIBUTOS DE LA EMPRESA Y DE LAS ESPECIFICACIONES WCCatentryCtg, WCSKUCtg

u. WC1_LOGON_CMD 

Debe ser el URL calificado al completo del nuevo mandato de conexión de Commerce

http://<Nombre_servidor_donde_se_ha_instalado_Commerce>/webapp/wcs/stores/servlet/WPCWCLogOn?

v. WC1_LOGON_CMD_USER 

 Usuario creado para fines relacionados con la seguridad (consulte al equipo de Commerce)

w. WC1_LOGON_CMD_USER_PASSWORD 

 Contraseña del usuario creado en v.

7. La tabla de búsqueda "WCCurrencyLkpTbl" debe rellenarse con las monedas que reciben soporte en Commerce; para la clave y el valor, debe especificarse el valor de tres caracteres exacto de cada moneda. Por ejemplo, USD como clave y USD como valor.    Solicite ayuda al equipo de Commerce para obtener la lista de monedas que reciben soporte en las respectivas versiones de Commerce.

8. Para ejecutar la carga inicial/carga delta, ejecute el informe DataExportToCommerce de Product Center. En función del valor del campo anteriormente indicado, se ejecutará la carga inicial o la carga delta.

9. Asegúrese de que la dirección IP del servidor de Commerce forma parte del archivo /etc/hosts en la máquina donde está instalado Product Center.

10. Debido a un problema detectado en la herramienta de importación/exportación, la colección de atributos para la jerarquía WCPdtHier, WCPdtHierAttrColl debe establecerse manualmente.

11. Asegúrese de que el valor correspondiente a "Entorno local para visualización de datos de categorías y artículos" en Inicio > Mis valores se ha establecido en el entorno local adecuado para que el usuario pueda ver el contenido de la función de vista previa en el mismo entorno local que el usuario espera.

12. Asegúrese de que la entrada de catálogo de atributo de enlace de WCCatentryCtg en la página de atributos se ha enlazado correctamente con el ID de entrada de catálogo de atributo WCSKUCtg pues, debido a un error detectado en la función de importación/exportación, este atributo de enlace no se establece.

13. Monte el directorio public_html.

14. Asegúrese de que los atributos de catálogo tengan entradas para el identificador y el nombre, valores como Master y MyMasterCatalog

Pasos para añadir una jerarquía de ventas

1. Cree un catálogo de ventas en Commerce

2. Cree un árbol de categorías con la especificación WCCgrySalesHSpec

3. Asocie éste como jerarquía secundaria al catálogo WCCatentryCtg

4. Cree una nueva entrada en la tabla de búsqueda SalesLookupTable

5. Cree una nueva entrada en la tabla de búsqueda Last Sequence Register

6. Copie el contenido de "Copia de artículos o categoría" desde Gestor de modelos de datos -> Creación de scripts -> Consola de scripts -> Script de vista previa de entrada y, a continuación, cree un nuevo script de vista previa de entrada que tenga el nombre del árbol de categorías de ventas actual añadido a "Copia de artículos o categoría" para que sea exclusivo.

7. Copie el contenido del script desde el suceso de postguardado y postproceso para WCSalesHr y pegue también el mismo contenido para la jerarquía de ventas que acaba de crearse.

 

Capítulo 4. Procesos empresariales

Se considera que la primera entrada de datos masivos en Commerce es la exportación completa, y, posteriormente, sólo se exportarán a Commerce como parte de la entrada de datos masivos delta los objetos que se hayan suprimido o que hayan cambiado en Product Center.

Product Center genera el XML que se ajusta al DTD que Commerce define (WCS.dtd). El proceso delta siempre implica la ejecución de la supresión del xml en primer lugar y, a continuación, la realización de la actualización; con ello se elimina cualquier incoherencia que pudiera existir en los estados de los objetos.

Exportación completa 

Exportación delta: supresión

Exportación delta: actualización

Apéndice A - Consulta de modelo de datos

Objetos de Commerce

Puesto que el principal objetivo de la integración es el compartimiento de los datos que están disponibles en Product Center, y el modelo de datos XML que se generará desde Product Center para esta finalidad es el documento de carga masiva, que es una representación directa de distintas tablas en Commerce, será de utilidad conocer el funcionamiento de los objetos internos de Commerce, en qué tabla se almacena un objeto y qué tablas tienen relaciones entre distintos objetos de Commerce.

 

Tienda 

Consideremos que se trata de un contenedor maestro en el que estarán disponibles todos los datos interrelacionados. Es posible disponer de varias tiendas en la misma aplicación Commerce, y la misma información está disponible en más de una tienda. Toda la información de tienda se almacenará en las tablas storeent y store de Commerce.

Catálogo 

Estos catálogos son similares a los catálogos de Product Center. Estos catálogos se asociarán a una tienda como mínimo. La información relacionada con el catálogo se almacenará en dos tablas distintas: catalog y catalogddsc. La relación entre el catálogo y la tienda se almacenará en la tabla storecat. 

Categoría 

Estas categorías son similares a las categorías de Product Center. Estas categorías estarán contenidas en los catálogos. La información relacionada con la categoría se almacenará en dos tablas: catgroup y catgrpdesc. La relación entre las distintas categorías se almacenará en la tabla catgrprel. La relación entre la categoría y el catálogo se almacena en la tabla cattogrp y la relación entre la categoría y la tienda se almacena en la tabla storecgrp.

Producto 

 Estos productos se asociarán a las categorías. Toda la información relacionada con un producto se almacenará en tres tablas distintas: baseitem, catentry y catentdesc. Los objetos de producto, paquete compuesto, kit estático, kit dinámico y artículo se almacenarán en el mismo conjunto de tablas: catentry y catentdesc. Si el campo catenttype_id de catentry tiene el valor productBean, el objeto actual es producto. Asimismo, la información relacionada con el producto, el kit estático y el kit dinámico se almacenará en más de una tabla denominada baseitem, donde, si el campo itemtype_id tiene el valor ITEM, el objeto actual es producto. En la tabla storecent se almacenará la relación entre la tienda y el producto. La relación entre la categoría y el producto se almacenará en la tabla catgpenrel.

Atributos 

 Estos atributos se asociarán a un producto y la información relacionada con el atributo se almacenará en la tabla attribute, incluida la relación entre el atributo y el producto.  

Artículo 

 Estos artículos son similares a los artículos de Product Center. Los artículos se asociarán a los productos. La información relacionada con el artículo se almacena en dos tablas: catentry y catentdesc. El artículo y el producto se almacenan en la misma tabla. catenttype_id es el valor que distingue el producto y el artículo. Para el artículo, el valor de artículo de catenttype_id será itemBean. Como sucede con los productos, los artículos también se relacionarán con tiendas específicas, y esa información se almacenará en la misma ubicación que la tabla storecent de productos. La tabla catentrel mantiene la relación entre el producto y el artículo.  

Valores de atributos 

 Estos valores de atributos se asociarán a los artículos y contendrán el valor de los atributos que se han asociado al producto con el que se relacionan estos artículos. La información relacionada con el valor de atributo se almacenará en la tabla attrvalue, incluida la relación entre el artículo y el valor de atributo.

Paquetes compuestos 

 Un paquete compuesto es un objeto de agrupación que puede tener distintos conjuntos de objetos de artículo, producto, kit estático o kit dinámico para formar un único paquete compuesto. Este paquete compuesto se almacenará en dos tablas: catentry y catentdesc. El valor de catenttype _id para este objeto es BundleBean.

Kit estático 

 Es parecido a los paquetes compuestos, con la diferencia de que la asociación de los paquetes compuestos puede eliminarse, lo cual no es posible en los kits estáticos, y que los kits estáticos sólo pueden contener códigos de artículos. El valor de catenttype_id para el kit estático es StaticBean. Además de en las tablas catentry y catentdesc, parte de la información relacionada con el kit estático también se almacenará en la tabla baseitem. Aquí, si el valor del campo itemtype_id es STKT, el objeto actual es un kit estático.

Kit dinámico 

 Es parecido al kit estático; la principal diferencia es que el kit dinámico puede contener el URL del configurador de productos donde la información está disponible localmente, pero su resolución la realizará el configurador de productos en el URL especificado. Además de en las tablas catentry y catentdesc, parte de la información relacionada con el kit estático también se almacenará en la tabla baseitem. Aquí, si el valor del campo itemtype_id es DNKT, el objeto actual es un kit dinámico. El valor de catentrytype_id de la tabla catentry para este objeto es DynamicKitBean.

Objetos de Product Center relacionados con Commerce

Todos los objetos de Product Center relacionados con Commerce incluyen las letras WC al principio, para que no se produzca ningún conflicto con ningún otro objeto.

En la tabla siguiente se resume la tabla anterior. Consulte el apartado sobre validación que aparece a continuación de la tabla siguiente para conocer el conjunto de validaciones que se aplican.

Objeto/función

Representación de Product Center Representación de Commerce

Tienda

Los siguientes valores se almacenarán como pares de valores de claves en la tabla de búsqueda de Product Center
  • store_id
  • member_id
  • ffmcenter_id
  • allocationgoodfor: si es 1, la función ATP está habilitada, si la función ATP de Product Center necesita cargar algunos valores estáticos adicionales; de lo contrario, no es necesario.
  • identifier
  • tradeposcn_id
La información relacionada con la tienda se almacena en las tablas STORE y STOREENT. Cada tienda se asocia a un catálogo maestro y a varios catálogos de ventas.

Catálogo

El catálogo maestro se representa como dos catálogos y dos jerarquías en Product Center.

1. Catálogo catentry
2. Catálogo de códigos de artículos
3. Jerarquía de productos
4. Jerarquía de códigos de artículos de productos

Los atributos específicos del catálogo se almacenarán como parte de los atributos de catálogo en Product Center. Para los atributos específicos de Commerce, utilizaremos la función de definición de atributo de catálogo personalizado, donde podemos especificar una clave y el valor respectivo para los atributos de catálogo. Los atributos relacionados con la jerarquía también se almacenarán de la misma forma. El catálogo catentry tendrá la representación de los objetos WC producto, paquete compuesto, kit estático y kit dinámico.

Todos los datos específicos del catálogo se almacenarán en las tablas catalog, catalogdsc y storecat. Los distintos objetos que pueden asociarse al catálogo maestro son categoría, producto, artículo, paquete compuesto, kit estático y kit dinámico. Esta información se almacena en las tablas siguientes:

1. catgroup

2. catgrpdesc

3. cattogrp

4. storecgrp

5. catgrprel

6. baseitem

7. catentry

8. catentdesc

9. catgpenrel

10. catentrel

11. attribute

12. attrvalue

Categoría

Similar a la categoría de Product Center. La jerarquía de productos se utilizará para almacenar los detalles relacionados con la categoría. En la jerarquía de códigos de artículos de productos, nos aseguraremos de que un usuario no podrá crear ninguna categoría dentro de la categoría de productos y ningún objeto dentro de ninguna categoría distinta de la categoría de hoja que sea un producto. Toda la información relacionada con la categoría se almacena en las tablas:

1. catgroup

2. catgrpdesc

3. cattogrp

4. storecgrp

5. catgrprel

Producto

El producto tendrá sus propios atributos, y se definirá un conjunto de atributos específico de los productos, para los que se especificará un valor en el nivel de artículo. Puesto que no existe ninguna representación directa de esto en Product Center, el producto se definirá en el catálogo catentry donde el usuario seleccionará el valor de producto en el campo catentrytype_id; en el proceso de postguardado de ese catálogo se creará una categoría en la jerarquía de códigos de artículos del producto, y los atributos definidos especificados para este producto en el catálogo catentry se crearán como especificación secundaria y se asociarán a la categoría que acaba de crearse en la jerarquía de códigos de artículos de productos como especificación de categoría de artículo; asimismo, un atributo de relación de esta especificación de jerarquía se relacionará con el artículo respectivo en el catálogo catentry. No es necesario que el usuario añada esta categoría de producto por separado. Cuando el usuario cree el producto en el catálogo catentry, esta categoría se creará automáticamente y estará preparada para la adición de artículos. Los productos no pueden tener un valor para los atributos de relación; si el usuario lo ha especificado, se generará un error de validación.
La información del producto se almacena como parte de las tablas baseitem, catentry y cateentrydesc. En el artículo base, el identificador del producto será el campo itemtype_id con el valor ITEM y, en la tabla catentry, el campo catenttype_id con el valor ProductBean.

Código de artículo

Todos los detalles relacionados con el código de artículo se almacenan en el catálogo de códigos de artículos. Este catálogo se asocia a la jerarquía de códigos de artículos de productos en la que todos los productos serán la categoría de hoja en la que se asocian los atributos de éstos como especificaciones de categoría de artículos en el proceso de postguardado del catálogo catentry. Mientras se añade el código de artículo, éste se llenará previamente con los respectivos valores de atributos del producto enlazado; el usuario puede cambiarlo y guardarlo si lo desea. Todos los detalles relacionados con el código de artículo se almacenarán en las tablas catentry y cateentrydesc. Si el campo catenttype_id de la tabla catentry tiene el valor ItemBean, la entrada actual es un código de artículo.

Paquete compuesto

En el catálogo catentry, el campo catenttype_id que tiene el valor Bundle representará objetos de paquete compuesto de Commerce. Esta especificación tendrá un atributo de enlace, que es un atributo de varias apariciones, y se asociará al catálogo de códigos de artículos. Se utilizará para agrupar distintos códigos de artículos del catálogo de códigos de artículos. Estos paquetes compuestos pueden tener atributos descriptivos, pero no atributos definidos. Todos los detalles relacionados con el paquete compuesto se almacenarán en las tablas catentry y cateentrydesc. Si el campo catenttype_id de la tabla catentry tiene el valor BundleBean, la entrada actual es paquete compuesto.

Kit estático

El catálogo catentry representará los objetos del kit estático de Commerce, y el valor de catentrytype_id debe ser StaticKit. Este catálogo se asociará a la jerarquía de productos. La especificación actual tendrá un atributo de enlace, que es un atributo de varias apariciones, y se enlazará con el catálogo de códigos de artículos.  
Todos los detalles relacionados con el kit estático se almacenarán en las tablas baseitem, catentry y cateentrydesc. Si el campo catenttype_id de la tabla catentry tiene el valor StaticBean, la entrada actual es paquete compuesto y, si el campo itemtype_id de baseitem tiene el valor STKT, el objeto actual representa un kit estático.

Kit dinámico

El catálogo catentry representará un objeto de kit dinámico de Commerce, y el valor del campo catentrytype_id debe ser DynamicKit. Este catálogo se asociará a la jerarquía de productos. La especificación actual tendrá un atributo de enlace, que es un atributo de varias apariciones, y se asociará al catálogo de códigos de artículos. Junto con éste, se utilizará un atributo de varias apariciones de tipo de URL adicional para representar el URL del configurador de productos. Todos los detalles relacionados con el kit dinámico se almacenarán en las tablas baseitem, catentry y cateentrydesc. Si el campo catenttype_id de la tabla catentry tiene el valor DynamicKitBean, la entrada actual es paquete compuesto y, si el campo itemtype_id de baseitem tiene el valor DNKT, el objeto actual representa un kit dinámico.

ATP

Si el campo ALLOCATIONGOODFOR de la tabla store tiene el valor 1, esta función está habilitada. Para representar esta función en Product Center, no existe ningún cálculo ni es necesaria ninguna entrada del usuario. Los valores estáticos previamente definidos que proporcionará el equipo de Commerce se utilizarán para crear fragmentos de XML para rellenar las tablas respectivas en Commerce.  
En Commerce, para representar la función ATP se utilizarán las tablas siguientes: feature1, itemversn2, distarrang3, storeitem4, storeitmffc5, inventory6, itemspc7, versionspc8, itemffmctr

Comercialización

Esta función se implementa mediante la utilización de un conjunto de atributos específicos de la comercialización que se definen en la especificación actual del catálogo catentry. Habrá dos atributos importantes: el atributo de tipo de comercialización, que puede tener los valores X-SELL, UPSELL, ACCESSORY y REPLACEMENT, y otro atributo será un atributo de relación, donde el usuario podrá seleccionar el catálogo catentry o el catálogo de códigos de artículos y relacionar los respectivos objetos WC.  A la comercialización se asocia el conjunto de tablas siguiente: commerce1. massoctype2. massoc3. massoccece

Ventas

Esta función se representará mediante una jerarquía que contendrá distintas categorías. El usuario puede crearlas directamente; el usuario también puede optar por obtener el mismo conjunto de categorías junto con sus hijos a partir de la jerarquía de productos. La información contenida sólo abarcará hasta la categoría. Para distinguir la jerarquía de ventas de otras jerarquías, añadiremos un atributo de jerarquía, HIERARCHY_TYPE, y el valor SALES.

La información del producto, código de artículo, paquete compuesto, kit estático y kit dinámico no puede representarse como parte de la jerarquía de ventas. Puede haber tantas jerarquías de ventas como precise el usuario. Además de crear sus propias categorías, el usuario puede optar por copiar la estructura del catálogo maestro o de otro catálogo de ventas. Para ello, añadiremos un script de vista previa de entrada a cualquier jerarquía de ventas donde el usuario pueda optar por copiar la estructura de otro catálogo de ventas o del catálogo maestro en la categoría actual.

Se crea un catálogo normal, y el campo mastercatalog de storecat se establece en 0.

Vista previa de artículo

Para esta función se utilizará el script de vista previa de entrada. Al seleccionar esta función, se llamará a un URL en Commerce junto con la información del artículo que sea necesaria. Esta información del artículo será nuevamente un XML de carga masiva para la entrada actual, que podría ser una categoría, un producto, un paquete compuesto, un kit estático o un kit dinámico. Junto con la llamada al URL de WC, también pasaremos el tipo de objeto WC.  

Añadir

Toda operación de adición implica la adición de imágenes y de atributos. Durante la exportación, la información de atributo se transferirá como parte de la estructura del XML de carga masiva; las imágenes se comprimirán en formato zip y se enviarán junto con el documento XML de carga masiva.  

Modificar

Operación parecida a Añadir. Cualquier cambio realizado en cualquier atributo desencadenará también el envío de todos los atributos; no se enviará ninguna información parcial.  

Suprimir

Cuando se lleva a cabo un operación de supresión en Product Center, se establece el campo markfordelete en las tablas de Commerce, lo que desencadena una acción de actualización en las respectivas tablas de Commerce. También se llama a un URL de mandato en WebSphere Commerce donde ese mandato puede gestionar cualquier otra acción adicional, como la ejecución de sentencias SQL para completar esta acción.  

Definición del entorno local

Todos los atributos que tienen un ID de idioma (language_id) se definirán como atributos de entorno local en Product Center. En los valores de Product Center, el usuario puede habilitar todos los entornos locales deseados. Los entornos locales que reciben soporte mediante la utilización del campo language_id se encuentran en distintas tablas. Actualmente, los entornos locales que reciben soporte en Commerce son: en_US, ja_JP, fr_FR, de_DE, it_IT, es_ES, pt_BR, zh_CN, zh_TW, ko_KR.

Moneda

En los valores de Product Center, el usuario puede configurar todas las monedas deseadas. Actualmente, las monedas que reciben soporte en Commerce son: BRL, CNY, EUR, JPY, KRW, TWD, USD.

A continuación se muestra el conjunto de validaciones básicas que se aplicarán mientras el usuario guarda el artículo en el catálogo catentry como parte del script de postproceso.  

Las definiciones de tabla de Commerce se convierten directamente en etiquetas XML cuyo nombre de tabla es el nombre del elemento y donde distintos campos de tabla se definen como atributos de elemento. Los valores de los atributos son los valores reales que deben especificarse en esos campos de tabla. Para la clave primaria únicamente, incluyen el símbolo @ al principio para que la norma de generación de claves primarias de Commerce pueda utilizarse para volver a crear la clave primaria antes de almacenar estos valores en las tablas de Commerce.  

Durante la implementación es posible añadir una o más extensiones de esta tabla y algunos campos más si es necesario. En este tipo de situaciones, la tabla extender dispondrá del enlace con el correspondiente registro en la tabla ampliada en forma de clave foránea (externa).  

La transferencia de datos entre Product Center y Commerce se realizará por medio de documentos XML. Los documentos generados se colocarán en una ubicación común que conocerán Product Center y Commerce; Commerce recuperará estos documentos de dicha ubicación y los procesará.  

Nota: el manejo de los errores que forma parte de este intercambio de datos se realiza manualmente. No existirá ninguna comunicación desde Commerce hacia Product Center; siempre será desde Product Center hacia Commerce.

El documento XML generado desde Product Center DEBE ser compatible con este DTD. El documento XML generado para este DTD es la representación directa del modelo de datos de Commerce en cuanto al esquema.  

Respecto a la función de vista previa de artículos de Product Center en Commerce, mediante las herramientas personalizadas, se añadirá un menú de vista previa de artículos en Product Center y, siempre que el usuario lo necesite, podrá seleccionar ese elemento de menú. Ahora, los detalles de los artículos que pueden mostrarse en la página estática que proporciona Commerce para esta función de vista previa de artículos se transfieren por medio del método de correo HTTP. En Commerce se realizará el mismo análisis, y los detalles se mostrarán en la página estática de Commerce, en la ubicación adecuada. El aspecto de la página estática, los lugares a los que podría dirigirse el usuario desde esa página y cómo se controlarán las acciones del usuario en esa página estática son factores que dependen de las decisiones que tome al respecto el equipo de Commerce.

Los requisitos del equipo de Product Center serán disponer de un URL donde poder realizar una llamada de correo HTTP y disponer de los datos necesarios que han de mostrarse en la página estática.

Avisos

Puede que IBM no ofrezca los productos, servicios o características que se tratan en este documento en otros países. Póngase en contacto con el representante de IBM para obtener información sobre los productos y servicios actualmente disponibles en su área. Las referencias hechas a productos, programas o servicios IBM no pretenden afirmar ni dar a entender que únicamente puedan utilizarse dichos productos, programas o servicios IBM. Se puede utilizar en su lugar cualquier producto, programa o servicio funcionalmente equivalente que no infrinja ningún derecho de propiedad intelectual de IBM. No obstante, es responsabilidad del usuario evaluar y verificar el funcionamiento de cualquier producto, programa o servicio que no es de IBM.

IBM puede tener patentes o aplicaciones de patente pendientes que afecten a los temas tratados en este documento. La entrega de este documento no le otorga ninguna licencia sobre dichas patentes. Puede enviar las consultas sobre licencias, por escrito, a la siguiente dirección:

IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
EE.UU.

El párrafo siguiente no se aplica al Reino Unido ni a ningún otro país donde estas disposiciones sean incompatibles con la legislación vigente:

INTERNATIONAL BUSINESS MACHINES CORPORATION FACILITA ESTA PUBLICACIÓN TAL CUAL, SIN GARANTÍAS DE NINGÚN TIPO, NI EXPLÍCITAS NI IMPLÍCITAS, INCLUYENDO, PERO SIN LIMITARSE A, LAS GARANTÍAS IMPLÍCITAS DE NO INFRACCIÓN, COMERCIALIZACIÓN O ADECUACIÓN A UN FIN CONCRETO. Algunos estados o países no permiten la renuncia a las garantías explícitas o implícitas en ciertas transacciones, por tanto, es posible que esta declaración no resulte aplicable a su caso.

Esta información puede contener imprecisiones técnicas o errores tipográficos. Periódicamente se efectúan cambios en la información aquí contenida; dichos cambios se incorporarán en nuevas ediciones de la publicación. IBM se reserva el derecho a realizar, si lo considera oportuno, cualquier modificación en los productos o programas que se describen en esta publicación y sin notificarlo previamente.

Las referencias en este documento a sitios web que no sean de IBM se proporcionan únicamente como ayuda y no se consideran en modo alguno como aprobados por IBM. Los materiales de dichos sitios web no forman parte de este producto de IBM y la utilización de los mismos será por cuenta y riesgo del usuario.

IBM puede utilizar o distribuir la información que se le suministre de cualquier modo que considere adecuado sin incurrir por ello en ninguna obligación con el remitente.

Los titulares de licencias de este programa que deseen información sobre el mismo con el fin de permitir: (i) el intercambio de información entre programas creados independientemente y otros programas (incluido éste) y (ii) la utilización mutua de la información intercambiada, deben ponerse en contacto con:

IBM Burlingame Laboratory
Director IBM Burlingame Laboratory
577 Airport Blvd., Suite 800
Burlingame, CA 94010
EE.UU.

Dicha información puede estar disponible, sujeta a los términos y condiciones adecuados, incluido, en algunos casos, el pago de una tasa.

El programa bajo licencia que se describe en esta información, y todos los materiales bajo licencia disponibles para el mismo, los proporciona IBM bajo los términos del Acuerdo de licencia de cliente IBM, del Acuerdo internacional de programas bajo licencia de IBM o de cualquier acuerdo equivalente entre el cliente e IBM.

Cualquier información de rendimiento que aparezca en este documento ha sido determinada en un entorno controlado. Por lo tanto, los resultados obtenidos en otros entornos operativos podrían ser distintos. Algunas mediciones se han realizado en sistemas en fase de desarrollo y, por lo tanto, no hay ninguna garantía que estas mediciones sean las mismas en los sistemas normalmente disponibles. Además, algunas mediciones podrían haberse estimado mediante extrapolación. Los resultados reales podrían ser diferentes. Los usuarios de este documento deberían verificar los datos aplicables para su entorno específico.

La información relacionada con productos que no son de IBM se ha obtenido de los proveedores de dichos productos, de sus anuncios publicados o de otras fuentes de disponibilidad pública. IBM no ha comprobado estos productos y no puede confirmar la precisión de su rendimiento, compatibilidad ni contemplar ninguna otra reclamación relacionada con los productos que no son de IBM. Las preguntas relacionadas con las prestaciones de los productos que no son de IBM deberán dirigirse a los proveedores de estos productos.

En esta información aparecen ejemplos de datos e informes utilizados en operaciones empresariales diarias. Para ilustrarlos como realmente posibles, los ejemplos incluyen los nombres de individuos, empresas, marcas y productos. Todos estos nombres son ficticios y cualquier parecido con los nombres y direcciones utilizados por una empresa comercial real es pura coincidencia.

Todas las declaraciones acerca de planes e intenciones futuros de IBM están sujetos a cambios o pueden retirarse sin previo aviso, y únicamente reflejan objetivos y finalidades.

Información de la interfaz de programación

La información de la interfaz de programación, si se proporciona, está especialmente indicada para ayudarle a crear software de aplicación utilizando este programa.

Las interfaces de programación de uso general permiten crear software de aplicación que obtenga los servicios de las herramientas de este programa.

No obstante, la información también puede contener información de diagnóstico, modificaciones y ajustes. La información de diagnóstico, modificaciones y ajustes se proporciona para ayudarle a depurar el software de aplicación.

Aviso: no use esta información de diagnóstico, modificaciones y ajustes como una interfaz de programación, ya que está sujeta a posibles cambios.

Marcas registradas y marcas de servicio

Los términos siguientes son marcas comerciales o marcas registradas de International Business Machines Corporation en Estados Unidos y/o en otros países:

IBM
el logotipo de IBM
AIX
CrossWorlds
DB2
DB2 Universal Database
Domino
Lotus
Lotus Notes
MQIntegrator
MQSeries
Tivoli
WebSphere

Microsoft, Windows, Windows NT y el logotipo de Windows son marcas registradas de Microsoft Corporation en Estados Unidos y/o en otros países.

MMX, Pentium y ProShare son marcas comerciales o marcas de servicio de Intel Corporation en Estados Unidos y/o en otros países.

Java y todas las marcas registradas basadas en Java son marcas registradas de Sun Microsystems, Inc. en Estados Unidos y/o en otros países.

Los demás nombres de compañías, productos o servicios pueden ser marcas registradas o marcas de servicio de otras empresas.


IBM WebSphere Product Center contiene determinados Componentes Excluidos (como se define en el documento de Información sobre Licencia correspondiente), a los que se aplican los términos adicionales siguientes. La licencia de este software se le proporciona bajo los términos del Acuerdo Internacional de Programas bajo Licencia, sujeta a las cláusulas relativas a los Componentes Excluidos. IBM debe proporcionarle los avisos siguientes en relación con este software:

i.) IBM WebSphere Product Center incluye el software siguiente, bajo licencia de IBM recibida de Apache Software Foundation bajo los términos y condiciones de la licencia de Apache 2.0:

- Apache Regular Expression v1.2
- Apache Axis v1.1
- Apache XML4J v3.0.1
- Apache Log4j v1.1.1
- Apache Jakarta Commons DBCP Package v1.1
- Apache Jakarta Commons Pool Package v1.1
- Apache Jakarta Commons Collections Package v3.0

Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all ther entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation, and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

(a) You must give any other recipients of the Work or Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APÉNDICE: Cómo aplicar la licencia de Apache a su trabajo

Para aplicar la licencia de Apache a su trabajo, adjunte el siguiente modelo de aviso y sustituya los campos entre corchetes "[]" por su
propia información de identificación. (No incluya los corchetes.) El texto debe aparecer con la sintaxis de comentario correcta
para el formato de los archivos. También es recomendable incluir el nombre de archivo o de clase y la descripción de la finalidad en la misma "página impresa" que el aviso de copyright para que la identificación en los paquetes archivados de terceros sea más fácil.

Copyright [yyyy] [nombre del propietario del copyright]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

ii.) IBM WebSphere Product Center incluye el software siguiente, bajo licencia de IBM recibida de Scott Hudson, Frank Flannery and C. Scott Ananian, bajo los términos y condiciones siguientes:

- Cup Parser Generator v0.10k

CUP Parser Generator Copyright Notice, License, and Disclaimer
Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian 
Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the names of the authors or their employers not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. The authors and their employers disclaim all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall the authors or their employers be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software. 

iii.) IBM WebSphere Product Center incluye el software siguiente, bajo licencia de IBM recibida de Elliot Joel Berk y C. Scott Ananian, bajo los términos y condiciones siguientes:

- JLex v1.2.6

JLEX COPYRIGHT NOTICE, LICENSE AND DISCLAIMER.
Copyright 1996-2003 by Elliot Joel Berk and C. Scott Ananian 
Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of the authors or their employers not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. The authors and their employers disclaim all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall the authors or their employers be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software. Java is a trademark of Sun Microsystems, Inc. References to the Java programming language in relation to JLex are not meant to imply that Sun endorses this product. 

iv.) IBM WebSphere Product Center incluye el software siguiente, bajo licencia de IBM recibida de International Business Machines y otros, bajo los términos y condiciones siguientes:

- ICU4J v2.8

Licencia de ICU - ICU 1.8.1 y versiones posteriores
AVISO DE COPYRIGHT Y AUTORIZACIÓN

Copyright (c) 1995-2003 International Business Machines Corporation y otros
Reservados todos los derechos.

Por el presente documento se otorga el permiso, sin cargo alguno, a cualquier persona que obtenga una copia de este software y de los archivos de documentación relacionados con el mismo (el "Software"), para comerciar con el Software sin restricción alguna, incluidos, pero sin limitarse a, los derechos para utilizar, copiar, modificar, fusionar, publicar, distribuir o vender copias del Software, y para permitir ello mismo a aquéllos a los que se les entregue el Software, siempre y cuando el aviso anterior de copyright y este aviso de autorización aparezca en todas las copias del Software y que tanto los avisos de copyright anteriores y este aviso de autorización aparezcan en la documentación de soporte.

EL SOFTWARE SE PROPORCIONA TAL CUAL, SIN GARANTÍAS DE NINGÚN TIPO, NI EXPLÍCITAS NI IMPLÍCITAS, INCLUYENDO, PERO SIN LIMITARSE A, LAS GARANTÍAS DE NO INFRACCIÓN, COMERCIALIZACIÓN O ADECUACIÓN A UN FIN CONCRETO DE TERCEROS. EN NINGÚN SUPUESTO, LOS TENEDORES DEL COPYRIGHT INCLUIDOS EN ESTE AVISO SERÁN RESPONSABLES DE CUALQUIER RECLAMACIÓN, DAÑO ESPECIAL, INDIRECTO NI DERIVADO NI CUALQUIER OTRO TIPO DE DAÑO QUE SE DERIVE DE LA PÉRDIDA DE USO, DATOS O BENEFICIOS, INDEPENDIENTEMENTE DE SI SON PRODUCTO DE UNA ACCIÓN DEL CONTRATO, NEGLIGENCIA O AGRAVIO, QUE SE DERIVE O GUARDE RELACIÓN CON EL USO O RENDIMIENTO DE ESTE SOFTWARE.

Salvo los contenidos en este aviso, los nombres de los tenedores del copyright no deben utilizarse en publicidad ni utilizarse de ninguna otra forma para promocionar la venta, el uso u otras actividades comerciales con este Software sin el consentimiento previo por escrito del tenedor del copyright.

-----------------------------------------------------------------------------
Todas las marcas registradas mencionadas en este documento son propiedad de sus propietarios respectivos.