Abordagens modernas para uma rápida

Transcrição

Abordagens modernas para uma rápida
 ARTIGO
TÉCNICO
Abordagens modernas para uma rápida modernização de
aplicativos
Patrocinado por: Micro Focus
Al Hilwa
Maio 2014
OPINIÃO DA IDC
Os aplicativos empresariais são projetados para ter uma vida útil finita, mas essa vida útil pode ser
inesperadamente longa, potencialmente mais de 30 anos no caso de alguns aplicativos
desenvolvidos sob medida para mainframes. Embora esses aplicativos exijam cuidados contínuos
e manutenção por equipes de desenvolvimento de aplicativos, as bases de códigos são muitas
vezes extremamente maduras e sem erros de programação, atendendo aos requisitos da
empresa de modo inigualável e incorporando com precisão as regras dos negócios. A IDC
constatou que, em muitos casos, as empresas podem tomar medidas para modernizar estes
aplicativos, muitas vezes chamados de "aplicativos legados", sem que sejam necessárias grandes
alterações na base de código e, muitas vezes, de maneiras que permitem uma evolução agressiva
para atender a novas necessidades comerciais ou tecnológicas. A IDC, particularmente,
recomenda a seguinte estratégia para lidar com aplicativos legados:

As empresas devem engajar-se em um processo de levantamento e de análise na gestão
de portfólios de aplicativos internos, classificando-os e agrupando-os de acordo com
vários planos organizacionais destinados a identificar as melhores abordagens para sua
expansão ou modernização. Tal análise é fundamental para a priorização e contenção de
custos de projetos de modernização.

As interfaces do usuário (UI) dos aplicativos devem ser atualizadas para alinhamento com
transições de plataforma do cliente e mudanças para plataformas Web. Os sistemas
baseados em linha de comando ou em tecla de função, incluindo interfaces do estilo 3270,
devem ser suplantados ou melhorados para acomodar a experiência do usuário moderno.

Para que uma classe de aplicativos legados possa atender a certos critérios de
adequação, as empresas devem pensar em mudar o processo de desenvolvimento de
aplicativos para plataformas de software e hardware mais ágeis e econômicas. Tal
abordagem pode reduzir o custo de manutenção, melhorar a eficiência do
desenvolvimento e até mesmo ampliar os recursos disponíveis.

Para aplicativos que requerem um grau significativo de evolução e modernização, as
empresas encontrarão cadeias modernas de ferramentas de testes e qualidade para
aplicativos de mainframe com grande disponibilidade no mercado e suporte agressivo de
fornecedores, de uso e gestão mais produtivos pela vida útil restante dos aplicativos em
questão.

As empresas podem considerar abordagens que forneçam uma opção para a implantação
da carga de trabalho de aplicativos em diferentes plataformas econômicas de hardware e
software. Os benefícios dessas transições vão desde a redução da capacidade de
mainframe necessária para permitir que o mainframe se concentre na execução crítica do
sistema central, até a flexibilidade genuína de implantação da carga de trabalho para
alcançar níveis mais elevados de eficiência de custos e de agilidade comercial.
IDC #248680 Maio 2014
INDICE
P.
Opinião da IDC
1 Neste artigo técnico
1 Visão geral da situação
1 Noções básicas de ativos de código
1 Desaceleração no desenvolvimento
4 Flexibilização de testes
6 Flexibilidade de implantação
8 Visão futura
9 Como se preparar para aplicações em nuvens
10 Mobilidade e modernização da interface do usuário
10 Desafios e oportunidades
10 Transformações na oferta de desenvolvedores
10 Atrasos de TI e o ambiente regulatório intensificado
11 Becos sem saída de arquitetura
11 Conclusão
11 Saiba mais
13 Pesquisas relacionadas à IDC
13 Outras pesquisas relacionadas
13 ©2014 IDC
#
NESTE ARTIGO TÉCNICO
Este documento examina abordagens fundamentais para a modernização e evolução de
aplicativos para determinados aplicativos de mainframe da IBM com vida útil longa. Ele discute os
desafios dos aplicativos legados e as abordagens de modernização disponíveis para lidar com
esses desafios. O documento também analisa, em alguma profundidade, abordagens específicas
que mantêm grande parte da lógica do aplicativo intacta ou permite que evolua de forma
incremental e produtiva.
VISÃO GERAL DA SITUAÇÃO
A tecnologia da informação (TI) está em um constante movimento. Mudanças são vistas como
progresso, e a velocidade das mudanças parece estar em constante aceleração. Embora uma
nova geração de tecnologia tenha vantagens incontestáveis até mesmo quando comparada ao
seu antecessor imediato, o custo de gerenciar simultaneamente várias gerações de tecnologia,
lidar com transições e mudanças nas camadas de tecnologias que as hospedam, como hardware
e plataformas de aplicativos subjacentes, pode superar a produtividade ou as vantagens
econômicas de adoção de novas tecnologias. Um exemplo de transição arquitetônica, cujas
vantagens são consideravelmente menores do que inicialmente previstas, é o salto para modelos
cliente/servidor de duas camadas que ocorreu do início até os meados da década de 1990. Nos
últimos anos, muitas das mesmas empresas que implementaram essas tecnologias têm investido
em transições de vários tipos que muitas vezes levam à substituição de tais aplicativos. A adoção
constante de novas tecnologias resultou em um grave caso de expansão tecnológica
descontrolada de empresas. Além disso, essa condição parece estar destinada a agravar-se,
porque tendências crescentes como Web, nuvem, tecnologia móvel, mídia social e megadados,
juntamente com novas pressões devido a mudanças nos regulamentos, concorrência no mercado,
preferências dos consumidores e padrões de uso dos clientes, estão causando níveis inéditos de
mudanças. Embora experimentos sejam essenciais e uma mistura diversificada de tecnologias
seja inevitável, a expansão não conseguiu esclarecer se um tipo de tecnologia é contextualmente
superior a outros. As empresas sabiamente abordam a questão da modernização de maneira
equilibrada e pesquisam portfólios de aplicativos usando um processo metódico de análise.
Noções básicas de ativos de código
As empresas depositam enorme confiança em seus portfólios de aplicativos e passaram a
entender que seus ativos de código estão entre seus bens mais valiosos. É lógico, então, que
gastem recursos consideráveis na manutenção da viabilidade de seu código de aplicativos em
circunstâncias que mudam rapidamente. A modernização do portfólio de aplicativos é um
exercício complexo e contínuo nos quais as empresas se envolvem, utilizando variadas
abordagens. Algumas das opções de modernização típicas que as empresas enfrentam são:

