ホームページ  >  記事  >  バックエンド開発  >  XML関連の技術情報のまとめ

XML関連の技術情報のまとめ

怪我咯
怪我咯オリジナル
2017-04-05 17:44:261340ブラウズ

xmlHTTPテクノロジー:
----------------------------------------------------- ------------------
1. データベース リモート管理テクノロジ

インターネット ベースの広域ネットワークの最新のアプリケーションにおける重要なリンクは、データベースのリモート監視です。まず、インターネット上のデータベース遠隔管理技術の開発プロセスと手法を簡単に振り返ってみましょう:

初期の頃、データベース遠隔管理は CGI-BIN プログラム モジュールを記述することによって実行されていました。しかし、CGI-BIN は動作が遅く、メンテナンスが不便で、現在は基本的に放棄されています。

近年、コンポーネントオブジェクトモデル(コンポーネントオブジェクトモデル、COM)を使用したアプリケーションが多くあり、その効果は非常に優れています。ただし、サードパーティのサーバーが使用されている場合 (作成者の Web サイトはサードパーティの 仮想ホスト 上に構築されている)、多くの場合、機密保持やその他の商業上の理由により、サーバーはユーザーが独自のコンポーネントを登録することを許可しません。

近年、Microsoft が立ち上げた .NET プラットフォームと SUN の J2EE プラットフォームは、どちらも非常にハイエンドなデータベースのリモート管理およびサービス プラットフォームです。どちらも高品質の多層 (n 層) アプリケーション サービスを提供できます。
その中で、.NET の Simple Object Access Protocol (SOAP) は、Hypertext Transfer Protocol (HTTP) と Extensible Markup Language (XML) テクノロジを使用して、システム間 (Windows - Linux など) の通信サービス メソッドを実装しており、広く受け入れられ、使用されています。開発者。エンタープライズ リソース プランニング (ERP) などの大規模なアプリケーションの多くは、このような大規模なプラットフォーム上に構築されています。
しかし、Web サイトの構築や保守などの中小規模のアプリケーションにとって、この大規模なアプリケーション プラットフォームは少し大きすぎ、オーバーヘッドが大きすぎるように思えます。

Microsoft は、かつてはインターネット技術や Java 技術で後れを取っていましたが、XML アプリケーション開発では先頭に立っていました。彼女の XML パーサー (MSXML) の XMLHTTP プロトコルは、非常に便利で実用的なクライアント/サービス通信チャネルです。 XMLHTTP と ActiveX データ オブジェクト (ActiveX データ オブジェクト、ADO/ADOX) を包括的に使用することで、リモート データベース管理を簡単かつ便利に実現できます。

この記事では、XMLHTTP と ADO/ADOX をリモート データベース管理に包括的に使用する方法を紹介します。

2. データベースリモート管理システム

データベースリモート管理のタスクプロセスは次のとおりです:
1. クライアントはデータベース構造とデータに対するクエリまたは変更命令をサーバーに発行します。
2. サーバーは関連する命令を受け入れて実行し、結果をクライアントに返します。
3. クライアントは、サーバーから返された命令の実行結果を受け入れて表示します。

リモート データベース管理を実現するための 2 つの主要なリンクは次のとおりです:
1. クライアントとサーバー間のコマンドのアップロードと結果のダウンロードのためのデータ チャネルは、XMLHTTP プロトコルによって実装されます。
2. サーバーフロントとデータベース間の命令の送信と結果の返却は、中間層の役割を果たす ADO/ADOX インターフェイスによって完了します。
3. XMLHTTP の使用

その名前が示すように、XMLHTTP は XML 形式でデータを送信するハイパーテキスト転送プロトコルです。

実際、XMLHTTP のデータ送信プロセスはより柔軟です:
アップロードする命令は、XML 形式のデータ、文字列、ストリーム、または符号なし整数配列にすることができます。 URL パラメーターにすることもできます。
結果は、XML 形式のデータ、文字列、ストリーム、または符号なし整数配列になります。
詳しくは記事末尾のリンクをご覧ください。

クライアントによる XMLHTTP の呼び出しプロセスは非常に簡単で、たったの 5 つのステップです:
1. XMLHTTP オブジェクトを作成します 2. サーバーとの接続を開き、命令送信メソッド、サービス Web ページ (URL) を定義します。許可などを要求します。 クライアントは、Open コマンドを通じてサーバーのサービス Web ページへの接続を開きます。通常の HTTP コマンド送信と同様に、「GET」メソッドまたは「POST」メソッドを使用して、サーバーのサービス Web ページをポイントできます。
3. 指示を送信します。
4. サーバーから返される処理結果を待ちます。
5. XMLHTTP オブジェクトを解放します

XMLHTTP メソッド:
bstrMethod、bstrUrl、varAsync、bstrUser、bstrPassword を開きます。
bstrMethod: データ送信メソッド、つまり GET または POST。
bstrUrl: サービス Web ページの URL。
varAsync: 同期的に実行するかどうか。デフォルトは True で、これは同期実行を意味しますが、同期実行は DOM でのみ実装できます。
アプリケーションでは通常、非同期実行を意味する False に設定されます。
bstrUser: ユーザー名、省略可能。
bstrPassword: ユーザーのパスワード。省略可能。

varBodyを送信する
varBody: 命令セット。 XML 形式のデータ、文字列、ストリーム、または符号なし整数配列を指定できます。これを省略することもでき、ディレクティブは Open メソッドの URL パラメーターを通じて置き換えられます。

setRequestHeader bstrHeader、bstrValue
bstrHeader: HTTP ヘッダー (ヘッダー)
bstrValue: HTTP ヘッダー (ヘッダー) の値
Open メソッドが POST として定義されている場合、フォームのアップロードを定義できます:
xmlhttp.setRequestHeader "Content-Type", "application /x-www-form-urlencoded"

XMLHTTPattributes:
onreadystatechange: 同期実行モードで返された結果の event ハンドルを取得します。 DOM 内でのみ呼び出すことができます。
responseBody: 結果は符号なし整数配列として返されます。
responseStream: 結果は IStream ストリームとして返されます。
responseText: 結果は文字列として返されます。
responseXML: 結果はXML形式のデータとして返されます。


以下は、この記事に添付されているソースプログラムでの応用例です:
Function GetResult(urlStr)
Dim xmlHttp
Dim retStr

Set xmlHttp = CreateObject("Msxml2.XMLHTTP") 'オブジェクトの作成
On Error Resume Next 'エラー処理
xmlHttp.Open "POST", urlStr, False 'POST モードで接続を開き、非同期で実行します。 T xmlhttp.setRequestHeader "Content-Type", "Application/X-WWW-Form-Urlencoded" ' フォームのアップロード
x
















retstr = xmlhttp.responsetext '待機中そして、サーバーから返された結果を取得します
Else
Retstr = "URL Not Found"' CTION

GetResult () 関数は、サービス Web ページの URL パラメータを取得し、URL の背後にあるパラメータにアップロード命令を配置します。 as:
urlStr = "server.asp?cmd=" & cmd & "&db=" & db & "table= " & table

cmd: クエリ、変更、削除などの実行方法。 🎜 db: サーバーのデータベース名 🎜 table: サーバーのテーブル名 🎜🎜 次に、コマンドを送信し、返される処理結果を待ちます。結果は文字列として返されます。 🎜🎜最後に、関数呼び出し元が処理して結果を表示します。 🎜🎜🎜

以上がXML関連の技術情報のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。