IBM iとNode.jsとWebSocketで、リアルタイムにプッシュ配信
電動DRIVE STATIONに
ナンバープレート認識システム
今年2月、熊本市に「電動DRIVE STATION」がオープンする(図表1)。
三菱自動車が全国に展開するこの店舗は、電動車両の社会的意義を訴求し、エネルギーソースの多様性と外部給電機能がもたらす災害時の価値を具現化するなど、今後に向けた情報発信基地の役割を担っていく。太陽光発電システムを利用した電動車両への充電や、電動車両から店舗への電力供給などが可能で、エネルギーや環境をテーマとしたワークショップや防災イベントの開催、多彩な防災情報の発信など、地域社会への貢献を目指す。
図表1 熊本にオープンする電動DRIVE STATION
KMGホールディングスでは、傘下の熊本三菱自動車販売(株)が全国で27店目となる電動DRIVE STATIONをオープンさせるのに続き、福岡市など九州各地での展開を計画している。
グループのシステム開発・運用を担当している九州三菱自動車販売の電算室では、電動DRIVE STATIONの建設が進むなか、2017年初頭からナンバープレート認識システム(以下、ナンバー認識システム)の導入を検討してきた。
顧客がショールームを訪れる場合、何らかの用件があって事前に予約を取るのはよくあることだ。しかしせっかく足を運んでも、スタッフがほかの接客に忙しく、顧客が声をかけるまで来訪に気づかなかったり、担当者につなぐため名前や用件を何度も尋ねたりするのは、顧客サービスの観点から見て好ましいとは言えない。
それを補完するのが、ナンバー認識システムである。店舗入口に設置したIPカメラでナンバープレートを読み取り、顧客情報を画面に事前通知し、速やかな接客応対を目指す仕組みである。
電算室では、電動DRIVE STATIONの東京エリア店舗ですでに使用しているナンバー認識システムの認識率が90%以上と高精度であることを知り、実際に現場を訪れるなどして性能を確認。熊本にオープンする電動DRIVE STATIONに、ナンバー認識システムの導入を本格検討することにした。
しかしこのとき、読み取ったナンバープレートデータから、基幹システムのIBM i上にある顧客情報を検索・抽出・表示するシステムをどう構築するかが課題になった。
同グループでは以前、別の店舗で試験的に他のナンバー認識システムを導入していたが、そこでの経験から、電算室システム開発課の稲葉剛課長は、「既存のパッケージをそのまま使うのでは、十分な運用性が得られないのではないか」と不安を感じていた。
たとえばパッケージ製品では、基幹システムの顧客情報を直接参照できず、毎日Windowsサーバー上にダウンロードする必要があったため、リアルタイム性やメンテナンス性に支障が生じていた。また来店や顧客情報をスタッフに伝える「お知らせ画面」は、専用プログラムをインストールした端末1台だけにしか表示されないので、常に画面を見ていないと来店に気づきにくいという問題があった。
「これらの課題を踏まえ、次期ナンバー認識システムは、IBM i上の顧客情報を直接参照する、そしてお知らせ画面は店舗内の全端末に即座に同じ情報としてプッシュ配信する。さらに画面の前に人がいなくても気づけるように、自動音声で各スタッフのインカムに同時通知できるようなシステムとして運用したいと考えました」(稲葉氏)
IBM iとNode.jsとWebSocket
組み合わせによる独自システム
ほかの電動DRIVE STATIONで設置されているナンバー認識システムでは、自社の基幹システムであるIBM iと連携させる場合、システム製造元の開発会社へ依頼するしか方法がなく、複数画面への同時プッシュや音声インカムへの通知もサポートしていなかった。
そこで稲葉氏は、上記のナンバー認識システムのIPカメラと制御コントローラの利用を前提にしつつ、データ連携部分のみを改修することで実現する手法を検討し始めた。RPG、JavaScript、PHPなどのスキルを備え、今まで基幹プログラムやWebアプリケーションなどさまざまな開発を手掛けてきた稲葉氏はいろいろと調べるうちに、基幹システムとのデータ連携も、お知らせ画面の表示や音声インカムへの出力も、どれも自分の手で開発できそうな手ごたえを感じたという。
最初に考えたのは、ナンバープレートの読み取りデータを受信し、それに紐づく顧客情報を複数の端末にプッシュ配信する仕組みをどう実現するかであった。稲葉氏が着想を得たのは、チャットアプリである。チャットアプリでは、同時に複数のユーザーへ同じ画面をプッシュ配信している。
「WebSocketによりクライアント側と常時コネクションを確立し、双方向通信を実現するチャットの仕組みを使って、お知らせ画面を全端末にプッシュできないかと調べるうちに、WebSocket とNode.jsでチャットアプリを比較的簡単に実装できることがわかりました。その少し前に、IBM iのPASE環境でNode.jsを利用できるという記事を読んでいたので、当社が考えているナンバー認識システムをIBM iとNode.jsで開発できないかと発想したのです」と言う稲葉氏は、さっそくNode.jsを独学で学び始めた。
IPカメラの制御コントローラは、読み取ったナンバープレートデータをテキストに変換し、任意のフォルダに送る機能を備えている。そこでIBM iのIFSフォルダをネットワークドライブに指定し、テキストデータを送信するよう設定する。ただしIBM iの基幹システムにある顧客データをその車両番号で検索するには、テキストデータがIFSフォルダに到着したかどうかを常時監視する仕組みが必要になる。
「サイトでいろいろと調べ、まずはPCにNode.jsをインストールしてNode.jsを学びました。JavaScriptとほぼ同じ文法なので、あまり苦労せずに習得できたと思います。コピペしながらでチャットアプリを作成しているうちに、ルームログイン機能やプッシュ表示、複数画面間のチャット機能を確認し、さらにNode.jsの拡張オプションであるnpmを使えば、フォルダの常時監視が可能であるとわかりました。考えていた機能はすべてNode.jsで実現できる、と自信をもちました」(稲葉氏)
デジタルインカムへ
顧客の来店と情報を音声通知
通常業務の傍ら、学習し、確認作業を進め、IBM i上でのNode.js採用を決めたのが2017年8月である。そこから本格的にPCでNode.jsでのプログラム作成を開始した。
システムの全体概要は、図表2のとおりである。
【図表2】システムの全体概要
顧客が店舗入口に車を入れると、2台のIPカメラが、「福岡123あ1234」といったナンバープレ—トの情報を読み取り、Widnowsサーバー上の制御コントローラに送信する。ここでテキストデータに変換し、さらにIBM i上のIFSフォルダに送信する。
常時監視しているIFSフォルダにテキストデータが到着すると、Node.jsのiToolkitにより、登録番号をパラメータにしてRPGがコールされる。登録番号に紐づいた顧客情報(車両登録番号、顧客の氏名、用件、予約日、担当者など)をIBM iのデータから検索する。
そして得られた結果をWebSocketでコネクションが確立した各端末へプッシュ表示する。同時に発話用の情報をブラウザからデジタルインカムの音声ユニットへ送信し、各スタッフのインカムに音声を通知する(音声合成APIには、「Speech Synthesis API」を採用)。
たとえば、「業務連絡です。登録番号1234。高橋様ご来店です。車検のご予約があります。担当営業は坂本です。お出迎えをお願いします」といった音声が、全員のインカムに流れる。これによりスタッフは画面を見ていなくても、顧客の来店にすぐ気づき、玄関(あるいは駐車場)まで出迎えられるわけだ。
「ベータ版程度のプログラムをPC版のNode.jsで作成していたのですが、PCで作成したNode.jsのプログラムがIBM iのPASE環境で本当に動くのか、少し不安でした。当初フォルダ監視モジュールの一部が動かず慌てたのですが、なんとか解決しました。大まかな部分は変更なしに動きましたが、IBM iならではの設定もあり、苦労した部分もありました。あとは電動DRIVE STATIONのオープンを待つばかりです」(稲葉氏)
電動DRIVE STATIONが今後、福岡市などに新規オープンしていった場合も、チャットでいうところの「入室ルーム」を分けるだけなので、店舗(=ルーム)を追加すれば、同じ仕組みを各店舗に展開していけるという。
電動車両の情報発信基地は、顧客サービス向上に向けた新たな仕組みが動くショールームとなりそうだ。
・・・・・・・・
COMPANY PROFILE
KMGホールディングス株式会社
本 社:福岡県福岡市
設 立:1951年
資本金:7億5900万円(グループ合計)
売上高:354億円 (2017年3月期、連結)
従業員数:1220名(グループ合計)
事業内容:新車・中古車の販売、自動車の
部品販売、自動車の修理加工、保険代理業
・・・・・・・・
1951年に九州中重自動車(株)として発足。1966年に社名を九州三菱自動車販売に変更。その後、KMGホールディングスを設立した。現在は九州三菱自動車販売をはじめグループ9社を擁し、九州北部・中部に80店舗を展開して、三菱系・スズキ系の自動車を販売している。アフターサービスまでを含めた豊かなカーライフを、地域密着型でサポートする。
九州三菱自動車販売はグループの中核事業会社で、福岡、北九州、久留米、佐賀を中心にビジネスを展開している。