Outras dicas

Possível? Possivelmente sim, mas vai levar algum trabalho.

Para começar, você terá que escrever um costume WCF Transport Channel que pegas as especificidades de seus protocolos baseados TCP / IP (ou seja, você vai precisar para escrever tudo o soquete código de manipulação e gancho que no modelo de canal WCF). Isso ocorre porque o canal TCP no WCF não é para esse tipo de trabalho, mas usa um protocolo de fio relativamente proprietário e sem documentos.

Eu não sou suficientemente familiarizado com FIX para dizer o quão complexo seria, mas existem algumas armadilhas ao escrever canais WCF e documentação nessa área não é grande.

A segunda parte você terá que lidar com é a codificação de mensagens. Para WCF, todas as mensagens são XML. Isto é, uma vez que uma mensagem é passada para a pilha WCF, ele tem que olhar como um infoset XML em tempo de execução. CORRECÇÃO não usa XML (afaik), então você precisa para adaptá-la um pouco.

Há duas maneiras que você pode ir em torno dela:

  1. A maneira mais fácil: Suponha que o servidor / cliente vai usar uma interface e formato específico para os dados, e ter o seu canal de fazer todo o trabalho duro de traduzir as mensagens FIX de / para esse formato. O exemplo mais simples disso seria ter o seu código WCF usar um contrato de serviço simples com um método tomando uma corda e depois é só encapsulando a cadeia de mensagem FIX para o formato XML que satisfaça os dados serializador contrato para contrato. O código do usuário ainda precisa lidar com a decodificação do formato FIX mais tarde, no entanto.

  2. fazer todo o trabalho duro em um costume WCF MessageEncoder. É um pouco mais complexo, mas potencialmente mais limpa e reutilizável (e você poderia fazer coisas mais complexas como a melhor de streaming e assim por diante).

A grande questão, porém, é se isso vale a pena. Qual é o seu raciocínio para querer usar o WCF para isso? Aproveitando o modelo de programação? Eu acho que é uma consideração importante, mas também ter em mente que as abstrações que WCF fornece têm um preço. Em particular, alguns aspectos do WCF pode ser problemático se você tem requisitos de tempo real muito, que eu entendo é comum no tipo de ambiente financeiro que você está olhando.

Se for esse o caso, pode muito bem ser que você estaria melhor servido por pular WCF e furando um pouco mais perto do metal. Você precisa fazer o trabalho tomada de qualquer maneira, então isso é algo a considerar lá.

Espero que isso ajude:)

I pensar isso. Eu tenho um sistema que eu quase foi trabalho que deveria fazer quase exatamente isso (WCF através de HTTP a partir da Internet). O provedor de servidor parecia não deseja permitir que ele pensou assim que você vai precisar ter permissão naquele final para fazer o trabalho.

acima do tiro:. Não vejo por que não

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