.NET Remoting

.NET Remoting é uma interface de programação de aplicações da Microsoft. Nele, os aplicativos tem comunicação com sistemas remotos utilizando protocolos de comunicação HTTP e TCP e as informações podem trafegar em modo SOAP(Simple Object Access Protocol) ou binário. Aproveitando todos os recursos de um projeto WindowsForms com a facilidade de acessar informações remotas, estando em sua intranet ou até mesmo na internet. Assim, com a assistência de um sistema operacional e agentes de rede, um processo do cliente emite uma mensagem para um processo do servidor, e então recebe uma resposta.[1] É mais conveniente como uma solução de alta performance para comunicação binária proprietária entre componentes.

ClassesEditar

  • Serializable classes: marcadas com o atributo <Serializable>, podem ser passadas entre domínios de aplicação diferentes, seja como valor de retorno ou como parâmetros de métodos. Deve-se, primeiramente, serializar o objeto .NET para um string XML.
  • Remotable classes: derivam de System.MarshalByRefObject, permitindo serem chamadas remotamente.Conterão os métodos que serão invocados remotamente.

ObjetosEditar

  • SingleCall (objetos stateless) Criados automaticamente a cada invocação do método e permanecem instanciados apenas durante a duração do método. O cliente pode manter e utilizar a mesma referência, no entanto, cada chamada resulta na criação de um novo objeto. Possuir o menor overhead, já que não consome recursos do servidor quando não estão sendo utilizado.
  • Singleton (objetos statefull) Compartilhados por todos os clientes. Independentemente da quantidade de clientes, existe apenas uma única instância do objeto remoto. Este modo deverá ser utilizado somente em casos onde os componentes realmente necessitem compartilhar informações sincronizadas. Necessidade da criação de estruturas de controle de concorrência, como semáforos. Sérios problemas poderão ocorrer quando um dado é modificado simultaneamente.
  • Client-activated (objetos statefull) Sendo que existe uma instância separada para atender cada cliente.

Referências

  1. McLean, Scott; Naftel, James; Williams, Kim (2002). Microsoft .NET Remoting. [S.l.]: Microsoft Press 
  Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.