WebSphere Product Center: WebSphere Commerce Integration

Versão 5.2

 

 

 

 

 

 

 


Nota! Antes de utilizar estas informações e o produto ao qual elas oferecem suporte, leia as informações em "Avisos" no final deste documento.

 

23 de março de 2005

Esta edição deste documento aplica-se ao WebSphere Product Center, versão 5.2 (5724-I68), e a todos os releases e modificações subseqüentes, até que seja indicado de outra forma em novas edições.

Copyright International Business Machines Corporations 2005. Todos os direitos reservados.
Direitos Restritos para Usuários do Governo dos Estados Unidos - Uso, duplicação e divulgação restritos pelo documento GSA ADP Schedule Contract com a IBM Corp.

Índice

Cap.1 - Visão Geral

Cap.2 - Arquitetura

Design do Aplicativo
Scripts Personalizados do Product Center

Cap.3 - Integração com o WebSphere Commerce

Configuração do Commerce
Exportando Dados do WC para o Commerce

Configuração para Visualizar

Configuração do Product Center

Cap.4 - Processos de Negócios

Exportação Completa
Exclusão de Exportação Delta

Atualização de Exportação Delta

Apêndice A - Referência do Modelo de Dados

Objetos do Commerce
Objetos do Product Center Relacionados ao Commerce

Avisos

Cap.1 - Visão Geral

A integração do Commerce fornece uma fundação de clientes para estabelecer um ambiente de autoria abrangente e altamente produtivo, para obter informações do produto de seus Web sites do e-commerce B2B (Business to Business (B2B) e B2C (Business to Consumer). O WebSphere Product Center (daqui em diante chamado de Product Center) pode aumentar muito o valor das implementações de e-commerce, aprimorando bastante o preparo de informações do produto valiosas e precisas para publicação.  

Em combinação com uma plataforma e-commerce, ele fornece ferramentas para planejar as contribuições de vários usuários através de funções para vários processos do Commerce. Também oferece recursos e capacidades para simplificar significativamente a agregação, o avanço, o gerenciamento e a aprovação de grandes quantidades de informações complexas do produto. 

Os processos de negócios suportados incluem: novas introduções do produto; criação de cross-sells, up-sells e promoções; duração do produto; informações de sincronização de item; uploads em massa de itens e seus atributos para um Web site e informações de sindicato do produto para vários pontos de contato do cliente, além de Web sites do e-commerce. 

A integração do Commerce Server inclui:

Requisitos

Limitações

Os dados do produto definidos no Product Center e carregados no Commerce contêm inventário padrão. O usuário precisaria utilizar o Commerce Suite Accelerator para alterá-los.

Cap.2 - Arquitetura

A troca de dados entre o Product Center e o Commerce é baseada em documentos XML. A equipe do Commerce deverá fornecer o DTD da ferramenta mais recente de upload em massa. Os scripts do Product Center são utilizados para criar documentos XML, que podem ser validados junto ao Commerce DTD e transferidos por FTP para um só local predefinido de onde o aplicativo Commerce selecionará o documento e o processará. No caso de algum erro encontrado durante o processamento, o documento XML precisa ser manipulado manualmente. 

O primeiro catálogo fornecido ao commerce é considerado a Exportação Completa, e subseqüentemente somente os objetos alterados ou excluídos no Product Center são exportados para o commerce como parte da alimentação delta.

O Product Center gera o XML que adere ao DTD definido pelo commerce (WCS.dtd). O processo delta sempre envolve a execução da exclusão do xml primeiramente e depois a atualização, a fim de remover qualquer inconsistência nos estados do objeto.

 

A integração do WebSphere Product Center e do WebSphere Commerce executa os seguintes objetivos:

Nota: Consulte o Apêndice A para obter detalhes sobre a referência do modelo de dados.

Design do Aplicativo

Os seguintes objetos são incluídos no pacote de integração do Product Center:

WCCatentryCtg – O Catálogo Principal no Product Center

WCSKUCtg – Os SKUs que pertencem a um Produto

WCSalesHr – O Catálogo de Vendas

ActivityLog– O Catálogo de Log de Atividades

Scripts Personalizados do Product Center

Vários scripts do Product Center auxiliam na representação do modelo de dados dos objetos do commerce no Product Center. A tabela a seguir os descreve

Nome do Script Tipo de Script Descrição/Funcionalidade
Script de Pós-processamento WCCatentry  Script de Catálogo – Pós-processamento

Executa validações básicas do modelo de dados como número de pela duplicado, validações relacionadas a atributos de definição etc

Pós-salvamento CatentryCtg WCSKUCtgPostSave

Verifica se o item salvo é um produto; em seguida, cria o produto como uma categoria no catálogo SKU e também anexa o atributo de definição como uma especificação secundária

WCSKUCtgPostSave  WCSKUCtgPostSave

Cria entrada no catálogo de log de atividades

Script de Visualização de Entrada WCCatentryCtg  Visualização de Entradas

Constrói o XML para o item solicitado para visualização e faz upload dos dados XML como um HTTP Post e chama o comando de visualização do commerce

WCSkuCtgEntryPreview Visualização de Entradas 

Mesmo acima, visualização para um SKU

DataExportToCommerceScript  Script de Relatório

O Relatório que facilita ao usuário a execução de alimentações de catálogo completo/delta no commerce. Esse script em conjunto com alguns scripts de acionamento constrói o XML computando os itens a ser exportados do Catálogo ActivityLog, em caso de delta, transfere por FTP o XML para um diretório predefinido (descrito na tabela de pesquisa) e chama o comando do commerce.

WC-Export.Wc.XmlFormat Script de Disparo

Tal como o ASP/JSP, esse script é parte importante na construção do XML. Todos os nós XML do commerce são descritos nesse script como funções que são chamadas dos scripts de acionamento.

WC.Validation.Utility.Lib Script de Disparo

Um script de acionamento de validação para executar validações básicas nos objetos como não nulo, filtragem de caracteres especiais, validação de exclusividade etc.

WCExportUtil.wpcs Script de Acionamento 

O principal script, e que mais trabalha, é chamado no caso de exportação completa/delta, bem como durante visualização. Manipula toda a lógica de negócios e constrói o XML

activityLogger.wpcs Script de Disparo

Esse script manipula todas as entradas relacionadas ao catálogo de log de atividades. 

WC.utility.Lib Script de Disparo

Tem funções de utilitário como valores de diversas ocorrências alterados para um item, criando especificação secundária, excluindo o relacionamento SKU para itens de catálogo etc.

CopyItemsandCategory Script de Acionamento 

Esse script é utilizado para copiar os itens ou as categorias do catálogo principal para os Catálogos de Vendas.

Logger de Biblioteca  Script de Disparo

 Um utilitário logger utilizado pelo dev para ter um log de eventos. Atualmente comentado como logger não é proteção de encadeamento.

 

Cap.3 - Integração com o WebSphere Commerce

Este capítulo fornece a configuração do Product Center e do WebSphere Commerce. 


Configuração do Commerce

Pré-requisitos

Configuração para Integração do Commerce

Configurando Comandos de Integração

Utilize as etapas a seguir para configurar os comandos de integração no WebSphere Commerce.

1) Carregue o arquivo SQLLoad.xml copiado no diretório C:\test, no banco de dados, executando o comando idresolver seguido pelo massloader na mesma janela, conforme mostrado a seguir: 

idresgen -dbname <dbname> -dbuser <dbuser> -dbpwd <passwd> -infile C:\test\ SQLLoad.xml –outfile C:\test\ SQLLoadout.xml –method mixed

massload -dbname <dbname> -dbuser <dbuser> -dbpwd <passwd> -infile C:\test\ SQLLoadout.xml –method sqlimport 

Nota: No arquivo SQLLoad.dtd, assegure-se de que o caminho para wcs.dtd esteja definido corretamente

Por exemplo, se o wcs.dtd existir no diretório D:\WebSphere\CommerceServer56\schema\xml, o caminho deverá ser especificado como a seguir: 

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

2) Carregue o arquivo wpcwcUserGroup.xml que foi copiado no diretório <WC_installDir>\xml\policies\xml. Para isso, abra uma janela de prompt de comandos, vá para o diretório <WC_installDir>\bin e execute o comando acpload conforme a seguir:

acugload <database name> <database user> <password> wpcwcUserGroup.xml <schema name>

Em que 

