Question

Pouvez-vous me donner des conseils sur la meilleure manière de vous assurer que deux applications (une en C #, l'autre en Java) seront compatibles et pour l'échange de données? Avez-vous rencontré des pièges?

Le scénario est point à point, l'un des hôtes est un fournisseur de services et l'autre, un consommateur de services.

Était-ce utile?

La solution

Consultez le protobuf au format d'échange de données. Une implémentation .NET est également disponible .

Autres conseils

JSON pour les données descriptives et XML pour les types de données généraux. Si cela ne vous suffit pas, vous devez configurer vos propres codecs pour gérer le Différence d’octet entre C # et Java .

Plutôt que de vous concentrer sur une technologie particulière, le meilleur conseil que je puisse vous donner est de consacrer du temps à l’interface entre les deux (qu’il s’agisse d’un service Web, d’une base de données ou autre). S'il s'agit d'un service Web, par exemple, concentrez-vous sur la création d'un document WDSL clair. Interface, interface, interface. Dans la plupart des cas, essayez d’ignorer les technologies spécifiques à chaque extrémité, en dehors de certains prototypes, afin de vous assurer que les deux langues respectent vos choix.

En outre, en dehors des principaux obstacles, ne vous focalisez pas sur l'efficacité. Concentrez-vous sur la clarté. Vous aurez probablement deux équipes (c.-à-d. Des personnes différentes) travaillant aux deux extrémités de cette interface. S'assurer qu'ils l'utilisent correctement est bien plus important que d'accélérer un peu les choses.

Si vous utilisez Java comme serveur Web, vous pouvez utiliser Jax-WS ( https: // jax -ws.dev.java.net/ ) pour créer des services Web et un WCF pour .Net afin de se connecter au serveur Web Java.

Vous pouvez utiliser quelque chose comme XML (qui n'est pas toujours aussi efficace) ou vous devez créer votre propre format binaire propriétaire (efficace mais beaucoup plus de travail). Je commencerais par XML et si la bande passante pose un problème, vous pouvez toujours passer à un format binaire propriétaire.

Quelque chose comme SOAP (Wikipedia) est pris en charge par C # et Java.

Nous utilisons C # / VB.Net pour nos interfaces Web et Java pour notre client lourd. Nous utilisons XML et des services Web pour communiquer entre la base de données et les serveurs d'applications. Cela fonctionne très bien.

Assurez-vous que vous utilisez un protocole bien défini afin de communiquer les données et écrivez des tests afin de vous assurer que les applications répondent conformément au contrat.

La question est si vaste, mais je vous conseillerais de vous concentrer sur les normes applicables aux deux plates-formes. XML ou une autre forme de sérialisation standard, utilisant REST pour les services s’ils doivent interopérer.

Si vous utilisez XML, vous pouvez réellement externaliser votre accès aux données sous forme d'instructions XPath pouvant être stockées dans une ressource partagée utilisée par les deux applications. C'est un début.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top