CData Software Blog

クラウド連携のCData Software の技術ブログです。

リアルタイム参照(ルックアップ)連携とは?

先般公開したランスタッドさんのCData Drivers 導入事例で紹介した「ルックアップ連携」について通常のDB 書き込み型の連携との違いを説明します。例として「外部システムであるSalesforce の顧客データをオンプレ基幹システムに連携してオンプレ基幹側で利用する」というケースで説明します。

ランスタッドさんの事例記事はこちら:

https://www.cdata.com/jp/case-study/randstad/

f:id:cdatasoftware:20190408112155p:plain
ルックアップ連携の実装例

DB 書き込み型データ連携の課題

  • 連携元と連携先DB の粒度が違い、連携ロジックが必要
    Salesforce やその他ツールでリードを獲得している場合には、数万を超えるリードデータをCRM やMA で保有します。中には優良なリードもあればゴミに近いリードもあります。それを基幹システムで使う場合には、いろいろな判断があります(1)どのリードまで基幹システムにデータとして入れるか、(2) CRM と基幹で同じ顧客データでも持ち方が異なったり、項目が違う、(3)CRM と基幹で持っている属性項目の粒度が違う、など。自動化のカバー範囲を上げるためには、より細かいロジックで連携を組む必要があり、連携の負荷は大きくなります。

  • 基幹側でUI 入力とDB 入力の間に業務ロジックがある
    通常の業務システムでは、UI からのインプットがそのまま1フォーム=1DB テーブルに格納されるとは限りません。複数のテーブルに書き込みがされたり、DB に書き込まれる前にデータの計算や加工がおこなわれたり、DB 書き込み以外の処理をトリガーしていたりします。UI からではなくDB に直接データを書き込みに行く場合、このUI とDB の間のロジックをバイパスします。これらの必要なロジックをETL 連携でカバーする場合も多くあります。

  • 複雑に組むと開発工数は上がり、保守性が下がる
    ETL で組んでもAPI コーディングで組んでも、カバー範囲の大きい連携は密結合になりがちです。初回の開発も規模が大きくなりますし、項目変更などがある場合でも複数個所の修正が必要になります。

どこまで自動化するべきか?「後続のプロセスが手作業」の場合は特に

連携した後の業務プロセスを考えましょう。そもそもCRM より基幹側が多く項目を持っている場合は多く、連携範囲以外は手入力をするケースもよくあります。また、CRM から基幹系にデータを入れる場合は、次のステップが見積りや契約書を作るフェーズになるでしょう。カスタマイズや個別条件が多い契約では(多くの契約はそうですが)、基幹側ではオペレータがカスタマイズや条件の入力をして見積もりや契約を進めます。

次の業務ステップにオペレータ作業があるのであれば、「DB への直接連携はせずに、UI での手入力をサポートするルックアップ連携」という方法が検討可能です。

ルックアップ連携とは?

オペレータがシステムのUI から入力をする際に、外部システムから連携したいデータをUI にリアルタイム参照して持ってきて、手入力の手間を省くやり方です。

f:id:cdatasoftware:20190408120431p:plain
DB 書き込み型連携とルックアップ連携

図のように、オペレータが基幹システム上で顧客登録をする際に「SF 参照」ボタンを押して、企業名などでSalesforce 上の顧客データをリアルタイムで参照します。選択したSalesforce 上の顧客データは、基幹システムの顧客登録フォーム上に書き込まれます。オペレータは基幹システムで必要な調整、基幹独自項目の入力などを行うだけです。Salesforce 上のデータの手入力による再入力は不要になります。

ルックアップ連携のメリットを見てましょう:

  • 必要な時に必要なデータだけ連携
    CRM の全データを基幹に持たせる必要はありません。取引のフェーズが進んだ際に基幹側のタイミングでCRM から必要なレコードだけデータ連携を行います。

  • ロジックでの連携とオペレータ判断とハイブリッド
    CRM と基幹の間の項目の差や粒度の差などは、連携ロジックを組むと連携開発が大きくなります。中にはオペレータが手入力や判断すれば大きく開発工数を下げられる場合があります。

  • 中間にDB・ミドルウェアが不要
    API をリアルタイムでコールして、レスポンスを事前にマッピングしたUI に表示させているだけです。基幹と外部システムの間にミドルウェア不要で連携を組むことができます。

  • 基幹側のUI からのロジックをそのまま利用
    DB へのバイパスした登録ではなく、基幹UI からの登録となるため、既存の基幹側のロジックをそのまま使うことができます。

  • 保守性が高い
    自動化範囲を少なくすることで変更時のメンテが圧倒的に楽になります。また登録はオペレータの作業後なので、そこで変更を吸収することもある程度可能です。

CData Driver はルックアップ連携に最適!

Java や.NET などのシステムからの外部システムからのリアルタイム連携にはCData Drivers がお勧めです。ライブラリであること、基幹側で使い慣れている標準SQL でのクエリ(あいまい検索を含む)が可能であること、リアルタイムクエリが可能であることがポイントになります。

リアルタイムルックアップによる外部サービスと基幹との連携をお考えの方は是非、ドライバーでの実装をお試しください。

https://www.cdata.com/jp/jdbc/