Skip to main content

J/XFS – Java eXtensions for Financial Services

Posted by edgars on June 20, 2006 at 4:58 PM PDT

Sometimes I talk with my friends about the technology I'm woking on and evrebody says “JX...What?” .
In fact J/XFS is not so popular API as EJB, JDBC, Servlets or JCA, however it could really help real “enterprise” applications a lot.

What is J/XFS (Java eXtensions for Financial Services)

Java eXtensions for Financial Services, is a specification that defines how you can develop for Devices, such as a Receipt Printer, PinPad, Card Reader device, Check reader and more.

“Utilizing the Java language, J/XFS provides a standard for a banking device subsystem with real platform and hardware independence which enables the access to banking peripherals for new Java banking applications. It also provides a migration path for current financial I/O subsystems and ensures co-existence between current Client/Server and new Java banking applications, so customer investments in banking device infrastructure are protected. J/XFS enables full transparency between the application and the device level while providing a flexible and extensible.”

J/XFS is managed by CEN (European Commitee for Standarzation), though a couple of companies, which defines the standard’s evolution, changes and improvements. The following companies composes the core comitee:

Sun Microsystems
De La Rue

Then, J/XFS is a kind of specification, such as JDBC, EJB, JCA, JMS, but it covers how you can work with pheripherals as standard way. In other words, use the most valuable Java concept “WORA – Write Once Run Anywhere”.

Why J/XFS is so important?

Nowdays, does not matter if you are developing an application for a Bank or a point of sales for some Super Market, you will use devices, such as Printers, PinPads, Check readers and so on, and thinking in that solution you have a lot of Manuals describing commands you should use to interact with devices, for example:

Z1S2+ “Please type your pin code”

Imagine that this command above can request that user type his pincode in some pinpad.

To enable that in Java, you can use Java Communication API (for Windows) or RXTX (for Linux), and read data though ports and creating a communication protocol.

So, you spend a lot of time implementing middleware for a set of devices, just to your new customer select a different brand of devices which has a new command to ask for a password, something like:

@$%Please type your password%$

...and your work began all over again.

Ok, you are a clever Architect, and you can solve it using a couple of
Design Patterns, this will make you a pop star in your company, but ...
Even if you did a nice implementation, you should create a lot of new
implementations each time a new vendor appears and that's not the Java Way!!!

We need real standard, and J/XFS offers exactly that: a standard.


Remember JDBC? Well, this is something much like that. For any new set of devices vendors make available J/XFS drivers in the same way JDBC drivers are made available by RDBMS vendors.

If you understands how JDBC works, you can understand a lot of things about J/XFS.


I would like so much to see a JSR covering the same aspects that J/XFS covers nowadays. I really don't know how long it will take to do this, but at JavaOne I saw one JSR proposed, and approved very fast !

If somebody would like to make a join effort to define a JSR, I know some people that can help with it.

It would be awesome to see:

javax.devices.api ☺


Get More Informations :

Related Topics >>