White Paper ChangeMan ZMF WebSphere Desenvolvimento de aplicativos de mainframe modernos Como acelerar as mudanças nos negócios, minimizando custos e riscos Índice página Resumo executivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Modernos aplicativos de mainframe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Superando processos, pessoas e desafios tecnológicos. . . . . . . . . . . . . . . . . . . . . . 3 Um aliado na modernização do desenvolvimento de aplicativos de mainframe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Uma oportunidade de ouro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Hoje, modernizar os aplicativos de mainframe significa colocar mais cargas de trabalho e funções de aplicativos no mainframe. Resumo executivo Os ventos de mudança de aplicativo estão soprando diretamente nos seus ambientes de data center e mainframe. Hoje, mais e mais pessoas querem acesso instantâneo aos seus dados na Web e por meio de seus dispositivos favoritos. A arquitetura de aplicativos de mainframe em evolução está pronta para possibilitar isso. Os mainframes de hoje podem executar cargas de trabalho Java. Podem hospedar serviços Web, usar virtualização para executar várias instâncias de aplicativos e funcionar como parte da nuvem. Os preços dos ciclos de mainframe (milhões de instruções por segundo, ou MIPS) continuam caindo. Avanços, como os processadores especiais zIIP e zAAP, tornam o processamento ainda mais barato, permitindo que os desenvolvedores descarreguem processos de aplicativos da CPU de uso geral. Esses avanços criam uma paleta valiosa para todos os tipos de desenvolvedores de aplicativos, tanto os desenvolvedores de mainframe tradicionais quanto aqueles que trabalham em linguagens mais contemporâneas. As empresas têm a oportunidade de criar novos aplicativos que combinam a estabilidade, a confiabilidade, a velocidade e a capacidade de processamento do mainframe com a flexibilidade das interfaces na era da Web. O gerenciamento de mudanças e de configurações de software (SCCM) com qualidade de mainframe pode garantir que esses novos aplicativos sejam de alta qualidade e funcionem conforme esperado, e que o caminho até a produção possa ser seguido sem problemas. Modernos aplicativos de mainframe “Modernizar” os aplicativos de mainframe costumava significar retirar os aplicativos do mainframe. Hoje, modernizar os aplicativos de mainframe significa colocar mais cargas de trabalho e funções de aplicativos no mainframe. A IBM tem trabalhado pesado para desenvolver continuamente a arquitetura de aplicativos de mainframe para atender às exigências do mercado, como e-commerce. A arquitetura de aplicativos de mainframe monolítica tradicional está se tornando mais flexível, ágil e mais responsiva às mudanças nos negócios. www.microfocus.com 1 White Paper Desenvolvimento de aplicativos de mainframe modernos Enquanto o mainframe moderno continua executando cargas de trabalho herdadas, como on-line e em lote, COBOL e PL/I, ele também executa cargas de trabalho modernas, como Java e serviços Web, o que o torna incrivelmente versátil. Dessa forma, o mainframe pode finalmente funcionar como um servidor gigante em aplicativos empresariais. Tudo isso é uma ótima notícia, pois permite que as empresas criem novos aplicativos que melhoram o serviço aos clientes ou que tornam as empresas mais eficientes do que são atualmente. Por exemplo, um grande cliente da Serena (agora Micro Focus) executa todo o seu negócio em aplicativos que combinam um front end Java baseado em navegador com um back end DB2 no mainframe. O mainframe executa o e-commerce e o processamento de pedidos do cliente e gerencia o fluxo interno de aplicativos. Escritos em Java, os aplicativos usam um modelo de implantação contínua, em vez do modelo de versões rígidas, comum em muitas grandes empresas. Contudo, os mainframes continuam executando aplicativos legados escritos nos anos 70 e 80 e processando cargas de trabalho em lote essenciais para a empresa, como transações de cartão de crédito. COBOL ainda é a linguagem de programação predominante. Os desenvolvedores ainda estão escrevendo programas COBOL, criando sistemas on-line no CICS (Sistema de Controle de Informações do Cliente) e segmentando bancos de dados DB2. Mas hoje, esses bancos de dados e subsistemas de mainframe, como IMS, CICS e DB2, podem facilmente lidar com código XML e serviços Web. Assim, ainda não existe uma separação muito clara entre mainframe e os ambientes de desenvolvimento distribuídos, com a disponibilidade de sistemas de arquivos HTTP File Server (HFS), Linux e outras tecnologias e protocolos modernos no mainframe. Isso traz grandes benefícios. Por exemplo, agora é possível transferir o desenvolvimento de código de mainframe para ambientes de desenvolvimento integrado (IDEs) ou ambientes baseados no Windows. Isso elimina o custo de um espaço de endereço de TSO (Time Sharing Option) dedicado para os programadores, e dá aos desenvolvedores de mainframe acesso a depuradores, plug-ins e outras ferramentas não disponíveis no ambiente de programação 3270. 2 Um grande cliente da Serena (agora Micro Focus) executa todo o seu negócio em aplicativos, combinando um front end Java baseado em navegador com um back end DB2 no mainframe. Os desenvolvedores de Java querem desenvolver aplicativos que são executados no mainframe, mas também querem trabalhar a partir de seus ambientes de desenvolvimento favoritos, como o Eclipse, e dos dispositivos de destino mais populares, como telefones celulares e iPads. Mas há também grandes riscos, principalmente o de se ter um ambiente de desenvolvimento muito mais complexo e aplicativos complexos que você muda constantemente para acomodar a atividade. Segundo a Gartner, as solicitações documentadas de mudanças (RFCs) podem variar de 300 por mês, no caso de uma pequena empresa, a mais de 5.000 por semana, no caso de uma empresa global da Fortune 500. No momento da exibição (produção), ainda é preciso unir todo o código, do mainframe aos endpoints, e, idealmente, funcionar bem, todas as vezes, o tempo todo. Superando processos, pessoas e desafios tecnológicos Para os gerentes responsáveis pelo desenvolvimento de aplicativos de mainframe, o desafio é acomodar este novo mundo de aplicativos híbridos de maneira que a mudança ocorra rapidamente sem riscos ou custos maiores. Os desafios se dividem em três áreas: processos, pessoas e tecnologias. Processo: o gerenciamento do ciclo de vida do aplicativo é muito mais difícil. Os aplicativos agora envolvem muitas outras partes móveis, muitas tecnologias diferentes, pessoas com diferentes conjuntos de habilidades e culturas de programação, e dependências críticas que abrangem ambientes de mainframe e distribuídos. A coordenação das mudanças de aplicativos em várias equipes agrupadas é mais complexa. A implantação de um código na produção é inerentemente mais arriscada, e evitar um “desvio de configuração” em toda a empresa requer muita habilidade e vigilância constante. Pessoas: o inestimável conhecimento coletivo sobre o mainframe está saindo pela porta à medida que os desenvolvedores de mainframe se aposentam. Os desenvolvedores de Java querem trabalhar com o mainframe, mas não têm o tempo nem a disposição para aprender sobre o ambiente do mainframe. Eles também querem trabalhar a partir de seus ambientes de desenvolvimento favoritos, como o Eclipse, e dos dispositivos de destino mais populares, como telefones celulares e iPads. Cada campo, mainframe e distribuído, tem a sua própria maneira de fazer as coisas, e é difícil mudar isso. Migrações de mainframe ou eventos de negócios, como fusões e aquisições, podem surgir, às vezes, de um dia para o outro, deixando as equipes de TI perdidas quando se trata dos aplicativos ou até mesmo de onde localizar o código-fonte. Tecnologia: as ferramentas tradicionais para gerenciamento de mudanças e configurações de software de mainframe tendem a ser conectadas fisicamente ao antigo mainframe. Elas não são tão facilmente adaptáveis ao desenvolvimento de aplicativos de mainframe modernos, incluindo metodologias de desenvolvimento concorrentes, como Agile ou Scrum, que estão começando a ser usadas para desenvolvimento de aplicativos de mainframe, ou aos novos aplicativos híbridos e seus protocolos. Estas ferramentas tradicionais exigem muito esforço manual para serem adaptadas, expondo lacunas perigosas. Equipes de desenvolvimento que dependem dessas ferramentas podem levar muito tempo e orçamento para desenvolver aplicativos híbridos. Os erros e as interrupções de aplicativos podem ser mais frequentes, e as reversões e as auditorias, muito mais demoradas e trabalhosas. www.microfocus.com 3 White Paper Desenvolvimento de aplicativos de mainframe modernos Felizmente, os processos de SCCM de mainframe adequadamente automatizados podem superar com êxito a maioria desses desafios. Felizmente, a tecnologia de automação de SCCM de alguns mainframes continua evoluindo junto com o mainframe. Essa tecnologia moderna, os processos que ela automatiza e as melhores práticas que ela impõe podem ajudar você a liderar os esforços de modernização de aplicativos. Um aliado na modernização do desenvolvimento de aplicativos de mainframe O SCCM de mainframe moderno pode ser um aliado no desenvolvimento de aplicativos de mainframe modernos. Quando automatizado de forma inteligente e extensiva, o SCCM de mainframe pode controlar automaticamente todas as mudanças no código do aplicativo por meio do novo ambiente de desenvolvimento de mainframe, reduzindo o risco e garantindo a integridade dos sistemas de produção. Ele pode estender o rigor e a estabilidade do mainframe ao desenvolvimento de aplicativos híbridos e ajudar as organizações de desenvolvimento a aproveitar a oportunidade. Um SCCM de mainframe moderno pode conectar e unificar os dois campos de desenvolvedores, mainframe e distribuído. Ele irá ajudar os desenvolvedores a colaborarem sem alterar a forma como cada um normalmente trabalha e a serem mais produtivos e previsíveis em seus resultados. Nesse meio tempo, o sistema vigia e garante a integridade, a auditabilidade e a qualidade do aplicativo. Ele também pode replicar as transferências suaves, comuns nos tradicionais ambientes de programação de mainframe. O sistema torna isso possível automatizando, de maneira inteligente, o gerenciamento de configurações de software e as mudanças de software em todo o ciclo de vida do aplicativo, desde o desenvolvimento até o gerenciamento das versões. Um sistema de SCCM de mainframe moderno: C aptura e codifica o conhecimento coletivo de mainframe, de modo que seja possível sutilmente impor regras para todos os desenvolvedores trabalhando com aplicativos ou código de mainframe. A plica automaticamente as melhores práticas de SCCM de mainframe em toda a organização de desenvolvimento estendida. Por exemplo, você pode desenvolver uma política que impeça um determinado tipo de mudança de código, ou uma política que permita que uma determinada mudança seja feita, mas envie uma notificação automática para o líder do projeto. 4 O gerenciamento de mudanças e de configurações de software (SCCM) de mainframe moderno pode estender o rigor e a estabilidade do mainframe ao desenvolvimento de aplicativos híbridos e ajudar as organizações de desenvolvimento a aproveitar a oportunidade. O SCCM de mainframe moderno permite que você traga o melhor dos dois mundos para o desenvolvimento de aplicativos de mainframe: o tradicional rigor e estabilidade do mainframe e a flexibilidade das modernas linguagens de programação. G erencia desenvolvedores fora da plataforma que estejam desenvolvendo para o mainframe, incluindo desenvolvedores Java e C++, reduzindo as chances de upstream de erros no ciclo de desenvolvimento. C ria e centraliza as informações de gerenciamento, de modo que possam ser usadas para melhorar a auditabilidade dos aplicativos, a qualidade do processo e a produtividade do desenvolvedor em todo o ciclo de vida do aplicativo. Por exemplo, um sistema de SCCM de mainframe moderno automaticamente gravará tudo o que ele faz em um log, para que nunca mais haja surpresas. As reversões e as auditorias se tornam muito mais fáceis, mesmo com a maior complexidade dos aplicativos. O SCCM de mainframe moderno usa padrões nativos da IBM, padrões mais recentes, como Java e serviços Web XML, frameworks e APIs abertas para criar ambientes de desenvolvimento abertos e flexíveis. O SCCM de mainframe moderno inclui suporte nativo completo para Java, HFS, XML e outras tecnologias presentes na arquitetura de aplicativos de mainframe da IBM. Isso significa que tudo o que você conseguia fazer com COBOL e PL/1 trabalhando em um ambiente de programação 3270, agora pode ser feito com Java trabalhando no Eclipse. E tudo que você conseguia fazer com Java trabalhando no Eclipse, agora pode ser feito no mainframe. Os desenvolvedores fora da plataforma trabalhando em Java podem escrever para o mainframe, sem conhecer as nuances do mainframe. E o código resultante simplesmente funciona, já que o sistema, e não as pessoas, está continuamente conferindo as conexões, monitorando as mudanças e validando a integridade do código. O SCCM moderno contém o gerenciamento integrado das versões. Ele estende a disciplina e a escalabilidade para o processo de gerenciamento de versões, não importando se seus desenvolvedores estejam implantando o código diretamente em produção ou se você faça a implantação por meio de uma equipe de gerenciamento de versões. Através de abordagens como as descritas acima, o SCCM de mainframe moderno permite que você traga o melhor dos dois mundos para o desenvolvimento de aplicativos de mainframe: o tradicional rigor e estabilidade do mainframe e a flexibilidade do Java e de outras linguagens de programação modernas. Por exemplo, o cliente mencionado anteriormente neste artigo usa um SCCM de mainframe moderno para possibilitar o modelo de implantação contínua para seus aplicativos híbridos (front end Java e back end DB2). Este cliente usa o Micro Focus® ChangeMan ZMF e o WebSphere para gerenciar a implantação contínua dos arquivos JAR (Java Archive) e WAR (Web Application Archive) que suportam seus aplicativos. www.microfocus.com 5 White Paper Desenvolvimento de aplicativos de mainframe modernos Você pode agilizar e fortalecer ainda mais o desenvolvimento de aplicativos de mainframe modernos, aproveitando conceitos avançados, como pacote de software. O conceito de pacote, iniciado pela Serena Software (agora Micro Focus), mantém automaticamente as mudanças de software concorrentes ao longo do ciclo de vida do aplicativo, gerenciando tudo como um pacote, em vez de peças. À medida que as mudanças são feitas, a tecnologia de pacotes atualiza automaticamente as relações entre os componentes. As escalas de desenvolvimento são mais fáceis, mesmo quando os aplicativos se tornam mais complexos e distribuídos em diferentes plataformas e dispositivos. A automação inteligente, automação com melhores práticas embutidas, pode automatizar a mecânica da comunicação, do gerenciamento de configurações, do gerenciamento de versões, da auditoria e de outras tarefas. Com a automação da mecânica dessas tarefas, é possível liberar os desenvolvedores para fazerem o que eles fazem melhor: escrever excelentes códigos. Você pode automaticamente detectar erros e, muitas vezes, corrigi-los sem intervenção humana. Dessa forma, você pode obter novos aplicativos ou aprimoramentos de aplicativos, até mesmo aqueles híbridos ou mais complexos, com produções mais rápidas, a um custo menor e com menos risco. APIs abertas permitem que você adote uma abordagem mais focada nos negócios para gerenciar o desenvolvimento de aplicativos. Por exemplo, uma empresa integrou o seu sistema de SCCM de mainframe com o seu sistema de gerenciamento de tempo. O sistema automatiza estornos para as unidades de negócios para o trabalho realizado em vários bens de desenvolvimento, sem exigir que os desenvolvedores preencham planilhas de horas trabalhadas. Outra empresa, um dos principais bancos internacionais, escreveu um pacote de geração de relatórios que permite que seus gerentes seniores verifiquem o andamento das aprovações por desenvolvedor. Outra empresa, uma grande organização que presta serviços de folha de pagamento a milhares de clientes, usa um SCCM de mainframe moderno para manter as alterações sincronizadas entre as várias instâncias de seu aplicativo de folha de pagamento, as quais são usadas para suportar diferentes clientes. Quando acontecem mudanças importantes em componentes chave, o sistema notifica automaticamente os clientes e as principais partes interessadas por e-mail. Mais importante ainda, o SCCM moderno cria a disciplina e os processos que se adaptam com a sua empresa à medida que ela cresce e muda. Ele torna o desenvolvimento de aplicativos de mainframe moderno muito mais previsível, escalável, rastreável e auditável. 6 O SCCM moderno cria a disciplina e os processos que se adaptam com a sua empresa à medida que ela cresce e muda. Ele torna o desenvolvimento de aplicativos de mainframe moderno muito mais previsível, escalável, rastreável e auditável. Você pode aproveitar momentos únicos e novas tecnologias para examinar os processos atuais, atualizar ou descartar os antigos e implantar processos novos e mais eficazes. Uma oportunidade de ouro Se você é o responsável pelo desenvolvimento de aplicativos de mainframe, você tem uma oportunidade de ouro para trazer mais aplicativos sob o controle do mainframe e seu tradicional rigor. Você pode usar o SCCM de mainframe moderno para melhorar a maneira de gerenciar, modificar e implantar aplicativos empresariais em todo o ciclo de vida do aplicativo. Você pode aproveitar momentos únicos e novas tecnologias para examinar os processos atuais, atualizar ou descartar os antigos e implantar processos novos e mais eficazes. Nunca houve um momento melhor do que agora. www.microfocus.com 7 Micro Focus Argentina +54 11 5258 8899 Brasil +55 11 3627 0900 Colombia +57 1 622 2766 México +52 55 5284 2700 Venezuela +58 212 267 6568 Micro Focus Sede da empresa Reino Unido +44 (0) 1635 565200 www.microfocus.com www.microfocus.com 162-PB0080-001 | S | 05/17 | © 2017 Micro Focus. Todos os direitos reservados. Micro Focus e o logotipo Micro Focus, entre outros, são marcas registradas ou marcas comerciais registradas da Micro Focus ou de suas subsidiárias ou afiliadas no Reino Unido, Estados Unidos e outros países. Todas as outras marcas pertencem a seus respectivos proprietários.