Após quase 40 anos trabalhando como desenvolvedor ou com desenvolvedores, afirmo que escrever código é em parte arte e em parte ciência — um híbrido de criatividade e habilidade técnica. Também observei que a criatividade floresce quando os desenvolvedores têm liberdade para fazer escolhas.
Também precisamos reconhecer que os gerentes de desenvolvimento precisam de processos que proporcionem controle, observabilidade e consistência. Enquanto isso, as empresas para as quais trabalham precisam que o software seja entregue com maior rapidez, mas sem introduzir riscos.
Como conciliar todos esses requisitos no mundo da nuvem híbrida ? Este é um obstáculo particularmente difícil para desenvolvedores e organizações que produzem e dependem de aplicativos de negócios projetados para interagir com Subsistemas de Mainframe (MSS), como o CICS.®, IMS™ e Db2® .
A Rocket Software oferece a sua solução fornecendo recursos de desenvolvimento líderes do setor com uma variedade de experiências de interface do usuário. As soluções são implantáveis em z/OS®, em infraestruturas locais e na nuvem, tanto em Windows®, Linux® quanto em AIX. O Rocket® Enterprise Developer e o Rocket® Enterprise Test Server oferecem aos desenvolvedores a opção de escolher a "Experiência de Alteração", além da oportunidade de incorporar práticas modernas de desenvolvimento. Isso inclui até mesmo a integração do DevOps às suas tarefas diárias de manutenção e modernização de aplicativos MSS.
Em versões recentes, também introduzimos suporte para conteinerização de recursos de desenvolvimento. A implantação desses recursos em contêineres mantém as características exclusivas do Enterprise Developer. A oferta de ambientes de desenvolvimento "individuais" que eliminam os gargalos da experiência tradicional de desenvolvimento de aplicativos MSS permanece intacta. O mesmo se aplica à possibilidade de gerenciamento e controle centralizados em organizações de desenvolvimento de grande escala.
A natureza dinâmica dos contêineres os tornou onipresentes na entrega de funções de desenvolvimento automatizadas em todas as principais ferramentas de pipeline CI/CD. E agora você também pode se alinhar aos modelos de fluxo de trabalho de sistemas de controle de versão baseados em ramificações.
Para ampliar e complementar ainda mais essas opções, na versão 10.0 do Enterprise Developer, introduzimos a capacidade de realizar a implantação usando contêineres de desenvolvimento.
Contêineres de desenvolvimento (ou simplesmente contêineres Dev) são ambientes de desenvolvimento reproduzíveis. Mas qual a diferença entre eles e os contêineres padrão?
Os contêineres de desenvolvimento adicionam uma camada extra de controle sobre a configuração do ambiente de desenvolvimento. Eles ampliam o contêiner padrão com opções de personalização específicas para desenvolvimento. Os contêineres de desenvolvimento são gerenciados por meio de um arquivo de configuração baseado em JSON, que simplifica o gerenciamento da funcionalidade do contêiner e permite o controle de versão juntamente com a aplicação. Recursos adicionais permitem que desenvolvedores personalizem seu ambiente de acordo com suas preferências.
Os Dev Containers capacitam os desenvolvedores, fornecendo um ambiente confiável, isolado e eficiente para criar e testar código.
Eles contribuem para ciclos de desenvolvimento mais rápidos e melhor colaboração dentro da equipe de desenvolvimento.
Isolamento e consistência
Rapidez e eficiência
Integração e testes contínuos
Desenvolvimento nativo da nuvem
No desenvolvimento típico baseado em host, todos os elementos, como editor, SDKs, servidores de aplicativos, ferramentas, pacotes e código-fonte, estão em um único ambiente. Isso frequentemente leva a conflitos de software entre projetos.
Quando ocorrem conflitos, os desenvolvedores precisam escolher versões dessas dependências que não sejam as mesmas que as versões ideais, apenas para preservar o uso de múltiplas bases de código-fonte.
No desenvolvimento baseado em contêineres, os SDKs, servidores de aplicativos, ferramentas e pacotes necessários são instalados em um contêiner, incluindo o Rocket® Enterprise Developer. O código-fonte pode ser carregado ou montado no contêiner, permitindo isolamento completo.
Considere isso no contexto do desenvolvimento de aplicações MSS, onde frequentemente existe a necessidade de entregas em diferentes cadências. O uso de contêineres de desenvolvimento permite que o desenvolvedor trabalhe em diferentes "versões" da aplicação sem a necessidade de gastar muito tempo reconfigurando seu ambiente de desenvolvimento.
Para ajudar você a visualizar como tudo isso funciona, assista ao vídeo a seguir.
Os contêineres de desenvolvimento oferecem um mecanismo simplificado para que os desenvolvedores acessem suas ferramentas de desenvolvimento, o que está alinhado com as práticas modernas de desenvolvimento. Uma combinação perfeita para esse tipo de experiência de desenvolvimento é a utilização de testes unitários para simplificar e acelerar os testes do código alterado antes de confirmar as alterações no processo de CI/CD. O uso de testes unitários também reduzirá as taxas de erro nas fases posteriores de teste funcional do ciclo de vida do desenvolvimento de software (SLDC).
O teste de unidade COBOL [OC1] está disponível no Rocket® Enterprise Developer há várias versões. Na versão 9.0, ampliamos esse recurso para oferecer mocks e stubbing de construções de codificação MSS, como CICS e SQL, e adicionamos suporte a IMS na versão 10.0. Isso permite testar o código de lógica de negócios que foi modificado sem a necessidade de um ambiente completo de subsistema MSS.
A combinação dessas duas funcionalidades do Enterprise Developer permitirá que os desenvolvedores aproveitem os benefícios das práticas modernas de desenvolvimento para acelerar as alterações de manutenção ao longo do SDLC (Ciclo de Vida de Desenvolvimento de Software). Isso é particularmente vantajoso para organizações que terceirizam algumas ou todas essas alterações.
Para obter mais detalhes sobre o Enterprise Developer Unit Test Framework, leia este blog complementar. Para ver testes unitários em funcionamento dentro de um contêiner de desenvolvimento, assista ao vídeo abaixo.
Com a crescente prevalência de plataformas em nuvem no desenvolvimento, a adoção de ferramentas de desenvolvimento hospedadas está aumentando. Um exemplo disso é o GitHub Codespaces, que oferece ambientes de "código de qualquer lugar". Os recursos de desenvolvimento são gerenciados na nuvem, com base em contêineres de desenvolvimento, e acessados por meio de um navegador utilizando a versão web do VS Code.
Nós, da Rocket Software, acreditamos que esses ambientes desempenharão um papel importante no futuro do desenvolvimento de aplicações MSS e estamos trabalhando para lançar o Enterprise Developer para GitHub Codespaces. Para uma prévia do valor dessa inovação, assista ao vídeo abaixo.
Se você já é cliente Enterprise Developer, faça o download da versão 10.0 e consulte a documentação do produto aqui .
Se você ainda não é cliente, clique aqui para obter uma versão de avaliação do Enterprise Developer.
Se você tem interesse no futuro do desenvolvimento de aplicações MSS, ajude a impulsionar a inovação participando da pesquisa.
Apresentando o Rocket EVA 2.0
Escolha o caminho certo para a modernização de código com auxílio de IA.
Encontre o caminho da modernização que protege o que importa.