Corresponder requisitos e fluxos de trabalho corporativos aos aplicativos e camadas de
aplicativos existentes, juntamente com várias medidas de escala, complexidade,
importância ou necessidade de interoperabilidade

Analisar e agrupar aplicativos em conjuntos de funções potencialmente sobrepostos, que
podem ter surgido separadamente em divisões diferentes ou por meio de fusões e
aquisições
©2014 IDC
#
1

Avaliar a duplicação de aplicativos para entender sua cobertura funcional e alcance, a fim
de determinar quais podem ser aprimorados para englobar outros

Revelar necessidades de aplicativos não satisfeitas e participar de um processo avaliativo
para determinar se novos aplicativos devem ser desenvolvidos ou se os aplicativos
existentes devem ser aprimorados

Categorizar os aplicativos existentes em grupos diferentes com diferentes abordagens de
modernização (essas abordagens de modernização podem abranger toda a escala desde
a obsolescência planejada e a substituição programada até uma variedade de técnicas de
encapsulamento voltadas para serviços e abordagens onde o código é essencialmente
preservado e aprimorado.)
Atrofia de aplicativos e a necessidade de modernização
O grau em que um aplicativo atende aos próprios requisitos não se mantém constante ao longo da
sua vida útil. Com o tempo, os aplicativos entram em um estado de atrofia, que necessita de
modernização. Os seguintes tipos de mudanças no ambiente de TI podem cumulativamente levar
a uma atrofia de aplicativos:

Mudanças em estilos da interface do usuário (UI). Mudanças no estilo da UI, seja através
de transições em plataformas de cliente ou mudanças para modelos de UI mais portáteis
como navegadores da Web, estão sempre ocorrendo e podem levar a transformações
episódicas como, por exemplo, a mudança de sistemas de linha de comando ou
orientações à tecla de função para sistemas gráficos. Hoje, estamos vivendo uma enorme
transformação à medida que os aplicativos mudam para modalidades de interação por
toques ou gestos, e sua distribuição flutua em torno de dispositivos móveis. Modelos de UI
de aplicativos estão se estratificando ao longo dos principais ecossistemas de dispositivos
de sucesso (por exemplo, iOS, Android, Windows) e de um modelo de funcionalidade um
pouco inferior com base em HTML5/CSS/JavaScript padrão do setor, adequado para uso
menos específico a dispositivos. Para os usuários de mainframe, uma importante área de
evolução é o aumento de interfaces de estilo 3270 com as abordagens modernas exigidas
pelas demandas dos novos profissionais.

Mudanças nas arquiteturas de hardware. O fato de que hardware tem uma vida útil mais
finita do que software e requer uma capacidade de atualização física para se beneficiar de
melhorias no desempenho pode levar a uma significativa pressão sobre os aplicativos. À
medida que o hardware passa por mudanças rápidas, sistemas operacionais intimamente
ligados a arquiteturas de hardware podem passar por transições significativas ou sofrer
por investimento inadequado do fornecedor. Basta observar os diversos sistemas
integrados que reinaram durante várias épocas, como Pick, DEC VAX ou HP3000, para
entender a pressão que hardware e sistemas operacionais colocam no aplicativo.

Mudanças nas arquiteturas de software. Mudanças na estrutura e na conectividade de
sistemas de computação provocadas por características de rede em evolução, incluindo
largura de banda, velocidade, latência e confiabilidade, criam oportunidades de mudança
e novos recursos que são muitas vezes inimagináveis nas fases iniciais de
desenvolvimento de aplicativos. Trinta anos atrás, sistemas distribuídos eram arquiteturas
altamente suspeitas porque os profissionais de TI da época não tinham acesso a redes
com a onipresença, o rendimento, a latência e a confiabilidade da Internet atual, nem
podiam imaginá-las. Atualmente, arquiteturas de software que utilizam enormes portfólios
de serviços e dados em nuvem, e os conectam a diversos dispositivos móveis com
inteligência de localização e recursos off-line, estão essencialmente revolucionando as
possibilidades em aplicativos empresariais.
©2014 IDC
#
2

