Pergunta

Você pode me dar alguns conselhos sobre a melhor forma de assegurar que as duas aplicações (um em C #, o outro em Java) será compatível e eficientes na troca de dados? Há alguma dicas que você encontrou?

O cenário é ponto a ponto, um host é um provedor de serviços e o outro é um consumidor de serviço.

Foi útil?

Solução

Tenha um olhar em protobuf formato de intercâmbio de dados. A implementação do .NET é também disponíveis .

Outras dicas

JSON para dados descritivos, e XML para tipos de dados gerais. Se isso não for suficiente eficiente para você, você precisa rolar seus próprios codecs para lidar com o diferença byte ordenação entre C # e Java .

Ao invés de focar em uma determinada tecnologia, o melhor conselho que posso dar é passar tempo com foco na interface entre os dois (mesmo que seja um serviço web, um banco de dados, ou algo completamente diferente). Se é um serviço web, por exemplo, concentrar na criação de um documento WDSL clara. Interface, interface, interface. Para a maior parte, tentar ignorar as tecnologias específicas em cada extremidade, fora de alguns protótipos para garantir ambas as línguas apoiar suas escolhas.

Além disso, fora das principais obstáculos, não se concentrar na eficiência. Concentre-se em clareza. É provável que você tem duas equipes (ou seja, pessoas diferentes) que trabalham em cada extremidade desta interface. Ter certeza que eles usá-lo corretamente é muito mais importante do que fazer as coisas um pouco mais rápido.

Se você tem Java como um servidor web, você pode usar JAX-WS ( https: // jax -ws.dev.java.net/ ) para criar webservices e WCF para .Net para se conectar à Java Webserver ..

Você pode usar algo como XML (que nem sempre é tão eficiente) ou que você precisa para avançar com o seu próprio formato binário proprietário (eficiente, mas muito mais trabalho). Eu começaria com XML e se a largura de banda se torna um problema, você pode sempre mudar para um formato binário proprietário.

Algo como o sabão (Wikipedia) é suportado por ambos C # e Java.

Nós usamos C # / VB.Net para os nossos interfaces Web e Java para o nosso cliente de espessura. Nós usamos XML e webservices para a comunicação entre os servidores de banco de dados e aplicativos. Ele funciona muito bem.

Certifique-se de que você use um protocolo bem definido, a fim de comunicar os dados, e testes de escrita, a fim de garantir que os responde aplicações de acordo com contrato.

Isto é uma questão ampla, mas eu recomendo com foco em padrões que se aplicam a ambas as plataformas; XML ou alguma outra forma padrão de serialização, usando REST para serviços se eles precisam interoperar.

Se você usar XML, você pode realmente exteriorizar o seu acesso a dados como instruções XPath que podem ser armazenados em um recurso compartilhado usado por ambos os aplicativos. Isso é um começo.

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