d bname é o nome do banco de dados
dbuser é o nome do usuário que se conecta ao banco de dados
dbpwd é a senha para o usuário que se conecta ao banco de dados
schemaname é o nome do esquema do banco de dados de destino

3) Carregue o arquivo wpcwcpolicy.xml que foi copiado no diretório <WC_installDir>\xml\policies\xml. Para isso, abra uma janela de prompt de comandos, vá para o diretório <WC_installDir>\bin e execute o comando acpload conforme a seguir:

acpload <dbname> <dbuser> <dbpwd> wpcwcpolicy.xml <schemaname>

Em que 

dbname é o nome do banco de dados
dbuser é o nome do usuário que se conecta ao banco de dados
dbpwd é a senha para o usuário que se conecta ao banco de dados
schemaname é o nome do esquema do banco de dados de destino

4) Abra o arquivo MANIFEST.MF que existe no diretório <WAS_installdir>\installedApps\<cell_name>\WC_<instance_name>.ear\Stores.war\META-INF e inclua o arquivo jar WPCWC.jar no final do Caminho de Classe. 

5) Abra o arquivo WPCWCProperties.properties em <WAS_installdir>\installedApps\<cell_name>\WC_<instance_name>.ear\Stores.war\WEB-INF\classes e modifique adequadamente os seguintes valores 

dbname é o nome do banco de dados
dbuser é o nome do usuário que se conecta ao banco de dados
dbpwd é a senha para o usuário que se conecta ao banco de dados
idresinfiledir é o diretório no qual o Product Center deverá transferir por FTP os arquivos de entrada

    Por exemplo : C:/WPC-WC/testing

massloadinfile é o arquivo de saída que seria gerado a partir do processo IdResolver e que iria como uma entrada para o processo massloader

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

schemaname é o nome do esquema do banco de dados de destino

customizer é o arquivo Customizador que tem de ser fornecido para outros bancos de dados, como Oracle.
    Por exemplo : OracleConnectionCustomizer.properties

propfilename é o caminho para o arquivo de propriedades IdResolveKeys.properties

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

Nota: 

1. Inclua a seguinte entrada no final do arquivo IdResolveKeys.properties que existe no diretório <WC_installDir>\properties.

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

2. Não modifique as outras propriedades de mixedmethod, sqlmethod, deletemethod e optimize.

3. Assegure-se de que wcs.dtd seja colocado no diretório especificado pelo idresinfiledir.


Exportando Dados do WC para o Commerce

Esta seção descreve como extrair informações do WebSphere Commerce para um commerce stpre.

Criar um Novo Usuário

Crie um novo usuário (pertencente à organização raiz ) no Commerce por meio do Console Admin da Org. com Privilégios Administrativos. Designe uma Função WPCAdministrator ao usuário.

Extrair Metadados

Utilize as etapas a seguir para extrair informações de metadados do WebSphere Commerce:

1) Extraia o arquivo zip para um diretório local

2) Copie o arquivo de filtro Export_MetaData_Filter.xml para um diretório temporário. Por exemplo, C:\test.

3) Abra o arquivo Export_MetaData_Filter.xml para fazer as seguintes alterações e salvar o arquivo:

4) Abra uma janela de prompt de comandos e vá para o diretório <WC_installdir>\bin

5) Execute a ferramenta massextract do <WC_installdir>\bin conforme a seguir:

    massextract -dbname <dbname> -dbuser <username> -dbpwd <password> -filter 
    C:\test\Export_MetaData_Filter.xml -outfile <outfile> -schemaname <schemaname>

    em que 

    dbname: é o nome do banco de dados
    username: é o nome do usuário que está se conectando ao banco de dados
    password: é a senha do usuário que está se conectando ao banco de dados
    outfile: é o nome do arquivo xml de saída no qual os dados extraídos serão armazenados
    schemaname: é o nome do esquema do banco de dados de destino

As informações de metadados seriam geradas em um arquivo, conforme definido pelo valor fornecido para <outfile> acima.

Editar Arquivo de Saída Gerado

Edite o <arquivo de saída> gerado na seção anterior. Vá para o seguinte elemento ao final do arquivo e substitua logonPwd pela informação sobre a senha correta que foi criada na seção "Criar um Novo Usuário".

<userId
logonid = “<logonId of the user >”
logonpassword =”<logonPwd of the user>” />

Esse arquivo de saída editado seria as informações de metadados fornecidas ao Product Center.

Configuração para Copiar Arquivos de Imagem do Product Center para o Commerce 

1. Abra o arquivo de propriedades WPCWCProperties.properties em <WAS_installdir>\installedApps\<cell_name>\WC_<instance_name>.ear\Stores.war\WEB-INF\classes e vá para o nome de propriedade ConsumerDirectImgDir.

2. Esse nome tem de ser alterado de acordo com os armazenamentos que foram publicados. Nesse caso, ConsumerDirect é o identificador do armazenamento que foi publicado, por isso o nome ConsumerDirectImgDir.

3. Se o identificador do armazenamento publicado for ToolTech, esse nome de propriedade será fornecido como ToolTechImgDir em vez de ConsumerDirectImgDir.

4. O valor para esse nome de propriedade ConsumerDirectImgDir recebe um caminho onde as imagens do armazenamento são colocadas. Esse caminho é relativo ao StoreDirectory. Por exemplo, se o caminho do armazenamento no máquina do commerce for:

    <WAS_installdir>/installedApps/<cell_name>/WC_<instance_name>.ear/Stores.war/ConsumerDirect

 e as imagens forem colocadas no diretório de imagens dele, a propriedade deverá ser mencionada como:

    ConsumerDirectImgDir = images


Configuração para Visualizar

1. No arquivo WPC_WC_Version_X.zip, extraia o arquivo zip PreviewUtils.zip em uma pasta temporária.

2. Extraia o conteúdo de PreviewUtils.zip em WAS_HOME\installedApps\<node_name>\<cellname.ear>\Stores.war

Há duas abordagens para visualizar:

          Abordagem A: Utilize as JSPs de amostra existentes para o armazenamento ConsumerDirect

1. Publique o armazenamento ConsumerDirect utilizando a interface do console Admin no Commerce

2. Extraia as JSPs do samples.zip para WAS_HOME\installedApps\<node_name>\<cellname.ear>\Stores.war\ConsumerDirect. 

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

3. Reinicie o servidor commerce

Abordagem B (Necessita desenvolvimento de JSP): Modificando as JSPs de armazenamento para qualquer outro armazenamento 

Premissas : Os Beans de Dados na JSP são preenchidos utilizando seu keyId.

Lógica de Visualização para trabalhar:

a) Os Beans de Dados correspondentes aos Dados recebidos do Product Center são armazenados em cache no final do Servidor Commerce em uma Estrutura de Dados. Essa estrutura de dados é colocada em um HashMap. Essa Estrutura de Dados pode ser recuperada do HashMap utilizando o valor PreviewBeanId transmitido na sessão. Os Beans de Dados podem ser recuperados dessa Estrutura de Dados utilizando seus valores de chave primária transmitidos no pedido. A JSP utiliza esses Beans de Dados (que contêm informações mescladas) em vez de construir seus próprios beans. 

b) A JSP pode ser criada para utilizar esses beans de dados tendo uma JSP, que executa o processo de carregar esses Beans de dados no escopo da página. Essa JSP deverá ser incluída estaticamente em todas as JSPs que exigem o recurso de visualização. O nome da variável/chave utilizada para carregar a variável no escopo da página deverá ser de maneira ideal o mesmo nome da variável que será utilizada pelo bean de dados como na JSP. (Isso facilita o desenvolvimento ao utilizar o JSTL)

c) Determinados recursos que não serão ativados durante visualização (como a Solicitação de um Item etc) devem ser condicionalmente deixados em branco/substituídos por uma mensagem apropriada. 

Descrição da Abordagem com Trechos de Código:

Recuperando Beans de Dados do Servidor Commerce 

Consulte PreviewDatabeanEnvironmentSetup.jsp no diretório PreviewHelper para a implementação.

Recuperando a Estrutura de Dados

1) Obtenha o ID do Bean de Visualização do HashMap 

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

2) Obtenha a Estrutura de Dados, utilizando este ID:

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

Recuperando os Beans de Dados

1) Beans de Dados de Catálogo :

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

2) Beans de Dados de Categoria :

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

3) Para qualquer dos outros Beans de Dados Relacionados a Produto

String prodId = request.getParameter("productId"); 
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;

}

