IBM Rational Software Architect Fix Pack 6.0.1.1 - Notas sobre o Release

Para Rational Software Architect, Versão 6.0, 6.0.0.1 ou 6.0.1

© Direitos Autorais International Business Machines Corporation 2004, 2005. Todos os Direitos Reservados. Direitos Restritos aos Usuários do Governo dos Estados Unidos - Uso, duplicação ou divulgação restritos pelo documento GSA ADP Schedule Contract com a IBM Corp.

Arquivo Leia-me

1.0 Sobre Este Release
2.0 Histórico de Correção do Produto
   2.1 Correções Acumulativas
   2.2 Comparando e Mesclando Modelos
   2.3 Ferramentas de Dados
   2.4 Depurador
   2.5 EGL (Enterprise Generation Language)
   2.6 Geral
   2.7 Ferramentas J2EE
   2.8 JavaServer Faces
   2.9 Publicação de Modelo
   2.10 Page Designer
   2.11 Ferramentas do Portal
   2.12 Struts
   2.13 Diagramas UML
   2.14 Ferramentas XML
3.0 Informações sobre Instalação
   3.1 Instruções de Instalação
   3.2 Requisitos de Hardware
   3.3 Requisitos de Software
   3.4 Co-requisitos de Software
4.0 Problemas e Limitações Conhecidos
   4.1 Limitações de EGLSDK e EGLCMD
   4.2 Matrizes de Qualquer Tipo de Registro para Geração de EGL Java
   4.3 Funções BLOB e CLOB Documentadas Incorretamente
   4.4 Não Há mais Preenchimento na Concatenação de Cadeias EGL
   4.5 Não É Possível Utilizar o Crystal Reports para Criar Conexões JDBC com Produtos de Banco de Dados Baseados no z/OS e no iSeries
   4.6 Não É Possível Utilizar o Crystal Reports Embedded Designer Tool para Criar Conexões JNDI com a Origem de Dados do WebSphere Application Server
   4.7 Não Há Suporte para Gerar Crystal Reports a partir de Origens de Dados XML para Exibição no WebSphere Application Server v5.x.
   4.8 Comportamento do Informix 4GL não Documentado para a Função GET_FLDBUF() não Suportado no Release 6.0.1.1
   4.9 Alterações de Comportamento no Reconhecimento de Teclas de Função do Teclado EGL
   4.10 A Etapa de Pós-conversão do Descritor de Construção Não É Mais Necessária
   4.11 Alterações no Tempo de Execução de Problemas da EGL
   4.12 Migrando Transações da Web do Gerador VA para EGL Utilizando um Diretório Temporário
   4.13 Faces Client Components - Evento onRowAdd Incluído no DataGrid
5.0 Suporte ao Cliente
6.0 Avisos e Marcas Registradas

1.0 Sobre Este Release

Para visualizar a versão mais recente deste arquivo, consulte as notas sobre o release em www3.software.ibm.com/ibmdl/pub/software/rationalsdp/rsa/60/html/nl/readme_pt_BR_6011.html.

O IBM® Rational® Software Architect 6.0.1.1 fornece nova funcionalidade nas seguintes categorias e componentes:

Aprimoramentos de Desempenho

Aperfeiçoamentos de Desempenho do EGL Builder

O desempenho do EGL Builder foi drasticamente aprimorado.  Você perceberá aperfeiçoamentos significativos na quantidade de tempo necessário para construir um espaço de trabalho completo e na quantidade de tempo necessário para construir partes individuais, enquanto estão sendo desenvolvidas.  Antes, se você normalmente tinha a preferência "Construir Automaticamente" desativada, tente trabalhar com ela ativada.

Na primeira vez em que cada projeto é construído utilizando a versão 6.0.1.1 do EGL, o arquivo .project, que está localizado no diretório raiz do projeto, será modificado automaticamente para que faça referência ao novo EGL Builder.  Após a conclusão dessa atualização, todos os futuros builds do projeto utilizarão o novo EGL Builder.  Recomenda-se que os usuários chamem manualmente um build depois que iniciar a V6.0.1.1 e carregar o espaço de trabalho, para que os projetos sejam construídos com o novo EGL Builder antes de ocorrer outros desenvolvimentos.  Um build manual pode ser chamado pela seleção de Projeto >Construir Tudo na barra de ferramentas.

