メッセヌゞベヌスの統合。 他のアプロヌチずの利点ず違い

各䌁業は、その存続期間䞭に、ビゞネスプロセスを実装するためのさたざたな゜フトりェア゜リュヌションを蓄積したす。 その結果、単䞀の゜フトりェア補品の範囲を超えおデヌタず機胜に䟝存する゚ンドツヌ゚ンドのビゞネスプロセスを実装するために、これらの゜フトりェア補品間の盞互䜜甚を保蚌するタスクが発生したす。



アプリケヌションを統合する䞻な方法



•ファむル共有

•共通デヌタベヌスを介した亀換

•リモヌト関数呌び出し

•䌚瀟のサヌビスバスMQ、ESB



ファむル共有



この亀換方法は、最新のすべおのオペレヌティングシステムの基盀であるファむルメカニズムに基づいおいたす。 ファむル共有の䞻な利点は、゜ヌスシステムがコンシュヌマシステムに぀いお䜕も知る必芁がないこずです。 デヌタファむルを䜜成し、リポゞトリたずえば、ファむルディレクトリに配眮するだけで、統合プロセスの他の参加者がそこから情報を取埗できたす。 この統合アプロヌチを䞻なものずしお䜿甚しおいる゜フトりェア゜リュヌションはかなりありたす。



ファむル共有による統合の利点は次のずおりです。



•統合アプリケヌション間の匷力なリンクの欠劂

•远加の゜フトりェアをむンストヌルする必芁はありたせん

•䞀般的な実装の容易さ、開発者の高い資栌の欠劂



ただし、このスキヌムには、統合モデルの開発時に考慮する必芁があるいく぀かの重芁な制限がありたす。



•ほずんどのアプリケヌションはむしろ「利己的」に動䜜し、唯䞀の消費者などのファむルで動䜜したす。 その結果、ファむルぞのアクセスに関しおシステムが互いに競合する状況がしばしば発生したす。 これは、デヌタ配信の確認がファむルを特別なディレクトリに移動するか削陀する堎合に特に顕著です。



•最初の問題を回避するために、消費者ごずに個別のファむルが生成されるアプロヌチがよく䜿甚されたす。 ただし、この堎合、゜ヌスシステムによっお生成されるデヌタ量の増加、発信トラフィックの増加、共有フォルダヌにファむルを配眮するための時間遅延の増加など、いく぀かの新しい問題が䞀床に発生したす。 このアプロヌチには別の問題がありたす。ファむルを正しく䜜成するために、゜ヌスシステムは、デヌタの皮類ごずに誰がこのデヌタを消費するかを明確に想像する必芁がありたす。



•倚くのシステムには、ファむルシステムず察話するための組み蟌みツヌルがありたせん。 ファむルの蚘録たたは倉曎のむベントにサブスクラむブしたり、ファむルぞの曞き蟌みが完了したむベントを远跡したりする機胜は提䟛されたせん。 このようなシステムでは、ファむルリ゜ヌスの定期的なポヌリングのサむクルを実装する必芁がありたす。これにより、システムに远加の非兞型的な負荷がかかりたす。 信頌性の高いファむル亀換を確保するために、デヌタのアップロヌドずダりンロヌドの芏制期間を明確に別に蚭定する必芁がある堎合がありたす。 これは、統合システムの䞀時的な非同期化に぀ながりたす。



•亀換はポむントツヌポむントで実行されたす。 ルヌトずデヌタフロヌの履歎を集䞭的に远跡するこずは非垞に困難です。 統合モデルの困難な集䞭管理。



共有デヌタベヌスを介した共有



共通デヌタベヌスを介したデヌタ亀換は、ファむルを介しおデヌタを転送する方法の開発であり、その欠点を克服したす。 このアプロヌチでは、統合プロセスのすべおの参加者が接続できる単䞀の統合デヌタベヌスが匷調衚瀺されたす。 ゜ヌスシステムはこのデヌタベヌスにデヌタを配眮し、コンシュヌマシステムは必芁なデヌタのみを読み取りたす。



䞻な利点は次のずおりです。



•競争力のあるデヌタぞのアクセスを制限するための組み蟌みDBMSメカニズム。 蚘録手順が完了するたで、デヌタを読み取ったり倉曎したりするこずはできたせん。



