Предоставление данных с веб-сервера другим приложениям - PullRequest
0 голосов
/ 11 июня 2009

www.whatpub.org - это веб-приложение ASP.NET v2, написанное мной в VB.NET. В настоящее время он размещен на www.webhost4life.com - дешево, много функций, но не совсем быстро, но это в стороне. База данных для пабов хранится в базе данных SQL 2005. Система состоит из двух основных частей. Внешний интерфейс «Поиск пабов и руководство по отображению» и внутренний интерфейс «Приложение администрирования и управления», называемый HOPS. В основном работает веб-приложение ASP.NET для мельниц.

Однако есть новое требование. Одно из отделений CAMRA хотело бы использовать HOPS, и хотя они не возражают против того, что записи были доступны через www.whatpub.org, они также хотят маркировать / стилизовать статический список пабов на их собственном веб-сайте.

На данный момент их руководство представляет собой серию статических веб-страниц, которые должны редактироваться вручную веб-мастером. Не идеально ...

Очевидное решение для них - сделать что-то похожее на то, что уже делает www.whatpub.org - либо генерировать страницы на лету по запросу, либо написать подпрограмму для генерации статических HTML-страниц, запускаемых при изменении в пабе. запись. Это потребует программирования на PHP или ASP.NET - это дано.

Однако (и, наконец, выяснить причину моего сообщения), как лучше всего представить данные в базе данных HOPS другому приложению, работающему на другом веб-сервере?

WebHost4Life предоставляет базу данных SQL в Интернете, но это не совсем правильно и, возможно, немного опасно. Кроме того, он может не работать с webhost4life, а другой поставщик может не предоставлять SQL-сервер в Интернете.

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

Я также использовал HTTP POST-запросы, которые возвращают XML-документ, что является еще одним вариантом.

Где SOAP вписывается во все это?

Все советы с благодарностью получены!

Ура, Роб.

1 Ответ

1 голос
/ 11 июня 2009

Я думаю, что ваш лучший выбор будет представлять ваши данные HOPS с помощью веб-службы ASP.NET. Ваш партнер CAMRA может получить доступ к веб-сервису, как ему удобно. Например, они могут использовать JQuery для вызова вашего веб-сервиса и работать с данными в формате JSON (альтернативный формат данных, который хорошо работает в JavaScript, а не в XML). В качестве предупреждения эта статья действительно полезна для решения типичных проблем при вызове веб-службы ASP.NET с использованием JQuery и, возможно, других платформ JavaScript.

http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/

Вот пример кода JQuery для вызова веб-службы ASP.NET:

jQuery.ajax({
type: "POST",
contentType: "application/json",
beforeSend: function(x) {
    x.setRequestHeader("Content-Type","application/json");
},
url: "/services/MyService.asmx/GetRandomPubName",
error: function (XMLHttpRequest, textStatus, errorThrown) {
    // handle your error here
},
dataType: "json",
data: {},
success: function(msg) {
    // handle the successful web service call
    $('.responseDiv').html('Random Pub Name found in the database: '+msg.PubName);
}

});

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