Nota: Se a opção para Construir Automaticamente estiver ativada, um projeto será alterado para utilizar o novo EGL Builder na primeira vez em que a versão 6.0.1.1 do produto for iniciada para um espaço de trabalho existente ou depois que um projeto for importado para os espaços de trabalho novo e existente.  Se a opção para Construir Automaticamente estiver desativada, será necessário chamar um build manualmente para migrar para o novo EGL Builder.  Todos os novos projetos criados com a versão 6.0.1.1 do produto já estarão configurados para utilizar o novo EGL Builder.

Novos Tipos de Problemas do EGL

Como parte dos aperfeiçoamentos de desempenho do construtor, foram criados novos tipos de problemas para o EGL. Esses tipos de problemas são utilizados ao exibir erros na Visualização Problemas. Após a instalação da V6.0.1.1, pode ser necessário atualizar a visualização Problemas para que esses novos tipos de problemas sejam exibidos corretamente. Para atualizar a visualização, selecione a opção Filtros no menu drop-down da Visualização Problemas. No diálogo exibido, certifique-se de que os seguintes tipos tenham sido selecionados (role a tabela para localizar as entradas EDT):

Diferenças de Mensagens

Como parte dos aperfeiçoamentos de desempenho do construtor, foi feita uma tentativa para melhorar a consistência com relação às mensagens de erro de validação emitidas. Embora as mesmas condições de erro sejam capturadas, é possível que você veja um número diferente de mensagens de erro do que antes.  Além disso, o texto das mensagens emitidas também pode ser diferente. Anteriormente, ao validar funções referenciadas de uma parte (programa, biblioteca, etc.) que chamava a função, todas as mensagens de erro eram colocadas na instrução de chamada da função. Essas mensagens de erro são agora colocadas na função de chamada na linha específica em que ocorreu o erro. Cada mensagem de erro contém o nome da parte que está chamando. Isso facilita muito localizar o motivo do erro.

Alteração na Sintaxe de Uso do Formulário

Como parte dos aperfeiçoamentos de desempenho do construtor, criamos alterações no processamento dos formulários. No entanto, isso pode causar erros de ambigüidade no caso de um grupo de formulários apresentar campos com nomes semelhantes em vários formulários e um programa tiver referências não qualificadas a esses campos. Incluímos uma nova sintaxe "Utilizar formulários" para que o cliente possa especificar quais formulários consultar durante a resolução de nomes.

use <nome-do-grupo-de-form>.<nome-do-form>, <nome-do-grupo-de-form.nome-do-form>, etc.

Se houver novos erros de validação relacionados à resolução de campos de formulários, para corrigir os problemas, você pode qualificar completamente suas referências aos campos de formulários ou pode utilizar uma nova ação chamada "Organizar Formulários Utilizados".  Essa ação analisa o programa para ver quais formulários são realmente utilizados e, em seguida, cria a instrução Use apropriada. Ela está disponível no menu de contexto de um projeto EGL, pacote EGL e arquivo EGL. Também está disponível no menu de contexto do Editor EGL.  Se houver erros graves no programa, como erro de sintaxe, instruções de uso não resolvidas ou a utilização de vários grupos de formulários de não-ajuda, essa ação incluirá uma mensagem informando que não pode ser executada em razão de erros no programa e nenhuma alteração será aplicada. No entanto, essa ação não funcionará quando houver outros erros, como erro de ambigüidade, a que se propôs corrigir.  Se houver erros graves suficientes que impeçam ao EGL identificar uma instrução de E/S, essa ação não detectará o formulário nessa instrução e os resultados não poderão incluir todos os formulários utilizados.  Desse modo, exceto para o erro de ambigüidade, recomenda-se que essa ação seja executada com um programa inteiramente compilado.

Nota: useformGroup ainda é suportado e pode ser utilizado.  É um atalho para listar todos os formulários no grupo de formulários na instrução de uso.

Opção Recuperação de EGL SQL para Compatibilidade com COBOL

No tempo de declaração de EGL, é possível utilizar o recurso de recuperação de SQL para criar um registro SQL a partir das colunas de uma tabela SQL. Para que novos registros SQL sejam compatíveis com programas COBOL (isto é, para ter registros fixos com números de nível para itens de estrutura e utilizar CHAR em vez de tipos STRING primitivos), selecione a caixa de opções Criar definição de registro compatível com COBOL na janela Preferências de Recuperação de SQL.

É Possível Customizar a Etiqueta do Botão Edição de Linha da Tabela JSF

