Вызов Java из консольного приложения Java и приложения ASP.NET - PullRequest
0 голосов
/ 02 июля 2010

Недавно меня попросили написать Java-приложение для моей компании. Я опытный разработчик .Net, так что это все новое для меня.

Моя задача - создать приложение для выставления счетов, которое имеет несколько задач высокого уровня, таких как:

  • Создание единого счета
  • Построить все счета

Моя компания хочет иметь возможность вызывать эти задачи из консольного приложения Java - передавая соответствующие команды и параметры для вызова задач. Они также хотят иметь возможность вызывать тот же код из приложения ASP.NET.

Поэтому моей первой мыслью было использование Web-сервисов в Java.

У меня вопрос: могу ли я использовать веб-службы в Java как из консольного приложения Java, так и из приложения ASP.NET? Или, может быть, есть лучшие альтернативы.

Буду признателен за любые указатели, которые помогут мне исследовать правильное направление.

Спасибо.

Ответы [ 2 ]

1 голос
/ 02 июля 2010

"Моя компания хочет иметь возможность вызывать эти задачи из консольного приложения Java - передавая соответствующие команды и параметры для вызова задач. Они также хотят иметь возможность вызывать тот же код из ASP.NET приложение. "

Я не совсем уверен, что именно вы спрашиваете, но я думаю, что простой ответ - убедиться, что ваше приложение имеет метод точки входа, чтобы его можно было запускать как приложения командной строки. Вам нужен класс с методом, который выглядит следующим образом:

package foo.bar;

public class Bazz {

    ...

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

Подпись метода main имеет решающее значение:

  • должно быть public static,
  • оно должно иметь имя main,
  • он должен содержать один String[] аргумент и,
  • он должен иметь тип возврата void.

Эту команду затем можно запустить из командной строки следующим образом:

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

Это также может быть сделано другим приложением, написанным на Java, и (я думаю) из ASP.NET.

0 голосов
/ 02 июля 2010

Простой ответ - да. В Java есть библиотеки для определения и развертывания веб-служб, а в Java и .NET есть утилиты для генерации клиентов веб-служб. Это не значит, что это будет легко!

Если бы я был вами, я бы вместо этого исследовал создание службы REST с использованием реализации JAX-RS (мой фаворит - RestEASY). Это позволит вам создать «веб-сервис» без SOAP, то есть http://server/invoices/1 может вернуть

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

Что тогда должно быть легко истолковано на любом языке. В любом случае это будет крутая кривая обучения. Основное различие между Java и .NET заключается в том, что, хотя в .NET встроена большая часть функциональности, в Java она распространяется по экосистеме, что хорошо, поскольку она обеспечивает разнообразие, однако для определения функциональности может потребоваться немного больше времени

...