# CEN/XFS

CEN/XFS or XFS (extensions for financial services) provides a client-server architecture for financial applications on the Microsoft Windows platform, especially peripheral devices such as EFTPOS terminals and ATMs which are unique to the financial industry. It is an international standard promoted by the European Committee for Standardization (known by the acronym CEN, hence CEN/XFS). The standard is based on the WOSA Extensions for Financial Services or WOSA/XFS developed by Microsoft.
With the move to a more standardized software base, financial institutions have been increasingly interested in the ability to pick and choose the application programs that drive their equipment. XFS provides a common API for accessing and manipulating various financial services devices regardless of the manufacturer.

## History

Chronology:
* 1991 - Microsoft forms "Banking Solutions Vendor Council"
* 1995 - WOSA/XFS 1.11 released
* 1997 - WOSA/XFS 2.0 released - additional support for 24 hours-a-day unattended operation
* 1998 - adopted by European Committee for Standardization as an international standard.
* 2000 - XFS 3.0 released by CEN
* 2008 - XFS 3.10 released by CEN
* 2011 - XFS 3.20 released by CEN
* 2015 - XFS 3.30 released by CEN
* 2020 - XFS 3.40 released by CEN
* 2022 - XFS 3.50 released by CEN
WOSA/XFS changed name to simply XFS when the standard was adopted by the international CEN/ISSS standards body. However, it is most commonly called CEN/XFS by the industry participants.

## XFS middleware

While the perceived benefit of XFS is similar to Java's "write once, run anywhere" mantra, often different hardware vendors have different interpretations of the XFS standard. The result of these differences in interpretation means that applications typically use a middleware to even out the differences between various platforms implementation of XFS.
Notable XFS middleware platforms include:
* F1 Solutions - F1 TPS (multi-vendor ATM & POS solution)
* Serquo - Dwide (REST API middleware for XFS)
* Nexus Software LLC - Nexus Evolution
* Nautilus Hyosung - Nextware
* Cyttek Gen3XFS - Multivendor terminal solution for ATM
* Hitachi-Omron Terminal Solutions ATOM
* Diebold Agilis Power
* NCR - NCR XFS
* KAL - KAL Kalignite
* Auriga - The Banking E-volution- WWS Omnichannel Platform
* Phoenix Interactive Archived 2010-07-28 at the Wayback Machine VISTAatm Archived 2010-11-12 at the Wayback Machine Acquired by Diebold
* Wincor Nixdorf ProBase (ProBase C as WOSA/XFS platform - ProBase J as J/XFS platform)
* SBS Software KIXXtension
* Dynasty Technology Group - (JSI) Jam Service Interface
* HST Systems & Technologies - HAL Interface
* FreeXFS- open source XFS platform
* GRG banking eCAT (multi-vendor ATM terminal solution)
* TIS xfs.js implementation(open source for node.js community)
* TEB Orion
* ibXFS (Multi-vendor ATM terminal solution) - Hitachi Digital Payment Solutions

## XFS test tools

XFS test tools allow testing of XFS applications and middleware on simulated hardware. Some tools include sophisticated automatic regression testing capabilities.
Providers of XFS test tools include:
* Cyttek Group - XFS Middleware
* Abbrevia Simplicity
* Paragon VirtualATM Product Page ATM Testing
* FIS ATM TestLab, Open Test Solutions, Product Brochure (was Clear2Pay, formerly Level Four Software and Lexcel TestSystem ATM)
* Serquo XFS ATM Simulator Atmirage
* KAL KAL Kalignite Test Utilities
* Dynasty Technology Group - JSI Simulators
* HST Systems & Technologies (Brazil)
* Takkto Technologies (Mexico)
* LUTZWOLF JDST - Testtool for J/XFS compatibility
* Afferent Software RapidFire ATM XFS

## J/XFS

J/XFS is an alternative API to CEN/XFS (which is Windows specific) and also to Xpeak (which is Operating System independent, based on XML messages). J/XFS is written in Java with the objective to provide a platform agnostic client-server architecture for financial applications, especially peripheral devices used in the financial industry such as EFTPOS terminals and ATMs.
With the move to a more standardized software base, financial institutions have been increasingly interested in the ability to pick and choose the application programs that drive their equipment. J/XFS provides a common Object Oriented API between a pure Java application and a wide range of financial devices, providing a layer of separation between application and device logic that can be implemented using a native J/XFS API or wrapping an existing implementation in JavaPOS or CEN/XFS.
J/XFS was developed by the companies De La Rue, IBM, NCR, Wincor Nixdorf and Sun Microsystems and is now hosted, monitored and maintained by the European Committee for Standardization, CEN.