[quote=JoseIgnacio][quote=Alexandre Saudate][quote=HugoMarques]
E por fim, não sei onde você viu no meu post eu falando sobre objetos imutáveis. A única coisa que falei que isso aí é um exemplo real de uso de SOA para atingir escalabilidade, que vai de encontro a sua primeira afirmativa que SOA não escala.
[/quote]
Ele não viu. Desde o começo, está desvirtuando o que a gente fala só pra trollar. Esquece esse cara, não vale a pena.[/quote]
Não é só uma questão de evitar sessão no servidor. De que adianta os servidores usarem uma arquitetura share nothing, se o protocolo usado na comunicação não permite o cliente da versão 1 acessar a versão 2 do serviço.
Pra um especialista SOA, achei que vc poderia se aprofundar mais sobre o assunto escalabilidade, pelo visto estou enganado.[/quote]
Você está certo… em partes.
Tudo depende de um projeto muitíssimo bem detalhado. Existe um padrão de projeto para isso que se chama modelo canônico. Consiste em projetar os web services a partir de XML Schemas, de maneira que eles sejam menos suscetíveis a mudanças de versão.
No caso de inclusão de campos, por exemplo, os clientes em geral não quebram. Apenas calha que clientes com uma versão 1 que se comunicam com uma versão 2 não vão enviar o campo faltante.
Também pra evitar esse tipo de problema, é possível utilizar um ESB, que pode enriquecer a informação. Por exemplo, se você tem um cliente com uma versão 1, e o servidor com a versão 2 (ou seja, campos adicionados), é possível utilizar o ESB para incluir aquele campo faltante ou buscar em outros serviços a informação.
Ou seja, dessa maneira, você tem pelo menos três técnicas que podem ser utilizadas para contornar o problema. Existem outras, ainda, mas eu considero apenas como variações dessas.
E mais… repare que a única tecnologia de que eu falei, aqui, é o ESB. De resto, nenhuma dessas técnicas é exclusiva para SOAP (ou seja, REST também pode se valer delas).
[]'s