Mudanças nas linguagens e nos modelos de programação. Embora as linguagens de
programação mudem em períodos longos, medidos em várias décadas, elas também
colocam pressão sobre os aplicativos ao influenciar o fornecimento de desenvolvedores
que podem mantê-las. Os ecossistemas de desenvolvedores mudam lentamente, regidos
pela sua capacidade de aprender e de fazer transições entre as diferentes linguagens de
programação e os conhecimentos exigidos (por exemplo, orientação à objetos). À medida
que mudam, esses ecossistemas geram pressões de base em projetos de manutenção de
aplicativos que se manifestam pela capacidade de encontrar e reter desenvolvedores.
COBOL é um exemplo de tecnologia que está sob relativa pressão porque raramente é
ensinado em cursos atuais de linguagens. Embora a situação seja minimizada pela maior
longevidade humana e pela aposentadoria cada vez mais tardia de profissionais devido à
situação econômica, é necessário encontrar soluções para atrair o conhecimento perito de
COBOL, caso se queira manter um corpo significativo de aplicativos.
Sintomas de atrofia de aplicativos
Compreender os processos pelos quais os aplicativos podem degenerar como descrito pode levar
a uma melhor compreensão da necessidade de modernização e da detecção dos sintomas mais
diretos que caracterizam essa necessidade. Algum tipo de processo de modernização muitas
vezes é a solução, quando um ou mais dos seguintes problemas são encontrados em um sistema
ou corpo de código específico:

Custos de manutenção existentes insustentavelmente altos

Sistemas rígidos resistentes às mudanças ou à adaptação a novos requisitos

Isolamento ou falta de interoperabilidade, que requer investimento extra considerável para
conexão com outros sistemas empresariais

Tecnologia de interface do usuário ultrapassada, como aplicativos de tela verde com base
em texto ou em tecla de função, que não são atraentes aos usuários e proporcionam
menor produtividade em comparação com abordagens gráficas modernas
Em geral, recomenda-se uma abordagem de modernização de aplicativos quando qualquer um
desses quatro sintomas críticos é observado no processo de análise. O processo de descoberta e
avaliação que as empresas criam para aplicativos empresariais também mede o grau necessário
de mudança para cada aplicativo, que se torna um dado essencial quanto à abordagem a ser
seguida na modernização.
Micro Focus Enterprise Analyzer
O Micro Focus Enterprise Analyzer é uma das principais ferramentas para análise de portfólios de
aplicativos no setor. Ele permite a aquisição do conhecimento necessário para conduzir uma
análise de modernização bem-sucedida. Seus principais recursos incluem a identificação das
prioridades de desenvolvimento e a geração de avaliações de portabilidade e de candidatos à
modernização. As ferramentas adicionais da Micro Focus ajudam a analisar o código do
aplicativo, o que muitas vezes faz parte da avaliação de modernização. As ferramentas de análise
da Micro Focus foram projetadas para ajudar a alinhar as prioridades do negócio, documentar o
comportamento do aplicativo, avaliar grandes impactos da mudança do sistema e melhorar as
práticas de qualidade de código. Em seu conjunto, essas ferramentas oferecem suporte ao
processo de modernização de aplicativos, fornecendo um mecanismo para destravar a
complexidade, conter custos de manutenção e priorizar projetos.
©2014 IDC
#
3
Modernização de interface do usuário com o Micro Focus Rumba+
Outra ferramenta importante que deve ser seriamente considerada em todos os esforços de
modernização de mainframe é o Micro Focus Rumba+. Essa coleção de recursos de gestão da
interface do usuário pode simplificar fluxos de trabalho de teclas de função e de texto do
mainframe, canalizando-os através de paradigmas modernos de interface gráfica do usuário. Ela
oferece o recurso de exibir várias telas em uma única interface, permitindo que os usuários
acessem a funcionalidade do aplicativo de mainframe em PCs, na Web e em dispositivos móveis
modernos. Diversas funções, como treinamento em aplicativos e integração do usuário, podem se
tornar mais simples e eficientes com o uso dessa tecnologia, estendendo a vida útil e o retorno
total sobre o investimento de aplicativos de mainframe existentes. Essas transformações na
experiência do usuário são fornecidas sem a modificação de aplicativos de mainframe e
mantendo, ao mesmo tempo, os padrões de segurança do mainframe.
Desaceleração no desenvolvimento
A avaliação de portfólios envolvendo hardware legado rodando aplicativos mais antigos pode
produzir resultados distintos para diferentes partes do portfólio de aplicativos. Alguns resultados
podem refletir desafios operacionais relacionados a processos de desenvolvimento de aplicativos
atuais. Esses desafios podem incluir o rendimento insatisfatório de atualizações do sistema,
classificações de baixa qualidade, taxas inadequadas de mudanças ou alto custo por receita para
o desenvolvimento de aplicativos. Uma oportunidade de modernização em potencial que pode
resultar em economias surpreendentes de produtividade seria a transferência do processo de
desenvolvimento para plataformas modernas.
O mainframe é uma máquina bem ajustada para execução de cargas de trabalho de produção.
Ele é excelente em questões de confiabilidade, segurança e processamento de grandes volumes
de transações em larga escala. Os processos de desenvolvimento de aplicativos e testes de
unidades para o mainframe podem absorver capacidade significativa dele mesmo, e os processos
de mainframe exigem conhecimentos específicos muito acima daqueles necessários para oferecer
suporte à linguagem de programação do próprio código. Tais conhecimentos são difíceis de
encontrar porque os mainframes são, em grande parte, desconhecidos pelas gerações recentes
de programadores e os conhecimentos necessários raramente são ensinados em cursos de
computação. Essas questões têm criado uma oportunidade para que fornecedores de ferramentas
encontrem soluções interessantes para conduzir o processo de desenvolvimento utilizando a
tecnologia moderna como um sistema de referência.
Benefícios do desenvolvimento simplificado de mainframe
Embora muitos aplicativos de mainframe permaneçam hospedados em mainframes, atualmente
seus processos de desenvolvimento podem ser abordados de formas mais flexíveis. Ferramentas
disponíveis no mercado, como as da Micro Focus, permitem que desenvolvedores trabalhem em
modernos dispositivos de front-end gráficos com modernos ambientes integrados de
desenvolvimento (IDEs), enquanto o código e os dados do aplicativo podem permanecer e ser
executados no mainframe para fins de testes e de produção. Outra opção é implementar todo o
processo de desenvolvimento e teste de mainframe utilizando recursos não z/OS. Essas
abordagens simplificadas de desenvolvimento de aplicativos de mainframe podem produzir
diversas vantagens, como:
©2014 IDC
#
4

