Hatena::ブログ(Diary)

EC-CUBEのカスタマイズならクロスキューブ!サイト制作メモ このページをアンテナに追加 RSSフィード Twitter

2010-04-19

EC-CUBEとローカルの基幹システムを安全な通信で連携させる。

f:id:xross-cube:20100417042530p:image

最近EC-CUBEWEBサーバ)と社内の基幹システムとの連携カスタマイズお仕事が増えています。

もう何年も前から思っているのですが、システムの肝は他のシステムとどれだけシームレス連携出来るかだと思っています。*1

全部繋がった時のパフォーマンスは素晴らしい物があり、もはやそのシステムを手放せなくなります。

EC-CUBEには各種CSV出力機能など、他のシステム連携させるための機能がいくつもあります。

あまり知られていませんが、売上情報の集計やメール配信等をバッチで処理するインターフェイスも準備されています。


ただ、自動で社内の販売管理システムなどの基幹システム連携させるには、もう少し工夫が必要です。


単純な定期バッチで、社内のサーバからFTPファイルを取りに行くだけなら簡単ですが、FTPネットワーク上をデータ暗号化されない状態で流れるため、セキュリティ上あまりよろしくありません。

また、社内のローカルシステムデータセンターにあるEC-CUBEサーバとを定期バッチ連携させる為には、タイミング等難しい問題もあります。

f:id:xross-cube:20100417042531p:image

EC-CUBEWEBサーバ)を連携処理の起点として社内のサーバアクセスさせるのも、社内ネットワークに穴を開ける事になるので、出来れば社内のサーバからWEBデータを取りに行きたい所です。

社内のサーバからWEBサーバアクセスして、データの集計、出力処理を実行し、データを社内のサーバダウンロード、基幹システムに取り込む、といった感じです。


では、安全に確実これらの処理を自動で実行する為にはどうしたら良いでしょうか?

まず、WEBサーバデータ出力スクリプトは社内のサーバから実行します。*2

WEBサーバには安全に接続データの送受信を行うため、SSH(SFTP)*3というプロトコルを使います。


sshWEBサーバアクセスするのは簡単です。他のサイトで詳細に説明されているので、そちらをご参照ください。

sshアクセスする際に重要なのが、「認証を使う」という事です。

これによりセキュリティも向上しますし、バッチスクリプトからもパスワード入力無しで接続出来る様になります。*4

f:id:xross-cube:20100417042532p:image

WEBサーバ接続して、データ出力スクリプトを実行し、ダウンロードするバッチスクリプトシェルスクリプトで書きます。*5

*6

#!/bin/sh

#まずWEBサーバ接続してWEBサーバデータ出力スクリプトを実行します。
#WEBサーバ側で実行するスクリプト(get_order_data.php)はフルパスで指定しておきます。
ssh -q -o BatchMode=yes hoge@example.com /home/batch/get_order_data.php

#次にWEBサーバ上で作成したデータをSFTPでダウンロードします。
#SFTPのコマンドは別のファイル(get_ecdata.command)にまとめて書いておきます。
sftp -b get_ecdata.command

あとはこれをローカルサーバでcronとかで定期的に自動実行してやれば、安全に確実にWEBサーバデータのやり取りが出来るようになります。



EC-CUBEと基幹システム連携をお考えの方は、是非クロスキューブまでご相談ください。

*1:とあるベンチャー企業で、PCモバイル対応のWEBインターフェイスの業務システム(販売管理、人員管理、勤怠管理CRMコールセンター)を全部自分で作ってました。

*2VPN張る事が多いですが、データセンターサーバVPN張れるユーザばかりではないと思うので...

*3サーバ管理等に使われる暗号化された安全な通信の仕様ですhttp://ja.wikipedia.org/wiki/Secure_Shell

*4http://ja.wikipedia.org/wiki/%E5%85%AC%E9%96%8B%E9%8D%B5%E6%9A%97%E5%8F%B7

*5サーバOSはそれぞれLinuxとします。

*6:あくまで例です。このスクリプトコピペして使うとかしないでください。

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/xross-cube/20100419/p1