商品スタッフII![]() |
|
鹿児島市内に三店舗を展開する食料品販売店様より御依頼を受けました。 本部用商品管理システムを2004年1月より、三つの店舗用POSレジスターシステムを2004年4月より稼動しています。 本部・店舗間はインターネットを介したオンラインで接続され、本部で作成された商品データ、店舗での売上データ等が双方向に自動的に転送されるほか、本部倉庫の在庫数を店舗側で一覧するなどの機能があります。 |
![]() |
※耐障害性を高めるためRAID5を導入した本部サーバマシンと各店舗のパソコンPOS機材以外は特別なものは使用していません。一般の家電製品販売店で取り扱い可能なものです。
![]() |
本部・店舗間の接続は専用線ではなく、安価な民生用の通常のインターネット接続を使用しています。 接続はzebedee暗号化トンネルを介しており、侵入や盗聴等の危険を回避します。
回線トラブルによって仮に数日間の切断があったとしても、本部・店舗の双方が正常な運用ができるよう、 |
店舗側機器としては、ノートパソコン(東芝Dynabook)にバーコードスキャナ、レシートプリンタ等を接続し、いわゆる「パソコンPOSレジ」を構成します。
実際の三店舗の機器設置の様子です。
![]() |
![]() |
![]() |
機器の構成を以下に示します。
![]() |
キャッシュドロア以外の機材はすべてUSBにてパソコンと接続します。 ※上記機材はテクノベインズ株式会社より購入しました。 |
本システムでは以下の技術を使用しています。
Javaプログラミング言語
プログラムはすべてJava言語によるものです。
eclipse-SWT
比較的低速なパソコンでも動作するように、アプリケーションにはSwingではなくeclipse-SWTウィジェットを使用しています。
Java Web Start
アプリケーションの更新を自動化するためJava Web Startを利用しています。
Firebird
フリーで高機能・安定性の高いFirebirdリレーショナルデータベースシステムです。
事務所システム・店舗システムのそれぞれで使用しています。
Jetty、Struts、freemarker、Jakarta POI
jCharts
Webアプリケーションは定番のStrutsを利用していますが、テンプレートシステムとしてはJSPではなくFreemarkerを利用しています。
また、Jakarta-POIによりExcelファイルを、JChartsによってグラフをそれぞれ自動生成します。
![]() |
本部には、Linux(Redhat9)によるサーバーマシンがあり、ここにデータベースサーバとウェブサーバが搭載されています。ウェブサーバは外部には公開せず社内連絡用のコンテンツを保持しています。 |
以下は、ウェブサイトのアプリケーション起動画面と、アプリケーション起動後に商品分類画面を開いたところです。

本部サーバには、社内連絡用ウェブとは別にJettyによるウェブサイトを構築し、このサーブレットから本部データベースを参照することにより、リアルタイムで各種集計値を閲覧することができます。
このウェブサイトは各店からもzebedeeを介して閲覧することができます。

これらの表はhtmlのテーブルタグによる表形式としても表示されますが、ウェブ上からexcel形式のファイルとして出力することも可能です。これにより、自由な加工を行って利用することができます。
また、月間売上をjChartsにより自動的にグラフ化して表示します。
![]() |
左図はexcelデータを出力し、それをOpenOffice.orgにて閲覧しているところです。 |
|
店舗システムの中核となるのはレジスター画面です。
レジスターの使い方としては、通常のレジスターと全く同様に、バーコードのある商品はそれをスキャンします。無い場合はPOSキーボードにて部門と価格を入力します。
また、このレジスター画面はごく普通の「アプリケーション」であるため、 |
|

以下は販売データ履歴を閲覧しているところです。左右カーソルキーで日付を、上下カーソルキーで特定の販売データを指定します。

このほか、店舗システムには以下のような機能があります。
レシート印字文字列の設定機能
各店の名前と電話番号等を設定します。また、その月の各店独自のセールのお知らせ等をレシートに印刷するよう設定することができます。
独自バーコード設定機能
本部を介さず各店独自に仕入れを行う商品についてのバーコード登録を行います。
![]() |
本システムでは弊社独自のレプリケーション機構を開発し、本部システム・店舗システム間の双方向のデータ転送を実現しています。本部システム側で登録した商品情報などを店舗システム側に自動転送し、店舗システム側で発生した売上情報などを本部システム側に自動転送します。
実際には、この操作は常に店舗システム側から行われます。 |