Conteúdo


Usando o IBM Rational Team Concert para o System z e a plataforma Jazz

Parte 2. Integrando o IBM Rational Developer para System z com o IBM Rational Team Concert para System z para obter valor agregado

Comments

Conteúdos da série:

Esse conteúdo é a parte # de # na série: Usando o IBM Rational Team Concert para o System z e a plataforma Jazz

Fique ligado em conteúdos adicionais dessa série.

Esse conteúdo é parte da série:Usando o IBM Rational Team Concert para o System z e a plataforma Jazz

Fique ligado em conteúdos adicionais dessa série.

Para um projeto de desenvolvimento de aplicativo ter sucesso, os desenvolvedores precisam empregar ambas as ferramentas de construção e de gerenciamento de ciclo de vida de aplicativo. As ferramentas de construção, tais como integrated development environments (IDEs) fornecem ferramentas de produtividade do desenvolvedor, tais como editores inteligentes, validadores, emuladores e depuradores. As ferramentas de gerenciamento de ciclo de vida de aplicativo fornecem gerenciamento de planejamento e troca, controle de versão de fonte, gerenciamento de montagem (construção) e outras ferramentas que permitem que as equipes de desenvolvedores trabalhem em conjunto.

Contudo, as equipes de desenvolvimento de aplicativo de plataforma cruzada que estão distribuídas globalmente têm mais dificuldades, pois a maioria das ferramentas de construção e gerenciamento de ciclo de vida de aplicativo se especializam no suporte de plataformas ou tecnologias específicas. Tais equipes são frequentemente divididas em silos com base na tecnologia, plataforma ou localização geográfica. O motivo para esta divisão é que as ferramentas que utilizam em suas tarefas diárias são diferentes e não são projetadas para trabalhar com as ferramentas que a outra equipe pode estar usando.

Com os últimos releases do IBM® Rational® Developer para o System z® (doravante referido como "Rational Developer") e do IBM® Rational Team Concert™ para o System z® (doravante "Rational Team Concert"), o software IBM Rational está fornecendo uma solução holística que trata das necessidades de construção e de gerenciamento de ciclo de vida de aplicativo dessas equipes de desenvolvimento de aplicativo de plataforma cruzada distribuídas globalmente.

O Rational Developer fornece as ferramentas de construção para desenvolvedores de todas as camadas do aplicativo (seja ela Java™, Web ou COBOL e IBM® CICS®) e resulta em uma experiência de usuário comum para todos os desenvolvedores. O Rational Team Concert fornece um repositório comum com ferramentas de suporte para criar e gerenciar planos, itens de trabalho, versões dos vários tipos de membros fonte exigidos em aplicativos de plataforma cruzada, construções e montagem de vários tipos de membros fonte, bem como o fornecimento de decretação de política de processo, coleta rica de métrica de saúde do projeto, feeds do evento e transparência. Além disso, há muitos outros recursos de desenvolvimento colaborativo que deixam os desenvolvedores muito mais em sintonia com o concerto do qual fazem parte.

Este artigo demonstra como os dois produtos foram projetados para trabalharem em conjunto para ajudar a equipe de aplicativo de plataforma cruzada a informar, planejar, diagnosticar, consertar, construir e reimplementar um conserto de um problema crítico encontrado por um cliente, de forma colaborativa.

Contexto

Nossa história trata de uma equipe de desenvolvimento distribuída globalmente que, entre outras coisas, é responsável pela manutenção de um aplicativo de pagamento de hipoteca de plataforma cruzada. A lógica de negócios do aplicativo está em um conjunto de módulos de programa CICS. Este aplicativo também tem uma interface de usuário Web baseada em Java funcionando no IBM® WebSphere® Application Server que invoca a transação CICS através de uma chamada de serviço Web. Todos os membros fonte do aplicativo são gerenciados no repositório de controle de fonte do Rational Team Concert. Os membros da equipe de desenvolvimento usam um ambiente de desenvolvimento baseado em Eclipse onde foram instalados ambos os clientes Rational Developer Rational Team Concert (isto é referido como compartilhamento de shell). Usam os itens de trabalho do Rational Team Concert para rastrear problemas e alterar o gerenciamento e a infraestrutura de construção do Rational Team Concert para suas necessidades de construção e implementação de plataforma cruzada. Além disso, o painel do projeto Rational Team Concert oferece ao proprietário do produto total visibilidade do progresso e saúde do projeto. As figuras 1 e 2 ilustram as estruturas do aplicativo e da equipe.

Figura 1. Estrutura do aplicativo de hipoteca de plataforma cruzada

Vista ampliada da Figura 1.

