Простой способ обработки пакетных данных через веб-сервис? - PullRequest
0 голосов
/ 03 октября 2009

Какими простыми инструментами вы бы порекомендовали прочитать текстовый файл адресов, отправить каждую запись отдельно в веб-службу для геокодирования и сохранить пакет результатов в виде текстового файла?

Поиск компонентов без излишеств с примерами использования для минимального кода с нуля. Язык не имеет значения, если среда разработки проста в установке.

Требования - может использоваться неискушенным программистом - низкая или бесплатная - работает под Windows.


Вторая мысль: Насколько легко это сделать в браузере, используя JavaScript и одну или две библиотеки?

Ответы [ 3 ]

1 голос
/ 04 октября 2009

Я бы пошел на Java и использовал бы библиотеку разбора плоских файлов, такую ​​как jFFP или Flatworm Эти библиотеки довольно просты для понимания и использования (я работал с ними обоими в прошлом), и они обе предоставляют примеры кода.

Spring Integration был бы другим хорошим вариантом, но кривая обучения могла бы быть слишком большой, если вы не знакомы с Spring, и это может быть излишним для вашего простого рабочего процесса.

На самом деле, в вашем случае, я бы выбрал Flatworm для анализа. Вы можете найти примеры кода на его веб-сайте или в Как читать и анализировать простые файлы в Java . И вы даже можете использовать его для записи выходного файла, как в Запись плоских файлов на Java с помощью Flatworm ).

Для части SOAP я бы использовал Справочную реализацию JAX-WS (которая включает в JDK 6, поэтому вам не придется добавлять какую-либо библиотеку, если вы используете Java 6) и Netbeans IDE. IDE Netbeans имеет очень хорошую поддержку для разработки клиента веб-служб JAX-WS (или здесь для более поздних версий Netbeans) и должно действительно облегчить процесс. После того, как сгенерированы различные классы, вызов веб-службы занимает 3 строки кода, как показано в примерах предоставленных ссылок:

// Call Web Service Operation
com.cdyne.ws.Check service = new com.cdyne.ws.Check();
com.cdyne.ws.CheckSoap port = service.getCheckSoap();

// TODO initialize WS operation arguments here
java.lang.String bodyText = "";
java.lang.String licenseKey = "";

// TODO process result here
com.cdyne.ws.DocumentSummary result = port.checkTextBody(bodyText, licenseKey);
0 голосов
/ 03 октября 2009

Я бы использовал XMLunit с Eclipse IDE, + JUnit и JDK1.6. Готовая программа, которая делает это, может быть только 100 строк кода. Это может сделать кто-то, кто является начинающим программистом ...

Когда программа будет готова, вы можете скомпилировать ее как файл .exe для дальнейшего использования.

Я бы выбрал "Strawberry Perl" в качестве второго выбора для языка программирования. Я думаю, что использовать Python немного сложнее.

0 голосов
/ 03 октября 2009

Учитывая общий характер требований, относительно простой рабочий процесс, но его потенциал может внести в проект несколько изгибов и поворотов (например, необходимость использования https, а не http для веб-сервисов, необходимость создания некоторых странных токен для аутентификации, или какого-то необычного маршалинга или преобразования и т. д.) может быть лучше использовать современный язык сценариев . Самым базовым планом может быть использование простого сценария оболочки (файла bat), основанного на curl и нескольких других утилит командной строки, но этот подход может быть недостаточно гибким, чтобы соответствовать некоторым требованиям; вместо этого предпочтительнее использовать такие языки, как Perl, PHP, Python, Ruby.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...