Produtividade do desenvolvedor. Os desenvolvedores modernos são treinados para
trabalhar com ferramentas nativas em estações de trabalho gráficas modernas. Em geral,
os desenvolvedores usam IDEs modernos e fazem uso de uma ampla gama de
ferramentas de desenvolvimento para gerenciar suas atividades. Fornecer ferramentas
que rodam no ambiente nativo de treinamento dos desenvolvedores reduz o tempo de
treinamento para novos membros da equipe e permite que os desenvolvedores passem
menos tempo alternando entre o ambiente do PC e o mainframe.

Flexibilidade e agilidade de desenvolvimento. É difícil atrair e reter bons desenvolvedores,
conhecidos por serem cada vez mais sensíveis às ferramentas que usam. Os
desenvolvedores protegem seus conhecimentos e os anos investidos no aprendizado de
suas ferramentas favoritas ou no domínio de certos paradigmas de interação, como as
experiências de usuário gráficas modernas. A maioria dos desenvolvedores atuais não
está familiarizada com interfaces de mainframe e não está acostumada a usá-las para o
desenvolvimento cotidiano de aplicativos. A arquitetura de mainframe também pode impor
limites sobre os desenvolvedores, reduzindo sua produtividade e agilidade. A mudança
para ambientes de programação contemporâneos (por exemplo, Visual Studio ou Eclipse)
remove essas limitações e também disponibiliza uma ampla variedade de ferramentas
que os desenvolvedores podem usar no processo de desenvolvimento.

Qualidade de código. Além do impacto de usar ferramentas de testes que residem em
ambientes de PC, normalmente qualquer transição que melhora a produtividade do
desenvolvedor muitas vezes melhora, ao mesmo tempo, a qualidade do código. Menos
mudanças de contexto durante o processo de desenvolvimento, juntamente com maior
flexibilidade na seleção de ferramentas (incluindo ciclos instantâneos de
edição/depuração de bugs), também ajudam a se obter níveis mais elevados de qualidade
de código. Em geral, oferecer opções para diferentes abordagens permite que os
desenvolvedores trabalhem em seus paradigmas de desenvolvimento preferenciais,
contribuindo assim para a melhoria da qualidade do código.

Gerenciamento de MIPS. Além da redução de custos proveniente da produtividade, do
desenvolvimento mais rápido e do menor tempo de retorno, a redução de custos também
pode ser conseguida através da utilização de PCs para testes e como estações de
trabalho de desenvolvedores. Dependendo do tamanho da equipe de desenvolvimento,
remover a carga de trabalho de compilação de aplicativos e testes pode reduzir
tangivelmente o número necessário de MIPS de desenvolvimento. Isso pode colocar mais
MIPS disponíveis para a produção ou pode levar a uma potencial redução de custos, não
só em hardware, mas também em licenciamento de software, já que a maioria dos
softwares de mainframe ainda é licenciada com base na capacidade do mainframe.
Micro Focus Enterprise Developer
A linha de produtos Micro Focus Enterprise Developer permite que os desenvolvedores trabalhem
em seu IDE preferido, seja Visual Studio ou Eclipse, para criar e manter aplicativos COBOL no
mainframe. A linha de produtos oferece suporte a fluxos de trabalho de desenvolvedores
individuais e de equipes, e sustenta a maturidade adquirida ao longo de uma década de pesquisa
e desenvolvimento. O suporte para múltiplos IDEs e a capacidade de produzir código de tempo de
execução .NET ou JVM em COBOL significa que desenvolvedores de ecossistemas Microsoft ou
Java podem se sentir à vontade no ambiente de desenvolvimento enquanto adquirem
conhecimentos de COBOL. Tipicamente, a pesquisa da IDC revela que um número significativo de
desenvolvedores COBOL já aprendeu novas linguagens de programação além do COBOL e,
portanto, está possivelmente familiarizado com o Visual Studio ou o Eclipse, se não com ambos.
©2014 IDC
#
5
Flexibilização de testes
Como resultado da avaliação de portfólios, pontos fracos ou obstáculos nas taxas de entrega de
serviços, na qualidade do aplicativo, na flexibilidade do processo de controle de qualidade ou os
custos de testes podem apontar para a necessidade potencial de mudar a forma de realização dos
principais testes de aplicativos.
Testes de unidade, funcionais e até mesmo de sistemas podem proporcionar benefícios
significativos se forem refinados usando a tecnologia moderna. Os testes de aplicativos podem,
potencialmente, fornecer benefícios ainda maiores, porque quando o desenvolvimento é
modernizado, todo o processo de testes pode ser realizado em hardware básico, com uma maior
variedade de ferramentas disponíveis para sistemas distribuídos. Os testes são uma parte integral
da carga de trabalho do desenvolvimento de aplicativos que pode absorver significativa
capacidade do sistema, especialmente durante testes de esforço e de desempenho de aplicativos.
Benefícios de testes externos ao mainframe
A realização de testes de aplicativos de mainframe fora do mainframe pode propiciar as seguintes
vantagens:

