フローベースのプログラミングとは何ですか?
フローベースのプログラミングは、コンピューターアプリケーションとアーキテクチャを設計する方法です。これは、データが互いに接続されておらず、外部メッセージングシステムを使用して通信するコンポーネントによってストリームで処理されることを目的としているため、従来の構造化されたアプリケーション設計とは異なります。フローベースのプログラミングでは、プログラム内の他のコンポーネントに直接接続しないカプセル化されたモジュールまたは関数であるさまざまなコンポーネントを使用して、データの変換に焦点が当てられます。各データストリームおよびその他のイベントは、いくつかのタイプのネットワークプロトコルとは異なり、抽象ポートを使用して情報パケット(IP)がモジュールに配信される外部メッセージパスの通過システムによって管理されます。このコンポーネントベースの設計ビューにより、アプリケーションは、システムメッセージに応答するだけで、IPを処理してからIPをシステムにリリースする必要があるコードモジュールを個別に開発できます。これアプローチは、分散システム、ネットワーク、およびeコマースサーバーなどのインターネットおよびWebベースのプログラムアーキテクチャで役立ちます。
フローベースのプログラミングの基本的な構成要素の1つは、孤立したノード、プロセス、またはモジュールのアイデアです。これは、他のモジュールに直接的な依存関係を持たないプログラムソースコードの一部と考えることができ、モジュールが必要なときにいつでも呼び出すことができるアプリケーションのスタンドアロンのピースになります。各コンポーネントは、別のコンポーネントと順番に呼ばれることに依存していないため、アプリケーションのコンポーネントを任意の順序で配置および使用でき、情報がシステムを介して移動するときに複数の一意のデータフローが存在するようにします。
フローベースのプログラミングの個々のモジュールは、コンピューターネット内のデータポートのように動作するポートとして知られる抽象インターフェイスを介してデータを受け入れます。仕事。データは、限られたサイズのバッファーを介してポートに送信されますが、複数のIPを常にポートに供給されるストリームに変換します。単一のポートは、単一のコンポーネントのいくつかのインスタンスに関連するため、分散システムまたは並列処理のために構造を使いやすくすることができます。
情報パケットに含まれるデータは、外部メッセージングシステムによってモジュールを介して操作されます。フローベースのプログラミングでは、このメッセージングシステムはモジュールとIPSとは別になく、ポートに結合したバッファーの使用を介したプログラムフローのみを管理します。メッセージングシステムには、基本的に、モジュールが何であるか、または行っているものについて知識がなく、モジュールが処理しているIPS内に含まれるデータについての実際の懸念はありません。
フローベースのプログラミングアプリケーションを構成する各コンポーネントの分割とモジュール性は、デバッグやチーム指向の開発などのプロセスに適しています。コードの多くはカプセル化されているので、ソースコードには、再利用可能性が高くなります。これはまた、メッセージングシステム、モジュール、ポートシステムをそれぞれ、より大きなプログラムに影響を与えることなく独立して変更できるため、フローベースのプログラミングを使用するアプリケーションのアップグレードまたはスケーリングは、より統合されたアプリケーションよりも簡単になる可能性があることを意味します。