|
|
J/XFS (Java eXtension for Financial Services)
 |
Introdução - O que é o J/XFS?
Basicamente o J/XFS (Java eXtension for Financial Services) é uma
interface para dispositivos bancários padronizada internacionalmente,
que surgiu após um acordo feito entre as maiores empresas do setor
bancário mundial (Diebold, DeLaRue, IBM, NCR, Wincor Nixdorf
International GmbH) e a Sun Microsystems. Essa interface torna o uso desses
dispositivos independente de suas características específicas, dos seus fabricantes e dos seus modelos.
Seu Kernel é
conhecido como FDI (Financial Device Interface).
A implementação de todas as suas camadas é feita 100% em Java, logo, pode
ser, em teoria, executada em qualquer sistema operacional que forneça suporte para essa linguagem.
O desenvolvimento do J/XFS foi baseado em um padrão previamente
existente que só funcionava em plataformas Windows, o XFS, que tinha praticamente o mesmo objetivo
que o J/XFS.
O J/XFS oferece essas interfaces padronizadas para
diversos dispositivos, tais como leitor de cartões, distribuidor de
dinheiro, etc... Dessa maneira, existe uma portabilidade muito grande de
aplicações J/XFS já desenvolvidas, pois um programa J/XFS que é
executado, digamos, em um caixa eletrônico, deverá rodar em QUALQUER
outro ATM cuja plataforma faça uso do J/XFS.
Além disso, com o J/XFS, um cliente não precisa ficar “amarrado” a um
determinado fornecedor de dispositivos, pois como o padrão deixa
transparente para a aplicação as peculiaridades de um certo periférico,
trocar um componente de uma plataforma se torna muito simples, bastando
apenas atualizar seu respectivo Device Service.
|
 |
A arquitetura básica do J/XFS (figura 1) tem definidas as seguintes
camadas:
-J/XFS Device Manager
-J/XFS Device Control
-J/XFS Device Communication
-J/XFS Device Service
A implementação do kernel do J/XFS provê as três primeiras camadas, ao
passo que a camada do "Device Service" deve ser fornecida pelo
fabricante do hardware, como se fosse um driver.
O "Device Manager" é um controlador central que organiza o acesso e a
localização dos diversos componentes de hardware instalados em uma
plataforma bancária. Existe somente uma instância do "Device Manager" em
uma determinada Java Virtual Machine (JVM).
A API do "Device Control" (DC) define a maneira pela qual a aplicação em
Java irá se comunicar com o dispositivo físico. Cada classe geral de
dispositivos possui um DC diferente. Por exemplo, existe um DC para
impressoras em geral, um DC para leitores de cartão em geral, etc...
A camada "Device Communication" controla o compartilhamento dos
dispositivos e também gerencia acesso remoto. A presença da mesma é
transparente à aplicação, aos "Device Control" e aos "Device Service“.
A camada do "Device Service" possui uma API definida que permite que as
camadas do "Device Control" e do "Device Communication" interajam de
fato com o hardware, traduzindo os comandos da interface J/XFS para
comandos específicos do dispositivo em uso.
Cada dispositivo físico possui exatamente um "Device Service", mesmo que
esse dispositivo possua mais de uma funcionalidade, como por exemplo, um
leitor de cartão que possa ler trilhas magnéticas e também dados de um
chip "smart card". Esses tipos de dispositivos que incorporam múltiplas
funcionalidades, são chamados de "dispositivos compostos" ou
"dispositivos complexos".
Por outro lado, um mesmo "Device Service" pode ser usado por diversos "Device
Control" distintos.
A figura 1 ilustra a arquitetura descrita acima:
Figura 1 - Arquitetura Básica do J/XFS
Figura 2 - O J/XFS em funcionamento com a ferramenta de testes da
Diebold
|
|