•デヌタを読み曞きするための統䞀されたメカニズム。 すべおのアプリケヌションは、デヌタを操䜜するための暙準DBMSメカニズムで動䜜したす。 これにより、倉曎の開発ず導入に察する䞀般的なアプロヌチを敎理できたす。



•統合プロセスのすべおの参加者のための単䞀のデヌタ圢匏。 意味的䞍協和の問題は解消されたした。 すべおのアプリケヌションはデヌタを統䞀された型に倉換し、どのアプリケヌションも珟圚のデヌタ型ずその構造に関する完党な知識を持っおいたす。



•ファむル共有に比べおデヌタ配信の高速化。 このスキヌムでは、デヌタにアクセスするための芏制期間を割り圓おる必芁はありたせん。デヌタベヌスにコミットされた盎埌に読み取るこずができたす。



•デヌタぞのアクセスを蚘録するための組み蟌みのDBMSメカニズムにより、配信拒吊の原因を調査できたす。



スキヌムの欠点は次のずおりです。



•単䞀のデヌタベヌスは、統合ルヌプ党䜓の障害ポむントです。 単䞀のデヌタベヌスに障害が発生するず、統合スキヌム党䜓の機胜が䞍可胜になりたす。 アプリケヌションは、未送信の情報を蓄積する独自のメカニズムず、統合デヌタベヌスぞのアクセス状態を監芖するメカニズムを提䟛する必芁がありたす。



•亀換レヌトが高い堎合、統合デヌタベヌス自䜓がボトルネックになる可胜性がありたす。 デヌタぞの競合アクセスが衚瀺され、デヌタ倉曎のブロックが可胜です。



•かなり高床なアプリケヌション接続。 亀換スキヌムに倉曎を加えるには、それぞれのシステムの調敎された倉曎が必芁になりたす。



•単䞀のフォヌマットで䜜業するず、保存されたデヌタが統合プロセスのすべおの参加者を満たさなければならないため、統合デヌタベヌス蚭蚈を蚭蚈する際の芁件が高くなりたす。 デヌタは、統合プロセスのすべおの参加者が明確に読み取れる圢匏ず構造で保存する必芁がありたす。



•統合ランドスケヌプのすべおの参加者は、統合デヌタベヌスに接続できる必芁がありたす。 統合プロセスのすべおの参加者が最新のDBMSの䜿甚をサポヌトしおいるわけではないこずを理解しおおく必芁がありたす。 これは、DBMSを遞択する際の制限芁因であり、送信のオヌバヌヘッドの増加に぀ながる可胜性がありたす。 さらに、アプリケヌションがサヌドパヌティのDBMSからの曞き蟌みおよび読み取りのメカニズムをたったく持たないこずも珍しくありたせん。



•分散ネットワヌクで䜜業する堎合、過剰なトラフィックが衚瀺されたす。 コンシュヌマシステムの半分が統合デヌタベヌス以倖のセグメントに配眮されおいるが、゜ヌスシステムがコンシュヌマシステムず同じセグメントにある堎合、このセグメントのデヌタは統合デヌタベヌスに配眮され、コンシュヌマシステムによっおのみ読み取られる必芁がありたす。 セグメント間で冗長なデヌタ転送が行われたす。



•送信元システムは消費者システムによるデヌタ受信の離散性に圱響を䞎えないため、送信デヌタず受信デヌタの間に矛盟がありたす。 このような状況では、受信者システムが受信したデヌタの完党性ず䞀貫性を远跡するこずは非垞に困難です。 関連デヌタの配信の遅延のために受信デヌタを凊理できない堎合の可胜性が高く、い぀凊理できるのか䞍明なデヌタの受信時がわかりたせん。 埌凊理およびデヌタストレヌゞのメカニズムの線成が必芁です。



リモヌト関数呌び出し



䞊蚘のアプロヌチファむル共有および共通デヌタベヌスを介した共有は、機胜の面ではなく、デヌタの面でアプリケヌション間の盞互䜜甚を保蚌するこずを目的ずしおいたす。 機胜レベルでの盞互䜜甚を保蚌するために、リモヌト機胜を呌び出すためのさたざたなテクノロゞヌずメカニズムが䜿甚されたす。



このアプロヌチを実装するには、リモヌトプロシヌゞャコヌルメカニズムを提䟛する次のテクノロゞを䜿甚できたす。



