JavaPOS (short for Java for Point of Sale Devices), is a standard for interfacing
point of sale
The point of sale (POS) or point of purchase (POP) is the time and place at which a retail transaction is completed. At the point of sale, the merchant calculates the amount owed by the customer, indicates that amount, may prepare an invoice f ...
(POS) software, written in
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
, with the specialized hardware peripherals typically used to create a point-of-sale system. The advantages are reduced POS terminal costs, platform independence, and reduced administrative costs. JavaPOS was based on a Windows POS device driver standard known as
OPOS OPOS, full name OLE for Retail POS, a platform specific implementation of UnifiedPOS, is a point of sale device standard for Microsoft Windows operating systems that was initiated by Microsoft, NCR, Epson, and Fujitsu-ICL and is managed by the A ...
.
JavaPOS and OPOS have since been folded into a common
UnifiedPOS UnifiedPOS or UPOS is a world wide vendor- and retailer-driven Open Standard's initiative under the National Retail Federation, Association of Retail Technology Standards (NRF-ARTS) to provide vendor-neutral software application interfaces (APIs) fo ...
standard.
Types of hardware
JavaPOS can be used to access various types of POS hardware. A few of the hardware types that can be controlled using JavaPOS are
* POS printers (for receipts, check printing, and document
franking
Franking comprises all devices, markings, or combinations thereof ("franks") applied to mails of any class which qualifies them to be postally serviced. Types of franks include uncanceled and precanceled postage stamps (both adhesive and printed o ...
)
*
Magnetic stripe readers (MSRs)
*
Magnetic ink character recognition readers (MICRs)
*
Barcode scanners/readers
*
Cash drawer
A cash register, sometimes called a till or automated money handling system, is a mechanical or electronic device for registering and calculating transactions at a point of sale. It is usually attached to a drawer for storing cash and other v ...
s
*
Coin dispensers
*
Pole displays
*
PINpad
A PIN pad or PIN entry device (PED) is an electronic device used in a debit, credit or smart card-based transaction to accept and encrypt the cardholder's personal identification number (PIN).
PIN pads are normally used with payment terminals, a ...
s
* Electronic scales
Parts
In addition to referring to the standard, the term JavaPOS is used to refer to the
application programming interface
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how t ...
(API).
The JavaPOS standard includes definitions for "Control Objects" and "Service Objects". The POS software communicates with the Control Objects. The Control Objects load and communicate with appropriate Service Objects. The Service Objects are sometimes referred to as the "JavaPOS drivers."
Control objects
The POS software interacts with the control object to control the hardware device. A common JavaPOS library is published by the standards organization with an implementation of the Control Objects of the JavaPOS standard.
Service objects
Each hardware vendor is responsible for providing Service Objects, or "JavaPOS drivers" for the hardware they sell. Depending on the vendor, drivers may be available that can communicate over
USB
Universal Serial Bus (USB) is an industry standard that establishes specifications for cables, connectors and protocols for connection, communication and power supply (interfacing) between computers, peripherals and other computers. A broad v ...
,
RS-232
In telecommunications, RS-232 or Recommended Standard 232 is a standard originally introduced in 1960 for serial communication transmission of data. It formally defines signals connecting between a ''DTE'' (''data terminal equipment'') such a ...
,
RS-485
RS-485, also known as TIA-485(-A) or EIA-485, is a standard defining the electrical characteristics of drivers and receivers for use in serial communications systems. Electrical signaling is balanced, and multipoint systems are supported. The st ...
, or even an
Ethernet
Ethernet () is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in 198 ...
connection. The hardware vendors will typically create JavaPOS drivers that will work with Windows. The majority of vendors will also create drivers for at least one flavor of Linux, but not as many. Since there is not nearly as much marketshare to capture for Apple computers used as POS systems, only a few JavaPOS drivers would be expected to work with Mac OS X. (And those would be more likely due to happy circumstance rather than careful design.)
Historical background
The committee that initiated JavaPOS development consisted of
Sun Microsystems
Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the ...
,
IBM, and
NCR.
The first meeting occurred in April, 1997 and the first release, JavaPOS 1.2, occurred on 28 March 1998.
The final release as a separate standard was version 1.6 in July 2001. Beginning with release 1.7, a single standards document was released by a
UnifiedPOS UnifiedPOS or UPOS is a world wide vendor- and retailer-driven Open Standard's initiative under the National Retail Federation, Association of Retail Technology Standards (NRF-ARTS) to provide vendor-neutral software application interfaces (APIs) fo ...
committee. That standards document is then used to create the common JavaPOS libraries for the release.
See also
*
Point of sale
The point of sale (POS) or point of purchase (POP) is the time and place at which a retail transaction is completed. At the point of sale, the merchant calculates the amount owed by the customer, indicates that amount, may prepare an invoice f ...
*
UnifiedPOS UnifiedPOS or UPOS is a world wide vendor- and retailer-driven Open Standard's initiative under the National Retail Federation, Association of Retail Technology Standards (NRF-ARTS) to provide vendor-neutral software application interfaces (APIs) fo ...
*
EFTPOS
Electronic funds transfer at point of sale (EFTPOS; ) is an electronic payment system involving electronic funds transfers based on the use of payment cards, such as debit or credit cards, at payment terminals located at points of sale. EFTPOS t ...
*
Point of sale display
A point-of-sale display (POS display) is a specialised form of sales promotion that is found near, on, or next to a checkout counter (the " point of sale"). They are intended to draw the customers' attention to products, which may be new product ...
*
Point of Sale Malware
References
External links
JavaPOS{{Use dmy dates, date=November 2019
Retail point of sale systems
Computer standards