Ciclos de testes mais curtos. Tirar proveito de grandes parques de servidores básicos
também pode levar a ciclos de testes significativamente mais curtos, e mais recursos
podem ser aplicados de forma incremental para realizar a execução de testes
automatizados em paralelo. Os ganhos gerais em agilidade empresarial são, portanto, os
principais benefícios de aplicativos de testes em plataformas distribuídas.

Qualidade de código. A capacidade de utilizar recursos de hardware substancialmente
alternativos também pode permitir testes mais profundos e ricos, além de planos de teste
ampliados, o que leva diretamente a código de melhor qualidade.

Redução de custos. A redução de MIPS de mainframe alocados para testes pode ser
significativa, especialmente em testes de desempenho, que podem absorver capacidade
significativa do sistema e afetar, potencialmente, outras cargas de trabalho do mainframe.
A natureza episódica e transitória de testes de esforço de desempenho leva a um
superdimensionamento de recursos de mainframe e ao custo excessivo de licenciamento
de software. Esses custos podem ser significativamente atenuados quando os testes
podem utilizar hardware básico.

Recrutamento mais fácil. Atividades modernizadas de testes podem facilitar a atração e
retenção de testadores e reduzem muito as necessidades de treinamento de plataforma.

Conjunto de ferramentas mais rico. Os testes em plataformas distribuídas tiram proveito
da mais ampla variedade de ferramentas de testes disponíveis no mercado atualmente,
permitindo que tecnologias de testes mais avançadas auxiliem rapidamente os valiosos
aplicativos COBOL.
Micro Focus Enterprise Test Server
A funcionalidade de testes da Micro Focus pode ser usada em aplicativos COBOL rodando em
hardware moderno básico para apoiar o esforço de modernização da empresa.

O Micro Focus Enterprise Test Server fornece um ambiente de execução de testes de
mainframe no Windows, permitindo que as equipes de aplicativos executem atividades
chave de testes funcionais e de sistemas sem o custo ou as restrições do ambiente de
mainframe. Isso permite ampliar e adaptar os testes de acordo com a demanda, e também
©2014 IDC
#
6
fornece um ambiente adequado para testar aplicativos compostos mais amplos, incluindo
interfaces Java ou C# e back-ends de COBOL para mainframe.