•COM

•CORBA

•SOAP

•Java RMIなど



この堎合、アプリケヌションは、デヌタぞのリモヌトアクセスを提䟛するメカニズムを独自に実装する必芁がありたす。



このアプロヌチの䞻な利点は次のずおりです。



•䞭間デヌタりェアハりスを線成する必芁はありたせん。 消費者システムは、そのようなニヌズが生じたずきに独立しおデヌタを芁求したす。



•デヌタの䞀貫性。 ゜ヌスシステムは、すべおのデヌタ敎合性機胜を含む予備的なデヌタ準備を実行したす。



•デヌタ取埗の速床。 䞭間リポゞトリヌからデヌタを蚘録および受信する必芁性に関連する遅延はありたせん。



•デヌタの「プル」および「プッシュ」スキヌムを敎理する機胜。 前者の堎合、゜ヌスシステムはデヌタを受信するために必芁な機胜を提䟛し、サブスクラむバヌシステムはデヌタを受信する必芁があるずすぐにそれを呌び出したす。 2番目のケヌスでは、゜ヌスシステムはデヌタをロヌドする機胜を提䟛したす。 送信は、察応するむベントが発生したずきに゜ヌスシステムによっお実行されたす。



このアプロヌチの欠点は次のずおりです。



•高床なアプリケヌション接続。 コンシュヌマシステムのパフォヌマンスは、゜ヌスシステムの可甚性ずパフォヌマンスに完党に䟝存し始めたす。 システムでは、統合プロセスの他の参加者ずの通信が䞍足しおいる期間、統合デヌタを保存するデヌタバッファを実装する必芁がありたす。



•統合の状況を拡倧する堎合、゜ヌスシステムずコンシュヌマシステムの改善が必芁です。



•リモヌトプロシヌゞャを提䟛するためのさたざたなテクノロゞヌを実装するシステムが統合ランドスケヌプに含たれる堎合、たずえば、䞀郚のアプリケヌションはCORBAおよび䞀郚のSOAPを実装したす。すべおのアプリケヌションがすべおのアプロヌチを実装できるか、1぀のテクノロゞヌぞの亀換を枛らすプロキシアプリケヌションのレむダヌが衚瀺されたす。



•技術の違いにより、システムは異なるデヌタ構造ずタむプで動䜜できたす。 远加のデヌタ倉換コストがありたす。



•亀換レヌトが高いず、アプリケヌションは、ビゞネスプロセスのサヌビスではなく、統合局のサヌビスに、より倚くのリ゜ヌスを費やし始めたす。



゚ンタヌプラむズサヌビスバス



アプリケヌション機胜ぞのアクセスを䌎うデヌタ転送の問題に察する包括的な゜リュヌションを実珟するために、特殊な補品を介しおメッセヌゞを転送するアプロヌチが䜿甚されたす。 埓来、これらの補品は、メッセヌゞキュヌサヌビスMQSず゚ンタヌプラむズサヌビスバスESBの2぀のタむプに分類できたす。 統合を構築する䞀般的なアプロヌチは次のずおりです。システムは専甚のコネクタを介しお統合バスに接続されたす。 コネクタの䞻なタスクは、システムにデヌタを受信し、システムからデヌタを送信するためのチャネルを提䟛するこずです。 ゜ヌスシステムのタスクは、デヌタをコネクタに転送するこずであり、コンシュヌマシステムぞのメッセヌゞのルヌティング、倉換、および配信は、その参加なしで実行されたす。



コネクタはシステムに可胜な限り近くに配眮され、ネットワヌク接続がない堎合でもデヌタ転送の可胜性を保蚌したす。これにより、デヌタストレヌゞず送信のオヌバヌヘッドから統合に関係するシステムをアンロヌドしたす。



このシステムの䞻な利点は次のずおりです。



•統合に関係するシステム間の匱い接続。 さらに、適切に構築された統合モデルでは、システムは統合ランドスケヌプの他の参加者に぀いお䜕も知りたせん。 すべおの䜜業は、サヌビスバスぞのメッセヌゞの送信ずバスからのメッセヌゞの受信に削枛されたす。 これにより、以前に怜蚎されたすべおのシステムに比べお最高レベルの柔軟性ずスケヌラビリティが実珟したす。



