Mais uma vez para a questão dos caixas eletrônicos
Agora mesmo safinaskar me fez a seguinte pergunta em uma conversa pessoal:Olá, vi seu artigo sobre caixas eletrônicos habrahabr.ru/post/217337 . Minha pergunta é: por que a interface de todos os caixas eletrônicos é tão anti-amigável, tão igual e tão "resistente", diferente de outras máquinas (por exemplo, máquinas Qiwi)? Eu lidei com caixas eletrônicos Sberbank, Rosbank e My Bank (agora faliu).
Entendo corretamente que o software para máquinas convencionais (por exemplo, Qiwi) é o software mais comum, desenvolvido da mesma maneira que o software geralmente é desenvolvido. É fácil fazer alterações no software, ele é escrito com as ferramentas comuns para o sistema operacional normal (por exemplo, Windows), o UX é levado em consideração e, às vezes, há bugs.
E o software para caixas eletrônicos é escrito de uma vez por todas (por motivos de segurança), a segurança é colocada acima do UX. Assim? E, portanto, os problemas com o UX?
Tenho a sensação de que todos os caixas eletrônicos usam o mesmo programa, é isso?
Se não me engano, o caixa eletrônico primeiro pede um pino, depois a quantia e só depois verifica a exatidão do pino. Por que é que?
Como a resposta cresceu lentamente, achei que merecia um artigo separado, principalmente porque foram abordados alguns tópicos sobre os quais eu próprio não entendia bem e não queria enganar as pessoas com respostas incorretas. Espero que nos comentários haja esclarecimentos e acréscimos.Eu duvidava um pouco se a nota deveria ser levada - para Habr ou giktayms. Por um lado, ao transferir artigos, meu artigo anterior sobre esse assunto permaneceu no habrahabr. Por outro lado, a julgar pela política do governo, eles querem deixar o Habr exclusivamente para esses artigos, cuja parte principal é o código do programa. Portanto, você vê meu artigo atual aqui.O desenvolvimento de software, como qualquer outra atividade, requer uma certa qualificação. E desenvolvimento de software em uma área como finanças - e mais ainda. Agora vamos lembrar o que é um banco. Essa organização não desenvolve software para seus caixas eletrônicos, caso contrário, teria de manter funcionários para isso. Mas o desenvolvimento de cenários é um procedimento único, por isso é ineficiente. Assim, o desenvolvimento é solicitado a empresas especializadas.Como você sabe, quase ninguém confiará esse desenvolvimento a ninguém. E para mudar um cenário comprovado, você precisa de um bom motivo. Digamos, o desejo do banco de fornecer uma gama ampliada de serviços por meio de caixas eletrônicos, e não apenas informações sobre retirada / investimento e saldo de dinheiro. Pelas mesmas razões, cenários miseráveis mudarão apenas quando tiverem certeza de que isso trará ganhos financeiros.Tenho a sensação de que todos os caixas eletrônicos usam o mesmo programa, é isso?
Eu mesmo raramente uso caixas eletrônicos, mas não uso caixas eletrônicos de outros bancos, então não posso dizer. Mas acho que sim. Provavelmente, os caixas eletrônicos da Wincor que operam sob os protocolos NDC / DDC com algumas extensões da Wincor são os mais comuns na Rússia. Portanto, vamos falar sobre eles.Devo dizer que as especificações para 2013 (a versão mais recente da especificação que vi) não são muito diferentes das especificações para 2003. Basicamente, algumas oportunidades duvidosas ficaram desatualizadas, a oportunidade parece incorporar páginas HTML nas telas. No entanto, essa possibilidade ainda não é suportada por nós, então não sei nada sobre isso, cenários bastante toleráveis são implementados por fotos. Para não dizer que parece tão mal. E então, você realmente quer ver o anúncio onipresente também em um caixa eletrônico? Ela está lá, é claro, mas pelo menos não é tão irritante e, como regra, na tela principal, e não dentro do script.E o software para caixas eletrônicos é gravado de uma vez por todas (por motivos de segurança), a segurança é colocada acima do UX. Assim? E, portanto, os problemas com o UX?
Não, trata-se de compatibilidade com versões anteriores e da incapacidade de alterar radicalmente o protocolo de comunicação com um caixa eletrônico por causa disso. Além disso, parece-me que o caixa eletrônico vem com seu software: novo software - um novo caixa eletrônico. Como um caixa eletrônico não é barato, isso também pode retardar as alterações. Embora seja necessário admitir que os novos recursos do software geralmente não estão relacionados à interface do usuário e o script pode ser escrito para as versões antigas. Mas há outras considerações. Vi caixas eletrônicos cuja vida útil da tela do CRT está chegando ao fim e, se você mostra uma foto lá, fica manchado. A interface de texto é melhor. Além disso, ainda pode haver caixas eletrônicos que não sabem como exibir imagens. Mas zhelezyachniks pode dizer melhor sobre isso, eu só trabalho na parte do host.Se não me engano, o caixa eletrônico primeiro pede um pino, depois a quantia e só depois verifica a exatidão do pino. Por que é que?
Porque o PIN está verificando o host. O ATM não pode executar esta operação (em geral, os protocolos NDC / DDC têm essa oportunidade, mas devemos lembrar que eles surgiram em um momento em que o conceito de "segurança da informação" não existia).Obviamente, você pode fazer uma solicitação separada para verificar o PIN no início do script, mas essa é uma solicitação adicional ao servidor e aumenta o tempo de espera. Embora isso seja usado - por exemplo, se for necessário dividir o script em ramificações diferentes para cartões estrangeiros pertencentes ao sistema NSPK e cartões completamente estrangeiros. Somente um host pode fazer essa classificação.Para seus próprios cartões, uma solicitação extra pode atrasar demais o serviço. Por exemplo, na rede de caixas eletrônicos atendidos pelo nosso sistema, existem caixas eletrônicos nos quais, no pico das transações de carregamento, ocorrem a cada 2 minutos, de cartões diferentes e, via de regra, uma transação por cartão. Diminua a velocidade do script pela metade para avisar a pessoa de que o PIN está errado? Isso também é uma carga adicional no host - afinal, de acordo com o padrão PCI DSS, um servidor de ferro separado deve verificar os pinos e, em qualquer caso, o PIN será verificado novamente durante a operação, de acordo com o mesmo PCI DSS.Digite o PIN antes ou depois de selecionar a operação - o desenvolvedor do cenário decide os requisitos do banco. Talvez a inserção de um PIN no início seja simplesmente mais familiar. E para cartões com chip, também pode ser necessário - para obter acesso aos aplicativos de chip, você pode precisar passar pela autorização no chip. Mas essas são minhas suposições, na verdade, eu não sei. Source: https://habr.com/ru/post/pt381975/
All Articles