2009-06-10 5 views
0

www.whatpub.orgは、自分でVB.NETで作成したASP.NET v2 Webアプリケーションです。それは現在、www.webhost4life.comでホストされています。安価で多くの機能がありますが、正確には高速ではありませんが、それは脇にあります。パブのデータベースはSQL 2005データベースに保持されます。システムには2つの基本的な部分があります。フロントエンド「パブとディスプレイガイドの検索」とバックエンド「管理と管理アプリケーション」はHOPSと呼ばれています。ミルASP.NET Webアプリケーションのかなり多くを実行します。Webサーバーから他のアプリケーションにデータを公開する

ただし、新しい要件があります。 CAMRA支店の1つはHOPSを使いたいと思っていますが、www.whatpub.orgを通じてアクセス可能なエントリーを気にしない間に、彼らは自分のウェブサイト上のパブの静的リストをブランド化/スタイル化したいと考えています。

現在、ガイドは一連の静的なウェブページであり、ウェブマスターによって手動で編集する必要があります。理想的ではありません...

明らかな解決策は、www.whatpub.orgが既に行っていることに似た何かをすることです。要求されたときにページを生成するか、トリガーされた静的HTMLページを生成するルーチンを作成します。パブレコードへの変更によってこれには、PHPやASP.NETのプログラミングが必要です。

しかし、HOPSデータベースのデータを別のWebサーバー上で実行されている別のアプリケーションに公開するにはどうすればよいですか?

WebHost4Lifeはインターネット上のSQLデータベースを公開していますが、それはかなり正しいとは思えず、おそらく少し危険です。また、webhost4lifeに残っていない可能性があり、別のプロバイダがインターネット上にSQLサーバを公開していない可能性があります。

私はウェブサービスについてたくさん読んでいます。私は基本的なデータベース構造を(限界内で)変更することを決定したとしても、公開されたインタフェースを一貫性のある中間層にすることができるということを意味しています。

また、別のオプションであるXMLドキュメントを返すHTTP POSTリクエストを使用しました。

ここでSOAPはどのように適合していますか?

すべてお寄せいただきありがとうございます。

Cheers、Rob。

答えて

1

あなたの最良の選択は、ASP.NET Webサービスを使用してHOPSデータを公開することだと思います。あなたのCAMRAパートナーは、ウェブ・サービスにアクセスすることができますが、それは最適です。たとえば、JQueryを使用してWebサービスを呼び出し、JSON形式のデータ(XMLではなくJavaScriptでうまく機能する代替データ形式)で作業することができます。警告として、この記事は、JQueryなどのJavaScriptフレームワークを使用してASP.NET Webサービスを呼び出す際の一般的な問題の解決に役立ちます。ここで

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

ASP.NET Webサービスを呼び出すためのいくつかのサンプルjQueryのコードです:

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); 
} 

});

+0

Webサービスに関する知識が不足していると思いますが(私が思うには読み上げる必要がありますが)、HTTPなどの標準的なWebプロトコルを使用していると仮定していますか?だから、ファイアウォールやポートに問題はない?私は、私が尋ねていることは、ホストされたサイトで動作するWebサービスの可能性は何かと思いますか? –

+0

はいWebサービスはHTTPを使用します。 Visual Studioで新しいWebサービスプロジェクトを作成すると、ASP.NET Webサービス(ページ)の名前はService1.asmxになります。私はいつも本当に良いWebサービスの紹介とパターンを見つけるのに苦労しましたが、あなたのWebサービスをWebサーバーサービス(IIS、Apacheなど)内のページ/サービスと考えています。 – Jon

+0

通常の.aspxページのように、IIS内でホストされている.asmxページとして "Webサービス"を視覚化する方が簡単です。 Webサービスは、XML形式またはJSON形式のデータを取得するために別のアプリケーションによって呼び出されます。 SOAPとWSDLは、Webサービス上でどの機能が公開されているかなど、クライアントアプリケーションにWebサービスを記述するための単なるプロトコルとモデルです。 – Jon

関連する問題