Figura 2. Estrutura da equipe do aplicativo de hipoteca

Defeito informado por cliente

Scott, proprietário do produto, recebe uma chamada de um cliente que informa receber uma resposta incorreta do portal de serviço de hipoteca da empresa: um pagamento mensal calculado de US$0,72 por um empréstimo de R$300.000 de 30 anos com uma taxa fixa de hipoteca de 5,75%. Scott verifica imediatamente o problema e abre um item de trabalho de defeito no repositório do Rational Team Concert (Figura 3) e então o atribui ao desenvolvedor Web, Dave, para investigar. Scott usa a ferramenta de captura de tela do Rational Team Concert para anexar uma foto da tela da falha no item de trabalho.

Figura 3. Defeito usado para rastrear a investigação e reparar o problema

Vista ampliada da Figura 3.

Usando um recurso Team Debug para diagnosticar o problema

Dave recebe um e-mail informando que um novo defeito crítico lhe foi atribuído. Também o visualiza em sua caixa de entrada de item de trabalho em seu cliente Rational Team Concert. Ele carrega o componente que contém o aplicativo Web em relação ao qual foi informada a falha em seu ambiente de desenvolvimento a partir do repositório do Rational Team Concert e inicia o sistema de teste do WebSphere Application Server no modo de depuração, especificando os parâmetros que foram capturados na tomada de tela. Ele reproduz o problema e rastreia a falha até chegar aos valores apresentados na chamada de serviço CICS Web.

Figura 4. Vista de depuração de aplicativo Web UI mostra falha

Vista ampliada da Figura 4.

Percebendo que é provável que o código CICS COBOL causou este defeito, Dave usa o recurso "Drop to frame" no depurador para reposicionar a sessão de depuração à linha logo antes da chamada de serviço Web. Ele converte este sessão de depuração para uma sessão de depuração de equipe, escolhendo a ação "Share with team repository" do menu de contexto. Por último, escolhe "Park Debug Session" no menu de contexto para permitir que outros continuem a depuração a partir de onde deixou.

Realocando o defeito no Rational Team Concert

Dave adiciona um comentário ao item de trabalho, mencionando a sessão de depuração paralisada e a atribui a Steven, desenvolvedor CICS.

Steven visualiza o item de trabalho que Dave atribuiu a ele e encontra a sessão de Depuração de Equipe que Dave paralisou para ele. Arrasta o item de trabalho ao corte de seu item de trabalho atual na barra de status em seu ambiente de desenvolvimento, de modo que quaisquer alterações que fizer sejam associadas automaticamente a este item de trabalho. Ele visualiza exatamente a mesma coisa que Dave - o serviço Web COBOL retorna o valor errado do cálculo. Ele suspeita que o problema não está relacionado ao conversor COBOL gerado para o serviço Web, mas que os programas COBOL CICS estão corrompidos.

Depuração do aplicativo COBOL CICS

Steven usa o recurso de Depuração para rastrear e depurar o código. Ele entra na Ferramenta IBM Debug para configurar um perfil DTCN e o ativa. Isto permite que ele depure o aplicativo COBOL CICs funcionando na região de teste CICS:

Figura 5. Ativar o perfil de depuração CICS

Com o perfil de depuração ativado, Steven inicia a sessão de depuração no Rational Developer, rastreia o código e descobre que, embora o cálculo seja executado corretamente, a variável usada para armazenar o valor calculado EPSPDATA-RETURN-MONTH-PAYMENT está declarada incorretamente. Isto leva a um truncamento do pagamento calculado.

Figura 6. Depuração do aplicativo CICS

Vista ampliada da Figura 6.

Figura 7. Ilustração da falha

Vista ampliada da Figura 7.

Usando o Rational Team Concert com o Rational Developer para edição de aplicativos IBM z/OS

Para reparar este problema, Steven vai até a visualização do Repositório da Equipe, localiza o componente em que as partes de fonte COBOL estão armazenadas para este aplicativo de cálculo de hipoteca e executa uma ação "Carregar zFiles para z/OS" para carregar as fontes COBOL do fluxo no repositório de controle de fonte para o seu ambiente de desenvolvimento IBM System z:

Figura 8. Carregar zFiles para assistente z/OS

O fato de que o Rational Developer e o Rational Team Concert são co-instalados (compartilhamento de shell) e integrados permite que Steven carregue as partes COBOL para o seu projeto IBM z/OS e seu sandbox em z/OS. Neste caso, seu sandbox em z/OS tem um prefixo de MASTEVE.MORT.

Figura 9. Projeto z/OS com artefatos de repositório carregados