Foram incluídos três novos atributos de Edição de Linha para permitir a customização de etiquetas de botão, editLabel para a etiqueta do botão Editar, saveLabel para a etiqueta do botão Salvar e cancelLabel para a etiqueta do botão Cancelar.

Aprimoramentos de OCL na Modelagem UML

Ambiente de Equipe

Transformações UML

2.0 Histórico de Correção do Produto

2.1 Correções Acumulativas

Este fix pack inclui o Rational Software Architect 6.0.1 e as seguintes correções temporárias:

2.2 Comparando e Mesclando Modelos

2.3 Ferramentas de Dados

 Já existe suporte para utilizar o Driver JDBC DB2® Universal |para construir procedimentos armazenados Java que possuem uma origem com mais de 32 K |e como destino um servidor DB2 UDB para z/OS® V7. Antes de incluir esse suporte, o Universal Driver era suportado somente para os procedimentos armazenados Java z/OS V8 do DB2 UDB. Para que funcione, é necessário instalar o APAR (PK01445) do DB2 para z/OS V7.

2.4 Depurador

(PK12617) Ao parar em um ponto de interrupção, o depurador executa uma procura ineficiente da origem Java.

2.5 EGL (Enterprise Generation Language)

2.6 Geral

2.7 Ferramentas J2EE

2.8 JavaServer Faces

2.9 Publicação de Modelo

(PK13332) Quando você publicar um diagrama que contenha duas instâncias de classes conectadas por uma instância do link, o modelo poderá não ser publicado corretamente.

2.10 Page Designer

2.11 Ferramentas do Portal

2.12 Struts

2.13 Diagramas UML

2.14 Ferramentas XML

3.0 Informações sobre Instalação

3.1 Instruções de Instalação

Para obter informações sobre como instalar o IBM Rational Software Architect Fix Pack 6.0.1.1, pré-requisitos de instalação, instalação a partir de uma linha de comandos e configuração de um espelho local do servidor de atualização, consulte as instruções de instalação em http://www3.software.ibm.com/ibmdl/pub/software/rationalsdp/rsa/60/install_instruction/6011/nl/install_pt_BR.html.

3.2 Requisitos de Hardware

Não são necessários requisitos de hardware adicionais para instalar este fix pack.

3.3 Requisitos de Software

Este fix pack pode ser instalado para utilização com o IBM Rational Software Architect 6.0, 6.0.0.1 ou 6.0.1. Antes de instalar o fix pack, é necessário instalar o IBM Rational Product Updater 6.0.1.

Observe que, além dos sistemas operacionais listados no Guia de Instalação Versão 6.0, os seguintes sistemas operacionais serão suportados se você instalar este fix pack:

3.4 Co-requisitos de Software

Se você utilizar atualizações locais e tiver mais de um produto instalado, deverá fazer download dos fix packs 6.0.1.1 de todos os produtos instalados em seu site de atualização local. Isso ocorre porque há dependências entre eles. Se tiver vários produtos instalados e fizer download apenas de um fix pack e executar o Rational Product Updater, o Updater fornecerá um aviso quando você procurar por atualizações, de que uma das atualizações requeridas está ausente. Novamente, essa situação é aplicada apenas a clientes que utilizam os sites de atualização locais.

Para instalar simultaneamente todos os fix packs, faça download deles em seu site de atualização local. Em seguida, instale todos ao mesmo tempo a partir do site de atualização, utilizando o Rational Product Updater.

4.0 Problemas e Limitações Conhecidos

4.1 Limitações de EGLSDK e EGLCMD

A documentação da versão 6.0.1 não incluiu as limitações e recomendações a seguir para os comandos EGLSDK e EGLCMD.

Para ambos:

  1. Para contornar um OutOfMemoryError ao executar o EGLSDK ou o EGLCMD, tente aumentar o tamanho de heap da JVM. Utilize o seguinte comando:
    java [-msstart_sizem] -mxmax_sizem application     

    start_size
    Um tamanho opcional de início, em megabytes, para o heap da JVM utilizado na execução de application.

    max_size
    O tamanho máximo de heap da JVM, em megabytes, a ser utilizado na execução de application. Esse tamanho não deve exceder metade da RAM disponível para o sistema.

    application
    EGLSDK ou EGLCMD, seguido de seus parâmetros usuais.

    O seguinte exemplo assume que o sistema possui 2 GB de RAM disponível:

         java -ms512m -mx1024m EGLCMD EGLListDetailForTUI/EGLCommandFile.xml -data D:\WorkSpace