Carregue esses Beans de Dados no escopo da Página 

if (cPrvwDb != null) {
pageContext.setAttribute("catalog",cPrvwDb,1); 

O nome da variável utilizada para colocá-los no escopo da página deve ser o mesmo utilizado para instanciá-los na JSP de Armazenamento. Isso tem de ser feito para todos os tipos de Objetos de Catálogo.

Inclua estaticamente essa JSP na JSP Existente utilizada para exibição do objeto de catálogo.

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

Assegure-se de que esse Bean de Dados seja utilizado na JSP

1) Se estiver utilizando JSTL : Nenhuma alteração é necessária

2) Se estiver utilizando codificação JSP comum, execute uma ação semelhante à mostrada no trecho de código a seguir:

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");
}

Condicionalmente Deixando em Branco Certas Ações no Modo Visualizar

Para cuidar desses cenários, verifique um valor para PreviewBeanId e se definido tome a ação apropriada, como exibir uma mensagem declarando ação desativada. Conforme mostrado na seguinte parte de código:

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

Etapas de Configuração para Visualizar:

Preencha as entradas correspondentes mostradas a seguir no arquivo WPCWCproperties.properties. Estas são as páginas que serão utilizadas para Visualizar, em vários objetos de catálogo criados no Product Center. As chaves são a combinação de Identificador de Armazenamento e Exibição de Objeto de Catálogo. (No exemplo a seguir : O Identificador de Armazenamento é ConsumerDirect)

######### CATALOG DISPLAY JSP's ###############
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


Configuração do Product Center

Utilize as etapas a seguir para configurar o Product Center para integração do WebSphere Commerce.

1. Crie uma empresa chamada carmel no ambiente do WPC executando o comando src/db/schema/cmp/create_cmp.sh --code=carmel

2. Agora obtenha o arquivo .zip commerce_carmelV1.0.zip utilizando o FTP do local abaixo especificado

Servidor : <consulte a nota explicativa>
Nome do usuário : <consulte a nota explicativa>
Senha : <consulte a nota explicativa>
Local : <consulte a nota explicativa>

3. Extraia o arquivo zip em um diretório local. Esse arquivo .zip conterá estes abaixo listados

4. Como uma solução alternativa a um erro na ferramenta de importação/exportação, crie primeiramente a coleta de atributos WCSKUAttrValColl sem nenhum conteúdo.

5. Antes de tudo, importe COMMERCE_CARMELLKP.ZIP e depois COMMERCE_CARMELNONLKP.ZIP, utilizando o recurso do ambiente de importação do WPC na empresa carmel criada na etapa 1.

6. Obtenha ajuda da equipe do commerce preenchendo os detalhes dos campos da tabela de pesquisa abaixo especificados; para a tabela de pesquisa WCConfigLkpTbl, deixe os outros valores nessa tabela de pesquisa como estão:

a. WC1_STORE_ID 

ID do armazenamento que é publicado

b. WC1_MEMBER_ID 

ID de membro do Commerce

c. WC1_MASTER_CATALOG_ID 

ID do catálogo principal para o armazenamento publicado

d. WC1_LANGUAGE_ID 

Será sempre 1, não altere esse valor

e. WC1_ITEM_TYPE_ID 

Não altere esse valor

f. WC1_ITEM_SPC_ID 

Não altere esse valor 

g. WC1_BASE_ITEM_ID 

Não altere esse valor 

h. WC1_FFMCENTER_ID 

Obtenha a ajuda da equipe do Commerce para preencher esse valor

i. WC1_QUANTITY_ID 

Não altere esse valor 

j. WC1_TRADE_POSCN_ID 

Obtenha a ajuda da equipe do Commerce para preencher esse valor

k. WC1_SALES_CATALOG_ID 

Um catálogo de vendas deve ser criado na instância do commerce e o ID desse catálogo deve ser fornecido aqui; obtenha ajuda da equipe do commerce para fazer isso

l. WC1_FTP_HOST_NAME 

IP da caixa na qual o servidor commerce está sendo executado

m. WC1_FTP_PORT 

Porta de FTP, normalmente não será alterada, depende da configuração do servidor de FTP na caixa do servidor commerce

n. WC1_FTP_USER_ID 

Nome do usuário do FTP para o servidor de FTP da caixa do servidor commerce; obtenha a ajuda da equipe do commerce para preencher esse valor

o. WC1_FTP_PASSWORD 

Senha do FTP para o servidor de FTP da caixa do servidor commerce; obtenha a ajuda da equipe do commerce para preencher esse valor

p. WC1_FTP_PATH 

Caminho a partir do qual a ferramenta massload selecionará o arquivo FTPed; obtenha a ajuda da equipe do commerce para preencher esse valor

q. WC1_SALES_HIERARCHY_NAME 

Isso não deve ser alterado, hierarquia de vendas predefinida para o catálogo de vendas/navegação criado no commerce como parte da etapa k

r. WC1_SERVER_NAME 

Nome do servidor onde o servidor commerce está sendo executado

s. WC1_LAST_UPLOAD_TIME 

Mantenha isso vazio na primeira vez para que o carregamento inicial seja seja iniciado e depois em diante essa chave terá o valor do último time stamp de execução do relatório, se isso estiver vazio, o carregamento inicial será executado

t. DEFAULT_LOCALE 

Esse atributo deve ter o código de idioma padrão para a parte de integração. ISSO DEVE SER DEFINIDO NO MOMENTO DE IMPLEMENTAÇÃO E NÃO DEVE SER ALTERADO EM UM ESTÁGIO POSTERIOR; ALÉM DISSO, ESSE CÓDIGO DE IDIOMA DEVE FAZER PARTE DOS ATRIBUTOS DE EMPRESA E COMO PARTE DAS ESPECIFICAÇÕES WCCatentryCtg, WCSKUCtg

u. WC1_LOGON_CMD 

Isso deve ser a URL completa do novo Logon Cmd do Commerce

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

v. WC1_LOGON_CMD_USER 

 Usuário criado para propósito de segurança (Consulte a equipe do commerce)

w. WC1_LOGON_CMD_USER_PASSWORD 

 Senha do usuário criada em v.

7. A tabela de pesquisa "WCCurrencyLkpTbl" tem de ser preenchida com as moedas suportadas no commerce, o valor exato de três caracteres para cada moeda precisa ser preenchido para chave e valor. Por exemplo, USD como chave e USD como valor.   Obtenha a ajuda da equipe do commerce ao obter a lista de moedas suportadas na respectiva versão do commerce.

8. Para executar o carregamento inicial/upload delta, execute o relatório DataExportToCommerce do Product Center. Dependendo do valor do campo acima mencionado, será executado o carregamento inicial ou delta

9. Certifique-se de que o IP do servidor commerce esteja disponível como parte do arquivo /etc/hosts na caixa instalada do Product Center.

10. Por causa de um erro na ferramenta de Importação/Exportação, a coleta de atributos para a hierarquia WCPdtHier, WCPdtHierAttrColl precisa ser definida manualmente.

11. Certifique-se de que o valor para "Código do Idioma para Exibição de Dados de Categoria e Item" em Home > Minhas Configurações esteja definido como o Código do Idioma apropriado para que o usuário possa ver o conteúdo no recurso de visualização no mesmo código do idioma esperado por ele.

12. Certifique-se de que o atributo de link catentry de WCCatentryCtg na página de atributos esteja adequadamente vinculado ao atributo catentry_id de WCSKUCtg, já que por causa de um erro de importação/exportação, esse atributo de link não está sendo definido

13. Monte o diretório public_html.

14. Certifique-se de que os atributos de catálogo tenham as entradas para o identificador e nome com valores como Master e MyMasterCatalog

Etapas para Incluir uma Hierarquia de Vendas

1. Crie um catálogo de vendas no Commerce

2. Crie uma árvore de categorias com a especificação como WCCgrySalesHSpec

3. Anexe isso como uma hierarquia secundária ao catálogo WCCatentryCtg

4. Crie uma nova entrada na tabela de pesquisa SalesLookupTable

5. Crie uma nova entrada na tabela de pesquisa Último Registro da Seqüência

6. Copie o conteúdo de "Copiar Itens ou Categoria" em Gerenciador de Modelo de Dados -> scripting -> console de script -> Script de Visualização de Entrada; em seguida, crie um novo script de visualização de entrada com o nome da árvore de categorias de vendas atual anexado com "Copiar Itens ou Categoria"; assim, ele será exclusivo