Após os arquivos fonte serem carregados em seu projeto z/OS, Steven abre o programa COBOL, EPSCSMRT, no editor IBM System z LPEX. À medida que examina o código, ele pode ver claramente que o truncamento é o problema, pois as duas variáveis usadas em uma declaração MOVE estão declaradas com armazenagem diferente.

Figura 10. Comparação de dois membros-cópia

EPSPCOM-RETURN-MONTH-PAYMENT está declarado como PIC S9(7)V99 COMP. Entretanto, EPSPDATA-RETURN-MONTH-PAYMENT está declarado como PIC S9(1)V99 COMP. Esta diferença confirma sua avaliação de que o último está declarado incorretamente.

Para reparar este problema, Steven troca a declaração de EPSPDATA-RETURN-MONTH-PAYMENT para ficar igual a EPSPCOM-RETURN-MONTH-PAYMENT. Ele salva suas alterações e verifica as alterações em sua área de trabalho do repositório na ferramenta de gerenciamento de configuração de software (SCM) do Rational Team Concert.

Figura 11. Verificação em alterações pendentes ao SCM

Vista ampliada da Figura 11.

Reconstruir e testar a alteração do código

Steven invoca a ação "Rebuild project" IBM z/OS para realizar uma reconstrução de equipe. O Rational Team Concert reconstrói os módulos de carga EPSCSMRT e EPMPMT na concatenação DFHRPL da região de teste. Visto que os módulos de carga foram alterados, Steven precisa emitir um comando NEWCOPY para o CICS considerar as alterações.

A partir do projeto z/OS, Steven cria um arquivo de manifesto de implementação de aplicativo e o abre no editor de Definição de Recurso. Usando o editor, ele adiciona o nome dos recursos à lista de Recursos e clica em Install para instalá-lo no CICS. Usando o editor, é possível executar o NEWCOPY sem ter que usar o emulador.

Figura 12. Atualizar o módulo em CICS usando o arquivo de manifesto

Com os recursos reinstalados, Steven testa suas alterações no aplicativo Mortgage Web. Ele executa seus casos de teste e obtém o resultado correto no aplicativo (vide Figura 13).

Figura 13. Testar as alterações

Concluir o item de trabalho

Com o código testado, o item de trabalho pode ser concluído. Steven volta para a visualização Pending Changes em seu ambiente de desenvolvimento, seleciona a alteração ajustada que está associada ao seu item de trabalho atual, adiciona uma descrição da alteração e escolhe a ação "Deliver" para fazer fluir as alterações de sua área de trabalho de repositório para o fluxo de desenvolvimento. Para encerrar o defeito, ele abre o item de trabalho, marca como resolvido e inicia uma solicitação de aprovação ao Dave.

Dave fica notificado automaticamente da solicitação de aprovação de Steven. Usando o cliente Web de aplicativa de hipoteca, Dave consegue verificar o reparo, executando o mesmo conjunto de casos de teste. Dave aprova a alteração e atualiza seu status para "verified". A seguir, adiciona uma solicitação adicional para aprovação de Scott.

Scott é notificado da solicitação de aprovação de Dave. Ele revisa a explicação e o reparo no item de trabalho, confirma sua aprovação e aloca o defeito a Alex para fazer uma construção oficial e promover a alteração aos ambientes de teste e produção.

Resumo

Este artigo teve a intenção de despertar seu apetite por tipos de cenários de desenvolvimento colaborativo que são possíveis ao combinar o Ambiente de Desenvolvimento Integrado do Rational Developer para o System z às ferramentas de gerenciamento de ciclo de vida de aplicativo colaborativo do Rational Team Concert para o System z. Demonstramos como esses produtos integrados de forma transparente e poderosa complementam um ao outro para dar suporte às necessidades de equipes de desenvolvimento de aplicativo de plataforma cruzada.

Há outros recursos de integração disponíveis nesses produtos que não tratamos neste artigo, tais como armazenamento de hyperlinks aos artefatos do sistema de arquivo z/OS nos itens de trabalho do Rational Team Concert e adição de membros de sistema de arquivo z/OS não gerenciados ao repositório do Rational Team Concert. Analise a seção de Recursos abaixo para obter maiores informações sobre esses e outros recursos não tratados aqui e assista o developerWorks para ver artigos e demonstrações que tratarão da integração entre esses dois produtos de forma mais detalhada.


Recursos para download


Temas relacionados


Comentários

Acesse ou registre-se para adicionar e acompanhar os comentários.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Rational
ArticleID=458583
ArticleTitle=Usando o IBM Rational Team Concert para o System z e a plataforma Jazz: Parte 2. Integrando o IBM Rational Developer para System z com o IBM Rational Team Concert para System z para obter valor agregado
publish-date=12292009