Para EGLSDK:

  1. Certifique-se de que emfworkbenchedit.jar esteja em seu caminho de classe Java. O arquivo jar está no seguinte diretório:
    installationDir\rwd\eclipse\plugins\com.ibm.wtp.emf.workbench.edit_version\emfworkbenchedit.jar
    installationDir
    O diretório de instalação do produto, como C:\Program Files\IBM\RSPD\6.0. Se você instalou e manteve um produto Rational Developer antes da instalação do produto que está utilizando agora, poderá ser necessário especificar o diretório que foi utilizado na instalação anterior.
    version
    A versão instalada do plugin; por exemplo, 1.0.0
  2. Se quiser ativar a geração de COBOL para o z/OS® ou o iSeries, certifique-se de que o arquivo jar de tempo de execução eglgencobol.jar esteja no caminho de classe. O arquivo jar está no seguinte diretório:
    installationDir\egl\eclipse\plugins\com.ibm.etools.egl.batchgeneration_version
    installationDir
    O diretório de instalação do produto, como C:\Program Files\IBM\RSPD\6.0. Se você instalou e manteve um produto Rational Developer antes da instalação do produto que está utilizando agora, poderá ser necessário especificar o diretório que foi utilizado na instalação anterior.

    version
    A versão instalada do plugin; por exemplo, 6.0.0
  3. O EGL não suporta a geração de pageHandlers a partir do SDK. Para criar pageHandlers no modo de batch, utilize EGLCMD.

Para EGLCMD:

  1. Feche todas as instâncias da UI do workbench antes de executar o EGLCMD a partir de um prompt de comandos.
  2. Se você utilizar o assistente para criar o arquivo de comandos, não mova esse arquivo de comandos para outro diretório. O arquivo de comandos deve estar no espaço de trabalho que contém as partes utilizadas para geração de código pelo EGL.
  3. Utilize a opção -data para especificar o espaço de trabalho para o EGLCMD. Caso contrário, o EGL utilizará o espaço de trabalho padrão, que pode não ser o desejado.
  4. Ao gerar um pageHandler com EGLCMD, certifique-se de utilizar a opção do descritor de build genProject. Isso permite que o EGL manipule todas as informações de implementação do J2EE automaticamente.
  5. Se você utilizar o EGLCMD e a opção do descritor de build genDirectory para um projeto que não contenha componentes da Web, o EGL compilará os programas fora do workbench. Por esse motivo, o compilador Java (javac.exe) deverá estar no caminho do sistema e o código de geração Java do EGL (eglbatchgen.jar, no diretório bin do diretório de instalação) deverá estar no caminho de classe do sistema.
  6. Se você estiver gerando para o iSeries, também poderá ser necessário colocar xml.jar no caminho de classe (localizado em eclipse\jre\lib no diretório de instalação). Ter muitos itens no caminho de classe para EGLCMD também pode causar problemas, por isso, é aconselhável que se tenha apenas estes quatro arquivos no caminho de classe para gerar o iSeries: eglutil.jar, startup.jar, eglbatchgen.jar e   xml.jar.

4.2 Matrizes de qualquer Tipo de Registro para Geração de Java EGL

A partir da versão 6.0.1.1, é possível criar matrizes de qualquer tipo de registro, durante a geração de Java.  Se você gerar COBOL, a regra antiga continua valendo: é possível criar uma matriz apenas de registros Basic, SQL ou DLISegment.

4.3 Funções BLOB e CLOB Documentadas Incorretamente

 As seguintes funções foram documentadas incorretamente:

Estas funções "attach" associam uma variável (BLOB ou CLOB) a um recurso do arquivo (sistema de arquivos especificado ou temporário), mas não gravam o conteúdo da variável nesse recurso.   Toda associação anterior de memória ou de arquivo é liberada.  Operações subseqüentes, como a leitura de um banco de dados na variável, atualizarão o arquivo.

4.4 Não Há mais Preenchimento na Concatenação de Cadeias EGL

 Anteriormente, quando você incluía uma variável de cadeia com tamanho limitado em uma concatenação de cadeia EGL e itemsNullable era YES, o valor da variável era preenchido com espaços em branco até seu comprimento máximo.   Quando itemsNullable era NO, o preenchimento não era feito.  A partir da versão 6.0.1.1, o preenchimento não ocorrerá mais.

