0 votes

Appeler Java à partir d'une application console Java et d'une application ASP.NET

Récemment, on m'a demandé d'écrire une application java pour mon entreprise. Je suis un développeur .Net chevronné, c'est donc un terrain tout nouveau pour moi.

Ma tâche est de produire une application de facturation qui a plusieurs tâches de haut niveau telles que :

  • Créer une facture unique
  • Établir toutes les factures

Mon entreprise souhaite pouvoir appeler ces tâches à partir d'une application console Java, en passant les commandes et les paramètres pertinents pour invoquer les tâches. Elle souhaite également pouvoir invoquer le même code à partir d'une application ASP.NET.

Ma première idée a donc été d'utiliser les services Web en Java.

Ma question est la suivante : puis-je utiliser les services Web en Java à partir d'une application console Java et d'une application ASP.NET ? Ou peut-être existe-t-il de meilleures alternatives.

Toute indication pour me permettre de faire des recherches dans la bonne direction serait appréciée.

Merci.

1voto

Stephen C Points 255558

"Mon entreprise souhaite pouvoir appeler ces tâches à partir d'une application console java - en passant les commandes et les paramètres pertinents pour appeler les tâches. Elle souhaite également pouvoir appeler le même code depuis une application ASP.NET."

Je ne sais pas exactement ce que vous demandez, mais je pense que la réponse simple est de s'assurer que votre application a une méthode de point d'entrée afin qu'elle puisse être exécutée comme une application en ligne de commande. Vous avez besoin d'une classe avec une méthode qui ressemble à ceci :

package foo.bar;

public class Bazz {

    ...

    public static void main(String[] arguments) {
        // parse the arguments and run the application
        ...
    }
}

La signature de la main est essentielle :

  • il doit être public static ,
  • il doit avoir le nom main ,
  • il doit aborder un seul String[] argument et,
  • il doit avoir un void type de retour.

Cette commande peut ensuite être exécutée à partir de la ligne de commande comme suit :

java -cp <YOUR_CLASS_PATH> foo.bar.Baz arg1 arg2 ...

Cela peut également être fait par une autre application écrite en Java, et (j'imagine) aussi à partir d'ASP.NET.

0voto

Robert Wilson Points 398

La réponse est simple : oui. Java dispose de bibliothèques pour définir les services Web et les déployer, et Java et .NET ont des utilitaires pour générer des clients de services Web. Mais cela ne veut pas dire que ce sera facile !

Si j'étais vous, je chercherais plutôt à créer un service REST en utilisant une implémentation JAX-RS (mon préféré est RestEASY). Cela vous permettra de créer un "service web" sans SOAP, c'est-à-dire avec une interface de type JAX-RS. http://server/invoices/1 pourrait revenir

<invoice>
 <items>
  <item>apple</item>
  <item>banana</item>
 <items>
 <customer>robert</customer>
 <amount>5.00</amount>
</invoice>

Ce qui devrait donc être facile à interpréter dans n'importe quelle langue. Dans tous les cas, la courbe d'apprentissage sera raide. La principale différence entre Java et .NET est que si de nombreuses fonctionnalités sont intégrées à .NET, en Java, elles sont réparties dans l'écosystème, ce qui est une bonne chose car cela apporte de la variété, mais cela peut prendre un peu plus de temps pour trouver une fonctionnalité.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X