IBM Rational Performance Tester Versão 6.1 - Notas sobre o Release
Índice
1.0 Sobre este Release
2.0 Informações sobre Instalação
3.0 Informações sobre Desinstalação
Limitações, Problemas e Soluções Alternativas
Conhecidas
5.0 Atualizações da Documentação
6.0 Entrando em Contato com o
Suporte ao Cliente
7.0 Sobre o Eclipse
1.0 Sobre este Release
Este release apresenta um novo design completo do produto IBM(R) Rational(R)
Performance Tester, que testa o desempenho do sistema. Nessa nova versão, o Performance Tester suporta o teste de aplicativos da Web para multiusuário e fornece aprimoramentos importantes relacionados à facilidade de uso, escalabilidade e suporte a várias plataformas. Ele é hospedado no Integrated Development Environment do Eclipse,
utilizando um mecanismo de execução com base
em Java.
Há dois componentes para o produto: Performance
Tester, que é instalado no computador local e o IBM Rational Agent Controller,
que gera carregamentos de computadores remotos. Quando instalado em um computador remoto, o Agent Controller executa um driver que emula usuários como parte de um teste de carregamento. Quando instalado no computador local, como parte do Performance Tester, o Agent Controller pode executar usuários emulados a partir do computador local.
2.0 Informação sobre Instalação
Para obter informações sobre a instalação e a configuração do Performance Tester,
consulte Instalando o IBM Rational Performance Tester.
Obtendo um Servidor de Licença
Antes de utilizar o Performance Tester para executar um teste de carregamento que consiste em mais de cinco usuários virtuais ou que contém protocolos específicos, você deve registrar a saída das chaves do IBM Rational Common License a partir de um IBM Rational License Server. Essas chaves de licença são compradas separadamente e instaladas em um sistema que executa o IBM Rational License Server. Você pode obter o servidor de licença a partir do site de download do Passport Advantage.
Requisitos de Memória
Não instale o Performance Tester em um sistema com menos de 768 MB de memória física. Se você prosseguir com a instalação, saiba que poderá ter baixo desempenho, travamentos do sistema devido à memória insuficiente, ou ambos, e que tal configuração não é suportada.
Depois do assistente de instalação ser concluído, ajuste o tamanho de heap da JVM de seu sistema.
Para fazer isso no Windows:
- Inicie o Performance Tester.
- Clique em Janela > Preferências.
- Expanda a árvore Teste e clique em Workbench de Teste de Desempenho.
- O tamanho de heap da JVM recomendado é exibido. Digite esse número no campo
Tamanho de Heap da Java Virtual Machine, em seguida, clique em OK.
2.1 Requisitos de Hardware
Consulte Instalando o IBM Rational Performance Tester para obter os requisitos de hardware.
2.2 Software Suportado
Os softwares a seguir são suportados:
Sistemas
operacionais
|
|
navegadores da Web
|
- Para o registro do teste de desempenho,
todos os navegadores da Web em conformidade com HTTP são suportados.
Para visualizar a ajuda on-line, os seguintes navegadores são suportados:
- Microsoft® Internet Explorer 6 com Service Pack 1.
- Microsoft Internet Explorer 5.5 com Service Pack 1 ou 2.
- Mozilla 1.6
|
Servidores de
aplicativos
|
- Todos os servidores em conformidade com HTTP são suportados como o destino do teste de desempenho.
|
O Rational ClearCase
LT está incluído com o Performance Tester. Consulte Instalando o IBM Rational Performance Tester para obter instruções sobre como instalar o Clear Case LT.Outros repositórios SCM (Software Configuration Management) podem ser integrados com o Performance Tester através de adaptadores de equipe SCM. Se você desejar trabalhar com outro provedor SCM, os adaptadores de equipe SCM para produtos SCM comerciais serão fornecidos pelos fornecedores desses produtos. Para localizar uma lista de produtos e adaptadores SCM fornecida pelos Parceiros de Negócios IBM, vá para www.ibm.com/software/ad/studioappdev/partners/scm.html.
A partir dessa lista, você pode acessar os Web sites do fornecedor do produto SCM para fazer download de um adaptador. A IBM não endossa ou garante esses adaptadores. Para obter suporte ou informações adicionais,
entre em contato diretamente com o fornecedor do produto SCM.
O Novell
LINUX Desktop desenvolvido no SUSE Linux 9 não é suportado.3.0 Informações sobre Desinstalação
Consulte Instalando o IBM Rational Performance Tester para obter informações sobre a desinstalação do Performance Tester.
4.0 Limitações, Problemas e Soluções Alternativas Conhecidas
As Notas sobre o Release incluem informações específicas do release (como problemas e limitações) que não foram disponibilizadas após a finalização da documentação do produto.
Para obter informações sobre problemas e soluções alternativas conhecidos no Eclipse base, consulte
o arquivo readme_eclipse.html
no subdiretório eclipse\readme
do diretório de instalação do produto. Essas informações estão disponíveis apenas em inglês.
4.1 Limitações
Problemas com Compartilhamento de Shell
Ao instalar outro produto IBM Rational Software Development Platform no mesmo sistema do
Performance Tester, é necessário executar o Rational Product Updater para que os outros produtos fiquem na versão mais recente disponível. Essa etapa assegura a operação adequada do Performance Tester e de outros produtos Rational.
Vários Aplicativos Acessando um Único Agent Controller
Evite ter vários aplicativos Performance Tester
localizados em computadores diferentes acessando simultaneamente um único
Agent Controller. Essa configuração pode produzir resultados de execução
de testes não-confiáveis.
Várias Instâncias do Performance Tester
Não tenha várias instâncias simultâneas do aplicativo Performance
Tester em um único desktop do sistema operacional. Isso pode resultar
em problemas de configuração do navegador e na execução de testes não-confiáveis.
Evitar o Caractere # na Nomenclatura de Artefatos de Teste
Não utilize o caractere # na nomenclatura de artefatos
de teste.
O uso desse caractere em um nome de artefato pode fazer com ele fique
inacessível ou corrompido.
Privilégios do Grupo de Usuários do Windows
Clientes que se registram em computadores Windows devem ter privilégios de Usuário Administrativo para utilizar o Performance Tester.
Mensagens de Erro Durante a Execução de um Teste ou Planejamento
Ocasionalmente, você poderá obter as seguintes mensagens de erro durante uma execução:
java.lang.RuntimeException:java.net.SocketException:Broken Erro de canalização interrompida ao planejar ativações
Para corrigir esse problema, reinicie o Agent Controller no computador que está encontrando esse problema.
Implementação do Planejamento Interrompida em 48%
Quando você ativa um planejamento, ele nunca começa a ser executado, a porcentagem permanece em 48% e nada é implementado nos Agent Controllers locais ou remotos.
Para corrigir esse problema, reinicie o Agent Controller no computador que está encontrando esse problema.
4.2 Problemas Conhecidos e
Soluções Alternativas
Criando Testes
Nomes de Arquivos Válidos ao Registrar um Teste
Quando você registra um novo teste de desempenho, o HTTP Proxy Recorder solicita um Nome de arquivo de registro.
Utilize apenas caracteres alfanuméricos nesse nome. Se você incluir um caractere ilegal, o botão Concluir permanecerá inativo.
Registrando Web Sites Locais
Ao registrar um teste a partir do Internet Explorer em um Web site local (um
Web site na LAN interna), a janela IWAT3040E Erro de Definições de Registro
poderá abrir com a seguinte mensagem:
Sua definição de configuração IE para Exceções do Servidor Proxy não é
suportada.
O registrador não suporta nenhum Proxy ou HTTP e Secure
Proxy.
Você pode obter uma mensagem similar com o Mozilla ou outro navegador da Web. O
problema é uma definição de configuração que impede o uso de proxies com Web sites
locais.
Para configurar o Internet Explorer a fim de que ele permita o uso de um proxy
com Web sites locais, inicie o Internet Explorer e faça o seguinte:
- Clique em Ferramentas > Opções da Internet.
- Na janela Opções da Internet, clique na guia Conexões.
- Clique em Definições de LAN.
- Marque Utilizar um servidor proxy para sua LAN.
- Limpe Ignorar servidor proxy para endereços locais.
- Clique em Avançado.
- Na área Exceções na parte inferior, inspecione o campo Não utilizar servidor proxy
para endereços que iniciam com. Remova qualquer cadeia de endereços que esteja bloqueando o
Web site que você está solicitando para registrar ou limpar o campo.
- Clique em OK para fechar a janela Definições de Proxy.
- Limpe Utilizar um servidor proxy para sua LAN.
- Clique em OK para fechar a janela Definições de LAN (Rede Local).
- Clique em OK para fechar a janela Opções da da Internet.
Se você obtiver uma mensagem de erro similar no Mozilla ou Netscape, a definição de
configuração que está causando o problema é o campo Nenhum Proxy para na janela
Proxies. Limpe esse campo ou remova o endereço
que está tentando registrar.
Erro "Impossível Criar Parte" com Datapools Importados
Os testes de desempenho (arquivos .testsuite) com associações de datapool poderão não abrir se o projeto-pai de teste de desempenho tiver sido importado e não ocorrer o mesmo com um projeto contendo o datapool associado. Um erro Impossível criar parte
é mostrado no editor de teste. A remoção de associações do datapool dentro de testes antes da exportação ou importação pode minimizar esse problema. No entanto, se você seguir as etapas no tópico da Ajuda "Copiando um Projeto para Outro Espaço de Trabalho", poderá evitar esse problema totalmente.
Editando Testes
A Renomeação de uma Classe de Código Personalizado Requer Refatoração do Java
A alteração do nome da classe java para uma ação de código personalizado no editor de teste não move nem refatora a classe para utilizar o novo nome.
A classe Java anterior continua contendo modificações que foram feitas no código personalizado gerado e a nova classe Java será gerada utilizando o nome de um gabarito fornecido no editor de teste.
Para alterar o nome da classe Java, primeiro refatore a classe Java para o novo nome, em seguida, edite o nome no editor de teste para que se refira essa classe.
O Código Personalizado Deve Estar Localizado no Pacote de Teste
Todo o código personalizado deve ficar localizado no pacote de teste no projeto de teste. Ele pode ser colocado em um subpacote de teste, mas o nome do subpacote deve estar em letras minúsculas (por exemplo, test.custom.VerifyID).
Representando Cargas de Trabalho
Editar Locais Apenas Através do Editor de Planejamento
Embora você possa criar um local clicando em Novo > Outro, em seguida, expandindo a árvore de teste até ver o ícone de local, essa prática não é recomendada. Um local criado por esse método não contém os atributos necessários para trabalhar em um planejamento. Para criar um local que trabalhe corretamente, siga as etapas no tópico da Ajuda "Executando Grupos de Usuários em um Local Remoto".
Executando Planejamentos ou Testes
Fuga de Memória no Workbench ao Executar Testes de Desempenho
Há uma fuga de memória associada à execução de um teste de desempenho.
Ao executar um grande número de testes, você deve reiniciar periodicamente o workbench do Performance Tester.
A Reprodução Pode Falhar Quando Testes Tentam Fazer Upload de Grandes Arquivos
Uma execução de teste ou de planejamento poderá falhar quando um teste tentar fazer upload de arquivos com mais de
500 KB. Isso ocorre porque o teste Java gerado excederá o tamanho máximo permitido
do arquivo de classe Java.
Para corrigir esse problema, divida o arquivo transferido por upload em partes menores.
Mensagem "Execução de Teste Abortada Devido a Erro" Quando um Aplicativo Requer um Reinício
Se você precisar reiniciar qualquer aplicativo individual, deverá reiniciar também todos os Agent Controllers e o computador local.
Esse reinício coletivo é necessário para reconfigurar as conexões de rede abertas criadas pelas execuções de planejamento ou
de teste.
Se você não executar um reinício coletivo de todos os Agent Controllers e o computador local, aparecerá a mensagem "Execução de teste abortada devido a erro".
O Cache de Cookie Deve Ser Limpo
Um cookie é uma parte da informação que um navegador da Web permite que o servidor da Web armazene localmente para manter informações de estado úteis entre páginas da Web ou sessões da Web. O cache de cookie é a memória dinâmica de todos esses estados.
O Performance Tester simula o cache de cookie do navegador da Web automaticamente.
Em determinadas situações, você poderá desejar que o Performance Tester limpe todos os cookies
que ele armazenou dinamicamente para um usuário virtual específico. Um exemplo é quando existe um loop
em torno da chamada de um teste. Se os cookies não precisarem ser lembrados
de uma iteração a outra, então, o usuário deverá indicar ao Performance Tester que limpe o cache de cookie do usuário virtual atual.
Para corrigir esse problema, uma API Java foi incluída para limpar o cache de cookie do usuário virtual atual. Inclua código personalizado no teste para chamar essa API e limpe o
cache de cookie quando o código personalizado for executado. Isso pode ser feito nas seguintes
etapas:
- Conforme explicado no tópico de ajuda "Incluindo Código Personalizado", inclua código personalizado no teste no local onde deseja que o cache de cookie
seja limpo. Por exemplo, no final do teste.
- Visualize o arquivo Java com código personalizado.
- Inclua a seguinte instrução de importação do Java:
Import com.ibm.rational.test.lt.execution.http.util.CookieCacheUtil;
- Inclua o seguinte código Java dentro do método exec:
CookieCacheUtil.clearCookieCache(log);
O exemplo a seguir mostra a inclusão de um código personalizado que limpa o cache
do cookie, com as linhas que você precisa incluir no gabarito do código personalizado
gerado mostradas em negrito:
package test;
import com.ibm.rational.test.lt.execution.http.util.CookieCacheUtil;
import com.ibm.rational.test.lt.kernel.logging.IKLog;
public class Class1111180036738 implements com.ibm.rational.test.lt.kernel.custom.ICustomCode {
public Class1111180036738() {
}
public String exec(IKLog log, String[] args) {
CookieCacheUtil.clearCookieCache(log);
return null;
}
}
Resolução de Erros do CodeGen
Determinadas condições podem resultar em erros CodeGen. Um erro CodeGen pode ter a forma de uma mensagem
Visualização de Erro Impossível Persistir
, uma mensagem Impossível Ativar
ou uma janela Ponteiro Nulo quando você executar um teste ou um planejamento. A alteração do arquivo .classpath e a remoção de determinadas origens Java
poderão resolver o problema.
Para alterar o arquivo .classpath:
- Na visualização Eclipse Navigator, abra o arquivo .classpath. Ela será semelhante ao seguinte:
<?xml version="1.0" encoding="UTF-8" ?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="C:/Program Files/IBM/Rational/SDP/6.0/rpt_prod/eclipse/plugins/com.ibm.rational.test.lt.core_6.1.0/core.jar"/>
<classpathentry kind="lib" path="C:/Program Files/IBM/Rational/SDP/6.0/rpt_prod/eclipse/plugins/com.ibm.rational.test.lt.datacorrelation.execution.http_6.1.0/datacorrelation.execution.http.jar"/>
<classpathentry kind="lib" path="C:/Program Files/IBM/Rational/SDP/6.0/rpt_prod/eclipse/plugins/com.ibm.rational.test.lt.kernel_6.1.0/kernel.jar"/>
...
Files/IBM/Rational/SDP/6.0/rpt_prod/eclipse/plugins/com.ibm.rational.test.lt.execution.http_6.1.0/execution.http.jar"/>
<classpathentry kind="lib" path="C:/Program Files/IBM/Rational/SDP/6.0/rpt_prod/eclipse/plugins/com.ibm.rational.test.lt.provider_6.1.0/provider.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
- Remova todas as linhas com
classpathentry kind="lib"
no início.
- Salve o arquivo.
- Para remover as origens Java:
- Na visualização Eclipse Navigator, abra todas as pastas que contêm arquivos como
text-string_hex-string.java
, em que a cadeia de texto contém o Teste ou o Planejamento e a cadeia hexadecimal longa varia. Por exemplo, MyTest_Test_C4B984B93C96709D96B4E6C0284611D9.java
.
- Exclua tais arquivos.
- Execute o teste ou o planejamento novamente. Os arquivos .classpath e .java serão recriados na forma adequada.
Avaliando Resultados
O Histórico de Execução Poderá Ficar Incompleto se a Execução Parar Repentinamente
Quando um teste de desempenho ou planejamento não puder ser executado até ser concluído, o histórico de execução poderá ficar incompleto. Isso pode ocorrer quando a execução é parada pelo usuário ou quando define-se um limite de tempo para o planejamento.
Quando isso ocorre, alguns eventos de parada (parada de planejamento, parada do grupo de usuários, parada do usuário virtual e assim por diante) e alguns eventos de lista de vereditos ficam ausentes do histórico de execução.>
O Histórico de Execução Poderá Ficar Incompleto Se Quantidades de Dados Extremamente Grandes Forem Registradas
A quantidade de dados registrados durante uma execução baseia-se nas duas definições de planejamento:
Nível de log do histórico de execução e Apenas histórico de execução de amostra de um subconjunto de usuários. Ao executar uma carga de trabalho grande, a quantidade de dados registrados pode ficar enorme, especialmente se o nível de log estiver definido para Pedido
ou Todos e não houver amostragem (portanto, todos os usuários serão registrados). Nesses casos, alguns eventos próximos ao final da execução
não são salvos no histórico de execução. Os tipos de eventos que podem ficar
ausentes geralmente são aqueles
contidos dentro de alguns testes executados. Você ainda deverá ver eventos
hierárquicos, incluindo eventos relacionados a planejamento, grupo de usuários e usuários.
Uma solução alternativa é fazer uma amostragem dos usuários. Isso geralmente é uma boa idéia quando você está emulando um grande número de usuários. Outra solução alternativa é manter o Nível de log do histórico de execução no nível Página.
O Histórico de Execução Pode Ficar Errado ao Fazer a Amostragem
O Performance Tester executa um ponto de verificação adicional para páginas que
falham ou produzem um erro. Esses pontos de verificação são requeridos para exibir
vereditos dentro do histórico de execução e são agregados nos contadores de estatísticas do total de pontos de verificação. Se a amostragem for ativada (o padrão), as páginas que falharem poderão ser excluídas. Se forem excluídas, os resultados de teste ficarão errados
porque o veredito global é Aprovar, embora algumas páginas tenham falhado.
A Exportação de Estatísticas de Execução Não Funcionará se o Caminho For Digitado Diretamente no Campo de Arquivo CSV
As estatísticas de execução do teste de desempenho não serão exportadas se você selecionar Arquivo > Exportar e digitar
o caminho diretamente no campo Arquivo CSV (sem clicar no botão Procurar).
A solução alternativa para esse problema é clicar no botão Procurar e procurar o local
no qual você deseja armazenar o arquivo; dê um nome ao arquivo e clique em OK.
A Conclusão da Execução Às Vezes É Indicada Bem Antes da Transferência de Dados Estar Concluída
No final de uma execução, o relatório de Desempenho poderá indicar que a execução está concluída antes da transferência de dados ter sido concluída. Nessa situação, a CPU estará quase saturada aparentemente sem explicação.
O teste real para ver se a transferência de dados foi concluída é abrir o histórico de execução. Quando um tempo de parada de execução for colocado no histórico de execução, então, a transferência de dados foi concluída.
Um Firewall no Computador Local Poderá Impedir o Retorno do Histórico de Execução
e dos Dados Estatísticos
O Performance Tester utiliza portas de rede para transmitir dados entre seus componentes.
Os firewalls de rede podem interromper essa operação e causar erros durante uma execução. Se você não puder ver o histórico de execução depois da execução ser concluída, isso poderá indicar um problema de firewall.
A maioria dos firewalls de rede permitem criar uma lista de exceções para aplicativos que não devem ter bloqueados o acesso de rede.
Para assegurar que a comunicação entre os componentes do Performance Tester fique ininterrupta, inclua
os seguintes aplicativos na lista de exceções. Se o firewall de rede for instalado apenas no Agent Controller, então apenas o segundo aplicativo listado para cada sistema operacional precisará ser incluído na lista.
Para Windows:
RPT_install_path\IBM\Rational\SDP\6.0\eclipse\jre\bin\javaw.exe
RPT_install_path\IBM\Rational\SDP\6.0\IBM_Agent_Controller\bin\RAService.exe
Para Linux:
RPT_install_path\IBM\Rational\SDP\6.0\eclipse\jre\bin\javaw RPT_install_path\IBM\Rational\SDP\6.0\IBM_Agent_Controller\bin\RAServer
Nota: O Microsoft Windows XP SP2 instala um firewall restritivo. Ele deve ser desativado e ajustado como indicado acima para permitir comunicação adequada entre os componentes do Performance Tester.
O Uso da CPU Atinge 100% Durante uma Execução
Durante execuções de teste que envolvem vários drivers de teste, a CPU da máquina local poderá ficar muito ocupada. Se você utilizar o intervalo de amostra estatístico padrão de 5 segundos para coletar resultados de teste, a CPU poderá ficar ocupada e o programa poderá falhar ao responder. Para corrigir esse problema, altere o intervalo de amostra para uma duração mais longa; de 30 segundos a 1 minuto. Isso permite que os dados que chegam sejam processados sem fazer com que a CPU atinja 100%.
Linux
A Variável de Ambiente MOZILLA_FIVE_HOME Deve Ser Definida
Se você estiver executando o Performance Tester no Red Hat Linux, deverá definir a variável de ambiente
MOZILLA_FIVE_HOME
. Se você não definir essa variável, a ajuda on-line não será exibida corretamente, os detalhes da execução não serão exibidos na visualização Dados do Protocolo e você encontrará outros problemas.
Para definir essa variável de ambiente, inclua as seguintes linhas em shortcut_rpt
(no diretório de instalação, /opt/IBM/Rational/SPD
por padrão):
MOZILLA_FIVE_HOME=/usr/lib/mozilla-1.4.3
export MOZILLA_FIVE_HOME
O Cliente de Licença Não Pode Analisar o Arquivo de Informações do Servidor de Licença
Ao executar no Linux, as informações do servidor de licença são colocadas no arquivo
$HOME/.flexlmrc
. Se esse arquivo contiver um EOF, em vez de um retorno de carro ou alimentação de linha, o cliente da licença não poderá analisar o arquivo. Para corrigir esse problema, certifique-se de que um retorno de carro ou alimentação de linha marque o final do arquivo.
Usuários Normais Não Poderão Remover o Espaço de Trabalho se o Agent Controller For Executado como Raiz
Quando o Agent Controller é iniciado pelo usuário root, esse usuário passa a possuir os arquivos que são criados para ativar a execução do Performance Tester. Se o workbench e o Agent Controller estiverem localizados na mesma máquina Linux e o Agent Controller tiver sido iniciado pelo usuário root, os arquivos serão criados em um diretório do espaço de trabalho que poderá ser excluído apenas pelo usuário root.
5.0 Atualizações de Documentação
A home page do produto e o IBM
developerWorks têm seções Biblioteca
que fornecem atualizações para documentos de tutorial e outras documentações.
A zona do IBM Rational em www.ibm.com/developerworks/rational
oferece artigos técnicos, informações "como fazer para", tutoriais, amostras e visualizadores de nova tecnologia.
6.0 Entrando em Contato com o Suporte a Clientes
Consulte a seção "Resolução de Problemas e Suporte" da ajuda on-line para obter informações sobre como entrar em contato com o IBM Software Support.
A home page do produto para o Performance Tester é www.ibm.com/software/awdtools/rationalappdev.
Para FAQs, listas de problemas conhecidos, correções e outras informações de suporte, visite
a página Suporte na home page do produto.
7.0 Sobre o Eclipse
O Eclipse ‚ um projeto de código aberto que cria tecnologia sem direitos autorais e uma plataforma
universal para integração de ferramentas. As ferramentas baseadas no Eclipse fornecem aos desenvolvedores a liberdade de
escolha em um ambiente de várias plataformas e várias linguagens. O Eclipse fornece uma estrutura para
desenvolver plug-ins que facilitam a criação, integração e utilização das ferramentas de software.
Colaborando com, e compartilhando, a tecnologia de integração de núcleo, os produtores de ferramentas
podem concentrar-se em suas reas de conhecimento e na criação da nova tecnologia de desenvolvimento.
A plataforma Eclipse ‚ gravada na linguagem JavaTM e fornecida com extensivos
toolkits e exemplos para plug-ins de construção. Ela já foi implementada em uma
variedade de ambientes de sistema operacional, incluindo sistemas baseados em Linux,
MAC OS X, QNX e Windows. Detalhes completos da comunidade Eclipse e white papers
que documentam o design da plataforma Eclipse estão disponíveis em
www.eclipse.org.
Ferramentas de Plug-ins de Outros Fornecedores, também construídas utilizando a plataforma Eclipse de código aberto, integram-se
ao ambiente Rational para fornecer valor adicional.
Copyright e Avisos