A linha de produtos de testes Silk da Micro Focus é atualmente uma das principais
soluções de testes do setor. O Silk inclui a funcionalidade para gerenciar e controlar todo
o processo de testes, incluindo a funcionalidade de relatórios, o planejamento de
execução manual avançado, testes de desempenho e testes de esforço. Os produtos são
compatíveis com testes contínuos guiados por dados, scripts potentes de domínio técnico
e testes de regressão automatizados de aplicativos empresariais.
Flexibilidade de implantação
Além de agilizar as atividades de desenvolvimento ou de testes, resultados da avaliação de
portfólio que mostram a falta de flexibilidade de aplicativos, a lentidão na aplicação de mudanças
no aplicativo ou a incapacidade de adotar oportunidades de plataforma de custo total de
propriedade mais baixo (como aquelas oferecidas por lançamentos posteriores de hardware,
como o zEnterprise) podem sugerir a necessidade de analisar a estratégia de implantação.
Como aproveitar as curvas de custos de sistemas modernos
A última década e meia mostrou sinais de uma mudança de sistemas tradicionais para sistemas
básicos baseados em x86/64 da Intel e outras arquiteturas básicas. Esses sistemas estão
disponíveis em um mercado altamente competitivo e são fornecidos por diversos grandes
fornecedores, que oferecem uma ampla gama de configurações de sistemas e níveis de serviço. A
natureza competitiva desse mercado de produtos básicos provocou uma extraordinária
aproximação dos preços aos custos de produção, deixando os fornecedores com as margens
estreitas nas quais eles se acostumaram a operar. Assim, devido aos competitivos sistemas
básicos, as empresas têm a seu dispor um ambiente de hardware altamente econômico que
evolui rapidamente, controlado pela evolução da densidade dos chips e pela marcha da lei de
Moore. Tais sistemas contrastam com sistemas de mainframe de propriedade exclusiva operados
a um nível mais alto de custo e de serviço, e potencialmente fornecendo níveis mais altos de
confiabilidade, disponibilidade e segurança. Significativamente, talvez, a mais recente tecnologia
de mainframe IBM, a plataforma zEnterprise, compreende não só a arquitetura de chips tradicional
da série z, mas também lançamentos recentes que incluem plataformas básicas que rodam AIX,
Linux e Windows, proporcionando assim flexibilidade de escolha em um ambiente de servidor
empresarial consolidado. Em última análise, as preferências de plataforma são uma função dos
conjuntos empresariais de habilidades e experiência. A maioria das grandes empresas tem
diversas instalações onde os mainframes ocupam um lugar permanente. Empresas de médio
porte tendem a adotar reduções de complexidade e de custo operacional para competir com os
membros mais recentes dos seus grupos de pares. As antigas empresas de médio porte que
automatizaram cedo e instalaram mainframes são os candidatos mais prováveis para a otimização
de cargas de trabalho de produção utilizando hardware básico.
Opções de implantação de novos aplicativos
Um resultado provável importante da análise de um portfólio de aplicativos é que, para uma lógica
de aplicativos de servidor controlada e estável, as questões encontram-se no hardware e no
sistema operacional de implantação. Esse pode ser o caso especialmente para aplicativos
hospedados em sistemas de mainframe, onde o mainframe é mantido para necessidade exclusiva
de um conjunto de aplicativos COBOL desenvolvidos sob medida. A opção de uma nova
implantação capaz de transferir a lógica de negócios para sistemas Windows ou Unix pode liberar
recursos de produção de mainframe para proporcionar uma expansão mais crítica do sistema ou
©2014 IDC
#
7
para fornecer um ambiente de replicação flexível e econômico para organizações que precisam
expandir sua cobertura de produção, ao mesmo tempo que gerenciam o uso do mainframe.
Tais implementações podem levar, seletivamente, várias cargas de trabalho de mainframe para
um hardware alternativo, dependendo do escopo do projeto. Em muitos casos, é possível tomar
decisões distintas com relação aos bancos de dados do mainframe e à lógica do aplicativo de
mainframe. Assim, os bancos de dados do mainframe, embora de migração complexa e exigindo
uma prática de gestão de dados estabelecida fora deste, também podem ser hospedados fora do
mainframe para possíveis reduções de custos no que diz respeito a hardware, licenças de
software e manutenção. Como alternativa, os bancos de dados podem ser mantidos no mainframe
enquanto a lógica de execução que foi migrada para plataformas básicas pode acessar os bancos
de dados através de middleware distribuído. O escopo e os limites da modernização de aplicativos
são normalmente determinados na fase de análise da iniciativa de modernização, e uma avaliação
de competências da empresa geralmente faz parte da análise. Atualmente, a maioria das
empresas gerencia grandes instalações de gestão de dados não-mainframe, e a decisão de
mover a gestão de dados muitas vezes recai sobre a complexidade da tarefa, a necessidade de
redistribuir os funcionários do mainframe e a possibilidade de obter os níveis de serviço
necessários fora do ambiente de mainframe. Tais considerações em torno da estratégia de TI e da
adequação do aplicativo permanecem questões fundamentais que só podem ser respondidas com
base nos objetivos organizacionais.
Agilidade de implantação
Além de redução dos custos de execução e manutenção do hardware de mainframe, o principal
benefício na implantação de hardware básico é a capacidade de responder mais rapidamente às
novas necessidades de carga de trabalho. Essa agilidade de implantação permite que novos
recursos de baixo custo sejam inseridos na capacidade geral do sistema com o mínimo de
recursos. Além disso, um mercado competitivo de serviços de hospedagem e infraestrutura em
nuvem está disponível para empresas que queiram tirar proveito de recursos externos para
expandir suas cargas de trabalho. O aumento gradual de custos e implantação, e a elasticidade
da infraestrutura em nuvem que pode atuar como ambiente de implantação para aplicativos
COBOL existentes, podem ser de grande ajuda na migração da empresa para um mundo mais
ágil.
Micro Focus Enterprise Server
A Micro Focus oferece uma solução para auxiliar esse caso: o Micro Focus Enterprise Server, que
roda em x86 e outro hardware básico, tem a vantagem de mais de uma década de P&D e é
corroborado por implantações em clientes de grande porte. O Micro Focus Enterprise Server é
compatível com as principais linguagens de aplicativos de mainframe, com interfaces de
comunicação do mainframe, com infraestrutura on-line, e em lote e com acesso a bancos de
dados de mainframe, seja no próprio mainframe, seja em outro host, em caso de mudança de
hospedagem desses bancos de dados.
©2014 IDC
#
8
VISÃO FUTURA
A evolução de aplicativos legados precisa considerar um futuro que necessita de arquiteturas de
aplicativos mais flexíveis, exige experiências de usuário mais atraentes e em que os
conhecimentos de desenvolvimento em linguagens de programação legadas como COBOL estão
definhando. Os programadores atuais exigem ferramentas e IDEs de desenvolvimento de
aplicativos modernos. Os aplicativos precisam de arquiteturas mais versáteis, interoperáveis e
granulares que permitam que partes da funcionalidade sejam expostas em APIs e que o aplicativo
tire proveito de serviços em nuvem elasticamente ampliáveis. Interfaces de usuário que pagam um
dividendo de produtividade em termos de menos toques, menos telas ou elementos de telas
contextuais extra estão sendo exigidas por usuários cada vez mais cercados por uma tecnologia
de consumo altamente gráfica fora do trabalho.
Como se preparar para aplicações em nuvens
Arquiteturas modernas baseadas em estilos de interação de aplicativos Web REST são cada dia
mais flexíveis no que diz respeito ao encapsulamento da lógica de negócios existente em seu
estado de repouso nativo. Iniciativas SOA realizadas por grandes organizações estabeleceram o
ritmo para as arquiteturas Web REST de hoje e começaram o processo necessário de encapsular
módulos, ou até mesmo sistemas inteiros, de lógica de negócios existentes em invólucros
apropriados, que tornaram tais sistemas interoperáveis no mundo moderno. A SOA trouxe para o
primeiro plano o valor dos aplicativos existentes, mas não abordou os encargos de manutenção
da lógica de negócios. Além disso, a crescente aceitação de infraestruturas em nuvem ou de
plataformas de aplicativos em nuvem para seções em crescimento do portfólio de aplicativos
empresariais, embora ainda em seu início, sugere uma menor preocupação com a natureza exata
da plataforma contanto que a fidelidade funcional seja mantida. Em outras palavras, os serviços
em nuvem estão habituando gradualmente as empresas a uma modalidade de operação em que o
acordo de nível de serviço é mais importante do que a natureza exata das plataformas por trás
dele. Ao passar os aplicativos para a nuvem, as empresas podem exigir fidelidade funcional, mas
não necessariamente uma plataforma idêntica.
Mobilidade e modernização da interface do usuário
Os aplicativos de interface do usuário têm sofrido várias mudanças perturbadoras desde a
computação dominada por mainframe. Depois que as interfaces gráficas do usuário dominaram a
interação humana, a arquitetura Web tornou-se a forma generalizada para criar novos aplicativos
de front-end. Atualmente, as interfaces de toque estão dominando muitas categorias da
computação empresarial, especialmente para a mão de obra móvel. A prevalência de dispositivos
móveis está criando mudanças na arquitetura de sistemas de back-end, forçando sua
encapsulação com APIs de REST para que possam integrar-se com os novos fluxos de trabalho
móveis. Isso significa que os sistemas de back-end exigem trabalho contínuo em modularidade,
encapsulamento e separação de funções em unidades de trabalho independentes que possam ser
consumidas por meio de APIs por aplicativos menores, orientados para a tarefa. A agilidade de
desenvolvimento e de implantação estará em alta demanda à medida que inevitáveis e
inesperadas mudanças precisem ser feitas nos aplicativos existentes.
©2014 IDC
#
9
DESAFIOS E OPORTUNIDADES
As abordagens de preservação de código destacadas neste documento são adequadas para
diversas situações empresariais. No entanto, as organizações que contemplam essas abordagens
devem considerar os desafios a seguir.
Transformações na oferta de desenvolvedores
Embora haja escassez de desenvolvedores para quase toda plataforma ou linguagem de
programação, os conhecimentos específicos do COBOL podem ser ampliados graças à nova
tecnologia de IDE de COBOL, mais atraente e acessível a programadores de Visual Studio e
Eclipse. A IDC espera que os pontos fracos do COBOL aumentem até o final da década e atinjam
seu apogeu no decorrer da próxima década. Isso permite um tempo considerável para otimizar os
ativos de COBOL existentes usando as técnicas descritas neste documento. Os programadores
podem ser treinados em linguagens mais antigas, e algumas organizações terceirizadas de
desenvolvimento de aplicativos podem integrar esse treinamento em seus programas para mitigar
a escassez. Dito isto, a principal ferramenta estratégica disponível para que as organizações de TI
lidem com questões de conhecimento são ferramentas de modernização que permitam que os
desenvolvedores modernos trabalhem com ativos de código de mainframe. Tais ferramentas
permitem o uso de IDEs modernos para desenvolver e testar código de mainframe e proporcionar
uma oportunidade para que os responsáveis pela modernização empreguem o conjunto de
conhecimento de desenvolvedores em transformação.
Atrasos de TI e o ambiente regulatório intensificado
As empresas estão constantemente tentando manter os requisitos do negócio em dia. Os
requisitos da modernização de aplicativos muitas vezes têm que competir com a necessidade de
inovação empresarial e com novos aplicativos para lidar com o ambiente de negócios em
constante transformação. No entanto, um ambiente regulatório intensificado significa que alguns,
se não a maioria dos aplicativos de mainframe, precisa que planos de modernização sejam
colocados em prática e integrados aos planos gerais de portfólio de aplicativos de TI. Uma visão
holística que leve em conta aplicativos internos e terceirizados, potencializando os recursos
apropriados para cada um, é essencial para atender a novos requisitos. Ferramentas modernas
para a gestão de portfólios e arquitetura de TI são úteis na gestão da complexidade que as
empresas enfrentam hoje em dia e podem injetar nova agilidade e produtividade no problema do
atraso em TI.
Becos sem saída de arquitetura
Nem todos os códigos são adequados para a evolução a longo prazo. Alguns aplicativos podem
ter sido projetados em torno de conceitos arquitetônicos antigos, que podem não ser mais
adequados aos novos requisitos. É importante que as organizações tomem as decisões corretas
sobre a longevidade esperada dos ativos de código durante a fase de análise do esforço de
modernização. Uma avaliação de arquitetura deve fazer parte da fase global de análise, e pode
ser necessário destinar aplicativos que não estejam de acordo com os padrões de arquitetura
necessários para substituição por aplicativos comprados ou recém-desenvolvidos em plataformas
modernas.
©2014 IDC
#
10
CONCLUSÃO
Em termos gerais, a modernização de aplicativos pode ser vista como abrangendo quatro etapas
fundamentais: análise, desenvolvimento, teste e implantação. Uma fase de análise aprofundada
pode resultar na classificação de ativos de aplicativos legados em qualquer número de
taxonomias adequadas e ajudar a identificar as atividades de modernização que trarão o maior
retorno. Aplicativos de alto valor que são estáveis, mas exigem manutenção contínua podem ser
desenvolvidos, testados e até mesmo implantados em plataformas de aplicativos modernas sem
que seja necessário reescrever o código COBOL. Tais abordagens podem trazer desenvolvimento
significativo e redução de custos de entrega, aumentar a produtividade do desenvolvedor e,
potencialmente, atrair desenvolvedores para treinamento em COBOL usando cadeias de
ferramentas de desenvolvedor modernas e conhecidas, como Visual Studio e Eclipse.
Na verdade, com tais abordagens disponíveis e um modelo contemporâneo no qual os sistemas
de negócios COBOL básicos possam ser transformados, o termo "legado" no que se refere a
esses sistemas já não é mais adequado. Como os Diretores de Tecnologia da Informação que
dirigem negócios em COBOL indicaram à IDC em mais de uma ocasião, "Esses aplicativos não
são uma herança, eles são o centro dos meus negócios".
SAIBA MAIS
Pesquisas relacionadas à IDC