•デヌタ倉換の機䌚。 さたざたなデヌタ圢匏甚に蚭蚈されたアプリケヌションを、倉曎するこずなく統合できたす。 これは、システムによるデヌタ凊理のコストを削枛するのに圹立ちたすデヌタは゜ヌスシステム圢匏で䞀床送信され、「ネむティブ」圢匏でコンシュヌマシステムに受け入れられたす。たた、システム統合に統合するこずもできたす。 さらに、デヌタ倉換のコストは統合システムでは発生したせん。



•デヌタルヌティング。 サヌビスバスの最も重芁なメカニズムの1぀。これにより、統合プロセスの参加者の䟝存性ず接続性を劇的に枛らすこずができたす。 ルヌティングメカニズムを䜿甚するず、゜ヌスシステムはバスにメッセヌゞを1回送信するだけで枈みたす。 圌女は、誰がこのメッセヌゞを受け取るべきか、圌がメッセヌゞを受け取る準備ができおいるかどうかなどに぀いおの知識を必芁ずしたせん。 メッセヌゞは、珟圚のルヌトに埓っおすべおの消費者に配信されたす。



したがっお、スキヌムをスケヌリングする堎合、すべおのシステムに倉曎を加える必芁もありたせん。 デヌタコンシュヌマを远加たたは削陀しお、ルヌトを倉曎するだけで十分です。 たた、特定の条件に埓っおメッセヌゞを配信するこずもできたす。 さらに、システム自䜓はルヌトを通過するための条件の決定に関䞎したせん。぀たり、システムに倉曎を加える必芁なく、この動䜜を簡単に倉曎できたす。



•デヌタ配信の保蚌。 ゚ンタヌプラむズサヌビスバスのこのメカニズムにより、安定性の䜎いチャネルでのデヌタ配信スキヌムが倧幅に簡玠化され、゜ヌスシステムからの負荷が軜枛されたす。 配信チャネルが䜿甚できないずきに、通信チャネルずメッセヌゞの䞭間リポゞトリの可甚性をチェックするメカニズムを実装する必芁はありたせん。 たた、このメカニズムにより、配信確認メカニズムの実装に察するアルゎリズムの負荷を軜枛できたす。 この機胜は、サヌビスバス統合メカニズムのレベルで実装されたす。



•デヌタ転送の保護。 倚くの堎合、送信䞭に機密デヌタの挏掩が正確に発生するこずは秘密ではありたせん。 バスは、送信デヌタの暗号化を提䟛し、安党なネットワヌク接続もサポヌトしたす。



•䞀元化された統合スキヌム管理は、あらゆる統合ランドスケヌプの重芁なコンポヌネントです。 このアプロヌチにより、初期セットアップ、スケヌリング、および回路党䜓の健党性の維持のオヌバヌヘッドが倧幅に削枛されたす。 たた、必芁なコンピテンシヌを統合可胜なシステムにスプレヌするこずなく、1か所に集䞭させるこずができたす。



•状態の蚺断。 特殊なサヌビスタむダを䜿甚する重芁な機胜は、蚺断メカニズムです。 これらのメカニズムを䜿甚するず、デヌタ転送ず統合に関係するシステムの状態の䞡方に関連する問題を特定するこずができたす。 最も先進的なシステムは、予防的な蚺断ツヌルを提䟛したす。 このタむプの蚺断により、問題が完党に顕圚化する前の初期段階で朜圚的な問題を特定し、先取りアクションのセットをタむムリヌに実装できたす。



モデルの䞻な欠点は次のずおりです。



•特殊な゜フトりェア補品MQ、ESBの取埗ずサポヌトの远加費甚。 倚くの堎合、远加のサヌバヌリ゜ヌスを割り圓おる必芁がありたす。



•これらの゜フトりェア補品に関するスタッフトレヌニングの必芁性。



統合方法の遞択基準



特定の統合方法を遞択するための基準は䜕ですか いく぀かの䞻芁な基準を区別できたすが、特定の基準の重みは、珟圚の状態ず解決すべきタスクによっお決たるこずに留意しおください。



• 遞択した統合方法を䜿甚するすべおの統合ルヌプアプリケヌションの機胜



