Avançar para a área de conteúdo

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Todas as informações enviadas são seguras.

  • Fechar [x]

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Todas as informações enviadas são seguras.

  • Fechar [x]

Realize um teste de carregamento do FileNet Content Engine usando o IBM Rational Performance Tester

Venumadhav Vanagondi, Software Performance Analyst, IBM
Photo of Venumadhav Vanagondi
Venumadhav Vanagondi tem mais de cinco anos de experiência como analista de desempenho de software. Ele trabalhou com diversos clientes IBM na solução de problemas de desempenho e é especialista no uso de ferramentas de estimativa, teste e monitoramento de desempenho. Ele possui um mestrado em ciência da computação pelo Indian Institute of Technology Madras.
Sanjay Singh, Cognos System Software Engineer, IBM
Sanjay Singh tem aproximadamente 12 anos de experiência em design e desenvolvimento de softwares corporativos escaláveis e de alto desempenho para gerenciamento de conteúdo, telecomunicações e finanças. Ele trabalha com a IBM há cinco anos e é um membro senior da equipe ECM no IBM India Software Lab. Sanjay possui um bacharelado em tecnologia pela Indian Institute of Technology Kanpur.
Sandeep Vedula, Associate Software Engineer, IBM
Sandeep Vedula tem aproximadamente três anos de experiência com desenvolvimento de software para gerenciamento de conteúdo, aprendizado on-line e gerenciamento da cadeia de fornecimento. Ele trabalha com a IBM há dois anos, na equipe ECM. Sandeep possui um mestrado em inteligência artificial pela Central University, Hyderabad.

Resumo:  Este artigo explica como configurar o IBM Rational Performance Tester para realizar um teste de carregamento da funcionalidade de edição de documentos do IBM FileNet Content Engine. Essa abordagem tem base no aprendizado de uma referência de cliente que visou grandes volumes de conteúdo, nos quais o Rational Performance Tester foi usado pela primeira vez para simular a funcionalidade de edição de documentos. Este artigo é particularmente útil para desenvolvedores de software e testadores que estão tentando avaliar o desempenho do FileNet Content Engine.

Data:  02/Fev/2012
Nível:  Introdutório Também disponível em :   Inglês
Atividade:  674 visualizações
Comentários:  


Introdução ao processo

O software IBM® FileNet® P8 ajuda as empresas com o armazenamento e recuperação de conteúdo, automação de processo de negócio e gerenciamento de caso. O FileNet Content Engine é o componente principal do conjunto IBM FileNet ECM para gerenciamento de conteúdo de nível corporativo. Entre as diversas tarefas executadas pelo sistema FileNet P8, ele trabalha como um sistema de gerenciamento de documentos bastante robusto. Um usuário interage com o FileNet Content Engine through Workplace, um aplicativo Java Enterprise Edition (JEE) que fornece uma interface da web para o FileNet Content Engine.

Em sistemas de gerenciamento de conteúdo, a edição de documentos é uma das tarefas principais. No FileNet Content Engine, a edição é executada por meio da seguinte sequência de ações:

  1. Efetue o registro de saída do documento até um sistema de arquivos local a partir do servidor (análogo ao download do documento).
  2. Edite e salve o documento usando um editor de documentos localmente.
  3. Retorne o documento ao servidor do Content Engine (análogo ao upload do documento).

Em um sistema de gerenciamento de conteúdo, as atividades de registro de entrada e de saída constituem o básico do carregamento no sistema. Portanto, o teste do FileNet Content Engine para o registro de entrada e de saída do documento se torna crítico ao avaliar o desempenho geral do sistema.

Neste artigo, descrevemos um método que configura o IBM® Rational® Performance Tester para testar o carregamento do FileNet P8 Content Engine.

