Continuando o assunto sobre versionamento de SOA, é fato que os requisitos de uma aplicação sempre acompanham as mudanças de negócios das empresas como também, as necessidades de novas informações por parte dos gestores. Esse tipo de acontecimento pode gerar uma quantidade enorme de re-trabalho, manutenção e atualização das aplicações, sem falar na necessidade de reinstalações e re-configurações dos aplicativos clientes que, de uma forma ou de outra, se integram com o aplicativo que sofreu atualizações.
O conceito fundamental por trás da arquitetura orientada a serviços está na autonomia; a possibilidade de se distribuir, modificar e manter, independentemente de outros sistemas(consumidores), novas funcionalidades sem causar impactos significativos aos que o utilizam. O versionamento assume a existência simultânea de versões de um serviço, incluindo todas as suas operações e suas diferentes implementações.
Uma consideração importante a respeito de versionamento é definir por quanto tempo é necessário manter as diferentes versões em funcionamento. O ciclo de vida de existência de um serviço ou método versionado, varia significativamente e é definido pela habilidade de uma organização em lidar com as mudanças.
To be continued…
6 Junho, 2007 at 5:42 pm
Na realidade a solução de webservices é comumente subutilizada,
se considerarmos uma arquitetura SOA “completa”. A maioria
das organizações utiliza somente o “provedor de serviço” e o “consumidor de serviço”, que são figuras obrigatórias.
Quando, na realidade, opcionalmente, seria possível o uso do “serviço de registro”. Hoje, na prática o registro do serviço acontece no servidor Web que o próprio serviço estará disponível. Desta forma para acharmos um serviço é preciso consultar tantos
quantos servidores Web existirem na organização. De outra forma, se o registro dos serviços acontecerem de forma centralizada, apenas uma entidade será responsável por gerenciar os pedidos de registros dos serviços e a busca por serviços registrados. Um outro ganho seria a centralização da segurança.
Abraços…
14 Junho, 2007 at 1:27 pm
Boa tarde, sobre o SOA… Gostaria de saber se vocês podem me ajudar a solucionar 3 questões que estão impedindo a minha empresa de adotar o SOA, são elas:
1-Como a tecnologia resolve o problema de Representação Externa de Dados?
2- Se for aplicável, como a tecnologia implementa (por si só) tolerância à falha?
3- Qual a visão que os programadores precisam ter (APIs, Bibliotecas, etc) dessa tecnologia?
Esses ítens estão causando grandes dúvidas sobre sua implantação em nossa empresa.
Obrigado pela sua ajuda
15 Junho, 2007 at 12:16 pm
Prezado Kim,
Em relação aos seus questionamentos eu acho que suas preocupações são pertinentes e minhas sugestões são:
1 - Se entendi direito o primeiro item, você deve se preocupar em formatar bem o contrato do seu serviço e também o xml que será o retorno das suas consultas (preocupando-se com os tipos e a qualidade das informações que serão publicadas). Ademais, o protocolo SOAP e HTTP(s) se encarregará do resto.
2 - A questão dois é um pouco mais delicada, pois depende da criticidade do serviço que você vai fornecer, ou seja, se é um serviço 24×7, você precisará se preocupar com a infraestrutura a ser montada, com redundancia de servidores, mascaramento de erros para os consumidores, loading balance etc.
3 - Com relação ao terceiro item, existem diversas formas de abrangê-lo: Primeiro decida qual tecnologia vai adotar: Java, .NET ou outra. Se for em Java, utilize o AXIS (http://ws.apache.org/axis/) e uma IDE como Eclipse ou JBuilder e um servidor web (JBoss, Tomcat, WAS,etc).
Se for .NET, o próprio Visual Studio fornecerá tudo o que precisa, desde a parte de desenvolvimento dos serviços até a publicação no IIS.
Espero ter ajudado e estamos à disposição.
Atenciosamente,