2010-07-01 2 views
0

Récemment, on m'a demandé d'écrire une application Java pour mon entreprise. Je suis un développeur expérimenté de .Net, donc c'est tout nouveau pour moi.Appel de Java à partir d'une application de console Java et d'une application ASP.NET

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

  • Construire facture unique
  • Construire toutes les factures

Mon entreprise veut pouvoir appeler ces tâches à partir d'une application console Java - transmettre les commandes et paramètres pertinents pour invoquer les tâches. Ils veulent également pouvoir invoquer le même code à partir d'une application ASP.NET.

Par conséquent, ma première pensée a é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 Java Console et d'une application ASP.NET? Ou peut-être y at-il de meilleures alternatives.

Tout pointeur pour me faire des recherches dans la bonne direction serait apprécié.

Merci.

Répondre

0

La réponse simple est - oui. Java a des 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. Cela ne veut pas dire que ce sera facile cependant!

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-à-direhttp://server/invoices/1 pourrait retourner

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

qui est alors devrait être facile à interpréter dans toutes les langues. De toute façon, ce sera une courbe d'apprentissage abrupte. La principale différence entre Java et .NET est que, même si beaucoup de fonctionnalités sont intégrées à .NET, Java est répandu dans tout l'écosystème, ce qui est bien parce qu'il offre de la variété, mais il peut prendre un peu plus de temps pour localiser les fonctionnalités.

1

« Mon entreprise veulent être en mesure d'appeler ces tâches à partir d'une application console java -. Passant dans les commandes et paramètres pertinents pour appeler les tâches Ils veulent aussi être en mesure d'appeler le même code à partir d'un ASP. Application NET. "

Je ne sais pas exactement ce que vous demandez, mais je pense que la réponse simple est de faire en sorte que votre application a une méthode de point d'entrée afin qu'il puisse être exécuté 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 méthode main est critique:

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

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

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

Cela peut aussi être fait par une autre application écrite en Java, et (je pense) d'ASP.NET ainsi.

Questions connexes