Worldwide Application Development and Deployment 2014 Top 10 Predictions (IDC Nº
246917, março de 2014)

The Evolving State of HTML5 (IDC Nº 247499, março de 2014)

Market Analysis Perspective: Worldwide Application Development Software, 2013 — The
Transformations Continue (IDC Nº 245089, dezembro de 2013)

2014 Worldwide Software Developer and ICT-Skilled Worker Estimates (IDC Nº 244709,
dezembro de 2013)

IDC Predictions 2014: Battles for Dominance — and Survival — on the 3rd Platform (IDC Nº
244606, dezembro de 2013)

The Business Value of IBM zEnterprise System Deployments (Artigo patrocinado pela
IDC, Nº 242042, julho de 2013)

Worldwide Development Languages, Environments, and Tools 2013–2017 Forecast:
Monetization Pressures in Play (IDC Nº 241570, junho de 2013)

Worldwide Development Languages, Environments, and Tools 2012 Vendor Shares
(IDC Nº 241569, junho de 2013)

Going Mobile: The Coming Convergence of Front-End Application Platforms and
Ecosystems (IDC Nº 234000, março de 2012)
Outras pesquisas relacionadas

The challenges of using green screen applications (Resultados da pesquisa da Vanson
Bourne, Racepoint e Micro Focus, janeiro de 2014)

