O Windows Communication Foundation (WCF) é um subsistema de comunicação de código gerido para aplicações Windows Vista. Permite que os especialistas em desenvolvimento criem aplicações seguras, fiáveis e orientadas a serviços, que se integram em plataformas e interoperam com investimentos existentes. As soluções WCF podem correr no contexto de uma única máquina, na intranet de uma empresa ou na internet, utilizando vários protocolos, formatos e pradrões de trocas de mensagens. Graças à combinação e ao alargamento das capacidades das tecnologias de sistemas distribuídos existentes da Microsoft - como o Enterprise Services, System Messaging, .Net Remoting, ASMX, WSE -, o WCF reduz a codificação e a complexidade do desenvolvimento, da implementação e da gestão das aplicações distribuidas. Por outro lado, com suporte para REST, RSS, e outros protocolosweb services WS-*, o WCF disponibiliza a infra-estrutura de comunicação para um leque alargadode softwares, desde as aplicações P2P e alimentações de conteúdos, até soluções empresariais críticas.
Podem pensar no WCF como um conjunto de classes de segurança para a comunicação de inter-aplicações que procuram combinar web services, .Net Remoting, distributed transactions, e "message queues" num único "service-oriented programming model". Com essa única API para processar as comunicações numa máquina local, LAN, ou sobre a Internet, WCF permite um rápido desenvolvimento de aplicações. Devido ao nível que é gerado ao usar-se estes sistemas distribuídos, aumenta as preocupações de segurança, o Windows Communication Foundation (WCF) funciona dentro de uma "sandbox" que se adapta ao modelo da segurança de todas as aplicações .NET. Como já se devem ter apercebido, as mensagens SOAP são o default de comunicação entre dois processos no Windows Communication Foundation (WCF).
Já agora, só para terem uma ideia das preocupações de segurança .... uma vez sobre o assunto "WCF & Partial Trust" o Clemens Vasters respondeu :
"The problem is that partial trust is incredibly hard (and very time consuming) to test for a communication platform that is supposed to have rock solid wire-level security and shall perform well. It's just as hard to provide meaningful exceptions ( and -messages) in case we'd stumble into a CAS exception. You wouldn't want us to just bubble up some security exception, but tell you want's causing the problem. There are about 20 base permissions in the framework, most of them allow parameterization, and the system is extensible with custom permissions as well. You can do the math for where that takes you in terms of required combinations for achieving satisfying test coverage.
I wonder how many apps take that complexity into account in their test strategy
That said, I will clarify that this doesn't mean "we will never do that". It's just not possible to fit this into our V1 schedule. That's all. "
Na altura acabei por encontrar uma solução em: WCF & Partial Trust
"It turns out we have an answer for v1: use an ASMX proxy. All you need to do is configure a Windows Communication Foundation (WCF) endpoint with the BasicHttpBinding and use your favorite proxy creation tool (VS Add Web Reference or disco.exe/wsdl.exe) to create a partial trust proxy. We'll see what we can do to address this scenario in a better way in Orcas."
Mais informação em: WCF and Partial Trust (Clemens Vasters blog)
posted on Sunday, October 22, 2006 1:04 AM