デスクトップアプリケーションは、Webサービスの前にどのようにリモートサーバーと通信しましたか?


11

デスクトップアプリケーションにはあまり慣れていませんが、クライアントサーバーデスクトップアプリを作成する必要がある場合、データアクセスはWebサービスを介して行われます。Webサービスを介したデータアクセスはセキュリティを提供すると考えています。dbサーバーのユーザー名やパスワードなどを渡す必要はありません。

Webサービスの前、データベースアプリケーションはこれをどのように行っていましたか?すべての重要なdb情報がデスクトップアプリのインストールに渡されましたか?もしそうなら、プログラマはどのようにセキュリティの側面を管理しましたか?または、プログラマーはWebサービスに似たものを使用しましたか?


5
DCOM(Distributed COM)、CORBA、Java RMIなどのリモートプロシージャコールには面白いことがありました。HTTPを介していくつかのデータを即座に要求しながら、それらのいずれも完全には理解できませんでした。毎日Webブラウザを使用すると、Webサービスが簡単に
理解

3
@marcus:おそらくHTTPには要求と応答が組み込まれているのに対して、「ソケットを介したプロトコル」では、誰もがそのホイールをわずかに異なる形で発明しています。
スティーブジェソップ

回答:


11

Webサービスと呼ぶものによって異なります。

WSDLとRESTの前には、まだHTTPがありました。したがって、基本的に今できることはすべて、以前にも行うことができました。

均一性に欠けていました(最初にWSDLとRESTが作成された理由です)が、それはあなたが話しているのと同じレベルのデータ機密性とセキュリティを提供しました。

実際にはHTTPの使用も避けることができます。独自のプロトコルを作成し、このサーバーへのソケットを開いて必要なデータを取得(またはデータを送信)するカスタムサーバーとカスタムクライアントを使用できます。ここでは、HTTPの標準化の利点はすべて失われますが、再度、データベースへのアクセスをクライアントに許可しません。


17

ああ、私たちが棒と石を持っていたとき。

インターネットの前には、「クライアント/サーバー」アーキテクチャとローカルエリアネットワークと呼ばれるものがありました。数マイル離れたサーバーとの接続を確立しようとしていない場合、これらのネットワークはほとんどすべてを達成するために完璧に機能しました。必要に応じて、ドライブ文字を確立し、リモートハードドライブのようなファイルサーバーへの接続を使用することもできます。あなたがいる場合した数マイル離れて、あなたは、遅い速度ではあるし、大きな犠牲にして、本質的には同じことを行うためにワイドエリアネットワークを使用することができます。

話に安価な方法は、リモートでのモデムと呼ばれるデバイスを使用して電話回線間で情報を渡すことで、あなたは2台のコンピュータがコンピュータアプリケーションを介して相互に話を聞いた何かアップリグしたい場合、あなたはそれをあなたが今日それを行うのと同じ方法をした:によって設立します通信プロトコル。それについて魔法のようなものは何もありません。両側は、すべてのバイトの意味について同意する必要があります。

インターネットのごく初期の段階から、マシンがインターネットを介して通信する方法がありました。Webサービスは、今週の最新バージョンです。


5
「それについては魔法のようなものは何もありません。両側はすべてのバイトが何を意味するかについて合意する必要があります。」とエンディアンネス :)
hjk

2
@hjk、それは簡単です:リトルエンディアンは他のすべてのオプションよりも明らかに優れています:
マーク

3
インターネットの定義には、マシンがインターネットを介して通信する方法があることが必要であるとさえ言えます。彼らがそれを行うことができない場合、それはインターネットではなく、壮大さの妄想を持つケーブルの束です。
スティーブジェソップ

2
@SteveJessop:あなたは間違っています、「それは一連のチューブです」。
デデュプリケーター

3

最初にいくつかの概念を明確にするために...

Webサービスを介したデータアクセスはセキュリティを提供すると考えています。dbサーバーのユーザー名やパスワードなどを渡す必要はありません。

(1)Transport Layer Security(TLS)と(2)上記のステートメントのアクセス制御の概念を混同していると思います...ユーザー名とパスワードを提供する必要があるかどうかは、Webサービスが(1)暗号化されたチャネルおよび(2)認証(APIキーなど)を通じて提供されます。

非常に不十分に書かれたWebサービスでは、パスワードをプレーンテキストでHTTP経由で送信する必要があります。作成が不十分な人は、HTTPSを介してそれを行うことがあります(安全ですが、中間者攻撃などにより、一度破壊され、悪用される可能性があります)。より適切に記述されたWebサービスは、認証と資格の制御が検証された後、セッションIDなどの他の入力に基づいてデータベース接続を内部的に処理する必要があります。

要点に戻って、あなたの質問に対する@marcusのコメントは本質的にそれです。セキュリティの側面は、「最新の」テクノロジーと何ら変わりなく扱われ、次のような実装に関する質問を扱います。

  • 通信プロトコル(@RobertHarveyの回答から少し引用)が暗号化されたデータの送信をサポートしているかどうか。
  • メッセージペイロードのサーバとクライアントの間で中継された構造。
  • サーバーがデータベース接続を管理する方法(これは実際にはクライアントから分離されています。最初の段落を参照)。

詳細については:

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.