software e responsabilidade do fabricante do ATM. Como cadadispositivo possui uma infinidade de opcoes de modelos e fornecedores, umaforma de separar essa complexidade da aplicacao e por meio de uma camada middleware.Para o autoatendimento em terminais ATM, especialmente para bancos, e muitocomum o uso de Service Providers CEN/XFS e Device Services J/XFS, nessa camadamiddleware. Eu falei um pouco sobre essa camada no artigo Guiapara Automacao Bancaria para iniciantes. Eu tambem abordei,superficialmente, sobre o desenvolvimento de Service Providers no artigo DesenvolvendoDrivers XFS Overview. O objetivo dessa camada de software e tentar livrara aplicacao da complexidade que ha nessa diversidade que eu citei no paragrafoanterior. CEN/XFS e J/XFS sao padroes largamente usados na industria daautomacao bancaria, e seu objetivo primario e abstrair essa complexidade(embora nem sempre haja sucesso). No entanto, muitas instituicoes bancarias aquino Brasil nao usam esses padroes. Instituicoes como o Banco do Brasil,Santander e outros, preferiram projetar sua propria camada Middleware. Nessecaso, essas instituicoes definem uma especificacao, e repassam-na para qualquerfornecedor de ATM que pretenda vender seus equipamentos para ela. Tambem ecomum encontrar instituicoes que usam um padrao aberto como o CEN/XFS e oJ/XFS, e o alteram de acordo com suas necessidades, criando assim extensoespara esses padroes. E o caso de instituicoes como o Itau, Tecban e outros. Comoeu ja falei bastante sobre essa camada em artigos anteriores, para este artigoeu vou me concentrar na camada seguinte que e onde se localiza a aplicacao.A aplicacao deautoatendimento para terminais ATM ou kiosk pode ser baseada em diversastecnologias, e projetada com base em diversas estrategias arquitetonicas. Tresdessas estrategias sao bastante comuns: Fat Client, Thin Client e Hibrido. Aestrategia Fat Client e a mais comum e esta presente na grande maioria dassolucoes de autoatendimento das instituicoes bancarias no Brasil. Nessaestrategia, o software de autoatendimento esta hospedado inteiramente noterminal de autoatendimento, fazendo forte uso dos recursos de armazenamento eprocessamento do terminal. Ou seja, uma solucao Fat Client exige mais dohardware (a unidade de microprocessamento computador) do terminal. Essaestrategia e a mais comum, pois as instituicoes sempre investiram pesado emseus terminais ATM. A maioria dessas instituicoes compram, todos os anos, novosATMs para substituir parte de seu parque, ja obsoleto. Ou seja, ha uminvestimento continuo em hardware, e por isso mesmo, as instituicoes em geral,preferem preservar esse investimento, e optam por solucoes Fat Client. Ja a estrategiaThin Client exige mais hardware em servidores e nao nos terminais. Esse tipo desolucao, na maioria das vezes, e projetado com base em alguma tecnologia Web,com fluxos transacionais, telas e imagens e a maioria dos recursos utilizadasna aplicacao ficam hospedados em um servidor na rede. Assim, nao ha necessidadede muito poder de processamento e armazenamento nos terminais. Esse tipo deestrategia e bastante comum para o autoatendimento de dominios como o de vendade ingressos para cinema e shows, usando os terminais do tipo kiosk. Nessecaso, as unidades de processamento dos terminais normalmente contam com um minicomputador (Ex. RaspberryPi), com baixa capacidade de processamento e armazenamento de dados. Ja asolucao hibrida procura usar as duas estrategias. Normalmente aqueles servicosmais importantes (Ex.: saque, saldo e deposito e etc) da instituicao tem seusrecursos mantidos no terminal,