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.
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
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:
Función básica de creación de modelos de datos de Product Center que incluye las representaciones correspondientes a los objetos del catálogo de Commerce tales como categorías, producto, grupos de producto, códigos de artículo, etc.
Exportación de los datos de todo el catálogo así como los cambios realizados en la aplicación Commerce
Vista previa de un artículo en Product Center que se obtiene al pulsar la opción de menú de vista previa, con las pantallas de Commerce y mediante el desplazamiento por la aplicación Commerce para ver todos los objetos del catálogo relacionados con Commerce
WebSphere Product Center 5.2
Integración con WebSphere Commerce versión 5.6 con DB2 II versión 8.2
El paquete desarrollado para la integración de Commerce con Product Center es un archivo zip, <WPC_WC_Int.zip>, que contiene lo siguiente:
Archivo de filtro
Archivo jar que contiene las clases de mandatos <WPC_WC.jar>
Archivo ReadMe.txt
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.
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:
Representación de modelo de datos de objetos de Commerce en Product Center
Carga de datos masiva/delta en la aplicación Commerce
Función de vista previa de artículo de un objeto existente en Product Center, en las páginas de tienda de Commerce
Nota: En el Apéndice A encontrará información detallada acerca de la consulta de modelo de datos.
El paquete de integración de Product Center incluye los objetos siguientes:
WCCatentryCtg: catálogo maestro en Product Center
Este catálogo representa el catálogo maestro en Commerce. El catálogo se asocia a la jerarquía WCPdtHier que tiene scripts de postproceso y de postguardado.
El catálogo se asocia a WCCatentryPSpec como PrimarySpec, el tipo de entrada de catálogo de atributo que determina el tipo de artículo de catálogo. Esto es, Paquete compuesto, Producto, Kit estático y Kit dinámico.
En Commerce, los catálogos de ventas se representan como jerarquías secundarias para el catálogo maestro.
WCSKUCtg: códigos de artículos que pertenecen a un producto
El modelo de datos de Commerce dispone de los códigos de artículos que contiene un producto. Es decir, la definición de atributos para un producto crea los códigos de artículos. Puesto que no existe ninguna representación directa de este objeto en Product Center, la relación entre el código de artículo y el producto se establece por medio de este catálogo.
El producto definido en WCCatentryCtg (catálogo maestro) se guarda como categoría en este catálogo.
La definición de atributos y los correspondientes valores que se han definido en WCCatentyCtg se asocian como especificaciones secundarias a la categoría anterior.
WCSalesHr: catálogo de ventas
En Commerce, los catálogos de ventas se utilizan como herramientas para publicar la información de temporada del producto junto con las ofertas, los descuentos, etc.
Esto se lleva a cabo en Product Center mediante la asociación de varias jerarquías secundarias a WCCatentryCtg (catálogo maestro).
La función de copia de artículos o de categorías desde el catálogo maestro se realiza por medio del script de vista previa de entrada de copia de artículos o de categorías.
ActivityLog: catálogo de anotaciones de actividad
El catálogo de anotaciones de actividad es el identificador de clave que permite a la aplicación reconocer cargas de datos completas o parciales.
Todos los objetos que se crean en Product Center tienen una entrada aquí, en los scripts de postguardado, y se actualizan de igual forma que cuando se han realizado cambios en los objetos.
El atributo UpdateDateTime identifica la hora a la que se ha creado, modificado o suprimido un objeto en particular. Se compara con el valor de búsqueda de WC1_LAST_UPLOAD_TIME para determinar si formará parte de la entrada de datos masivos delta.
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. |
En este capítulo se proporciona la configuración para Product Center y para WebSphere Commerce.
Se ha instalado el servidor de Commerce
Se ha creado correctamente la instancia de WebSphere Product Center
Se ha publicado correctamente la tienda de Commerce para la que deben definirse datos
Existe un servidor FTP disponible con una carpeta compartida que tiene acceso de grabación para volcar los archivos de carga XML
Copie los archivos command.xml, SQLLoad.dtd, SQLLoad.xml y store.xml en una carpeta temporal. Por ejemplo, C:\test
Copie los archivos wpcwcpolicy.xml y wpcwcUserGroup.xml en el directorio <dir_instalación_WC>\xml\policies\xml
Copie el archivo "WCPWC.jar" en el directorio <dir_instalación_WAS>\installedApps\<nombre_celda>\WC_<nombre_instancia>.ear
Copie el archivo de propiedades WPCWCProperties.properties en el directorio <dir_instalación_WAS>\installedApps\<nombre_celda>\WC_<nombre_instancia>.ear\Stores.war\WEB-INF\classes
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 entradaPor 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.propertiesnombre 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.
En este apartado se describe cómo extraer información desde WebSphere Commerce a una tienda de Commerce.
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.
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:
Busque la cadena ConsumerDirect y sustituya ConsumerDirect por el identificador adecuado de la tienda que está considerándose
Busque la cadena 7000000000000000002 y sustituya el valor del ID de miembro de 7000000000000000002 por el valor adecuado del ID de miembro de la tienda que está considerándose
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>.
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.
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
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:
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.
Consulte PreviewDatabeanEnvironmentSetup.jsp en el directorio PreviewHelper para obtener información acerca de la implementación.
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();
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;
}
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" %>
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");
}
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>
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
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
COMMERCE_CARMELLKP.ZIP
COMMERCE_CARMELNONLKP.ZIP
readme.txt
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
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
SalesCatalogName: debe ser el nombre del árbol de categorías creado en el paso 2.
SalesCatalogId: debe recuperarse de la tabla de catálogo de la instancia de base de datos de Commerce para el catálogo de ventas que se ha creado en el paso 1; el campo debe ser catalog_id.
catalogIdentifier: debe recuperarse de la tabla catalog de la instancia de base de datos de Commerce correspondiente al catálogo de ventas que se ha creado en el paso 1; el campo debe ser identifier.
5. Cree una nueva entrada en la tabla de búsqueda Last Sequence Register
Hierarchy Name: debe ser el nombre de la jerarquía de ventas
Last Sequence - 500000
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.
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.
Para iniciar una exportación completa, vaya a Gestor de productos > Informes > Consola de informes. Seleccione el informe DataExportToCommerce e inícielo.
El valor de búsqueda WC1_LAST_UPLOAD_TIME, en la tabla de búsqueda WCConfigLkpTbl, determina si la entrada de datos masivos de catálogo es una exportación completa o delta. Si este valor está en blanco se trata de una exportación completa y calcula el XML basándose en el estado actual de los catálogos maestro o de códigos de artículos y exporta la misma información a Commerce.
Cuando se ha generado el XML (con la indicación de la hora añadida al nombre del archivo; por ejemplo, WC-WPC-FullExport-2005-03-10-18.26.42.000026.xml), se coloca en FTP, en un directorio, según el valor de búsqueda WC1_FTP_PATH
El mandato de Commerce, http://2fdtxp90.in.ibm.com/webapp/wcs/stores/servlet/WPCWCLogOn? se inicia con valores para WCCmd = Publish y el nombre del archivo xml como valor loadFile.
Internamente, Commerce llama a Idresolver y a la herramienta de carga masiva para cargar estos datos en la base de datos.
Para iniciar la exportación completa, vaya a Gestor de productos > Informes > Consola de informes. Seleccione el informe DataExportToCommerce e inícielo.
El valor de búsqueda WC1_LAST_UPLOAD_TIME, en la tabla de búsqueda WCConfigLkpTbl, determina que la entrada de datos masivos de catálogo es una exportación completa o delta. Si existe algún valor para este campo, es una exportación delta, y el script de informe primero calcula todos los objetos que se han suprimido desde la última vez que se ejecutara el informe, a partir de las anotaciones de actividad, y crea el XML.
Cuando se ha generado el XML (con la indicación de la hora añadida al nombre del archivo, por ejemplo, WC-WPC-DeltaExport-Delete-2005-03-10-18.50.10.000050.xml), se coloca en FTP, en un directorio, según el valor de búsqueda WC1_FTP_PATH .
El mandato de Commerce, http://2fdtxp90.in.ibm.com/webapp/wcs/stores/servlet/WPCWCLogOn? se inicia con valores para WCCmd = Delete y el nombre del archivo xml como valor loadFile.
Internamente, Commerce llama a Idresolver y a la herramienta de carga masiva para cargar estos datos en la base de datos.
Para iniciar la exportación completa, vaya a Gestor de productos > Informes > Consola de informes. Seleccione el informe DataExportToCommerce e inícielo.
El valor de búsqueda WC1_LAST_UPLOAD_TIME, en la tabla de búsqueda WCConfigLkpTbl, determina que la entrada de datos masivos de catálogo es una exportación completa o delta. Si existe algún valor para este campo, es una exportación delta, y el script de informe primero calcula todos los objetos que se han suprimido desde la última vez que se ejecutara el informe, a partir de las anotaciones de actividad, y crea el XML.
Cuando se ha generado el XML (con la indicación de la hora añadida al nombre del archivo, por ejemplo, WC-WPC-DeltaExport-Update-2005-03-10-19.20.44.000020.xml), se coloca en FTP, en un directorio, según el valor de búsqueda WC1_FTP_PATH .
El mandato de Commerce, http://2fdtxp90.in.ibm.com/webapp/wcs/stores/servlet/WPCWCLogOn? se inicia con valores para WCCmd = Publish y el nombre del archivo xml como valor loadFile.
Internamente, Commerce llama a Idresolver y a la herramienta de carga masiva para cargar estos datos en la base de datos.
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. |
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
|
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 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.
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.
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.
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.