O IBM Rational Build Forge é uma estrutura de execução do processo adaptável que automatiza, gerencia e controla os processos entre cada componente envolvido no desenvolvimento de software — em outras palavras, é a primeira etapa para um factory de software automatizado. Ele suporta as principais linguagens de desenvolvimento, scripts, ferramentas e plataformas e se integra com facilidade a muitos ambientes, incluindo o do IBM SmartCloud Enterprise.
De fato, reunir os recursos de desenvolvimento de automação do Build Forge ao amplo alcance e recursos de implementação do aplicativo do IBM Cloud pode ajudá-lo a criar uma linha de montagem de software eficiente e altamente automatizada.
Este artigo descreve o processo de automação de processo, os detalhes da tecnologia do Build Forge, explica a importância de integrar o Build Forge e o IBM Cloud para os desenvolvedores e como combinar os dois. Fornece um caso de uso detalhado como exemplo e até mesmo apresenta algumas ideias em casos de uso alternativos.
O processo por trás da automação de processos
A automação de processos permite que as empresas planejem minuciosamente processos entre aplicativos, pessoas e sistemas diferentes para remover ineficiências, otimizar custos, garantir a conformidade e impulsionar a produtividade. O Rational Build Forge automatiza, orquestra, gerencia e controla processos dentro da linha de montagem de desenvolvimento do produto. Geralmente, ele é usado para automatizar o desenvolvimento de software e os processos de pacotes.
Nesta seção, nossa intenção é descrever um modelo humano de processo e mapas para recursos do Build Forge. Um modelo de base humana para automação de processos consiste nas seguintes funções:
- O trabalho disponível para ser feito é um conjunto de processos documentados. Cada processo é composto por tarefas.
- O coordenador "executa" o trabalho. Ele seleciona o processo a ser executado e examina as tarefas em ordem. Para cada tarefa, o processo define o trabalhador que deve realizá-la. O coordenador entrega a tarefa ao trabalhador e aguarda o resultado.
- O trabalhador executa a tarefa definida no processo.
A tecnologia por trás das tecnologias
Como já mencionado, o Build Forge é uma estrutura adaptável de execução do processo que gerencia automaticamente os processos na linha de montagem de desenvolvimento de software. Agora, vamos analisar alguns componentes do Build Forge.
Esses componentes são essenciais ao usar o Build Forge:
- Banco de dados: O Build Forge usa o banco de dados para armazenar todos os objetos que usa.
- Sistema do Build Forge: Um conjunto de tecnologias que regula o acesso ao banco de dados, executa o código da interface com o usuário e as tarefas.
- Agentes: Instale o software do agente em cada host que executará o trabalho.
- Navegador da web: Em geral, os usuários acessam o Build Forge por meio de um console oferecido em um navegador da web.
O IBM SmartCloud Enterprise é desenvolvido sobre uma infraestrutura ágil da nuvem, projetada para fornecer aos clientes acesso rápido a ambientes muito seguros de servidor virtual e de categoria empresarial. Esses ambientes são adequados para atividades de desenvolvimento e teste. O fornecimento flexível oferecido por essa solução pode acessar os recursos de TI necessários sob demanda, a um custo predeterminado. A equipe de TI não precisa mais gastar ciclos preciosos implementando, configurando e mantendo seu ambiente de desenvolvimento e teste.
O IBM Cloud fornece uma plataforma de teste de autoatendimento projetada para ser fácil de usar, combinando gerenciamento de solicitação de serviço, fornecimento automatizado e gerenciamento da configuração. Assim, é possível obter fornecimento sob demanda de recursos de teste físicos e virtualizados que incluem componentes IBM e não IBM, como sistemas operacionais, middleware, armazenamento, rede, imagens e dados.
Benefícios da integração do Build Forge e IBM Cloud
A Figura 1 mostra o modelo do Build Forge:
Figura 1. Modelo do Build Forge
O modelo de base humana mencionado na seção anterior mapeia o modelo do Build Forge da seguinte forma:
- Um processo de trabalho é definido em um objeto de projeto do Build Forge. Cada projeto contém um ou mais objetos de etapa. As etapas de um projeto correspondem a tarefas em um processo no modelo humano.
- O coordenador é o software do Build Forge em execução. Ele contém um componente chamado Process Engine. Quando iniciamos um projeto no Build Forge, o Process Engine o executa como objeto de tarefa. Uma tarefa é simplesmente um projeto em execução.
- Os trabalhadores são as máquinas host. Elas são representadas no Build Forge por objetos do servidor. O host deve ter um agente instalado nele.
Esse é um modelo muito simplificado.
- O Build Forge contém muitos outros tipos de objeto para oferecer suporte à automação de processo. Os usuários, as autorizações e outros objetos que oferecem suporte a servidores e projetos são todos armazenados no banco de dados. Partes do Build Forge também são armazenadas no banco de dados como, por exemplo, widgets da interface com o usuário. O banco de dados deve estar em execução para que o Build Forge seja executado.
- Projetos e etapas podem ser configurados para serem executados de muitas maneiras diferentes e oferecer suporte a processos complexos com dependências e fluxos de trabalho complexos. Os projetos podem executar outros projetos, e as próprias etapas também podem.
- As etapas e os projetos podem selecionar dinamicamente servidores baseados em dados de critérios que fazem parte da definição de servidor. Por exemplo, uma etapa pode escolher o servidor em que será executada com base no fato de que estava em execução no Windows® ou UNIX®/Linux®. Os servidores também podem ser configurados como recursos em conjunto, de modo que uma etapa possa escolher um servidor de acordo com a sua disponibilidade ou carga atual.
A automação de desenvolvimento no IBM Cloud com o Build Forge melhora os resultados de criação, reduz os riscos e poupa muito tempo. Também elimina o planejamento do projeto para necessidades de hardware e compra, ao mesmo tempo que melhora a utilização de recursos de laboratório.
Fornece à empresa uma forma de aproveitar a infraestrutura dinâmica, ajustando ou derrubando rapidamente as configurações. Essa flexibilidade resulta em economia significativa de tempo.
O Build Forge no IBM Cloud pode ajudar a lidar com situações, em que equipes/organizações precisam de capacidade extra para cargas de trabalho adicionais, sem a necessidade de encontrar o hardware adicional que não está em uso.
As integrações do Build Forge com os produtos Rational fornecem muitos benefícios. Estes produtos Rational são importantes no ciclo de vida de desenvolvimento de software: IBM Rational Team Concert (RTC), Rational Asset Manager (RAM), Rational Quality Manager (RQM) e Rational Requirements Composer (RRC).
- A integração do Build Forge ao Rational Team Concert no IBM Cloud fornece às comunidades de desenvolvedores a vantagem adicional de desenvolvimento e execução de software a partir do mesmo utilitário em diversas plataformas. Essa integração evita a necessidade de os desenvolvedores mudarem para outra ferramenta ou scripts para o desenvolvimento e verificação de integridade. Essa configuração otimiza o uso de ferramentas de software e estruturas por diversos usuários. Isso também ajuda usuários individuais e engenheiros de liberação a desenvolver o produto simultaneamente, utilizando a mesma interface e as mesmas ferramentas, evitando diversas cópias do ambiente de desenvolvimento. A versão 3.0.1 está disponível no IBM Cloud.
- A integração do Build Forge com o Rational Asset Manager é uma combinação adequada para empresas que querem se adaptar à nuvem. Essa integração fornece um modo fácil para fornecimento/eliminação de imagens na nuvem. O Rational Asset Manager ajuda na manutenção de ativos e o Build Forge pode automatizar o fornecimento de uma imagem com software especificado. Assim, a integração auxilia na formação de solução de nuvem em geral. Os mesmos princípios podem ser ampliados para os aplicativos dentro da nuvem, em que uma organização ou empresa mantém os recursos/ativos alocados dentro do Rational Asset Manager e o Build Forge pode ser usado para acessar esses ativos de acordo com as solicitações do usuário. Também os desenvolvedores podem consultar os ativos mantidos em RAM para suas compilações. Eles podem usar o Build Forge para criar uma compilação com base nos ativos no Rational Asset Manager. Essas compilações criadas podem ser publicadas novamente como ativos novos no Rational Asset Manager.
- Com a integração do Rational Quality Manager, os servidores e projetos do Rational Build Forge ficam visíveis no subsistema de gerenciamento de laboratório do Rational Quality Manager. É possível escolher executar o projeto de automação em um ou mais recursos de laboratório. Além disso, cenários de teste complexos podem ser desenvolvidos no Rational Quality Manager, que inclui uma fase de configuração, uma fase de execução de conjunto de teste automatizado e uma fase de derrubada. A configuração e desmonte do teste podem ser projetos de automação no Rational Build Forge. A interface do Rational Quality Manager apenas solicita que o Rational Build Forge realize um projeto de automação, e aguarda seus resultados antes de seguir para a próxima etapa. O Rational Quality Manager V3.0.1 está disponível no IBM Cloud.
- O Rational Requirements Composer ajuda a equipe a planejar seus requisitos. Melhores requisitos de qualidade, gerenciamento efetivo e um bom processo resultam em redução do retrabalho, do tempo de chegada ao mercado e de custos, e um resultado geral melhor. O Rational Requirements Composer V3.0.1 fornece uma combinação poderosa de definição, gerenciamento, rastreabilidade, modelos, histórico, revisão e aprovação, gerenciamento de tarefas, planejamento, filtros e visualizações compartilhados, painel customizável e geração de relatório. A integração do Rational Requirements Composer com o Rational Team Concert e o Rational Quality Manager permite compartilhar dados por meio de viewlets, acessando-os com seu navegador da web favorito. O Rational Requirements Composer V3.0.1 está disponível no IBM Cloud.
Procure Rational Team Concert, Rational Quality Manager e Rational Requirements Composer no IBM Cloud como IBM Rational Collaborative Lifecycle Management (CLM) 2011.
Integrando o Build Forge ao IBM Cloud
Esta seção explora alguns casos de uso do IBM SmartCloud Enterprise. Antes de falar dos casos de uso, é preciso entender como fazer a conexão com um agente usando o console do Build Forge.
Configurar manualmente um agente do Build Forge no console
Depois de ter duas máquinas na nuvem — uma com o Build Forge e outra com o agente do Build Forge instalados, você está pronto para usar os dois em conjunto:
- Confirme se consegue se conectar ao console de gerenciamento do Build Forge. Para testar isso, tente acessar http://<machine-ipaddress> ou https://<machine-ipaddress> em um navegador (dependendo de se a segurança está ou não ativada na máquina que tem o serviço Console em execução). Se isso não funcionar, será preciso iniciar o serviço do Build Forge.
- No Windows: Vá até o painel Services, selecione IBM Rational Build Forge Management Console e inicie o serviço.
- No Linux: Digite
<install-location>/rc/buildforge startpara iniciar o Build Forge Console.
- De modo similar, confirme se o agente do Build Forge está funcionando na segunda máquina.
- No Windows: Vá até o painel Services, selecione IBM Rational Build Forge Agente inicie o serviço.
- No Linux: Digite o seguinte:
telnet <machine-ip> <port on which the agent is installed> For e.g., telnet 129.35.208.53 5555 200 HELLO - BuildForge Agent v7.1.1.3-0-0034
- Agora você está pronto para se conectar ao Build Forge Management Console a partir do navegador.
- Antes de criar projetos no sistema, é preciso definir pelo menos um servidor. Para definir um servidor:
- Acesse Servers > Server Auth > Add Server Authentication. Na guia Details, inclua os detalhes de autenticação do servidor em que o agente está executando. Veja a Figura 2.
Figura 2.
Nesse caso,bfagentuseré o nome do usuário usado para efetuar login na máquina em que o agente está executando. - Acesse a página Selectors e inclua um seletor, como mostra a Figura 3.
Figura 3.
A página acima defineCLMMACHINE-Selectorcomo seletor e configura a variávelBF_NAMEpara o nome do servidor definido na próxima etapa. (CLM é Collaborative Lifecycle Management.) - Acesse Servers > Add Server. Forneça o nome e outros detalhes do servidor que executa o agente. A Figura 4 mostra um exemplo de uso de
CLMMACHINEcomo nome do servidor.
Figura 4.
- Para confirmar se configurou o agente corretamente, clique em Test Connection e verifique se o ícone de cor verde é mostrado na coluna Servers à esquerda do nome do servidor.
- Acesse Servers > Server Auth > Add Server Authentication. Na guia Details, inclua os detalhes de autenticação do servidor em que o agente está executando. Veja a Figura 2.
- Depois de configurar com êxito e verificar se o agente está executando e conectado por meio do Console com sucesso, você está pronto para iniciar qualquer processo na máquina. Por exemplo, é possível criar qualquer projeto e selecionar CLMMACHINE-Selector como seletor. Nesse projeto, é possível incluir etapas para executar ações na máquina do agente remoto. Essas ações podem variar de um simples comando de teste de eco a um projeto para compilar código, desenvolver e executar testes de automação no projeto.
Depois de ter obtido com sucesso uma imagem do Build Forge a partir do IBM Cloud, pode-se solicitar uma imagem para o Build Forge Agent a partir do website do IBM Cloud.
- Conecte-se à sua conta do IBM Cloud.
- Clique em Add instance na guia Control panel.
- Selecione a imagem IBM Rational Build Forget Agent.
Figura 5. Solicitar uma imagem para o agente
- Clique em Next.
- Inclua as informações sobre a imagem do Build Forge Console.
Figura 6. Incluindo mais informações na imagem do agente
- Clique em Next.
- Siga a sequência de etapas para incluir a instância que foi requerida e enviar a solicitação. Esse processo inclui automaticamente a máquina do agente no Build Forge Console.
O caso de uso nesta seção ilustra como o Build Forge Agent em uma imagem CLM (Collaborative Lifecycle Management) pode ser usado para acionar compilações a partir de um console. Os seguintes usuários e funções são usados neste cenário:
- Bob é o desenvolvedor.
- Tanuj é o líder de projeto.
- Ursula é a administradora.
As seguintes etapas resumem o cenário do usuário:
- Tanuj observa os requisitos e decide em quais deles a equipe trabalhará.
- Tanuj efetua login no Rational Team Concert, cria uma história e a designa para Bob trabalhar na Iteração 1.
- Em seguida, Tanuj efetua login no Rational Quality Manager e cria um plano de teste que testará os recursos incluídos na Iteração 1.
- Bob estima o tempo que será necessário para concluir a história, trabalha nela, recebe-a revisada por Tanuj e depois a entrega.
- Em paralelo, Bob também cria uma etapa de teste do Rational Quality Manager que é ligada ao plano criado por Tanuj.
- Um projeto do Build Forge é definido para lançar compilações noturnas, utilizando o agente na instância CLM.
- O projeto do Build Forge para compilações noturnas é lançado, e um giro/compilação é obtido para teste.
- Bob utiliza essa compilação para fazer a verificação de qualidade da sua entrega.
- Depois que a qualidade é verificada, Bob marca o requisito como concluído no Rational Requirements Composer.
Agora, vamos detalhar o caso de uso.
A equipe da NewIdeas acabou de fechar negócio com um cliente do setor financeiro. Ela precisa criar uma solução financeira para armazenar as transações diárias de pessoas que usam esses serviços.
A NewIdeas está muito animada. Ela decidiu adotar a solução de CLM fornecida pelo IBM SmartCloud Enterprise e combiná-la à capacidade do Build Forge Agent de acionar atividades em um cliente (nesse caso, o servidor CLM), a partir de um Build Forge Console.
Tanuj (o líder de projeto) começou a trabalhar nesse projeto. Ele teve conversas com o cliente e criou os requisitos para uma estrutura do sistema de gerenciamento financeiro. Sua equipe segue o processo ágil de desenvolvimento. Ele efetua login no Requirements Management usando o Web client e cria um requisito a ser cumprido para a Iteração 1 do release beta para o cliente, como mostrado na Figura 7.
Figura 7. Requisito da Iteração 1
Então, ele efetua login no Rational Team Concert e cria uma história na qual Bob (desenvolvedor) trabalha, como mostrado na Figura 8.
Figura 8. Bob (desenvolvedor) trabalha na história
Ao mesmo tempo, Tanuj efetua login no Rational Quality Manager e cria um plano de teste para testar o(s) recurso(s) da Iteração 1. O plano será propriedade de Tanuj, como mostra a Figura 9.
Figura 9. Plano de teste para recursos da Iteração 1
Então, Bob efetua login no Rational Team Concert e trabalha na tarefa que lhe foi designada. Ele faz uma estimativa da tarefa e a implementa/conclui. Depois de concluída, sua tarefa é revisada por Tanuj, que efetua o registro de entrada do código.
Depois que o código é registrado, Ursula (administradora) tem uma compilação noturna que é acionada toda vez que há uma mudança na área do projeto. Essa compilação é lançada e uma outra fica disponível para verificação de qualidade.
Como mostrado na Figura 10, a tarefa do Build Forge é executada no servidor CLM após efetuar o registro de entrada de Bob. Depois de todas as etapas do projeto do Build Forge terem sido executadas, a compilação está pronta para teste.
Figura 10. Compilação pronta para teste
É importante notar que Ursula configurou o Build Forge Agent no servidor CLM. O Build Forge Console teve um servidor configurado para utilizar o agente para executar a compilação na instância CLM. Assim, ao usar os recursos de automação do Build Forge Agent e do Build Forge, Ursula foi capaz de gerar uma compilação.
Bob seleciona a compilação e começa a trabalhar nas etapas de teste do Rational Quality Manager, anexadas ao plano criado por Tanuj. Se houver erros, eles serão registrados no Rational Team Concert. Ele começa então a trabalhar nesses defeitos, revisá-los e entregá-los. Depois que a compilação com suas correções está disponível, Bob a utiliza para verificar novamente a funcionalidade. Depois que a compilação passou por todos os critérios, cada etapa de teste do Rational Quality Manager é marcada como concluída. O mesmo acontece com a história do Rational Team Concert e os requisitos correspondentes.
Além de automação de compilação, o Build Forge e o Build Forge Agent podem ser usados para outras tarefas de automação, incluindo:
- Automação de teste.
- Aplicação de fix pack.
Automação de teste, depois de criada uma compilação, talvez alguns testes sejam executados para verificar a compilação quanto à integridade. Esses testes são conhecidos como Build Verification Tests ou BVTs. Em geral, os BVTs são executados manualmente na maioria das organizações. Entretanto, é fácil automatizar os testes dos BVTs.
Para automatizar BVTs, as compilações são armazenadas em uma máquina que tenha o Build Forge Agent instalado. O Build Forge Console que gerou a compilação pode ser utilizado para se conectar à máquina do agente que tem as compilações. Os BVTs podem ser executados para determinar a integridade da compilação.
Além dos BVTs, muitas equipes também têm seus Functional Verification Tests (FVTs) executados com o uso de tecnologia Build Forge/Build Forge Agent.
Para a aplicação de fix packs, muitas empresas têm servidores como o WebSphere® Application Server instalados em diversas máquinas em diferentes plataformas, o que significa que talvez haja fix packs para esses servidores sendo lançados uma vez a cada dois ou três meses. Se a empresa tiver centenas desses servidores, seria uma tarefa monótona executar a atualização em todas essas máquinas manualmente.
Nesses casos, o Build Forge Agent pode ser instalado nessas máquinas e o processo inteiro de aplicação de fix pack pode ser feito de forma automatizada usando um projeto do Build Forge. Isso poupa o tempo do usuário, bem como o esforço manual monótono.
Este artigo mostrou como o IBM Rational Build Forge Agent funciona em segundo plano para ajudar os clientes a obterem automação de aplicativo na compilação teste e fix pack no IBM Cloud e em um ambiente de nuvem em geral. Ser capaz de automatizar as fases de criação, teste e manutenção de aplicativos durante o desenvolvimento e a implementação, é uma ferramenta que poupa tempo e esforço e que deve fazer parte de sua caixa de ferramentas ao trabalhar no ambiente da nuvem.
Aprender
-
Obtenha ajuda no Centro de Informações de Ajuda do IBM Rational Build Forge.
-
Avalie o Rational Build Forge no IBM Cloud.
-
Para saber mais sobre como realizar tarefas na nuvem IBM, visite estes recursos:
- Faça upload e download de arquivos a partir de uma instância do Windows.
- Instalar o servidor da Web IIS no Windows 2008 R2.
- Crie uma instância da nuvem IBM com a linha de comando do Linux.
- Crie uma instância da nuvem IBM com a linha de comando do Windows.
- Estenda a sua rede corporativa com a nuvem IBM.
- Aplicativos de alta disponibilidade na nuvem IBM.
- Parametrize imagens de nuvem para instâncias customizadas dinamicamente.
- Abordagens focadas no Windows para fornecimento na nuvem IBM.
- Implemente produtos usando o serviço de implementação rápida.
- Integre a política de autenticação usando um proxy.
- Configure o Linux Logical Volume Manager.
- Implementar uma topologia complexa usando uma ferramenta de utilitário de implementação.
- Forneça e configure uma instância que envolve uma VLAN pública e privada.
- Proteger o acesso à IBM Cloud para dispositivos Android.
-
Nos recursos para desenvolvedores de nuvem do developerWorks, descubra e compartilhe o conhecimento e a experiência dos desenvolvedores de aplicativos e serviços que estão desenvolvendo os seus projetos de implementação de nuvem.
-
Nos recursos para desenvolvedores do Rational do developerWorks, descubra e compartilhe conhecimento e experiência em produtos Rational como o Build Forge e o Build Forge Agent.
-
Consulte osite do software IBM Rational para saber mais sobre o Build Forge/Build Forge Agent.
-
Descubra como acessar o IBM SmartCloud Enterprise.
Obter produtos e tecnologias
-
Visite o site do IBM Cloud para conhecer as ofertas disponíveis para IBM Cloud.
-
Consulteas imagens do produto disponíveis para IBM SmartCloud Enterprise.
Discutir
-
Participe de um grupo de computação em nuvem no developerWorks.
-
Leia todos os ótimos blogs sobre nuvem no developerWorks.
-
Participe da comunidade do developerWorks, uma rede profissional e conjunto de ferramentas comunitárias para conectar, compartilhar e colaborar.
Vandana Shenoy trabalha há cinco anos na IBM e contribuiu para o desenvolvimento do IBM Rational ClearCase e IBM Rational Build Forge. Atualmente, Vandana trabalha com verificação funcional para DOORS e tem experiência com o Rational Team Concert, Rational Quality Manager, Rational Requirements Composer e a equipe do Rational Automation Framework que automatiza muitos produtos usando o IBM Rational Build Forge.
Sairam Bantupalli é funcionário da IBM há oito anos e atualmente trabalha com o Collaborative Design Manager, um componente que ajuda a reunir as partes interessadas, os clientes, os gerentes e as equipes de desenvolvimento. Além de fornecer recursos para definir novos domínios no design de produtos, Sairam fez parte das equipes de desenvolvimento do Rational Clear Case, Rational Build Forge e Rational Rose Real Time.