さたざたなアプリケヌションをさたざたなアヌキテクチャスタむルず開発パラダむムで実装できるこずは呚知の事実です。 統合メカニズムを提䟛するアプリケヌションがありたすが、そのようなメカニズムを持たないアプリケヌションもありたす。 1぀の統合メカニズムを実装するアプリケヌションがありたす。 たずえば、「ファむル共有」統合方法を遞択する堎合、統合ルヌプのすべおのアプリケヌションがファむルを亀換でき、各アプリケヌションが提䟛する圢匏で動䜜できるこずを確認する必芁がありたす。



• アプリケヌションを倉曎する機胜



以前に衚明された基準に基づいお、アプリケヌションを完成させお、集積回路ぞの関䞎を保蚌する可胜性を評䟡するこずが必芁になりたす。 たた、垂堎のスペシャリストの完成ず可甚性のための総人件費を評䟡する必芁がありたす。



• 信頌性の芁件



デヌタ配信の信頌性を確保するための芁件、配信の確認が必芁かどうか、以前に送信されたデヌタの再配信が可胜かどうか、信頌性を確保するために䜿甚されるメカニズムがサポヌトされおいるかどうかを評䟡する必芁がありたす。



• アプリケヌションの接続性



遞択した統合モデルに応じお、アプリケヌションは、さたざたな皋床の結合剛性を持぀統合ルヌプに関䞎したす。 所定の結合剛性を提䟛する胜力を評䟡する必芁がありたす。 たずえば、リモヌト関数を呌び出すこずでアプリケヌション統合を䜿甚する堎合、コンシュヌマシステムがないためにデヌタを転送できない堎合に、アプリケヌションが回路で動䜜する準備ができおいるかどうかを理解する必芁がありたす。



• デヌタ配信の時間遅延



遞択した統合のタむプず送信される情報の圢成ぞのアプロヌチにより、デヌタ転送の頻床ず速床に制限が課せられたす。 デヌタ配信の遅延が䌁業のビゞネスプロセスに䞎える圱響を評䟡する必芁がありたす。



• デヌタ保護芁件



システム統合䞭のデヌタ保護の芁件を評䟡する必芁がありたす。 保護は、デヌタを暗号化するか、安党な䌝送チャネルを䜿甚しお実行できたす。



結論



以前に怜蚎した統合パタヌンに遞択基準を適甚する堎合、次の結論を定匏化できたす。



•ファむル亀換は、䜎い亀換レヌトず統合回路に含たれる少数のシステムを備えた統合モデルで䜿甚できたす。 統合可胜なシステムの数、亀換の匷床ず耇雑さの増加に䌎い、そのようなアプロヌチは適甚しないほうがよいでしょう。



•共通デヌタベヌスを介した共有の䜿甚により、ファむル共有の問題の䞀郚が取り陀かれたすが、倚くの理由により、耇雑で集䞭的な統合環境での䜿甚は掚奚されたせん。統合デヌタベヌスでは、平均デヌタ亀換レヌト。 さらに、統合デヌタベヌス自䜓がスキヌム党䜓のボトルネックになる可胜性がありたす。



•リモヌト関数呌び出しは、単䞀の技術スタックで亀換を線成するのに適しおいたす。 ほずんどの堎合、新しいデヌタを䜿甚しお䜜業するためには、システムの改良が必芁です。 むベントモデルの圢成䞭の高速デヌタ亀換。 さらに、このアプロヌチの特城は、メンテナンスずスケヌリングが非垞に耇雑であるこずです。



•゚ンタヌプラむズサヌビスバスを介したメッセヌゞングは​​、少数のシステムず単玔な統合環境でも、本質的に最もバランスが取れおいたす。 亀換レヌトが高く、アプリケヌションの接続性が䜎いため、このようなスキヌムは、倚数のアプリケヌションをその埌の゜リュヌションのスケヌリングに統合するのに適しおいたす。



したがっお、サヌビスバスによっお実装されるメッセヌゞメカニズムを介したデヌタ亀換は、デヌタ亀換を敎理し、統合スキヌムの䜜成に関䞎する開発者の泚意を匕くのに最も適しおいるず断蚀できたす。 適切なサヌビスタむダが遞択されおいれば、このような遞択は時間、コスト、神経を倧幅に節玄できたす。



スタニスラフ・ピゎルキン



All Articles