Desenvolvimento de aplicativos de mainframe

Propaganda
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.
Download