7. Copie o conteúdo do script do evento de pós-salvamento e pós-processamento para WCSalesHr e cole o mesmo conteúdo para hierarquia de vendas criadas recentemente também

 

Cap.4 - Processos de Negócios

O primeiro catálogo fornecido ao commerce é considerado a Exportação Completa, e subseqüentemente somente os objetos alterados ou excluídos no Product Center são exportados para o commerce como parte da alimentação delta.

O Product Center gera o XML que adere ao DTD definido pelo commerce (WCS.dtd). O processo delta sempre envolve a execução da exclusão do xml primeiramente e depois a atualização, a fim de remover qualquer inconsistência nos estados do objeto.

Exportação Completa 

Exportação Delta – Excluir

Exportação Delta – Atualizar

Apêndice A - Referência do Modelo de Dados

Objetos do Commerce

Como o objetivo principal da integração é compartilhar os dados disponíveis no Product Center, e o modelo de dados XML que será gerado pelo Product Center com essa finalidade é o documento de upload em massa, que é uma representação direta de diferentes tabelas no commerce, seria útil um entendimento dos objetos internos do commerce e em que tabela um objeto é armazenado e quais tabelas têm relacionamentos entre diferentes objetos do commerce.

 

Armazenamento 

Podemos olhar para isso como um contêiner principal no qual todos os dados estarão disponíveis correlacionados. É possível ter vários armazenamentos no mesmo aplicativo commerce e as mesmas informações estar disponíveis em mais de um armazenamento. Todas as informações de armazenamento serão armazenadas no armazenamento de tabelas e no storeent do commerce.

Catálogo 

Esses catálogos são semelhantes aos catálogos do Product Center. Esses catálogos serão anexados a pelo menos um armazenamento. Informações relacionadas a catálogo serão armazenadas em 2 tabelas diferentes, catalog/catalogddsc. O relacionamento entre catálogo e armazenamento será armazenado no storecat. 

Categoria 

Essas categorias são semelhantes à categoria no Product Center. Essas categorias estarão nos catálogos. Informações relacionadas a categoria serão armazenadas em 2 tabelas, catgroup/catgrpdesc. O relacionamento entre categorias diferentes será armazenado na tabela catgrprel. O relacionamento entre categoria e catálogo é armazenado na tabela cattogrp, enquanto o relacionamento entre categoria e armazenamento é armazenado na tabela storecgrp.

Produto 

 Esses produtos serão anexados em categorias. Todas as informações relacionadas ao produto serão armazenadas em 3 tabelas diferentes, baseitem/catentry/catentdesc. Produto, pacote configurável, kit estático, kit dinâmico, item, todos esses objetos serão armazenados no mesmo conjunto de tabelas catentry/catentdesc; se o campo catenttype_id de catentry tiver o valor como productBean, o objeto atual será o produto. Além disso, informações relacionados ao produto, kit estático, kit dinâmico serão armazenadas em uma outra tabela chamada baseitem, na qual se o campo itemtype_id tiver o valor como ITEM, o objeto atual será Produto. A tabela Storecent armazenará o relacionamento entre armazenamento e produto. O relacionamento entre categoria e produto será armazenado na tabela catgpenrel.

Atributos 

 Esses atributos serão anexados a um produto e as informações relacionadas ao atributo serão armazenadas na tabela attribute, incluindo o relacionamento entre atributo e produto. 

Item 

 Esses itens são semelhantes aos itens no Product Center. Itens serão anexados a produtos. Informações relacionadas ao item são armazenadas em 2 tabelas, catentry/catentdesc. Item e produto são armazenados na mesma tabela. catenttype_id é o que diferencia produto e item. Para item, o valor de catenttype_id será itemBean. Semelhante a produtos, itens também serão relacionados a armazenamentos específicos e essas informações serão armazenadas no mesmo local que produtos, na tabela storecent. A tabela Catentrel mantém o relacionamento entre produto e item. 

Valores de Atributos 

 Esses valores de atributos serão anexados a itens e manterão o valor para os atributos anexados ao produto ao qual esses itens estão anexados. Informações relacionadas a valor de atributo serão armazenadas na tabela attrvalue, incluindo o relacionamento entre item e valor de atributo.

Pacotes Configuráveis 

 Pacote configurável é um objeto de agrupamento que pode ter diferentes conjuntos de objeto itens/produtos/kit estático/kit dinâmico para formar um só pacote configurável. Esse pacote configurável será armazenado em 2 tabelas, catentry e catentdesc. O catenttype _id para esse objeto é BundleBean.

Kit Estático 

 Semelhante a pacotes configuráveis, exceto que pacotes configuráveis podem ser desassociados, mas kits estáticos não podem, e só podem conter SKU. O Catenttype_id para kit estático é StaticBean. Além das tabelas catentry e catentdesc, parte das informações relacionadas a kit estático também será armazenada na tabela baseitem; aqui, se o valor do campo itemtype_id for STKT, o objeto atual será kit estático.

Kit Dinâmico 

 Semelhante ao kit estático, a diferença principal aqui é que este pode conter a URL do configurador do produto, onde as informações do item estão disponíveis localmente, mas serão resolvidas pelo configurador do produto na URL especificada. Além das tabelas catentry e catentdesc, parte das informações relacionadas a kit estático também será armazenada na tabela baseitem; aqui, se o valor do campo itemtype_id for DNKT, o objeto atual será kit dinâmico. Na tabela catentry, o catentrytype_id para esse objeto é DynamicKitBean.

Objetos do Product Center Relacionados ao Commerce

Todos os objetos do Product Center relacionados ao commerce estão incluídos no WC, para que não haja conflito com nenhum outro objeto.

A tabela a seguir resume a tabela anterior descrita. Consulte a seção de validação que se segue à tabela abaixo para obter um conjunto de validações aplicáveis.

Objeto / Recurso

Representação do Product Center Representação do Commerce

Armazenamento

Os valores a seguir serão armazenados como pares de chave/valor na tabela de pesquisa do Product Center
  • store_id
  • member_id
  • ffmcenter_id
  • allocationgoodfor – se houver 1 ATP ativado, para ATP, o Product Center precisa carregar mais alguns valores estáticos, do contrário, não será necessário.
  • identifier
  • tradeposcn_id
Informações relacionadas a armazenamento nas tabelas STORE e STOREENT. Cada armazenamento está associado a um catálogo principal e a vários catálogos de vendas

Catálogo

O catálogo principal é representado como 2 catálogos e 2 hierarquias no Product Center

1. Catálogo Catentry
2. Catálogo SKU
3. Hierarquia do Produto
4. Hierarquia SKU do Produto

Todos os atributos específicos de catálogo serão armazenados como parte dos atributos de catálogo no Product Center. Para os atributos específicos do commerce, usaremos o recurso de definição de atributo de catálogo personalizado, em que podemos especificar uma chave e um respectivo valor para atributos de catálogo. Atributos relacionados a hierarquia também serão armazenados da mesma forma. O catálogo Catenetry terá a representação dos objetos do WC, produto, pacote configurável, kit estático e kit dinâmico

Todos os dados específicos de catálogo serão armazenados nas tabelas catalog, catalogdsc, storecat. Objetos diferentes que podem ser associados ao catálogo principal são: categoria, Produto, Item, Pacote Configurável, Kit Estático e Kit Dinâmico. Essas informações são armazenadas nas tabelas a seguir

1. catgroup

2. catgrpdesc

3. cattogrp

4. storecgrp

5. catgrprel

6. baseitem

7. catentry

8. catentdesc

9. catgpenrel

10. catentrel

11. attribute

12. attrvalue

Categoria

Semelhante à categoria do Product Center. A Hierarquia do Produto será utilizada para armazenar os detalhes relacionados à categoria. Na hierarquia sku do produto, garantiremos que o usuário não possa criar nenhuma categoria na categoria do produto e nenhum item criado em nenhuma outra categoria que não a categoria folha que é um produto. Todas as informações relacionadas à categoria são armazenadas nas tabelas

1. catgroup

2. catgrpdesc

3. cattogrp

4. storecgrp

5. catgrprel

Produto

