Delphi を使用して通信サーバーとデータ交換サーバーを確立する -トランシーバー テクノロジーの分析 (パート 1)著者: 火鸟 [email protected]はじめに 一般的な国内情報開発および実装プロジェクトでは、開発作業のほとんどは、さまざまな顧客に適応することに重点が置かれています。要件の違いに基づいて、特定のモジュールが変更され、最終的に顧客が期待するソフトウェア機能が実現されます。しかし、開発者にとって、顧客ごとに異なるソフトウェア バージョンを開発すると、作業の重複、コストの上昇、メンテナンスの増加、互換性と安定性の低下など、一連の問題が発生します。したがって、開発者は、ソフトウェアの製品化を実現することによってのみ、プロジェクトサイクルを短縮し、市場競争力を強化することができ、行き詰まることなくさまざまな顧客のニーズに可能な限り適応できることを認識しています。これが顧客満足の鍵です。ビジネス上の利益間のバランス。トランシーバーのコンセプトトランシーバーは、さまざまなアプリケーションやビジネス プロジェクトのさまざまな通信ニーズを満たすために設計および開発された一般的な通信製品ソフトウェアです。これは、複数のアプリケーション システム間の通信とデータ交換をプラットフォーム中立、アプリケーション中立で統合管理および制御するために使用できます。本来の設計は、通信モジュールの繰り返し開発を削減し、通信ソフトウェアの集中管理を強化することです。 SendとReceiveをSourceからTargetへの等価なデータフロープロセスに抽象化することで、既存の一般的な通信メソッドの送受信処理と通信例外のフォールトトレラントなバッファリング処理(Queue)を統合し、Transceiverの強力な機能を構成します。企業レベルの通信ニーズを満たすには十分です。以下はトランシーバーのアプリケーションの例です。
| コミュニケーションの方向性 | ソース | バッファ(キュー) | ターゲット | 機能の実装 |
| C1.データ送信 | S1. ローカルファイルから取得 | シンクに異常が発生した場合、データはトランシーバーにバッファリングされ、トランシーバーが再送信を担当します。 | T1. リモート TCP ポートに送信します。 | ファイルをリモートの場所に転送する |
| C2.データ受信 | S2. リモート POP3 から取得します。 | T2. 別の SMTP アカウントに送信します。 | メール転送 |
| C3.データ送信 | S3. ローカルDBから取得 | T3. リモート HTTP ページに送信します。 | データベースから読み取り、Web ページに送信します |
| C4.データ受信 | S4. リモート FTP から取得 | T4. 処理のためにローカル COM に送信します。 | リモート エンドから取得し、処理のために COM に渡します。 |
| C5.データ受信 | S5. リモート DCOM から取得します。 | T5. ローカル MSMQ キューに送信します。 | リモートコンポーネントからメッセージキューを取得し、処理を待ちます。 |
トランシーバーでは、S1 ~ S5 や T1 ~ T5 など、ソースとターゲットは両方ともポートとみなされ、C1 ~ C5 のいくつかの通信プロセス定義と同様に、実行時にトランシーバーによって作成および制御されます。基本的な通信機能を実行できるチャネルは、2 つのポート (1 つはソース、もう 1 つはターゲット) で構成されます。 ,Queue は、通信例外が発生した場合のフォールトトレラントな処理層です。表に示すように、
トランシーバーは通信プロセスの送信と受信の両方を完全にサポートできます。ソースとシンクの種類、数量、対応関係に制限はなく、ソースとターゲットの対応関係も自由に設定できます。上の表は、トランシーバー通信機能のいくつかの使用例のみを示しています。トランシーバーは、アプリケーション、データ、およびプロトコルの 3 つのレベルでデータ通信要素を抽象的に統合し、アプリケーションの通信パフォーマンスとニーズに最大限の柔軟性を提供します。再利用性。図 1: トランシーバー通信ポート (ポート) の相互作用機能
トランシーバー機能1. LAN/WAN と異なるオペレーティング システム/アプリケーション システム間のデータ送受信サービスは、現在次の通信ポートをサポートしています。
| 通信方式 | インタラクション層 | 差出人 | 受信側 | 推奨環境 |
| TCP | プロトコル | √ | √ | ファイアウォールを使用しないエンタープライズ ファスト イーサネット/ネットワーク |
| FTP | プロトコル | √ | √ | ファイルサーバーを使用したネットワーク/環境間のファイル転送 |
| SMTP | プロトコル | √ | | B2Cの場合/メール送信サーバーあり |
| ポップ3 | プロトコル | | √ | B2Cの場合/メール受信サーバーあり |
| HTTP | プロトコル | √ | √ | ファイアウォールを越えたネットワーク/インターネット環境 |
| ファイル | データ | √ | √ | ローカル ファイルからローカル ファイルへの読み取り/書き込み |
| MSMQ | データ | √ | √ | メインフレームなどの他のシステム/異なるアプリケーションとの併用 |
| DB | データ | √ | √ | カスタマイズされたデータベース構造下/異なるアプリケーション間 |
| COM/DCOM | 応用 | √ | √ | ビジネス ロジックは、特定のデータ処理ニーズを持つ専用モジュール インターフェイス/環境にマッピングされます。 |
トランシーバの応用例にあるように、
トランシーバのポートとチャネルの定義に従い、送受信の両端にある上記8種類のポートを自由に組み合わせて、8×8の計64通りの柔軟な通信方式を実現できます。複雑で変化しやすいエンタープライズ アプリケーション通信環境に対応します。注: UDP プロトコルの要求環境は TCP の要求環境に似ており、接続セキュリティが欠けているため、必要に応じて柔軟に追加でき、アプリケーション レベルでの実装が簡単です。 Delphi を使用した CORBA および EJB のコンポーネント インターフェイス (ポート) は、トランシーバー シェルの不可欠な部分になります。 2. バッファリング処理に使用される Queue メカニズムは、データ バッファ キューの追跡と、異常な通信状況に応じたデータの再送信を実行できます。 3. データログ。データの時間、内容、ソース、宛先、バッファリング時間、および現在のステータスを完全に記録できます。 4. 多言語サポート。データ変換およびユーザー インターフェイス用の多言語サポート インターフェイスを提供します。ユーザーは、言語要件に応じてインターフェイス言語タイプとデータ トランスコーディング コンポーネントを自由に追加できます。
トランシーバーの実装トランシーバーは、トランシーバー サービスとトランシーバー コンソールの 2 つの部分で構成されます。トランシーバー サービスは、トランシーバー カーネルとトランシーバー シェルの 2 つの論理層に分割できます。図 2: トランシーバー設計アーキテクチャ 1. トランシーバー コンソールの概要 コンソールの機能は、コントロール パネル アプリケーションの形式でトランシーバー サービスの効果的なポートとチャネルの定義とルールを提供し、送信ログ、データ キュー、環境を設定することです。パラメータなど、コンソールを経由せずに、ユーザーはトランシーバーのシステム構成ライブラリとレジストリを直接変更することで、上記の内容を手動で設定することもできます。スペースの制限のため、インターフェースとトランシーバーの多言語の動的サポートを示すために、3 つのスクリーンショットのみが提供されています。シェル。ポート定義とトランシーバー チャネル定義の 3 つの側面の動作上の効果については、詳細には説明しません。添付図3:トランシーバコンソールの多言語動的サポート(付録4と5のインターフェース言語は異なります) 添付図4:トランシーバコンソールによるトランシーバサーバーの通信ポートの定義 添付図5:SourcePortとTargetPortを組み合わせて通信チャネル作成者を定義トランシーバーサーバー用:Firebird
[email protected] は
、C# を介してコレクションクラスの概要を実装します。コレクションと関連テクノロジーDelphi を使用して通信およびデータ交換サーバーを確立する — トランシーバーの技術分析 (パート 1) Delphi を使用して通信およびデータ交換サーバーを確立する — トランシーバーの技術分析 (パート 2)
古いもの: プログラム ショートカット/プログラム削除項目/EXE 自身- DIY の古いものを削除する: プログラミング アルゴリズムに関する子供の頃のメモ