JavaPOS(Java for Point of Sale Devicesの略)は、 Javaで記述されたPOS(販売時点管理)ソフトウェアと、POSシステムの構築に一般的に用いられる専用のハードウェア周辺機器を接続するための標準規格です。JavaPOSの利点は、POS端末のコスト削減、プラットフォーム非依存、そして管理コストの削減です。JavaPOSは、OPOSとして知られるWindows POSデバイスドライバ標準をベースとしていました。[ 1 ] JavaPOSとOPOSはその後、共通のUnifiedPOS標準に統合されました。
JavaPOSは様々な種類のPOSハードウェアにアクセスするために使用できます。JavaPOSで制御できるハードウェアの種類には以下のようなものがあります。
JavaPOS という用語は、標準を指すだけでなく、アプリケーション プログラミング インターフェイス(API) を指す場合にも使用されます。
JavaPOS標準には、「コントロールオブジェクト」と「サービスオブジェクト」の定義が含まれています。POSソフトウェアはコントロールオブジェクトと通信します。コントロールオブジェクトは適切なサービスオブジェクトをロードし、通信します。サービスオブジェクトは「JavaPOSドライバ」と呼ばれることもあります。
POSソフトウェアは制御オブジェクトと対話してハードウェアデバイスを制御します。JavaPOS標準の制御オブジェクトの実装を含む共通JavaPOSライブラリが標準化団体によって公開されています。[ 1 ]
各ハードウェアベンダーは、販売するハードウェア用のサービスオブジェクト、つまり「JavaPOSドライバ」を提供する責任があります。ベンダーによっては、USB、RS-232、RS-485、さらにはイーサネット接続で通信できるドライバを提供している場合があります。ハードウェアベンダーは通常、Windowsで動作するJavaPOSドライバを作成します。ほとんどのベンダーは少なくとも1種類のLinux用ドライバも作成しますが、数はそれほど多くありません。POSシステムとして利用されるAppleコンピュータの市場シェアはそれほど大きくないため、Mac OS Xで動作するJavaPOSドライバはごくわずかです(そして、それらは綿密な設計によるものではなく、むしろ好都合な状況によるものでしょう)。
JavaPOS開発を開始した委員会は、サン・マイクロシステムズ、IBM、NCRで構成されていました。[ 2 ]最初の会議は1997年4月に開催され、最初のリリースであるJavaPOS 1.2は1998年3月28日にリリースされました。[ 2 ] [ 3 ]独立した標準規格としての最終リリースは、2001年7月のバージョン1.6でした。リリース1.7以降は、UnifiedPOS委員会によって単一の標準文書がリリースされました。この標準文書は、リリース用の共通JavaPOSライブラリを作成するために使用されます。[ 3 ]