quarta-feira, 22 de outubro de 2008

10 formas de se comprovar que não é SOA

Joe McKendrick, colunista da ZDNet, escreveu o seguinte artigo no seu blog, o qual faço uma tradução livre abaixo.

  1. Se algum vendedor te disser que você precisa comprar uma suíte para ter SOA.. então não é SOA.   SOA significa total liberdade de suítes e pacotes de aplicativos.
  2. Se algum vendedor estiver tentando te vender algum hardware para ter SOA.. então não é SOA. Já diz tudo...
  3. Se você fica mandando pedidos por e-mail ou fazendo ligações para descobrir quais serviços existem... então não é SOA. Registries e repositórios são essenciais para descoberta e validação de serviços.
  4. Se ninguém está compartilhando serviços... então não é SOA. Você pode ter todos os serviços que você precisa, mas se os serviços ficam isolados em silos, então são apenas serviços em silos mesmo.
  5. Se os desenvolvedores e integradores não são incentivados ou persuadidos e reutilizar serviços e interfaces... então não é SOA. Sem incentivos, eles vão continuar desenvolvendo seus próprios serviços.
  6. Se o seu CIO não tem a menor idéia do que acontece com os serviços, se eles estão sendo ou não compartilhados... então não é SOA. Para funcionar corretamente, estruturas SOA-Based devem abranger todos os setores da empresa, e é necessário apoio gerencial para que isto aconteça. Do contrário, voltamos aos serviços em silos.
  7. Se o pessoal de TI está comandando todo o show... então não é SOA. Desculpem, pessoal de TI, mas SOA necessita de um alto envolvimento do pessoal de negócios também.
  8. Se é compatível apenas com um Sistema Operacional ou plataforma... então não é SOA. SOA não tem nada a ver com apenas um Sistema Operacional.
  9. Se a implantação é uma réplica de outra de SOA de algum outro local... então não é SOA. Cada companhia tem seus próprios processos e requisitos de negócio, então duas implementações SOA não serão iguais.
  10. Se você teve que re-escrever ou reprojetar fontes para fazer as coisas funcionarem corretamente... então não é SOA. SOA pressupõe que re-escrever o código deve ser desnecessário.
É lógico que não existe o SOA perfeito... o importante é a empresa se orientar para o mundo SOA em algum nível.

Meus comentários: 

Discordo de alguns itens acima:
  • Do item 8 (apenas um Sistema Operacional): Posso ter tudo executando em apenas um Sistema Operacional e atender 100% SOA.
  • Do item 10 (Se re-escrever, não é SOA): deste eu discordo fortemente. Em muitos casos, acho que na maioria deles, se não mexer no código vou ter apenas um sistema SOA-Enabled (SOA compatível apenas). Para ser SOA-Based (um SOA "de verdade") quase certamente precisarei re-escrever os programas de acordo com a nova arquitetura. Não se esqueça nunca: O "A" de SOA é de Arquitetura! 

Nenhum comentário: