Pergunta

Eu tenho um projeto vindo minha maneira: dispositivos com seu próprio sistema escrito em C, e um aplicativo do Windows para fins de gerenciamento (envio de configuração, recuperar os dados gravados a partir de dispositivos, o monitoramento do estado do dispositivo). Tenho flexibilidade na escolha de qual tecnologia vou usar. Os requisitos são bastante confuso agora, então deve ser algo flexível. O protocolo de comunicação primário é TCP. Podemos usar portas COM como uma opção de manutenção, quando a comunicação normal falhar devido a algum mau funcionamento da rede, por exemplo.

Eu estou considerando o uso de um serviço WCF como um "proxy" entre a aplicação e os dispositivos. App envia dados para serviço, serviço processa os dados e envia pacotes TCP de dispositivos (dados em pacotes são compreensíveis por dispositivos), dispositivos reagem enviando pacotes TCP volta ao serviço WCF que por sua vez envia processados ??mensagem para aplicação. Será que este uso do WCF faz algum sentido?

WCF pode ser facilmente acessado a partir webapp Assim, além de aplicação de janelas normais poderíamos fazer nosso sistema mais sexy com ele, mas vale a pena? O que você acha, partilhar as suas ideias, por favor:)

Foi útil?

Solução

Pelo que entendi, você está considerando uma arquitetura de sistemas com três elementos. Um aplicativo do Windows, um conjunto de dispositivos e, em seguida, um serviço adicional que agiria como um proxy ou intermediário, intermediar a comunicação entre os dois.

Primeira pergunta: existe uma razão a aplicação de gestão não pode se conectar ao próprio dispositivos? O aplicativo do Windows usado para a gestão deve ser capaz de abrir um soquete para os dispositivos, tão facilmente como outro app podia. Por que não o faria? Eu acho que uma outra maneira de fazer esta é, Qual é a justificação para introduzir o corretor, o terceiro elemento, na arquitetura? Existe alguma assincronia você quer introduzir? É uma questão de escala - talvez o número de dispositivos é tão grande que você gostaria de um aplicativo separado para gerenciar as comunicações a todos eles, em vez de se conectar diretamente a partir de um aplicativo com uma interface do usuário. É uma questão de topologia de rede? Antes de considerar o que a tecnologia para usar no corretor, primeiro decidir o que é atraente que você inclua um corretor na arquitetura.

Digamos que haja boa justificativa para o terceiro elemento, então você pode considerar a questão de se WCF é a tecnologia de comunicações apropriado para esse elemento. Certamente entre 2 apps baseados no Windows, WCF vai funcionar bem. Se eles estão na mesma máquina que você pode usar um named-pipes de ligação e obter muito bom perf para a comunicação local. Se esses dois aplicativos são distribuídos em diferentes máquinas Windows, você pode usar TCP para, mais uma vez, muito bom desempenho na comunicação de rede.

Você também pode querer considerar a conexão entre o corretor e os dispositivos. WCF pode interligar com os sistemas não WCF. Você teria que escrever algumas extensões no lado do WCF, para interligar com um sistema existente. Mas é possível e eu diria que um caso de uso quase mainstream para WCF. Consulte este Q para saber mais sobre esse tópico .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top