4.5 Não É Possível Utilizar o Crystal Reports para Criar Conexões JDBC com Produtos de Banco de Dados Baseados no z/OS e no iSeries

Não há suporte para a criação de conexões JDBC a partir do Crystal Reports com produtos de banco de dados baseados no z/OS e no iSeries.

4.6 Não É Possível Utilizar o Crystal Reports Embedded Designer Tool para Criar Conexões JNDI com a Origem de Dados do WebSphere Application Server

O WebSphere Application Server não suporta nenhuma ferramenta ou processo não pertencente ao processo para criar conexões JNDI com suas origens de dados no tempo de execução. Embora um cliente aplicativo J2EE possa ser configurado para funcionar com as origens de dados do WebSphere Application Server no tempo de execução, ele ainda não pode se beneficiar do suporte do conjunto de conexão disponível no tempo de execução do servidor de aplicativos.

O suporte do conjunto de conexão fica disponível quando uma ferramenta ou um processo interno do processo cria uma conexão JNDI com as origens de dados do servidor WAS. Essa alternativa de processo interno é utilizar o JRC (Java  Reporting Component) do Crystal Reports no código para criar conexões JNDI com as origens de dados do WAS.

4.7 Não Há Suporte para Gerar Crystal Reports a partir de Origens de Dados XML para Exibição no WebSphere Application Server v5.x.

 O driver XML do Crystal Reports requer que um servidor de aplicativos seja compatível pelo menos com o J2EE 1.4 e, portanto, não suporta o tempo de execução do Websphere Application Server  v5.x, que é compatível com o J2EE 1.3.
 

4.8 Comportamento do Informix® 4GL não Documentado para a Função GET_FLDBUF() não Suportada no Release 6.0.1.1

No Informix 4GL, a função GET_FLDBUF( ) retorna os valores de caracteres do conteúdo de um ou mais campos no formulário de tela atualmente ativo.  A função aceita valores de fieldNames, nomes de campos de registro de tela, nomes de campos de matriz de tela e nomes de campos de tabela de banco de dados.

Existe um recurso não documentado no Informix 4GL através do qual se você transmitir a função GET_FLDBUF() com um registro de tela, matriz de tela ou referência de tabela inexistente, o tempo de execução do 4GL ignorará isso e resolverá para a primeira instância de fieldName no formulário ativo atual.

Por exemplo, uma chamada de função como esta GET_FLDBUF(nonExistentReference.fieldName) em que "nonExistentReference" não pode ser resolvido por nenhum registro de tela, matriz de tela ou referência de tabela, o tempo de execução 4GL o resolverá como se a função tivesse transmitido apenas "fieldName", como este GET_FLDBUF(fieldName). Este comportamento não é suportado no release 6.0.1.1 RAD/RWD de EGL nem na Ferramenta de Conversão.

4.9 Alterações de Comportamento no Reconhecimento de Teclas de Função do Teclado EGL

Os aplicativos do VisualAge® Generator reconhecem 24 teclas de função (PF1 a PF24) bem como 3 teclas de ação (PA1 a PA3). A maneira como o usuário envia algumas dessas teclas em EGL foi alterada.


Para Teclas de Função de PF1 a PF12 -
    A funcionalidade continua a funcionar da mesma maneira que em releases anteriores.


Para Teclas de Função de PF13 a PF24 -
    No VisualAge, isso era realizado pressionando Alt e PF1 a PF12.

    No tempo de execução de GUI da EGL, isso é realizado pressionando Shift + PF1 a PF12.    NOTA:  esse método não funciona para o tempo de execução de Problemas da EGL.

    No tempo de execução de GUI ou de Problemas da EGL, isso também pode ser realizado pressionando Ctrl-S, em seguida, PF1 a PF12.


Para Teclas de Função de PA1 a PA3 -
    No VisualAge, isso era realizado pressionando Ctrl e PF1 a PF3.

    No tempo de execução da GUI da EGL, isso é realizado da mesma maneira.  NOTA: esse método não funciona para o tempo de execução de Problemas da EGL.

    No tempo de execução de GUI ou de Problemas da EGL, isso também pode ser realizado pressionando Ctrl-A, em seguida, PF1 a PF3.

Os aplicativos Informix 4GL reconhecem até 64 teclas de função. Atualmente, a EGL suporta 24 teclas de função, que o usuário pode enviar com os mesmos pressionamentos de teclas descritos anteriormente.