The problems of outsourcing application development and testing (Resultados da
pesquisa da Vanson Bourne, Racepoint e Micro Focus, dezembro de 2013)
©2014 IDC
#
11
Sobre a IDC
A International Data Corporation (IDC) é a principal provedora global de inteligência de mercado,
serviços de consultoria e eventos para os mercados de tecnologia da informação,
telecomunicações e tecnologia de consumo. A IDC ajuda profissionais de TI, executivos e a
comunidade de investimentos a tomar decisões em compras de tecnologia e estratégia de
negócios com base em fatos. Mais de 1.100 analistas da IDC fornecem conhecimento perito
global, regional e local sobre oportunidades e tendências em tecnologia e no setor em mais de
110 países em todo o mundo. Há 50 anos, a IDC proporciona insights estratégicos para ajudar
nossos clientes a atingir seus objetivos de negócios. A IDC é subsidiária da IDG, a empresa líder
mundial em mídia, tecnologia, pesquisa e eventos.
Sede global
5 Speen Street
Framingham, MA 01701
EUA
508-872-8200
Twitter: @IDC
idc-insights-community.com
www.idc.com
Aviso de direitos autorais
Publicação externa de informações e dados da IDC - Qualquer informação da IDC a ser usada em
publicidade, comunicados à imprensa ou material promocional exige aprovação prévia por escrito do vicepresidente da IDC ou do gerente geral no país em questão. Uma minuta do documento proposto deve
acompanhar a solicitação. A IDC se reserva o direito de negar a aprovação de uso externo por qualquer
motivo.
Copyright 2014 IDC. É totalmente proibida a reprodução sem autorização por escrito.

Documentos relacionados