As etapas a seguir estão envolvidas na configuração do Rational Performance Tester para o teste de carregamento do processo de edição de documentos do FileNet P8 Content Engine.

  1. Crie o script de teste.
  2. Defina os parâmetros do script de teste a fim de adicionar variabilidade ao teste de carregamento.
  3. Modifique o script de teste para obter a execução correta.
  4. Crie um planejamento e execute o teste de carregamento.

As ações a seguir descrevem essas etapas com detalhes.


Crie o script de teste

Crie um script de teste no Rational Performance Tester:

  1. Abra o ambiente de trabalho do Rational Performance Tester.
  2. Crie um novo projeto de teste de desempenho.

Após a criação do projeto, você será solicitado a criar um novo script de teste a partir de uma gravação.

  1. Na janela pop-up, selecione RPT HTTP Recording como o tipo de gravador. Dê um nome apropriado ao teste e inicie a gravação.

O Rational Performance Tester abrirá o navegador padrão, Microsoft Internet Explorer, para capturar as solicitações.

  1. Acesse o aplicativo Workplace , execute as ações necessárias no navegador e pare a gravação fechando o navegador.

Isos gerará o script de teste com as solicitações HTTP correspondentes a essas ações.

Dica:
dê nomes significativos às solicitações HTTP no script de teste. A partir do Rational Performance Tester v8.1, é possível usar o ícone (página em branco com um lápis azul, circulado na Figura 1) na barra de ferramentas Recorder Test Annotation para dar nomes apropriados às solicitações, enquanto grava um script de teste.


Figura 1. Barra de ferramentas Recorder Test Annotation

Observação:
capture as ações relacionadas às operações de registro de entrada e de saída no mesmo script de teste. Essa abordagem facilita a incorporação da lógica de script, que garantirá que um usuário tenha permissão para realizar somente uma operação de entrada em um documento para o qual já tenha realizado o registro de saída.

As ações a seguir devem ser executadas durante a gravação do script de teste no Rational Performance Tester:

  1. Acesse o Workplace digitando o URL relevante no navegador, por exemplo:
    http://testhost:9080/Workplace
  2. Efetue login no Workplace com as credenciais de usuário relevantes.
  3. Vá até a pasta que contém os documentos selecionando o armazenamento de objetos relevante a partir da página inicial.
  4. Para realizar o registro de saída de um documento, selecione-o e clique com o botão direito do mouse para acessar o menu de operações e selecione a operação Check Out .
  5. Na nova janela do navegador que é aberta, faça o download do documento retirado e feche a janela.
  6. Edite o documento transferido por download.
  7. Para efetuar o registro de entrada do documento modificado, selecione o documento retirado, clique com o botão direito do mouse para acessar o menu de operações e selecione a operação Check In .
  8. No assistente de registro de entrada aberto, execute estas ações:
    1. Na etapa Set Properties, ative o registro de entrada como a versão principal e use os valores padrão para todas as outras propriedades.
    2. Na etapa Set Security, use as políticas de segurança padrão.
    3. Na etapa Select File, use a opção Local File para procurar e localizar o documento modificado e clique em Finish.
    4. Clique em OK para confirmar as mudanças. Isso fechará o assistente e efetuará o registro de entrada do documento.
  9. Efetue o logout do Workplace.

Defina parâmetros do script de teste

É necessário variar o ID da série da versão na solicitação de registro de saída a fim de permitir que o script de teste funcione com documentos diferentes.

A versão mais recente do documento é sempre aquela que será retirada. O script de teste usará o ID da série da versão como uma referência em vez da versão mais recente do documento. O FileNet P8 Content Engine muda a referência do ID da série da versão para a versão mais recente do documento e, em seguida, efetua o registro de saída desse documento.

  1. Crie um datapool no Rational Performance Tester com os IDs de série da versão de documentos diferentes na pasta e no armazenamento de objetos respectivos.
  2. É possível usar o fragmento de código Java da Listagem 1 para recuperar esses valores dos respectivos objetos de documento usando a API do cliente FileNet P8 Content Engine.

