DesenvolvimentoO que você precisa saber sobre conversão automatizada de...

O que você precisa saber sobre conversão automatizada de código antes do seu próximo projeto de modernização

-

Publicidade

O que você precisa saber sobre conversão automatizada de código antes do seu próximo projeto de modernizaçãoOs CIOs em geral enfrentam um grande desafio: encontrar formas de manter seus sistemas atualizados com o mínimo de risco e custo para o negócio. Mas com a evolução cada vez mais frenética da tecnologia e com o ciclo de vida das novidades ficando cada vez menor, TI sofre com a falta de alternativas de baixo custo e risco para manter-se atualizada em relação às novas tendências. Este cenário fez com que TI procurasse meios de automatizar o processo de transformação de uma aplicação para poder se adequar às necessidades de negócio num prazo aceitável e de maneira natural. Se esta situação parece familiar a você, não se preocupe – você não está sozinho.

Quando falamos de aplicações legadas (não tecnologia legada), estamos normalmente lidando com código antigo, muitas vezes complexo, de missão crítica, mal documentado e com cada vez menos gente capacitada para mantê-lo. Uma aplicação ganha o status de “legada” não somente porque sua tecnologia é ultrapassada. É uma combinação de fatores. Java, por exemplo, é a nova plataforma para muitos projetos de transformação, ao mesmo tempo a plataforma antiga para outras (que implementaram as primeiras versões de Java).

A transformação se torna ainda mais complexa quando as tecnologias são completamente diferentes. Neste artigo, discutiremos alguns desafios na conversão de Cobol para Java. Este é um caminho bastante adotado em migrações de aplicações do ambiente mainframe para baixa plataforma. Este caminho leva aplicações escritas com programação procedural, para um novo mundo da programação orientada a objetos e a eventos. As ferramentas disponíveis para auxiliar nesta migração costumavam usar uma estratégia de conversão direta de Cobol para Java, gerando um código Java procedural, o famoso “jobol”. Mas as intervenções no código após a conversão eram tão grandes, que a tarefa de migração, no final das contas, ainda era complicada e arriscada.

As linguagens de programação evoluíram do assembler para a 4a geração, reduzindo cada vez mais o esforço de escrever código. Quanto mais alta a geração, mais poderosos eram os comandos. A mesma evolução pode ser observada em outra dimensão. Desde que o OMG começou a falar de MDA (Model Driven Architecture), algumas empresas incorporaram este modelo nos seus processos de desenvolvimento e mais tarde em ferramentas para acelerar o desenvolvimento de aplicações. MDA é usado agora em projetos de transformação, através de ferramentas que implementam seu processo para converter aplicações de uma linguagem para outra, em dois passos:

  1. Converte a aplicação atual em um modelo;
  2. Converte o modelo na linguagem escolhida para a plataforma destino.

E por que esse método será mais vantajoso do que a velha conversão direta de linguagem para linguagem? Com MDA, a transformação pode ser feita de maneira mais aderente à plataforma destino, ao invés de levar para a nova plataforma o modelo de programação da plataforma de origem. Em outra palavras, em uma conversão de Cobol para Java, o resultado é um código Java orientado a objeto, não um Java procedural. Este método representa uma excelente alternativa para acelerar o processo de transformação, ao mesmo tempo em que reduz o risco e o custo.

Mas tenha sempre em mente que ainda sim é um processo automatizado de conversão, e continua com pequenas desvantagens em comparação a uma migração manual. O código gerado muitas vezes carrega bibliotecas do fornecedor da ferramenta e em outros casos obrigado a manutenção do código a ser feita pela IDE do fornecedor (neste caso a aplicação poderia ser mantida alterando o modelo ou ou código fonte).

