Introdução
O PL/I, uma linguagem de programação frequentemente associada a sistemas legados, continua a desempenhar um papel crucial em muitas organizações. No entanto, à medida que o cenário tecnológico evolui, é essencial encontrar maneiras de integrar essas aplicações legadas com práticas modernas de desenvolvimento e DevOps. Este tutorial foca em como modernizar aplicações PL/I usando ferramentas contemporâneas de DevOps e automação de testes. Vamos explorar o processo de integração passo a passo, desde a estruturação da aplicação até a implementação de pipelines de CI/CD e a automação de testes, proporcionando uma abordagem prática e educativa para desenvolvedores que desejam revitalizar suas aplicações antigas e mantê-las relevantes no contexto atual.
Etapas
Preparação do Ambiente de Desenvolvimento
Certifique-se de ter um ambiente de desenvolvimento preparado para PL/I. Utilize o IBM Enterprise PL/I se estiver trabalhando em uma plataforma IBM. Instale ferramentas modernas como Jenkins para integração contínua e Git para controle de versão. Verifique se você tem acesso a um servidor de teste onde suas aplicações PL/I possam ser implantadas.
commands# Instalar Jenkins
sudo apt install jenkins
# Iniciar o Jenkins
sudo systemctl start jenkinsEstrutura do Projeto PL/I
Inicie com uma estrutura de diretórios para sua aplicação PL/I. Mantenha seu código organizado em módulos e crie uma documentação básica para cada componente.
structuremy_project/ ├── src/ │ └── main/ │ └── pli/ │ └── my_application.pli └── README.md
Integração com Git para Controle de Versão
Crie um repositório Git para seu projeto PL/I. Adicione todos os seus arquivos e faça o commit das alterações iniciais. Isso permitirá rastrear mudanças e colaborar com outros desenvolvedores.
commands# Inicializar repositório Git
git init
# Adicionar arquivos ao repositório
git add .
# Fazer o commit das alterações
git commit -m 'Estrutura inicial do projeto PL/I'Automação de Testes com REXX
Utilize REXX para criar um conjunto de testes automatizados para sua aplicação PL/I. Escreva scripts que possam invocar os módulos PL/I e verificar a saída em comparação com os resultados esperados.
test.rexx/* Teste básico para o módulo PL/I */ address PL/I 'MY_APPLICATION' /* Verificar saída esperada */ if (output = expected) then say 'Teste passou' else say 'Teste falhou'
Configuração do Jenkins para CI/CD
Configure um pipeline no Jenkins para compilar, testar e implantar sua aplicação PL/I. Utilize o plugin de shell do Jenkins para executar seus scripts de teste REXX como parte do processo de CI.
Jenkinsfilepipeline { agent any stages { stage('Build') { steps { sh 'compile_my_application.sh' } } stage('Test') { steps { sh 'run_tests.sh' } } stage('Deploy') { steps { sh 'deploy_my_application.sh' } } } }
Execução da Integração Contínua
Uma vez configurado o Jenkins, inicie uma nova construção para ver se tudo está funcionando conforme o esperado. Observe os logs de construção e teste para identificar possíveis erros e otimizar o pipeline.
commands# Acesse o Jenkins no navegador
http://localhost:8080
# Inicie uma nova execução do pipeline
Conclusão
Neste tutorial, demonstramos como modernizar aplicações legadas em PL/I integrando práticas e ferramentas modernas de DevOps e automação de testes. Abordamos desde a estruturação do projeto até a configuração de um pipeline de CI/CD no Jenkins. Esse processo não só ajuda a manter o código organizado e testado, mas também torna as aplicações legadas mais robustas e flexíveis em um ambiente de desenvolvimento ágil. Ao aplicar essas práticas, você poderá revitalizar suas aplicações PL/I, garantindo que elas permaneçam relevantes e eficientes.