A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Desenvolvimento de componente para geração de boletos bancários personalizável e extensível CEFET-RN Departamento Acadêmico de Informática Tecnologia em.

Apresentações semelhantes


Apresentação em tema: "Desenvolvimento de componente para geração de boletos bancários personalizável e extensível CEFET-RN Departamento Acadêmico de Informática Tecnologia em."— Transcrição da apresentação:

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

6

7

8

9

10 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.

11 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.

12 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;

13

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

15 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.

16 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;

17 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.

18

19 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.

20 Boleto bancário (Código de barras) PosiçãoTamanhoConteúdo 01-033 Identificação do banco 04-041 Código da moeda (9-Real) 05-051 Dígito verificador do código de barras(DV) 06-094 Fator de vencimento 10-1910 Valor nominal do título 20-4425 Campo livre Utilizado de acordo com a especificação interna do banco emissor. Composição

21 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

22 Boleto bancário (Código de barras) Campo livre (exemplo) Composição PosiçãoTamanhoConteúdo 20-234Código da agência (sem dígito) 24-252Código da carteira 26-3611Nosso número (sem dígito) 37-437Conta do cedente (sem dígito) 44-441Zero fixo

23 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.

24 Boleto bancário (Linha digitável) Composição Campo PosiçãoTamanhoConteúdo 1º 01-033Identificação do banco (posições 1 a 3 do código de barras) 04-041Código de moeda (9 - Real) (posição 4 do código de barras) 05-0951ª a 5ª posições do campo livre (posições 20 a 24 do código de barras) 10-101Dígito verificador do primeiro campo 2º 11-20106ª a 15ª posições do campo livre (posições 25 a 34 do código de barras) 21-211Dígito verificador do segundo campo 3º 22-311016ª a 25ª posições do campo livre (posições 35 a 44 do código de barras) 32-321Dígito verificador do terceiro campo 4º33-331Dígito verificador geral (posição 5 do código de barras) 5º 34-374Fator de vencimento (posições 6 a 9 do código de barras) 38-4710Valor nominal do título(posições 10 a 19 do código de barras)

25 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).

26 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.

27 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.

28 O componente BOPEPO (Requisitos) Gerar boletos;

29 O componente BOPEPO (Requisitos) Gerar boletos personalizados.

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

31 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?

32

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

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

35

36

37

38

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

40

41

42 O componente BOPEPO ( Como estender a funcionalidade? ) Vamos gerar um boleto personalizado?

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

44 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.

45 O componente BOPEPO ( Como estender a funcionalidade? ) Suportar novo banco

46

47 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.

48 O componente BOPEPO ( Como estender a funcionalidade? ) Suportar novo campo livre – Banco X PosiçãoTamanhoConteúdo 20-267Código da conta do cedente (sem dígito) 27-3913Nosso numero (sem dígito) 40-434Código da agencia do cedente (sem dígito) 44-440Zero Fixo

49

50 O componente BOPEPO ( Como estender a funcionalidade? ) Suportar novo campo livre – Banco X

51 O componente BOPEPO ( Como estender a funcionalidade? ) Vamos a prática?

52 O componente BOPEPO ( Integrando a uma aplicação) Independente de arquitetura, seja ela N-Camadas (como JEE), Monolítica, Plugins etc; GUI pode ser tanto Web ou Desktop; Tecnologia PDF – Única dependência até o momento.

53

54

55 O componente BOPEPO ( Sobre o componente) Gratuito e de código-aberto. Disponível no site do Projeto JRimumsite Estão disponíveis tutoriais, vídeos-tutoriais e toda uma gama de informações com o objetivo de ensinar o usuário a: Utilizar o componente; Contribuir com o projeto de várias formas, dentre elas tornando-se um desenvolvedor.

56

57 O componente BOPEPO ( Sobre o Projeto JRimum) O Projeto JRimum é fruto da iniciativa conjunta entre o Grupo JRimum e a empresa Nordeste Fomento Mercantil; Tem por objetivo a criação de componentes reutilizáveis Java com foco no domínio de negócios do Brasil; Bopepo é um sub-projeto e o primeiro componente disponibilizado; O grupo JRimum é composto atualmente pelo seus fundadores, Gilmar P. S. Leitão, Misael Barreto e Rômulo Augusto, e também por novos adeptos, como por exemplo Samuel Valério e Michel Medeiros, ambos analistas de sistema do TJ-RN

58 O componente BOPEPO ( Sobre o Projeto JRimum) A Nordeste Fomento Mercantil é uma empresa que presta serviços relacionados a cessão de crédito para pequenas e médias empresas da economia potiguar. A empresa apóia o projeto e emite seus boletos bancários utilizando o componente Bopepo.

59 Trabalhos futuros Refatoração e inserção de padrões de projeto; Implementar novas formas de visualização do boleto bancário, como por exemplo, nos formatos XML, HTML, JPG e PNG; Entrada de dados via XML, CVS entre outros, para gerar o boleto; Ferramenta para montar o layout; Implementar Java Internacionalização, para as mensagens de erro; Desenvolver um mecanismo XML através do qual aplicações escritas em diferentes linguagens possam utilizar o componente Bopepo para gerar boletos bancários, visando desta forma interoperabilidade;

60 Bibliografia FEDERAÇÃO BRASILEIRA DE BANCOS. Manual técnico operacional: bloquetos de cobrança. [S.l. : s.n.], [199?]. GUERREIRO, Marcelo. BrOffice substitui bem o Office, da Microsoft. São Paulo: O Estado de São Paulo, 2008. Disponível em: Acesso em: 25 jun. 2008. LOWAGIE, B.; SOARES, P. iText homepage: project description. Disponível em: Acesso em: 25 jun. 2008. LOZANO, F. Frameworks de logging: primeiros passos com Commons Logging e Log4j. Java Mazagine, Rio de Janeiro, ano 4, n. 35, p.24-35, 2006. OLIVEIRA, E. C. M. Log4J: framework open source java de logging. [S.l. : s.n.], 2005. Disponível em: Acesso em: 25 jun. 2008. SZYPERSKI, Clemens. Component software: beyond object-oriented programming. [S.l]: Addison-Wesley, 1998.

61 Agradecimentos Ao Senhor Jesus, por tudo o que ele tem oferecido em minha vida. À minha família, por todo o apoio dado durante a minha vida. As empresas nas quais trabalhei (UNP, TCU, Infothec e Activesoft). E empresa Nordeste Fomento Mercantil, por todo o suporte dado ao desenvolvimento deste projeto. Aos meus companheiros do Projeto JRimum. Aos meus colegas do IF-RN, por todos os momentos que passamos juntos, pela troca de conhecimentos e experiências. A instituição IF-RN e aos seus professores, pelo ensino, aprendizado e pelo amadurecimento que obtive durante a minha estadia no curso. À minha orientadora Cláudia e aos professores Minora e Valentim.

62 Agradecimentos FIM


Carregar ppt "Desenvolvimento de componente para geração de boletos bancários personalizável e extensível CEFET-RN Departamento Acadêmico de Informática Tecnologia em."

Apresentações semelhantes


Anúncios Google