Produto terá seus próprios atributos, bem como o conjunto de atributos será definido específico aos produtos, para o qual o valor será fornecido no nível de item. Como não há representação direta disso no Product Center, o produto será definido no catálogo catentry, onde para o campo catentrytype_id o usuário selecionará o valor como Produto, no pós-salvamento desse catálogo, uma categoria será criada na hierarquia sku do produto e os atributos definidos fornecidos para esse produto no catálogo catenetry serão criados como especificação secundária e anexados à categoria criada recentemente na hierarquia sku do produto como especificação de categoria de item; além disso, um atributo de relacionamento nessa especificação de hierarquia estará relacionado ao item respectivo no catálogo catentry. Não há necessidade de que o usuário inclua essa categoria de produto separadamente. No momento em que ele criar o produto no catálogo catenetry, essa categoria será criada automaticamente e pronta para incluir item. Os produtos não podem ter valor para atributos de relacionamento; se o usuário digitou, um erro de validação será emitido
As informações do produto são armazenadas como parte das tabelas baseitem, catentry, cateentrydesc. No identificador de item de base para produto será o campo itemtype_id tendo o valor como ITEM e no campo catenttype_id da tabela catentry tendo o valor como ProductBean

SKU

Todos os detalhes relacionados a SKU são armazenados no catálogo SKU. Esse catálogo é associado à hierarquia sku do produto na qual todos os produtos serão a categoria folha em que os atributos para eles são anexados como especificações de categoria de item no pós-salvamento do catálogo catenetry. Embora o SKU esteja sendo incluído, ele será pré-preenchido com os respectivos valores de atributo do produto vinculado e o usuário pode alterá-lo e salvá-lo conforme seu pedido. Todos os detalhes relacionados a SKU serão armazenados nas tabelas catentry, cateentrydesc. Se o campo catenttype_id na tabela catentry tiver o valor como ItemBean, a entrada atual será SKU

Pacote Configurável

No campo catenttype_id do catálogo catenetry tendo o valor como Pacote Configurável representará o objeto de pacote configurável do commerce. Essa especificação terá um atributo de link que é um atributo de várias ocorrências e anexado ao catálogo SKU. Isso será utilizado para agrupar diferentes SKUs do catálogo SKU. Esses pacotes configuráveis podem ter atributos descritivos mas não atributos definidos Todos os detalhes relacionados a pacote configurável serão armazenados nas tabelas catentry, cateentrydesc. Se o campo catenttype_id na tabela catentry tiver o valor como BundleBean, a entrada atual será pacote configurável

Kit Estático

O catálogo Catentry representará o objeto de kit estático do commerce e o valor para o catentrytype_id deve ser StaticKit. Esse catálogo será anexado à hierarquia do produto. A especificação atual terá um atributo de link que é um atributo de várias ocorrências e será vinculada ao catálogo SKU.  
Todos os detalhes relacionados a kit estático serão armazenados nas tabelas baseitem, catentry, cateentrydesc. Se o campo catenttype_id na tabela catentry tiver o valor como StaticBean, a entrada atual será pacote configurável e se o campo itemtype_id em baseitem tiver o valor como STKT, o objeto atual representará kit estático

Kit Dinâmico

O catálogo Catenetry representará o objeto de kit dinâmico do commerce e o valor para o campo catentrytype_id deve ser DynamicKit. Esse catálogo será anexado à hierarquia do produto. A especificação do catálogo atual terá um atributo de link que é um atributo de várias ocorrências e anexado ao catálogo SKU. Junto com este, um outro atributo de várias ocorrências do tipo URL será utilizado para representar a URL do configurador do produto Todos os detalhes relacionados a kit dinâmico serão armazenados nas tabelas baseitem, catentry, cateentrydesc. Se o campo catenttype_id na tabela catentry tiver o valor como DynamicKitBean, a entrada atual será pacote configurável e se o campo itemtype_id em baseitem tiver o valor como DNKT, o objeto atual representará kit estático

ATP

Se o campo ALLOCATIONGOODFOR na tabela store tiver o valor como 1, esse recurso estará ativado. Não há nenhuma computação ou nenhuma entrada do usuário necessária para representar esse recurso no Product Center. Valores estáticos predefinidos que serão fornecidos pela equipe do commerce serão utilizados para criar snippets XML para preencher as respectivas tabelas no commerce. 
As tabelas abaixo no commerce são utilizadas para representar o ATP feature1. itemversn2. distarrang3. storeitem4. storeitmffc5. inventory6. itemspc7. versionspc8. itemffmctr

Merchandising

Esse recurso é implementado utilizando o conjunto de atributos específicos de merchandising que é definido na especificação atual do catálogo catentry. Haverá 2 atributos importantes: o atributo de tipo de merchandising que pode ter os valores como X-SELL,UPSELL, ACCESSORY, REPLACEMENT e outro atributo será um atributo de relacionamento em que o usuário pode selecionar o catálogo cantentry ou SKU e relacionar os respectivos objetos do WC  O conjunto a seguir de tabelas está relacionado a merchandising no commerce1. massoctype2. massoc3. massoccece

Vendas

Esse recurso será representado tendo uma hierarquia que terá diferentes categorias, criada diretamente pelo usuário ou o usuário pode optar por ter o mesmo conjunto de categoria junto com seus filhos da hierarquia do produto. Isso só pode ter informações até categoria. Para diferenciar a hierarquia de vendas de outras, incluiremos um atributo de hierarquia, HIERARCHY_TYPE, e o valor como SALES.

Informações do produto, SKU, pacote configurável, kit estático e kit dinâmico não podem ser representadas como parte da hierarquia de vendas. Pode haver quantas hierarquias de vendas o usuário precisar. Além de o usuário criar suas próprias categorias, se ele optar por copiar a estrutura do catálogo principal ou de outro catálogo de vendas, ele deverá conseguir. Para esse propósito, incluiremos script de visualização de entrada em toda hierarquia de vendas em que ele possa optar por copiar a estrutura de outro catálogo de vendas ou catálogo principal na categoria atual.

Um catálogo normal é criado e o campo mastercatalog em storecat é definido como 0.

Visualização de Item

O script de visualização de entrada será utilizado para esse recurso; na seleção desse recurso, um URL no commerce será chamado junto com informações necessárias do item. Essas informações do item serão novamente um XML de upload em massa para a entrada atual, que poderá ser uma categoria, produto, pacote configurável, kit estático ou kit dinâmico. Junto com a chamada da URL do WC, estaremos transmitindo o tipo do objeto do WC também.  

Incluir

Toda operação de inclusão envolve incluir imagens e também atributos; durante a exportação, as informações sobre atributos serão transferidas como parte da estrutura XML de upload em massa, imagens serão compactadas em zip e enviadas junto com o documento XML de carregamento em massa  

Modificar

Semelhante a incluir. Toda alteração em qualquer atributo acionará para ter todos os atributos enviados juntos, sem o envio de informações parciais  

Excluir

Sempre, toda exclusão no Product Center acionará para definir o campo markfordelete nas tabelas do commerce, que é novamente a ação de atualização nas respectivas tabelas do commerce, e para chamar um comando URL no WC em que esse comando pode cuidar de qualquer ação posterior como SQLs a serem disparados para concluir essa ação  

Localização

Todos os atributos que estão tendo language_id serão definidos como atributos localizados no Product Center. Nas configurações do Product Center, o usuário pode ativar todos os códigos de idioma que quiser ativar Códigos de idioma suportados utilizando o campo language_id em diferentes tabelas. A partir de agora, os códigos de idioma suportados pelo commerce são en_US, ja_JP, fr_FR, de_DE, it_IT, es_ES, pt_BR, zh_CN, zh_TW, ko_KR

Moeda

Nas configurações do Product Center, o usuário pode configurar todas as moedas que quiser. A partir de agora, as moedas suportadas pelo commerce são BRL, CNY, EUR, JPY, KRW, TWD,USD

O conjunto a seguir de validações básicas será aplicado enquanto o usuário estiver salvando o item no catálogo catentry como parte do script de pós-processamento. 

As definições de tabela do Commerce são diretamente convertidas para tags XML tendo nome de tabela como o nome de elemento e diferentes campos de tabela definidos como atributos de elemento. Valores de atributo são valores reais que precisam ser preenchidos nesses campos de tabela. Para a chave primária exclusivamente, eles são incluídos no símbolo @ para que a regra de geração de chave primária do commerce seja utilizada para recriá-la antes de armazenar esses valores nas tabelas do commerce. 

É possível, durante a implementação, incluir uma ou mais extensões dessa tabela e incluir alguns outros campos conforme necessário. Nesse tipo de situação, a tabela de extensão terá o link para o registro correspondente na tabela estendida, na forma de chave estrangeira. 

