Carreira Dev

31 mar, 2008

A onda SOA – Parte 02

Publicidade

Esse assunto é realmente interessante e parece ser um bom exemplo da tendência da área de TI se tornar cada vez mais dependente da evolução da tecnologia e cada vez mais seduzida pelas novidades oferecidas pelos fornecedores de solução.

O artigo “A onda SOA“, resume, de certa forma, esse ponto de vista. Como desenho de arquitetura, SOA é correto. Na verdade, SOA ou Arquitetura Orientada a Serviços, é uma evolução da arquitetura “cliente/servidor”, cujos pressupostos são extremamente válidos.

Para fazer a análise correta da importância dessa arquitetura, seria interessante realizar um pequeno retrospecto na capacidade de processamento proporcionadas com a introdução do PC e as outras “ondas” que se sucederam desde então.

A onda “Downsizing” preconizava que as funcionalidades deveriam migrar do mainframe para plataformas mais próximas dos usuários; foi seguida pelo “Rightsizing” quando se percebeu que o mainframe não iria desaparecer mas se especializar em funções mais pesadas, convivendo harmoniosamente com a plataforma distribuída, cada qual fazendo o que sabe fazer melhor, abrindo espaço para a “onda” Reengenharia e questões novas com Conectividade. Como sabemos: “toda solução tende a criar novos problemas”.

A cada nova onda, novas demandas por investimentos em hardware e software e novas oportunidades de negócios alavancam a evolução da tecnologia fazendo a alegria dos fornecedores de solução em um mercado de milhões de dólares. Certamente que essa evolução só foi possível com novos processadores cada vez mais poderosos e com novas linguagens cada vez mais amigáveis; novos padrões e protocolos de comunicação, novos frameworks de desenvolvimento, que buscam, entre outras coisas, preservar a integração com o legado da família de produtos dos próprios fornecedores. Houve, de fato, muita evolução positiva, como a portabilidade da linguagem Java; os Web Services; o padrão UML; mas muita tecnologia foi deixada de lado, substituída ou jogada no lixo; uma questão de escolhas certas e erradas. A questão é que toda essa volatilidade inserida no bojo da evolução não permite o amadurecimento dos processos, um dos pressupostos de um bom desempenho da TI, como demonstrado no Modelo CMM. Lembrando também que a questão não é apenas de gestão, como se pensou nessa oportunidade.

A disseminação do processamento distribuído em larga escala; a utilização da internet como camada de negócio; a consolidação das redes corporativas; a introdução quase que diária de novos dispositivos de hardware e a revolução proporcionada pela telefonia móvel, só para citar alguns aspectos, criam um ambiente extremamente heterogêneo no qual desponta como principal desafio a interoperabilidade ou a necessidade de conectar diversas tecnologias, linguagens e padrões em um mesmo processo de negócio, suportado por um “framework” amigável, sem necessariamente “jogar tudo fora” e refazer o que já foi feito, mas que requer uma nova mudança de paradigma, novos softwares e uma nova filosofia de desenvolvimento.

Então veja o ciclo se fechando: Softwares amigáveis são também consumidores de recursos que requerem mais poder de processamento, então você é levado a adquirir mais máquina …

Para melhorar o desempenho de TI, surgem as novas filosofias de mercado. Ao aderir a essas filosofias, você deve adquirir novos softwares e implementar novos processos operacionais e realizar um choque de gestão. Como não é fácil conduzir esse trabalho sozinho, você contrata o suporte de uma consultoria especializada que propõe a compra de um outro software de mercado para implementação, que por ser muito amigável, exige mais máquina para processar. Ao mesmo tempo, o fabricante exige que você faça a migração para a versão mais atual dos softwares que você já possui, os quais possuem novas “features” e você se vê obrigado a converter todo o seu legado para não ficar sem suporte do fornecedor, mesmo sem precisar dessas inovações.

Você agora tem mais máquina disponível, novos softwares, suporte de consultoria especializada, mas com toda essa transformação nos seus processos, ainda não viu melhora no desempenho de sua TI.

Então você é seduzido a entrar na nova onda de TI, a onda SOA, que promete as mesmas coisas outra vez: uma TI mais rápida, mais flexível e mais barata. SOA promete que você não precisa refazer o que já foi feito, basta reutilizar ( o que é uma boa idéia ) mas com um certo exagero, como se fosse um “Lego” . Para implementar SOA você deve implementar um novo framework de desenvolvimento, suportado por novas tecnologias, adquirir novos softwares ( extremamente consumidores de recursos ), contratar consultoria especializada e começar tudo de novo.

À propósito: A IBM acaba de lançar seu novo mainframe com maior capacidade de processamento, o Z10.

Essa é certamente uma visão realística que procura separar promessas de marketing de oportunidades práticas e até certo ponto uma abordagem defensiva, mas necessária em nome da clareza, pois clareza é fundamental, já afirmava Platão.