4.10 A Etapa de Pós-conversão do Descritor de Construção Não É Mais Necessária

O guia atual de Conversão de Informix para EGL descreve uma etapa de pós-migração que envolve a configuração do arquivo de descritor de construção para o projeto convertido.  Essa etapa não é mais necessária. Em vez disso, um arquivo de descritor de construção deve ser criado e utilizado para o espaço de trabalho.

A partir do release 6.0.1.1 da ferramenta de conversão, as propriedades "genProject" e "genDirectory" não serão geradas no arquivo do descritor de construção.   Com essa alteração, qualquer arquivo de descritor de construção gerado pela ferramenta de conversão pode ser utilizado como o descritor de construção padrão.

Para configurar o descritor de construção padrão para o espaço de trabalho, consulte a documentação da EGL em Ajuda > Conteúdo da Ajuda.

4.11 Alterações no Tempo de Execução de Problemas da EGL

Para resolver problemas de encadeamento Java  durante a comunicação com bibliotecas de problemas Unix não seguras em encadeamento,  o código de tempo de execução de Problemas da EGL foi aprimorado para fornecer um modelo de sincronização mais sólido.  Como resultado, novas bibliotecas de problemas de JNI estão disponíveis para funcionarem com o tempo de execução de Problemas da EGL 6.0.1.1.  Bibliotecas de problemas de JNI anteriores não funcionarão corretamente com este release 6.0.1.1.  Novas bibliotecas de problemas de JNI devem ser transferidas por download a partir do site de download da Rational.

4.12 Migrando Transações da Web do Gerador VA para EGL Utilizando um Diretório Temporário

Ao migrar programas de transações da Web do Gerador VA e Registros de UI para EGL, você não pode executar a migração do Estágio 2 / Estágio 3 para um diretório temporário.  Você deve migrar para um espaço de trabalho.

4.13 Faces Client Components - Evento onRowAdd Incluído no DataGrid

É possível designar valores padrão para os campos ao incluir uma nova linha no Faces Client Components DataGrid no tempo de execução e configurar o valor padrão como nulo.

Utilizar a rotina de tratamento de eventos onRowAdd permite que o novo EObject da nova linha seja interceptado antes de ser incluído no DataGrid:

  1.  Inclua o atributo onRowAdd na tag datagrid:
    <odc:dataGrid allowRowAddAndDelete="false" styleClass="dataGrid" showSelectionColumn="false" pageSize="10" id="dataGrid1" onRowAdd = "return myOnRowAddHandler( this, event);">
  2. Em seguida, você pode gravar qualquer JavaScript na rotina de tratamento ou utilizar a rotina de tratamento para configurar os atributos padrão no EObject da nova linha.  Essa rotina de tratamento será chamada quando o usuário tentar incluir uma nova linha no DataGrid.  Este exemplo de código configura o valor do campo AGE em um EObject de amostra como nulo:
    myOnRowAddHandler(thisObj, thisEvent) {
    //thisObj is DataGrid Control
    var objs = thisObj.Adapter.EObjects;
    objs[objs.length-1].eSet("AGE",null);
    }

5.0 Suporte ao Cliente

A home page do produto para o Rational Software Architect é www.ibm.com/software/awdtools/architect/swarchitect/. Para obter as Perguntas Mais Freqüentes, as listas de problemas conhecidos e correções e outras informações de suporte, visite a página de suporte em www.ibm.com/software/awdtools/architect/swarchitect/support/index.html.

6.0 Avisos e Marcas Registradas

©Direitos Autorais IBM Corporation 2004, 2005. Todos os Direitos Reservados.

A Documentação do XDoclet incluída neste produto IBM é utilizada com permissão e está coberta sob a seguinte atribuição de direitos autorais: Direitos Autorais (c) 2000-2005, XDoclet Team. Todos os Direitos Reservados.

Partes baseadas em Design Patterns: Elements of Reusable Object-Oriented Software, de Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides, Direitos Autorais (c) 1995 de Addison-Wesley Publishing Company, Inc. 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 Corporation.