Alguns fatores que deve ser considerados antes de selecionar a ferramenta ideal de conversão:

  • Procure por referências no mercado – boas ferramentas ganham boa reputação muito rápido;
  • Fuja de qualquer tipo de dependência do fornecedor após a conversão – normalmente isso acontece com IDEs, frameworks e bibliotecas embutidas no código convertido;
  • Peça uma prova de conceito antes de decidir- é sempre bom validar na prática o que o fornecedor diz que é capaz de entregar. Peça seus especialista para validar o resultado e identificar prós e contras. Avalie a qualidade do código gerado e o quanto de alterações o código convertido vai precisar para entrar em produção. Não existe 100% de conversão automática. Algumas adaptações ainda se fazem necessário;
  • Não existe uma solução que atenda a tudo e a todos. Você talvez tenha que combinar ferramentas para acelerar a conversão e conversão manual;
  • Tenha métricas atualizada da sua aplicação como complexidade, tamanho, manutenibilidade, importância para o negócio e frequência de atualização. Estas informações o ajudarão a definir a estratégia de migração. Se o parceiro selecionado ignorar estes dados, fuja dele!

Os resultados de uma conversão usando MDA são mais realmente mais aceitáveis, no ponto de vista de qualidade do código gerado. É um caminho interessante para projetos de transformação. Novas estratégias de conversão continuam a surgir no mercado e uma delas pode ser a mais adequada para suas aplicações legadas. Mas lembre-se: uma solução não serve para tudo. Esteja preparado para combinar ferramentas que aceleram a conversão com conversão manual de código de forma a maximizar as economias, mas mantendo o risco baixo e uma qualidade aceitável.

Até o próximo artigo!

[Crédito da Imagem: Desenvolvimento – ShutterStock]

Francisco J S Fernandeshttps://wordpress-1301991-4735944.cloudwaysapps.com/author/francisco-fernandes/
Profissional de IT e apaixonado por tecnologia, Francisco é Arquiteto de Soluções com mais de 25 anos de experiencia no mercado de TI em diversas empresas como BID, HP, EDS, Fininvest, Unibanco, Banco Nacional e Sul America Seguros. Escrever é um dos seus hobbies e, além de tecnologia, é aficionado por música, viagens, fotografia e futebol.Meus contatos são: LinkedIn: http://br.linkedin.com/in/franciscojsfernandes E-mail: kikofernandes@gmail.com Twitter: @kikofernandes71

Latest news

IA para MSPs: como a inteligência artificial está transformando o mercado de serviços gerenciados

A Inteligência Artificial (IA) está desempenhando um papel crucial na transformação dos Prestadores de Serviços Gerenciados (MSPs). Mais do...

O que é integração de sistemas de RH e como ela facilita o trabalho?

A integração de sistemas de RH traz muitos benefícios, principalmente em termos de otimização do tempo e de recursos. Sem ela, diferentes plataformas podem gerar dados desconexos e difíceis de consolidar, o que pode levar a erros e à sobrecarga de trabalho manual.

Cibersegurança como pilar da resiliência empresarial: a abordagem estratégica dos MSPs

Na última década, a segurança cibernética deixou de ser um tema restrito às áreas de TI para se tornar...

ADDEE traz HaloPSA ao Brasil, apostando na eficiência para MSPs

Plataforma de atendimento e automação promete otimizar a gestão de serviços com funcionalidades integradas para todo o ciclo de vida...
Publicidade

Plano de conteúdo para redes sociais: o que divulgar sendo uma empresa de TI?

Não encontrar o conteúdo certo para a rede social da sua empresa é um problema que está perto de acabar. Acesse e conheça o Plano de Conteúdo!

Estratégia de comunicação para TI: 5 erros para NÃO cometer

Existem 5 erros comuns que você não pode cometer mais na comunicação da sua empresa. Se você é um MSP que busca o sucesso, acesse e confira!

Must read

IA para MSPs: como a inteligência artificial está transformando o mercado de serviços gerenciados

A Inteligência Artificial (IA) está desempenhando um papel crucial...

O que é integração de sistemas de RH e como ela facilita o trabalho?

A integração de sistemas de RH traz muitos benefícios, principalmente em termos de otimização do tempo e de recursos. Sem ela, diferentes plataformas podem gerar dados desconexos e difíceis de consolidar, o que pode levar a erros e à sobrecarga de trabalho manual.
- Advertisement -

You might also likeRELATED
Recommended to you