Silverlight-enabled WCF Service - Domain Service Class

06/04/2011

Amigos, bom dia!

Estou com algumas dúvidas sobre arquitetura/templates/metodologias/!?!?! Em projetos Silverlight. Imaginem um cenário onde tenho que trafegar o mínimo de informações possíveis entre o Cliente e o Servidor, ou seja, num cadastro de cliente que possui relacionamentos com diversas tabelas (empresa, endereço, remo de atividade,  usuário, etc.), na Grid onde o usuário (lado Cliente) irá fazer uma consulta deve apenas trafegar dados básicos, como o nome e o CNPJ desse cliente por exemplo. Qual a melhor forma de fazer esse serviço (continuem lendo). Eu fiz dois “tipos” de testes: 1)      Utilizando o template “Silverlight-enabled WCF Service” (pelo que eu entendi não é WCF Ria services),  o qual eu só consigo consumir  os serviços através de Web Reference no lado Cliente (projeto silverlight). Neste modelo sempre que uma alteração é feita nos serviços (Projeto Web) é necessário atualizar as referências do WebService (Projeto Silverlight) (O tempo para atualizar aumenta muito com o aumento dos serviços). Para trafegar somente as informações que eu necessitava utilizei classes de transporte (DTO) – Não sei se é a forma mais correta. 2)      Utilizando Domain Service Class (pelo que entendi esse usa/é/suporta/!?!? Ria Service), neste caso eu consigo consumir os serviços sem referenciar um Web Reference, pois o mesmo gera os “serviços” no meu projeto Cliente (projeto Silverlight), neste modelo não cheguei a testar as classes DTOs, e também não sei se vou conseguir usar Data Sources dessas classes (Vale a pena usar Data Sources? Aumenta muito o desenvolvimento de telas, binding, etc). - Qual a diferenças entre os dois templates? - Existe alguma forma de trafegar informações entre o Cliente e o Servidor, onde eu possa especificar quais campos da minha tabela eu quero, sem a necessidade de criar uma classe de transporte?   Desculpe o texto e minha ignorância, se surgir alguma dúvida sobre o que escrevi é só perguntar.

Marcos Bernardelli