Estas informações foram desenvolvidas para produtos e serviços oferecidos nos Estados Unidos. É possível que a IBM não ofereça os produtos, serviços ou recursos discutidos nesta publicação em outros países. Consulte um representante IBM local para obter informações sobre os produtos e serviços disponíveis atualmente em sua área. Qualquer referência a produtos, programas ou serviços IBM não significa que apenas produtos, programas ou serviços IBM possam ser utilizados. Qualquer produto, programa ou serviço funcionalmente equivalente, que não infrinja nenhum direito de propriedade intelectual da IBM, poderá ser utilizado em substituição a esse produto, programa ou serviço. Entretanto, a avaliação e verificação da operação de qualquer produto, programa ou serviço não-IBM são de responsabilidade do Cliente.

A IBM pode ter patentes ou solicitações de patentes pendentes relativas a assuntos tratados nesta publicação. O fornecimento desta publicação não garante ao Cliente nenhum direito 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

Para pedidos de licença relacionados a informações de DBCS (Conjunto de Caracteres de Byte Duplo), entre em contato com o Departamento de Propriedade Intelectual da IBM em seu país ou envie pedidos de licença, por escrito, para:

IBM World Trade Asia Corporation
Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106, Japan

O parágrafo a seguir não se aplica a nenhum país em que tais disposições não estejam de acordo com a legislação 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 OU CONDIÇÕES DE NÃO-INFRAÇÃO, COMERCIALIZAÇÃO OU 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 ao Cliente.

Estas informações podem incluir imprecisõ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, aperfeiçoar 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 esses Web sites. Os materiais contidos nesses Web sites não fazem parte dos materiais deste produto IBM e a utilização desses Web sites é de inteira responsabilidade do Cliente.

A IBM pode utilizar ou distribuir as informações fornecidas da forma que julgar apropriada sem incorrer em qualquer obrigação para com o Cliente.

Licenciados deste programa que desejam obter informações sobre este assunto 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 apropriadas, incluindo em alguns casos, o pagamento de uma taxa.

O programa licenciado descrito nesta publicação 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.

Todos os dados de desempenho aqui contidos 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 de nível de desenvolvimento e não há garantia de que estas medidas serão iguais em sistemas geralmente disponíveis. Além disso, algumas medidas podem ter sido estimadas por extrapolação. Os resultados reais podem variar. Os usuários deste documento devem verificar os dados aplicáveis para seu ambiente específico.

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 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. Dúvidas sobre os recursos de produtos não-IBM devem ser encaminhadas diretamente a seus fornecedores.

Todas as declarações relacionadas aos objetivos e intenções futuras da IBM estão sujeitas a alterações ou cancelamento sem aviso prévio e representam apenas metas e objetivos.

Estas informações contêm exemplos de dados e relatórios utilizados nas operações diárias de negócios. Para ilustrá-los da forma mais completa possível, os exemplos podem incluir 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.

LICENÇA DE DIREITOS AUTORAIS:

Estas informações contêm programas de aplicativos de exemplo na linguagem fonte, ilustrando as técnicas de programação em diversas plataformas operacionais. O Cliente pode copiar, modificar e distribuir estes programas de exemplo sem a necessidade de pagar à IBM, com objetivos de desenvolvimento, utilização, marketing ou distribuição de programas aplicativos em conformidade com a interface de programação do aplicativo para a plataforma operacional para a qual os programas de exemplo são criados. Esses exemplos não foram completamente testados em todas as condições. Portanto, a IBM não pode garantir ou implicar a confiabilidade, manutenção ou função destes programas.

Cada cópia ou parte destes programas de exemplo ou qualquer trabalho derivado deve incluir um aviso de direitos autorais com os dizeres:

© (nome da empresa) (ano). Partes deste código são derivados dos Programas de Exemplo da IBM Corp. © Direitos Autorais IBM Corp. 2004, 2005. Todos os Direitos Reservados.

Se você estiver visualizando estas informações em cópia eletrônica, as fotografias e ilustrações coloridas podem não aparecer.

Informações sobre a Interface de Programação

As informações sobre interface de programação destinam-se a facilitar a criação de software aplicativo utilizando este programa.

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

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

Aviso: Não utilize estas informações sobre diagnósticos, modificações e ajustes como uma interface de programação, pois elas estão sujeitas a alterações.

Marcas Registradas e Marcas de Serviço

Os termos a seguir são marcas registradas da International Business Machines 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.

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

Intel e Pentium são marcas ou marcas registradas da Intel Corporation ou de suas subsidiárias nos Estados Unidos e/ou em outros países.

UNIX é uma marca registrada do The Open Group nos Estados Unidos e/ou em outros países.

Linux é uma marca registrada de Linus Torvalds nos Estados Unidos e/ou em outros países.

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