Pregunta

¿Me puede dar algún consejo sobre cómo garantizar de la mejor manera que dos aplicaciones (una en C # y la otra en Java) sean compatibles y eficientes en el intercambio de datos? ¿Hay algún error que hayas encontrado?

El escenario es punto a punto, un host es un proveedor de servicios y el otro es un consumidor de servicios.

¿Fue útil?

Solución

Eche un vistazo al protobuf formato de intercambio de datos. Una implementación de .NET también está disponible .

Otros consejos

JSON para datos descriptivos y XML para tipos de datos generales. Si eso no es lo suficientemente eficiente para usted, necesita rodar sus propios codecs para manejar el diferencia de orden de bytes entre C # y Java .

En lugar de centrarse en una tecnología en particular, el mejor consejo que puedo dar es dedicar tiempo a enfocarse en la interfaz entre ambas (ya sea un servicio web, una base de datos o cualquier otra cosa). Si se trata de un servicio web, por ejemplo, enfóquese en crear un documento WDSL claro. Interfaz, interfaz, interfaz. En su mayor parte, intente ignorar las tecnologías específicas en cada extremo, fuera de algunos prototipos para garantizar que ambos idiomas admitan sus elecciones.

Además, fuera de los principales obstáculos, no se centre en la eficiencia. Centrarse en la claridad. Es probable que tengas dos equipos (es decir, diferentes personas) trabajando en cualquiera de los extremos de esta interfaz. Asegurarse de que lo usen correctamente es mucho más importante que hacer las cosas un poco más rápido.

Si tiene Java como servidor web, puede usar Jax-WS ( https: // jax -ws.dev.java.net/ ) para crear servicios web y WCF para que .Net se conecte al servidor web Java ..

Puede usar algo como XML (que no siempre es tan eficiente) o necesita crear su propio formato binario propietario (eficiente pero mucho más trabajo). Comenzaría con XML y si el ancho de banda se convierte en un problema, siempre puede cambiar a un formato binario propietario.

Algo como SOAP (Wikipedia) es compatible con C # y Java.

Usamos C # / VB.Net para nuestras interfaces web y Java para nuestro cliente pesado. Utilizamos XML y servicios web para comunicarnos entre la base de datos y los servidores de aplicaciones. Funciona muy bien.

Asegúrese de utilizar un protocolo bien definido para comunicar los datos y escriba pruebas para asegurarse de que las aplicaciones respondan de acuerdo con el contrato.

Esta es una pregunta tan amplia, pero recomendaría centrarse en los estándares que se aplican a ambas plataformas; XML o alguna otra forma estándar de serialización, utilizando REST para servicios si necesitan interoperar.

Si usa XML, realmente puede externalizar su acceso a los datos como sentencias XPath que pueden almacenarse en un recurso compartido utilizado por ambas aplicaciones. Eso es un comienzo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top