A transferência de dados entre o Product Center e o commerce estará na forma de documentos XML. Conforme especificado no artigo sobre solução, esses documentos gerados serão colocados em um local comum conhecido do Product Center e do commerce, de onde o commerce selecionará esses documentos e os processará. 

Nota: A identificação de erros como parte dessa troca de dados é feita manualmente. Não haverá nenhuma comunicação do commerce para o Product Center; será sempre do Product Center para o Commerce.

Documento XML gerado do Product Center DEVE ser compatível com esse DTD. Documento XML gerado conforme esse DTD será representação direta do modelo de dados do Commerce no nível de esquema. 

Para o recurso de visualização de item do Product Center no commerce, utilizando a visualização de item de ferramentas personalizadas, o menu será incluído no Product Center e sempre que necessário o usuário poderá escolher esse item de menu depois de selecionar esse item. Agora os detalhes do item que podem ser mostradas na página estática fornecida pelo commerce para esse recurso de visualização de item serão transmitidos utilizando o método HTTP Post. Agora o mesmo será analisado no lado do commerce e mostrado na página estática do commerce no local apropriado. Como deverá ser a aparência da página estática, quais os outros locais que o usuário pode navegar a partir dessa página, como o usuário será controlado nessa página estática depende do que a equipe do commerce decidir.

O requisito da equipe do Product Center terá uma URL na qual ela poderá fazer uma chamada HTTP Post junto com os dados necessários a ser mostrados na página estática.

Avisos

A IBM pode não oferecer os produtos, serviços ou recursos discutidos neste documento em todos os países. Consulte um representante IBM local para obter informações sobre produtos e serviços disponíveis atualmente em sua área. Qualquer referência a um produto, programa ou serviço da IBM não pretende declarar ou inferir que somente aquele produto, programa ou serviço da IBM pode ser utilizado. Qualquer produto, programa ou serviço funcionalmente equivalente, que não infrinja nenhum direito de propriedade intelectual da IBM ou quaisquer outros direitos da IBM, poderá ser utilizado em substituição a este produto programa ou serviço. Entretanto, é responsabilidade do usuário avaliar e verificar a operação de qualquer produto, usuário ou operação não-IBM.

A IBM pode ter aplicativos de patente ou de patente pendente cobrindo assunto sujeito descrito nesse documento. O fornecimento desta publicação não lhe garante direito algum sobre tais patentes. Pedidos de licença devem ser enviados, por escrito, para:

Gerência de Relações Comerciais e Industriais da IBM Brasil
Av. Pasteur, 138-146
Botafogo
Rio de Janeiro, RJ
CEP 22290-240

O parágrafo a seguir não se aplica ao Reino Unido ou a qualquer país no qual tais previsões são incompatíveis com a lei local:

A INTERNATIONAL BUSINESS MACHINES CORPORATION FORNECE ESTA PUBLICAÇÃO "NO ESTADO EM QUE SE ENCONTRA", SEM GARANTIA DE NENHUM TIPO, SEJA EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS IMPLÍCITAS DE MERCADO OU DE ADEQUAÇÃO A UM DETERMINADO PROPÓSITO. Alguns países não permitem a exclusão de garantias expressas ou implícitas em certas transações; portanto, esta disposição pode não se aplicar a você.

Essas informações poderiam incluir inadequações técnicas ou erros tipográficos. Periodicamente, são feitas alterações nas informações aqui contidas; tais alterações serão incorporadas em futuras edições desta publicação. A IBM pode, a qualquer momento, aprimorar e/ou alterar os produtos e/ou programas descritos nesta publicação sem aviso prévio.

Referências nestas informações a Web sites não-IBM são fornecidas apenas por conveniência e não representam de forma alguma um endosso a estes Web sites. Os materiais desses sites da Web não fazem parte deste produto IBM e o uso dos mesmos fica por sua própria conta e risco.

A IBM pode utilizar ou distribuir as informações fornecidas da maneira que achar conveniente, sem que isso implique em qualquer obrigação para com o Cliente.

Os possuidores de licença deste programa que pretendam obter informações sobre o mesmo com objetivo de permitir: (i) a troca de informações entre programas criados independentemente e outros programas (incluindo este) e (ii) a utilização mútua das informações trocadas, devem entrar em contato com:

Gerência de Relações Comerciais e Industriais da IBM Brasil
Av. Pasteur, 138-146
Botafogo
Rio de Janeiro, RJ
CEP 22290-240

Tais informações podem estar disponíveis, sujeitas a termos e condições apropriados, incluindo em alguns casos, o pagamento de uma taxa.

O programa licenciado descrito neste documento e todo o material licenciado disponível são fornecidos pela IBM sob os termos do Contrato com o Cliente IBM, do Contrato de Licença do Programa Internacional IBM ou de qualquer outro contrato equivalente.

Quaisquer dados de desempenho contidos aqui foram determinados em um ambiente controlado. Portanto, os resultados obtidos em outros ambientes operacionais podem variar significativamente. Algumas medidas podem ter sido tomadas em sistemas em nível de desenvolvimento de sistema e não há garantia de que essas medidas serão as mesmas em sistemas geralmente disponíveis. Além disso, alguma medida pode ter sido estimada através de extrapolação. Resultados reais podem variar. Usuários desse documento devem verificar os dados aplicáveis aos seus ambientes específicos.

As informações sobre produtos não-IBM foram obtidas junto aos fornecedores dos respectivos produtos, de seus anúncios publicados ou de outras fontes disponíveis publicamente. A IBM não testou necessariamente estes produtos e não pode confirmar a precisão de seu desempenho, compatibilidade nem qualquer outra reivindicação relacionada a produtos não-IBM. Questões sobre as capacidades dos produtos não IBM devem ser endereçadas aos fornecedores desses produtos.

Estas informações podem conter exemplos de dados e relatórios utilizados nas operações diárias de negócios. Para que sejam ilustrados do modo mais completo possível, os exemplos incluem nomes de indivíduos, empresas, marcas e produtos. Todos estes nomes são fictícios e qualquer semelhança com nomes e endereços utilizados por uma empresa real é mera coincidência.

Todas as declarações em relação a futura direção ou objetivo da IBM estão sujeitas a alterações e retirada sem aviso e representam metas e objetivos somente.

Informações da Interface de Programação

As informações da interface de programação, se fornecidas, foram projetadas para ajudar você a criar software aplicativo utilizando este programa.

As interfaces de programação de uso geral permitem gravar o software aplicativo que obtém os serviços das ferramentas deste programa.

No entanto, estas informações também podem conter informações de diagnóstico, modificação e ajuste. As informações de diagnóstico, modificação e ajuste são fornecidas para ajudá-lo a depurar seu software aplicativo.

Aviso: Não utilize estas informações de diagnóstico, modificação e ajuste como uma interface de programação, pois está sujeita a alterações.

Marcas Registradas e Marcas de Serviço

Os termos a seguir são marcas registradas ou marcas registradas da International Business Machines Corporation nos Estados Unidos e/ou em outros países:

IBM
o logotipo IBM
AIX
CrossWorlds
DB2
Banco de Universal DB2
Domino
Lotus
Lotus Notes
MQIntegrator
MQSeries
Tivoli
WebSphere

Microsoft, Windows, Windows NT e o logotipo Windows são marcas registradas da Microsoft Corporation nos Estados Unidos e/ou em outros países.

MMX, Pentium e ProShare são marcas registradas ou marcas registradas da Intel Corporation nos Estados Unidos e/ou em outros países.

Java e todas as marcas registradas baseadas em Java são marcas registradas da Sun Microsystems, Inc. nos Estados Unidos e/ou em outros países.

Outros nomes de empresas, produtos ou serviços podem ser marcas registradas ou marcas de serviços de terceiros.


O IBM WebSphere Product Center contém determinados Componentes Excluídos (conforme definido no documento pertinente Informações sobre Licença), aos quais são aplicados os seguintes termos adicionais. Este software está licenciado sob os termos e condições do Acordo de Licença do Programa Internacional, sujeito às suas provisões de Componentes Excluídos. A IBM deve fornecer os seguintes avisos juntamente com este software:

i.) O IBM WebSphere Product Center inclui o seguinte software que foi licenciado pela IBM a partir da Apache Software Foundation sob os termos e condições da licença 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

Licença da Apache
Versão 2.0, janeiro de 2004
http://www.apache.org/licenses/

