Neste post, meu amigo Giscard Fernandes nos oferece a sua visão prática sobre SOA, seu relacionamento com tecnologias importantes como RFID e IMS. Giscard trabalha na NEC do Brasil, é um profissional respeitado no desenvolvimento de software para centrais telefônicas e RFID, possui experiência internacional em projetos no Japão e nos EUA.
|
Bom, existe hoje uma grande gama de informações sobre SOA, contudo muita gente ainda não entende o que SOA significa; principalmente pessoas que não trabalham na area de TI.
Neste artigo vou tentar responder algumas perguntas e explicar o que é uma arquitetura orientada a serviço, bem como outros items relacionados ao tema. 1. O que é uma Arquitetura Orientada a Serviço? De uma forma bem simples podemos dizer que um serviço é algo que você faz para alguém. Também de uma forma simplificada podemos definir arquitetura como desenho, modelo ou idéia que permite atingir algum objetivo. Portanto, podemos dizer que desenvolver uma arquitetura orientada a serviço nada mais é que conceber um modelo que vai permitir prover um determinado tipo de serviço. Abaixo vou citar alguns exemplos, por ordem de evolução:
Alguns destes serviços são prestados fazem séculos, e ninguém fala sobre eles com entusiasmo ou como uma novidade; ao contrário de SOA; contudo pode ter certeza que quando os mesmos foram criados uma grande expectativa e debates foram colocados sobre o tema. Um ponto importante a citar é que todos os serviços citados anteriormente possuem uma característica em comum que é a dependencia de uma infra-estrutura previamente instalada. Ou seja, para poder usar o telefone é necessário existir uma rede para transportar sua voz, para utilizar a agua encanada é preciso ter um encanmento ligando sua casa a Estação de Agua e Esgoto. Transportando esse conceito para o mundo de TI de uma forma totalmente simplificada teríamos aplicações que vão fornecer informações (serviço) para outras aplicações (ou pessoas) utilizando um “barramento” apropriado para isso. Hoje, o melhor que temos para representar este barramento é o conceito de ESB (Enterprise Service Bus). 2. Porque se fala tanto de SOA? Vimos que SOA é um conceito simples, velho e até básico quando abordado fora do mundo de TI. Então, porque se fala tanto de SOA, porque esse novo “paradigma” no desenvolvimento de software é tão especial? O primeiro ponto para tal explicação é que, empresas que prestam serviço possuem softwares que ajudam na automação. Ou seja, o software não foi criado para a empresa gerar negócio ou prover algo a mais para o cliente; o software foi criado para ajudar a automatizar tarefas do dia a dia. Isso não é de todo ruím, contudo o software não evolui com o negócio da empresa continua cada vez mais uma ferramenta de automação. SOA prega softwares que vão ser concebidos de modo que permita melhorar o negócio da empresa. Para explicar um segundo ponto vou fazer analogias entre os exemplos citados acima em diferentes épocas de maturidade da tecnologia:
O maior entusiasmo em cima de SOA não é no que SOA faz, mas sim no que vai vir a fazer. E isso é como 2+2=4, depois que se existe uma infra-estrutura para um determinado serviço, empresas a inventam produtos que podem ser acopladas a essa infra-estrutura de forma a inovar o serviço cada vez mais. 3. Porque SOA não estourou? Apesar de termos países onde SOA é mais popular e outros menos, podemos dizer que de uma forma geral SOA ainda é uma tecnologia em crescimento (no ponto de vista comercial, porque tecnicamente está bem preparada). O primeiro motivo disso vem do próprio conceito que SOA prega, alterar o paradigma de desenvolver aplicações afeta as empresas diretamente, pois as mesmas possuem um legado e nem sempre é facil transformar o legado em SOA. Muitas empresas pregam o uso de Conectores (que são interfaces para acoplar uma aplicação legada ao ESB) contudo SOA está longe de ser um simples plugar de software no barramento ESB. Os softwares legado tem que passar por uma alteração a mais para que o conceito de SOA seja aplicado realmente. O segundo motivo está diretamente ligada a infra-estrutura que SOA precisa, não da pra falar da noite pro dia que vai usar SOA, muito menos fazer o próximo sistema orientado a serviço se todo os outros aplicativos da empresa não o são. SOA requer investimento em infra-estrutura (Servidores, ESBs), e com certeza vai requerer uma melhoria na Rede de Computadores para comportar as novas informações. O terceiro motivo está ligado na capacitação das empresas de TI em entederem o negócio da empresa cliente que quer implementar SOA. Como dito anteriormente, desenvolvedores da area de TI foram educados e cresceram em um ambiente onde o software é uma ferramenta de automação e não uma ferramenta para melhorar a prestação de serviços. Com essa imaturidade o que temos no final é uma perda de credibilidade que é perceptivel a empresa cliente, o que leva a uma desconfiança e cria uma barreira ao investir na tecnologia. Contudo acho válido citar que novas tecnologias estão nascendo já levando em conta o uso de SOA. Duas delas em especial dificilmente vamos conseguir escapar - RFID e IMS. De uma maneira bem simplista podemos descrever RFID como dar aos produtos a capacidade de emitir informações sobre si mesmo e IMS como uma plataforma para prestar serviços multimedia (telefonia, video, mensagem, etc) utilizando a rede IP. Uma pergunta básica e inevitavel é: voce enxerga hoje um mundo sem código de barras ou sem comunicação (seja por telefone ou internet)?; se a resposta é não comece a levar em consideração SOA pois RFID e IMS vão estar intimamente ligados a esse conceito. 4. O que fazer para SOA virar uma realidade? Eu acredito que existem três conceitos macros a serem seguidos para ajudar SOA a ser implantado. Um deles dependem das empresas clientes e os outros dois das empresas que se propõe a implantar SOA. Primeiro a obrigação do cliente, SOA deve ser vendido para a diretoria como um investimento em infra-estrutura. Tentar vender a idéia de que a nova aplicação a ser comprada pela empresa vai trazer com ela SOA por um preço e prazo a mais é pedir um não. Que diretor vai aprovar 100 da sua verba para comprar uma aplicação sendo que pode gastar 40 pela mesma aplicação. Se você trabalha em uma empresa que vai comprar SOA e acredita no potencial de SOA, venda SOA pelo o que ela é - uma infra-estrutura que vai permitir cirar novas aplicações ou alterar as já existentes de modo a melhor atender o negócio das empresas. Empresas de TI tem que atuar de forma mais conjunta com seus clientes, querer enfiar SOA guela a baixo em um projeto é a mesma coisa que encher de mais o balão, ele com certeza vai estourar. E o que é pior, as vezes ele vai enchendo, enchendo, enchendo e quando estoura o barulho é grande. O último conceito é bem comercial, e consiste em vender SOA pelo que ela é, e não como um milagre que vai resolver tudo que existe no cliente. É muito comum ver empresas de TI mostrar ferramentas de sOA onde é possivel desenhar o processo da empresa e deixar implicito que qualquer leigo vai poder alterar o sistema de forma milagrosa e tudo vai funcionar. Isso num primeiro momento impressiona, mas ninguém fecha negócio no ato, quando se para um pouco para pensar percebe-se que tudo não passou de uma jogada comercial. Pessoalmente, gosto muito de pensar em SOA como redes de computadores (vou chamar de Rede IP para simplificar). Quando as Redes IPs começaram a ser implantadas, muitos achavam caro, esperaram para investir, pensavam que não precisavam. Agora me diga se hoje existe alguma empresa que se arrepende de ter criado uma infra-estrutura de Rede IP na empresa? Que empresa compra um desktop ou notebook sem levar em consideração que o mesmo vai ser conectado a intranet? Que empresa acha que não deveria ter um servidor de email porque o software requer investimento? SOA não vai ser diferente, pense nisso… []’s |
Enviado por: Fábio Rosato
Posts relacionados:
- Webinar sobre Lightweight SOA
- 4 Cloud Computing Vendors
- Cenários e etapas para implantação SOA
- Carnaval, futebol e SOA
- Pilares de Cloud Computing
Categorias:
Divulgue esse post:
LinkTo