Listagem 1. Código para recuperar os IDs de série da versão
public Connection getConnection(String host, String port){
        //Build the FileNet connection URL
String filenetUrl = "http://" + host + ":" + port + "/wsi/FNCEWS40MTOM/";

 //Return the Connection to the caller
 return Factory.Connection.getConnection(filenetUrl);
}

public void getDocAttributes(String host, String port, String userid,
 String passwd, String objStoreName, String folderPath)
{

 //FileNet P8 Admin user name and password
 String userName = userid;
 String password = passwd;
 boolean userPushed = false;

 try{
 /* Establish connection with the FileNet P8 Content Engine Server based
 * on host and port details
 */
 Connection conn = getConnection(host,port);
 Subject loginUser = UserContext.createSubject(conn,userName,
 password,"FileNetP8WSI");
 UserContext.get().pushSubject(loginUser);
 userPushed = true;

 //Access the Domain and ObjectStore information
 Domain gcd = Factory.Domain.fetchInstance(conn,null,null);
 String domainName = gcd.get_Name();
 ObjectStore objStore = Factory.ObjectStore.fetchInstance(gcd,objStoreName, null);

 /* Fetch the folder object that contains the documents
 * Get the document set in the folder and iterate
 */
 Folder folder = Factory.Folder.fetchInstance(objStore, folderPath, null);
 DocumentSet docSet = folder.get_ContainedDocuments();
 Iterator iter = docSet.iterator();
 Document currentDoc = null;
 String docTitle = null;
 String docId = null;
 String docVersionId = null;
 int majorVersion = -1;
 int minorVersion = -1;
 int versionStatus = -1;
 Versionable currentVersion = null;

 // versionid represents the version series id
 System.out.println("doctitle,docid,versionid,majorversion,minorversion,
 versionstatus");

 //Retrieve the document properties from the current document object
 while (iter.hasNext()){
 currentDoc = (Document)iter.next();
 docTitle = currentDoc.get_Name();
 docId = currentDoc.get_Id().toString();
 currentVersion = currentDoc.get_CurrentVersion();
 majorVersion = currentVersion.get_MajorVersionNumber();
 minorVersion = currentVersion.get_MinorVersionNumber();
 docVersionId = currentVersion.get_VersionSeries().get_Id().toString();
 versionStatus = currentVersion.get_VersionStatus().getValue();
 System.out.println(docTitle + "," + docId + "," + docVersionId + ","+
 majorVersion + "," + minorVersion + "," + versionStatus);
 }
 }finally{
 if(userPushed)
 UserContext.get().popSubject();
 }
}

A Figura 2 mostra a solicitação de registro de saída no script de teste que contém o ID da série da versão.


Figura 2. Solicitação de registro de saída com o ID da série da versão

Na solicitação de registro de saída, a variável vsId representa o ID da série de versão (consulte a Figura 3 com os detalhes da solicitação de registro de saída).

  1. Substitua o valor dessa variável pelo datapool que contém os IDs de série da versão de documentos diferentes.

Figura 3. Detalhes da solicitação de registro de saída

Dica:
para adicionar mais variação aos testes de carregamento, é possível variar os valores das credenciais de usuário, armazenamento de objeto e detalhes relacionados à pasta no script de teste.


Modifique o script de teste

A operação de registro de entrada é sempre realizada na versão de reserva do documento (a versão de reserva indica uma versão retirada, mas que ainda não passou pelo registro de entrada). Para que a operação de registro de entrada funcione corretamente, o ID do documento retirado deve ser usado como dado de entrada para a solicitação de registro de entrada. Para garantir isso, é possível usar o recurso de código personalizado no Rational Performance Tester a fim de analisar e recuperar o ID do documento a partir de uma URL na resposta da solicitação de registro de saída.

No script de teste, a resposta da solicitação de registro de saída que contém o argumento para o código personalizado é exibida na Figura 4.


Figura 4. Resposta do registro de saída que contém o argumento para o código personalizado

A Listagem 2 mostra a URL que contém o ID do documento retirado recentemente na resposta da solicitação de registro de saída. Essa URL deve ser passada como um argumento para o código personalizado.

Listagem 2. Detalhes da URL

http://jaltarang.in.ibm.com:9080/Workplace/getContent?mode=download&objectType=document&id={753DFAA1-3EE5-4C44-89E3-51DEFFB7E371}&objectStoreName=mcs1db2&returnUrl=http%3A%2F%2Fjaltarang.in.ibm.com%3A9080%2FWorkplace%2FWcmCloseWindow.jsp%3Fop%3Dcheckout%26refreshUrl%3Dhttp%253A%2F%2Fjaltarang.in.ibm.com%253A9080%2FWorkplace%2FBrowse.jsp%253FwindowId%253DmainWindow%26eventName%3DStateChanged

A Listagem 3 mostra o fragmento de código customizado para análise e recuperação do ID do documento.


Listagem 3. Código para análise e recuperação do ID do documento
public String exec(ITestExecutionServices tes, String[] args)
{
 int startIndex = args[0].indexOf("id=") + 3;
 int endIndex = startIndex + 38;
 tes.getTestLogManager().reportMessage(args[0].substring(startIndex,endIndex));
 return args[0].substring(startIndex,endIndex);
}

A solicitação de registro de entrada no script de teste que contém o ID do documento é exibida na Figura 5.


Figura 5. Solicitação de registro de entrada com o ID do documento

Na solicitação do registro de entrada, a variável id representa o ID do documento (consulte a Figura 6). O valor dessa variável deve ser substituído pelo valor retornado pelo código personalizado.


Figura 6. Detalhes da solicitação de registro de entrada

Observação:
para adicionar mais variedade aos testes de carregamento, também é possível variar o conteúdo do documento que passa pelo registro de entrada. O Rational Performance Tester v8.1.1 e mais recente tem uma funcionalidade integrada para fazer isso. Consulte o IBM TechNote intitulado "Rational Performance Tester: Substituting request content from a file" (citado na seção Recursos ) para obter mais informações.


Crie um planejamento e execute o teste de carregamento

  1. Após a modificação do script de teste, crie um planejamento no Rational Performance Tester.
  2. Adicione o script de teste a esse planejamento.
  3. Especifique o número necessário de usuários e a taxa de crescimento, e execute o teste com a duração necessária.

Importante:

É importante executar a operação cancel checkout em todos os documentos relevantes após a execução de um teste de carregamento. Na maioria dos cenários, após a conclusão de um teste de carregamento, grande parte dos usuários virtuais saem sem executar todas as ações contidas no script de teste. Isso resulta em muitos documentos com o estado de retirado. A próxima iteração do teste de carregamento reportará muitos erros, caso essa atividade de limpeza não seja executada. É possível usar o fragmento de código Java exibido na Listagem 4 para automatizar a execução da operação cancel checkout nos documentos.


Listagem 4. Código para automatizar a operação cancel checkout
public void deleteReservation(String host, String port, String userid,
 String passwd, String objStoreName, String folderPath)
{
 //FileNet P8 Admin user name and password
 String userName = userid;
 String password = passwd;
 boolean userPushed = false;

 try{
 /* Establish Connection with the FileNet P8 Content Engine Server
 * based on host and port details
 */
 Connection conn = getConnection(host,port);
 Subject loginUser = UserContext.createSubject(conn,userName,
 password,"FileNetP8WSI");
 UserContext.get().pushSubject(loginUser);
 userPushed = true;

 Domain gcd = Factory.Domain.fetchInstance(conn,null,null);
 String domainName = gcd.get_Name();

 //Fetch Object store, Folder and document set in the folder
 ObjectStore objStore = Factory.ObjectStore.fetchInstance(gcd,objStoreName, null);
 Folder folder = Factory.Folder.fetchInstance(objStore, folderPath, null);
 DocumentSet docSet = folder.get_ContainedDocuments();
 Iterator iter = docSet.iterator();
 Document currentDoc = null;

 /* Iterate through the document set, run cancel check out on the documents
 * and save the changes
 */
 while (iter.hasNext())
        {
currentDoc = (Document)iter.next();
 docTitle = currentDoc.get_Name();
 VersionSeries vs = currentDoc.get_VersionSeries();
 if(vs.get_IsReserved ())
 {
 Document resv = (Document) vs.get_Reservation();
 Versionable versionable = resv.cancelCheckOut();
 ((Document)versionable).save(RefreshMode.NO_REFRESH);
 System.out.println("reservation deleted for docTitle:" + docTitle);
 }
 }
 }finally{
 if(userPushed)
 UserContext.get().popSubject();
 }
}


Use este processo com outros aplicativos

O artigo o orientou pelas etapas de configuração do IBM Rational Performance Tester para realização de um teste de carregamento a funcionalidade de edição de documentos do FileNet Content Engine. Embora o foco tenha sido o Rational Performance Tester, os principais conceitos e os artefatos incluídos neste artigo podem ser usados com outras ferramentas de teste de carregamento.


Recursos

Aprender

Obter produtos e tecnologias

Discutir

Sobre os autores

Photo of Venumadhav Vanagondi

Venumadhav Vanagondi tem mais de cinco anos de experiência como analista de desempenho de software. Ele trabalhou com diversos clientes IBM na solução de problemas de desempenho e é especialista no uso de ferramentas de estimativa, teste e monitoramento de desempenho. Ele possui um mestrado em ciência da computação pelo Indian Institute of Technology Madras.

Sanjay Singh tem aproximadamente 12 anos de experiência em design e desenvolvimento de softwares corporativos escaláveis e de alto desempenho para gerenciamento de conteúdo, telecomunicações e finanças. Ele trabalha com a IBM há cinco anos e é um membro senior da equipe ECM no IBM India Software Lab. Sanjay possui um bacharelado em tecnologia pela Indian Institute of Technology Kanpur.

Sandeep Vedula tem aproximadamente três anos de experiência com desenvolvimento de software para gerenciamento de conteúdo, aprendizado on-line e gerenciamento da cadeia de fornecimento. Ele trabalha com a IBM há dois anos, na equipe ECM. Sandeep possui um mestrado em inteligência artificial pela Central University, Hyderabad.

Ajuda para Relatar Abuso

Relatar abuso

Obrigado. Esta entrada foi sinalizada para atenção do moderador.


Ajuda para Relatar Abuso

Relatar abuso

Falha no envio do Relatório de abuso. Tente novamente mais tarde.


developerWorks: Registre-se


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Selecione seu nome de exibição

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

(Deve possuir de 3 a 31 caracteres.)


Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Classificar este artigo

Comentários

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Rational
ArticleID=790654
ArticleTitle=Realize um teste de carregamento do FileNet Content Engine usando o IBM Rational Performance Tester
publish-date=02022012

Conheça a IBM da sua cidade

Virtual Branch Office Brasil

A IBM está mais perto do que você imagina!


Tags

Help
Use o campo de pesquisa para encontrar todos os tipos de conteúdo no My developerWorks com essa tag.

Use a barra de rolagem para ver mais ou menos tags.

Tags populares mostra as principais tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Minhas tags mostra suas tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Use o campo de pesquisa para localizar todos os tipos de conteúdo no Meu developerWorks com essa tag. Tags populares mostra as tags principais para essa zona de conteúdo particular (por exemplo, tecnologia Java, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere). Minhas tags mostra as suas tags para essa zona de conteúdo em particular (por exemplo, tecnologia Java, Linux, WebSphere).