TERMOS E CONDIÇÕES DE USO, REPRODUÇÃO E DISTRIBUIÇÃO

1. Definições.

"Licença" deve significar os termos e as condições de uso, reprodução e distribuição, conforme definido pelas Seções 1 a 9 deste documento.

"Licenciador" deve significar o proprietário de copyright ou a entidade autorizada pelo proprietário do copyright que está concedendo a Licença.

"Entidade Jurídica" deve significar a união da entidade atuante e todas as outras entidades que controlam, são controladas ou que estejam sob controle comum com essa entidade. Para as finalidades desta definição, "controle" significa (i) a capacidade, direta ou indireta, de provocar a direção ou o gerenciamento de tal entidade, seja por contrato ou qualquer outro meio, ou (ii) a detenção de cinqüenta por cento (50%) ou mais das ações pendentes ou (iii) propriedade benéfica de tal entidade.

"Você" (ou "Seu") significa um indivíduo ou uma Entidade Jurídica que está utilizando as permissões concedidas por esta licença.

Formato de "origem" significa o formato preferido para fazer modificações, incluindo, mas não se limitando, ao código fonte do software, à origem da documentação e aos arquivos de configuração.

Formato de "objeto" significa qualquer formato resultante da transformação ou conversão mecânica de um formato de Origem, incluindo, mas
não se limitando ao código de objeto compilado, à documentação gerada e a conversões em outros tipos de mídia.

"Trabalho" significa o trabalho de autoria, seja em formato de Origem ou de Objeto, disponibilizado com a Licença, conforme indicado pelo aviso de copyright incluído no trabalho ou anexado a ele (no Apêndice a seguir é fornecido um exemplo).

"Trabalhos Derivativos" significa qualquer trabalho, seja no formato de Origem ou de Objeto, baseado no (ou derivado do) Trabalho e para o qual as revisões editoriais, as anotações, as elaborações ou outras modificações representam, como um todo, um trabalho original de autoria. Para as finalidades desta Licença, os Trabalhos Derivativos não devem incluir trabalhos que permaneçam separáveis ou simplesmente sejam vinculados (ou ligados por nome) às interfaces do Trabalho e dos Trabalhos Derivativos.

"Contribuição" deve significa qualquer trabalho de autoria, incluindo a versão original do Trabalho e quaisquer modificações ou adições feitas a este Trabalho ou Trabalho Derivativo, que sejam intencionalmente submetidas ao Licenciante para inclusão no Trabalho pelo detentor do copyright ou por um indivíduo ou uma Entidade Jurídica autorizada a submeter em nome do detentor do copyright. Para a finalidade dessa definição, "submetido" significa qualquer formato de comunicação eletrônica, verbal ou escrita enviado
ao Licenciante ou a seus representantes, incluindo, mas não se limitando à comunicação em listas de correio eletrônico, sistemas de controle de código fonte e sistemas de rastreamento de problemas que sejam gerenciados pelo Licenciante, ou em seu nome, com o objetivo de discutir e aprimorar o Trabalho, mas excluindo a comunicação visivelmente marcada ou, então, designada por escrito pelo detentor do copyright como "Não é uma Contribuição."

"Contribuinte" deve significar Licenciante ou qualquer indivíduo ou Entidade Jurídica em nome de quem uma Contribuição foi recebida pelo Licenciante e subseqüentemente incorporada no Trabalho.

2. Concessão de Licença de Copyright. Sujeito aos termos e às condições desta Licença, cada Contribuinte, por meio deste documento, concede a você uma licença de copyright vitalícia, mundial, não exclusiva, gratuita, isenta de direitos autorais e irrevogável para reproduzir, preparar Trabalhos Derivativos, exibir e executar publicamente, sublicenciar e distribuir o Trabalho e estes Trabalhos Derivativos em formato de Origem e Objeto.

3. Concessão de Licença de Patente. Sujeita aos termos e às condições desta Licença, cada Contribuinte, por meio deste documento, concede a você uma licença de patente vitalícia, mundial, não exclusiva, gratuita, isenta de direitos autorais e irrevogável (exceto conforme informado nesta seção) para fazer, ter feito, utilizar, oferecer para venda, vender, importar e, em outro caso, transferir o Trabalho, em que esta licença se aplica somente às reivindicações de patentes licenciáveis por este Contribuinte que sejam necessariamente violadas por seus Contribuições isoladas ou pela combinação de suas Contribuições com o Trabalho a que estas Contribuições foram submetidas. Se Você instituir litigação de patente contra qualquer entidade (incluindo uma reivindicação cruzada ou uma reivindicação em uma ação judicial) alegando que o Trabalho ou uma Contribuição incorporada dentro do Trabalho constitui violação direta ou contribuinte de patente, quaisquer licenças de patentes concedidas a Você sob esta Licença para o Trabalho deverão terminar a partir da data de arquivamento desta litigação.

4. Redistribuição. Você pode reproduzir e distribuir cópias do Trabalho ou de Trabalhos Derivativos deste documento em qualquer meio, com ou sem modificações, e em formulário de Origem ou de Objeto, contanto que Você atenda às seguintes condições:

(a) Você deve fornecer a qualquer outro destinatário do Trabalho ou dos Trabalhos Derivativos uma cópia desta Licença

(b) Você deve fazer com que quaisquer arquivos modificados enviem avisos proeminentes informando que Você alterou os arquivos

(c) Você deve reter, no formulário de Origem de quaisquer Trabalhos Derivativos que Você distribuir, todos os avisos de copyright, patente, marca registrada e
atribuição a partir do formulário de Origem do Trabalho, excluindo os avisos que não pertencem a nenhum parte dos Trabalhos Derivativos

(d) Se o Trabalho incluir um arquivo de texto "AVISO" como parte de sua distribuição, quaisquer Trabalhos Derivativos que Você distribui devem
incluir uma cópia legível dos avisos de atribuição contidos dentro de tal arquivo AVISO, excluindo esses avisos que não
pertencem a nenhuma parte dos Trabalhos Derivativos, em pelo menos um dos seguintes locais: dentro de um arquivo de texto AVISO distribuído
como parte dos Trabalhos Derivativos; no formato ou documentação de Origem, se fornecida junto com os Trabalhos Derivativos; ou
em uma exibição gerada pelos Trabalhos Derivativos, se e onde quer que tais avisos de terceiros normalmente aparecer. O conteúdo
do arquivo AVISO é apenas para fins informativos e não modifica a Licença. É possível incluir os Seus próprios avisos
de distribuição nos Trabalhos Derivativos distribuídos, ao longo ou como um adendo ao texto de AVISO do Trabalho, contanto que tais avisos de atribuição adicionais não possam ser construídos durante a modificação da Licença.

É possível incluir Sua própria declaração de copyright nas Suas Modificações e pode fornecer termos e condições adicionais ou diferentes de licença para uso, reprodução ou distribuição de Suas modificações ou para quaisquer Trabalhos Derivativos como um todo, contanto que Seu uso, reprodução e distribuição do Trabalho estejam em conformidade com as condições descritas nesta Licença.

5. Submissão de Contribuições. A menos que Você informe explicitamente o contrário, qualquer Contribuição intencionalmente submetida para inclusão no Trabalho por Você ao Licenciante deve estar sob os termos e as condições desta Licença, sem nenhum termo ou condição adicional. Apesar do que foi dito anteriormente, nada descrito neste documento deve substituir ou modificar os termos de nenhum acordo de licença distinto que você tenha firmado com o Licenciante sobre tais Contribuições.

6. Marcas Registradas. Esta Licença não concede permissão para utilizar os nomes comerciais, as marcas registradas, as marcas de serviço ou os nomes de produto do Licenciante, exceto conforme requerido para uso aceitável e costumeiro na descrição da origem do Trabalho e na reprodução do conteúdo do arquivo NOTICE.

7. Isenção de Responsabilidade de Garantia. A menos que requerido pela lei aplicável ou firmado um acordo, por escrito, o Licenciador fornece o Trabalho (e cada
Contribuinte fornece suas Contribuições) COM BASE "NO ESTADO EM QUE SE ENCONTRA", SEM GARANTIA DE NENHUM TIPO, SEJA EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS IMPLÍCITAS DE NÃO-VIOLAÇÃO, MERCADO OU DE ADEQUAÇÃO A UM DETERMINADO PROPÓSITO. Você é o único responsável pela determinação da adequação de uso ou redistribuição do Trabalho e assume quaisquer riscos associados ao Seu exercício de permissões contidos nesta Licença.

