Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Vantagens do WCF

Olá pessoal,

Eu gostei bastante do curso, porém tiveram alguns pontos que eu não consegui entender claramente.

1 - Como seria a implementação de um módulo WCF em um projeto fora da solução? Eu adicionaria uma referência a DLL somente?

2 - Existe uma maneira de se especificar a porta a ser utilizada pela DLL ao importá-la num outro projeto? Ou ela fica restrita a programação do serviço?

3 - Como um outro programador poderia ver os métodos disponíveis dentro desse serviço que eu criei se ele abrisse em outro projeto?

4 - O professor explicou as diferenças entre SOAP e REST, mas qual a relação entre eles e o WCF?

3 respostas
solução!

Olá André, na verdade a resposta da questão 1 acaba respondendo a 2, então vamos lá:

1 - o WCF é um serviço, então, ele tem que estar hospedado em algum lugar. Como o curso foi voltado para webservices, então o mais sensato é que ele seja hospedado em um servidor IIS e se gere os endpoints dele para acesso pelo navegador mesmo, assim como foi feito no curso, com a diferença que o projeto console não seria necessário. Para isso, o tipo de projeto a ser utilizado se não me engano seria o "WCF Service Application" e não o library como usamos no curso. A porta seria especificada no seu IIS mesmo.

3 - Adicionando ?wsdl ao fim da url do serviço, é exibido o documento wsdl do serviço, que nada mais é do que um XML contento todas as informações do serviço, como métodos disponíveis e entidades (classes com a notação [DataContract]) que podem ser usadas. Quando na aplicação windows forms ele clicou no botão discover, o que aconteceu foi justamente isso: aquela janela do visual studio procurou o endpoint do serviço, pegou o wsdl dele e conseguiu ver todos os métodos e entidades que aquele serviço expunha.

4 - O WCF é um meio de se fazer o serviço, no entanto, como ele será utilizado, deve ser definido pela necessidade do projeto. SOAP e REST são tipos de webservices que usam meios de comunicação diferentes. No SOAP, a mensagem deve ser envelopada e transmitida, acho que sempre por XML, enquanto que no REST, toda a comunicação é feita pelo protocolo HTTP e usando os verbos HTTP tais como GET (busca informações), PUT (atualiza informações), DELETE (deleta informações) e POST (cria informações).

Espero que eu não tenha sido muito confuso e que isso possa te ajudar.

Perfeito Cléber, obrigado pela resposta e todo o tempo que gastou para respondê-la.

Acredito que agora entender tudo o que eu tinha perguntado.

Opa, estamos ai para isso ;)