1 / 62

Desenvolvimento de componente para geração de boletos bancários personalizável e extensível

Desenvolvimento de componente para geração de boletos bancários personalizável e extensível. Aluno: Misael Barreto de Queiroz Orientadora: Cláudia Ribeiro. CEFET-RN Departamento Acadêmico de Informática Tecnologia em Desenvolvimento de Software. BOPEPO. Sumário. Motivação

jett
Download Presentation

Desenvolvimento de componente para geração de boletos bancários personalizável e extensível

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Desenvolvimento de componente para geração de boletos bancários personalizável e extensível Aluno: Misael Barreto de Queiroz Orientadora: Cláudia Ribeiro CEFET-RN Departamento Acadêmico de Informática Tecnologia em Desenvolvimento de Software BOPEPO

  2. Sumário • Motivação • Boleto bancário • O componente BOPEPO • Trabalhos futuros • Bibliografia • Agradecimentos

  3. Motivação • Poucas soluções disponíveis • Gratuita em JAVA apenas uma - JBoleto. • JBoleto - Expectativas não atendidas, devido a(o): • Documentação escassa; • Design de classes não flexível, impedindo reusabilidade; • Não possibilidade de personalizar o layout do boleto; • Não possibilidade de estender a funcionalidade do componente.

  4. Motivação • O que é personalizar layout? • É adaptar o conteúdo do boleto às necessidades do seu emissor; • Com Bopepo, o usuário a “mão-livre” pode: • Definir imagens; • Definir texto; • Alterar a disposição das informações; • Adicionar novas informações, sejam elas estáticas ou dinâmicas.

  5. Motivação • O que é estender a funcionalidade? • É o recurso que permite ao usuário utilizar o componente mesmo nos casos em que o banco e/ou campo livre de determinado banco não sejam suportados; • Bastante útil considerando que o universo de bancos e suas regras para confecção de boletos é bastante vasto e crescente.

  6. Boleto bancário • Trata-se de um documento que representa um título de cobrança. • Título de cobrança pode ser do tipo: duplicata, nota promissória, recibo, bilhete, nota de seguro ente outros. • Sua confecção deve seguir as instruções impostas pela FEBRABAN.

  7. Boleto bancário Basicamente, para que possam ser realizadas cobranças através de boletos três elementos são necessários: • Banco: responsável pela cobrança; • Cedente: emissor da cobrança(boleto), ou seja, aquele que irá receber a quantia cobrada; • Sacado: aquele que paga o boleto;

  8. Boleto bancário O boleto é dividido em duas partes: • Recibo do sacado • Ficha de compensação

  9. Boleto bancário(Recibo do sacado) • É o comprovante de pagamento; • O layout é de responsabilidade do cedente, contudo alguns campos são obrigatórios: • Nome do cedente; • Agência / Código do cedente; • Valor do título; • Vencimento; • Nosso número; • Nome do sacado. • Os campos obrigatórios também devem constar na ficha de compensação.

  10. Boleto bancário(Ficha de compensação) • Parte do boleto que fica em poder do banco quando o boleto é pago, para que seja encaminhada para a compensação bancária. • Dimensões pré-definidas pela FEBRABAN; • Subdividida em 3 partes: • Parte superior; • Quadro de Impressão; • Parte inferior;

  11. Boleto bancário(Ficha de compensação) • Parte superior • Nome do banco ou logotipo; • Código de compensação do banco e o seu dígito verificador; • Linha digitável. • Quadro de Impressão: Deve conter diversos campos, tendo como campos de preenchimento obrigatório: • Local de pagamento; • Data de vencimento; • Cedente (nome); • Agência / Código do cedente; • Data do processamento; • Nosso número; • Valor do documento; • Sacado (nome e endereço completo). • Parte inferior • Código de barras; • Campo destinado à autenticação mecânica.

  12. Boleto bancário(Código de barras) • Tipo: O código de barras deve ser do tipo "2 de 5" intercalado, que significa que 5 barras definem 1 caractere, sendo que duas delas são barras largas. O termo "intercalado" significa que os espaços entre as barras também têm significado, de maneira análoga às barras. A distância mínima entre a margem inferior e o centro do código de barras deve ser de 12mm. • Dimensões: O código de barras deve ter altura de 13mm. De acordo com o padrão “2 de 5” o código de barras deve apresentar a largura de 103mm, pois essa é a dimensão que os equipamentos dos bancos estão calibrados para efetuar a leitura. • Zona de silêncio: É o espaço entre a margem esquerda do boleto e o início da impressão do código de barras, que deve ser de 5mm. O código de barras é composto, no seu lado esquerdo, por “barras de start”, que indicam para o sistema que ali se inicia a leitura e, no seu final, por “barras de stop”, indicando o final da leitura.

  13. Boleto bancário(Código de barras) Composição

  14. Boleto bancário(Código de barras) • Campo livre • Contém informações sobre o cedente, para que a instituição financeira possa transferir para ele, de forma correta o valor pago pelo sacado. • Sua composição varia de banco para banco, logo se faz necessário entrar em contato com cada banco para obter os manuais de instrução. Composição

  15. Boleto bancário(Código de barras) • Campo livre (exemplo) Composição

  16. Boleto bancário(Linha digitável) • Representa o mesmo conteúdo do código de barras, dispostos em outra ordem e acrescidos de dígitos verificadores; • Deve ser utilizada quando da impossibilidade da captura do código de barras.

  17. Boleto bancário(Linha digitável) Composição

  18. O componente BOPEPO(O que é?) • Biblioteca Java, livre e de código-aberto; • Gera boletos bancários, tornando transparente para o usuário toda a complexidade exigida para isso, como por exemplo a geração do código de barras, linha digitável, entre outros aspectos, de acordo com as especificações definidas pela FEBRABAN (Federação Brasileira de Bancos).

  19. O componente BOPEPO(O que é?) • Permite ao usuário personalizar o layout do boleto bancário, a mão livre. • Definir imagens; • Definir texto; • Alterar a disposição das informações; • Adicionar novas informações, sejam elas estáticas ou dinâmicas.

  20. O componente BOPEPO(O que é?) • Permite ao usuário estender a funcionalidade do componente. • Fornecer informações sobre bancos ainda não suportados; • Fornecer informações sobre a composição de campos livre ainda não suportados.

  21. O componente BOPEPO(Requisitos) • Gerar boletos;

  22. O componente BOPEPO(Requisitos) • Gerar boletos personalizados.

  23. O componente BOPEPO(Requisitos) • Gerar boletos para banco e/ou campo livre não suportado.

  24. O componente BOPEPO(Como gerar boletos?) • Para gerar um boleto se faz necessário informar: • O cedente, não esquecendo de informar a sua conta bancária. • O sacado. • O sacador avalista (opcional). • Dados gerais do título como data de vencimento, valor, nosso número. • Dados gerais do boleto, como local de pagamento e instruções. • Vamos gerar um boleto?

  25. O componente BOPEPO(Como gerar boletos personalizados?) • Entendendo o mecanismo; • Personalizando um template de boleto; • Gerando um boleto personalizado.

  26. O componente BOPEPO(Como gerar boletos personalizados?) • Entendendo o mecanismo.

  27. O componente BOPEPO(Como gerar boletos personalizados?) • Personalizando um boleto.

  28. O componente BOPEPO(Como estender a funcionalidade?) • Vamos gerar um boleto personalizado?

  29. O componente BOPEPO(Como estender a funcionalidade?) • Suportar novo banco; • Suportar novo campo livre.

  30. O componente BOPEPO(Como estender a funcionalidade?) • Suportar novo banco - O usuário terá que fornecer ao componente uma implementação que siga a interface IBanco. Opções: • Instanciar um objeto Banco e configurá-lo; • Criar uma classe que herda da classe Banco; • Criar uma classe que implementa a interface IBanco. Obs: Se o banco não é suportado, então obrigatoriamente uma implementação de campo livre deverá ser realizada.

  31. O componente BOPEPO(Como estender a funcionalidade?) • Suportar novo banco

  32. O componente BOPEPO(Como estender a funcionalidade?) • Suportar novo campo livre - O usuário terá de fornecer ao componente uma implementalçao da interface ICampoLivre, e implementar obrigatoriamente o método write(). • Esse método write() tem como objetivo retornar uma texto de vinte e cinco caracteres, que nada mais é do que o campo livre, parte integrante do código de barras e a linha digitável do boleto.

  33. O componente BOPEPO(Como estender a funcionalidade?) • Suportar novo campo livre – Banco “X’

  34. O componente BOPEPO(Como estender a funcionalidade?) • Suportar novo campo livre – Banco “X’

More Related