8. Limitação de Responsabilidade. Em nenhuma circunstância e sob nenhuma teoria jurídica, seja em danos (incluindo negligência), contrato ou, de alguma outra forma,
a menos que seja exigido pela lei aplicável (como atos deliberados e excessivamente negligentes), ou acordo por escrito, o Contribuinte deverá ser responsabilizado por Você por danos, incluindo danos diretos, indiretos, especiais, acidentais ou resultantes, de qualquer espécie que surjam como resultado desta Licença ou do uso ou da incapacidade de uso do Trabalho (incluindo, mas não se limitando a danos por perda de clientes, interrupção do trabalho, defeito ou mau funcionamento do computador ou qualquer e todos os outros danos ou perdas comerciais), mesmo que esse Contribuinte tenha sido avisado da possibilidade desses danos.

9. Aceitando a Garantia ou Responsabilidade Adicional. Durante a redistribuição do Trabalho ou dos Trabalhos Derivativos descritos neste documento, Você pode optar por oferecer e cobrar uma taxa para aceitação de suporte, garantia, indenização ou outras obrigações e/ou direitos de responsabilidades consistentes com esta Licença. No entanto, na aceitação dessas obrigações, Você pode agir somente em Seu próprio nome e em Sua exclusiva responsabilidade, não em nome de nenhum outro Contribuinte e somente se concordar em indenizar, defender e reter cada Contribuinte ileso de qualquer responsabilidade incorrida ou reivindicações asseguradas contra esse Contribuinte por motivo da aceitação de qualquer garantia ou responsabilidade adicional.

FIM DOS TERMOS E DAS CONDIÇÕES

APÊNDICE: Como Aplicar a Licença Apache em seu Trabalho.

Para aplicar a Licença Apache em seu trabalho, anexe o seguinte aviso padronizado, aos campos colocados entre colchetes "[]"
substituídos por suas próprias informações de identificação. (Não inclua os colchetes!) O texto deve ficar envolvido na sintaxe de comentário
adequada para o formato de arquivo. Recomendamos também que um arquivo ou nome de classe e descrição do objetivo sejam incluídos na mesma "página impressa" que o aviso de direitos autorais, para facilitar a identificação de archives de terceiros.

Copyright [aaaa] [nome do proprietário de copyright]

Licenciado sob a Licença Apache, Versão 2.0 (a "Licença"); você não poderá utilizar esse arquivo, exceto em conformidade com a Licença. É possível obter uma cópia da Licença em

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

A menos que requerido pela lei aplicável ou firmado um acordo, por escrito, o software distribuído na Licença, é distribuído COM BASE "NO ESTADO EM QUE SE ENCONTRA", SEM GARANTIAS OU CONDIÇÕES DE QUALQUER TIPO, sejam expressas ou implícitas. Consulte a Licença para obter as permissões de controle no idioma específico e limitações sob a Licença.

ii.) O IBM WebSphere Product Center inclui o seguinte software que foi licenciado pela IBM a partir da Scott Hudson, Frank Flannery and C. Scott Ananian sob os termos e condições a seguir:

- Cup Parser Generator v0.10k

Aviso de Copyright, Licença e Isenção de Responsabilidade do CUP Parser Generator
Copyright 1996-1999 da Scott Hudson, Frank Flannery, C. Scott Ananian 
A permissão para utilizar, copiar, modificar e distribuir este software e sua documentação para qualquer finalidade e sem taxa é concedida por meio deste documento, contanto que o aviso de copyright acima apareça em todas as cópias e que tanto o aviso de copyright como esta isenção de garantia e de aviso de permissão apareçam na documentação de suporte e que os nomes dos autores ou de seus empregadores não sejam utilizados em propaganda ou publicidade relativa à distribuição do software sem permissão prévia específica por escrito.Os autores e seus empregadores renunciam todas as garantias relativas a este software, incluindo todas as garantias implícitas de mercado e adequação. Em hipótese nenhuma os autores ou seus empregadores devem ser responsabilizados por danos especiais, indiretos ou resultantes ou por danos que resultem em perda de uso, de dados ou de lucros, seja em uma ação de contrato, negligência ou outra ação prejudicial, proveniente do uso ou desempenho deste software ou em conexão com o seu uso ou desempenho.  

iii.) O IBM WebSphere Product Center inclui o seguinte software que foi licenciado pela IBM a partir da Elliot Joel Berk and C. Scott Ananian sob os termos e condições a seguir:

- JLex v1.2.6

AVISO DE COPYRIGHT, LICENÇA E ISENÇÃO DE RESPONSABILIDADE DA JLEX.
Copyright 1996-2003 da Elliot Joel Berk and C. Scott Ananian 
A permissão para utilizar, copiar, modificar e distribuir este software e sua documentação para qualquer finalidade e sem taxa é concedida por meio deste documento, contanto que o aviso de copyright acima apareça em todas as cópias e que tanto o aviso de copyright como esta isenção de garantia e de aviso de permissão apareçam na documentação de suporte e que o nome dos autores ou de seus empregadores não seja utilizado em propaganda ou publicidade relativa à distribuição do software sem permissão prévia específica por escrito.Os autores e seus empregadores renunciam todas as garantias relativas a este software, incluindo todas as garantias implícitas de mercado e adequação. Em hipótese nenhuma os autores ou seus empregadores devem ser responsabilizados por danos especiais, indiretos ou resultantes ou por danos que resultem em perda de uso, de dados ou de lucros, seja em uma ação de contrato, negligência ou outra ação prejudicial, proveniente do uso ou desempenho deste software ou em conexão com o seu uso ou desempenho. Java é uma marca registrada da Sun Microsystems, Inc. As referências à linguagem de programação Java em relação ao JLex não indicam que a Sun aprova este produto. 

iv.) O IBM WebSphere Product Center inclui o seguinte software que foi licenciado pela IBM a partir da International Business Machines Corporation e outros sob os termos e condições a seguir:

- ICU4J v2.8

ICU License - ICU 1.8.1 e posterior
AVISO DE COPYRIGHT E PERMISSÃO

Copyright (c) 1995-2003 International Business Machines Corporation e outros
Todos os direitos reservados.

Desse modo, é concedido permissão gratuitamente a qualquer pessoa que obtém uma cópia desse software e de arquivos da documentação associados (o "Software"), para lidar com o Software sem restrição, incluindo sem limitação os direitos de uso, cópia, modificação, mesclagem, publicação, distribuição e/ou venda de cópias do Software, e permissão de pessoas a quem o Software é fornecido a fazer isso, contanto que os avisos de direitos autorais e esse aviso de permissão apareçam em todas as cópias do Software e que os avisos de direitos autorais acima e esse aviso de permissão apareçam na documentação de suporte.

O SOFTWARE É FORNECIDO "NO ESTADO EM QUE SE ENCONTRA", SEM GARANTIA DE NENHUM TIPO, SEJA EXPRESSA OU IMPLÍCITA, INCLUINDO MAS NÃO SE LIMITANDO ÀS GARANTIAS DE MERCADO E ADEQUAÇÃO A UM DETERMINADO PROPÓSITO E NÃO-TRANSGRESSÃO DE DIREITOS DE TERCEIROS. EM NENHUMA CIRCUNSTÂNCIA, O PORTADOR OU PORTADORES DE DIREITOS AUTORAIS INCLUÍDOS NESSE AVISO SERÁ(ÃO) RESPONSABILIZADO(S) POR NENHUMA EXIGÊNCIA, POR NENHUM DANO ESPECÍFICO, INDIRETO OU CONSEQÜENTE, NENHUM DANO RESULTANTE DA PERDA DE USO, DADOS OU LUCROS, SE EM UMA AÇÃO DE CONTRATO, NEGLIGÊNCIA OU OUTRA AÇÃO PREJUDICIAL, QUE SURGE FORA OU EM RELAÇÃO AO USO OU DESEMPENHO DESSE SOFTWARE.

Exceto como contido nesse aviso, o nome de um portador de direitos autorais não deverá ser utilizado na propaganda ou, do contrário, para promover a venda, o uso e outras transações desse Software, sem antes ter autorização por escrito do portador de direitos autorais.

-----------------------------------------------------------------------------
Todas as marcas registradas aqui mencionadas, são a propriedade de seus respectivos proprietários.