You are on page 1of 122

FACULDADE DE TECNOLOGIA DE SO JOS DOS CAMPOS

ALESSANDRA ARANTES DE SOUZA CAMARGO DOUGLAS DE ALMEIDA BRITO

PROPOSTA DE MODELAGEM DE UM SISTEMA PARA BIBLIOTECA UTILIZANDO JAVA E RFID

SO JOS DOS CAMPOS 2009

ALESSANDRA ARANTES DE SOUZA CAMARGO DOUGLAS DE ALMEIDA BRITO

PROPOSTA DE MODELAGEM DE UM SISTEMA PARA BIBLIOTECA UTILIZANDO RFID E JAVA

Trabalho de graduao apresentado a Faculdade de Tecnologia de So Jos dos Campos, como parte dos requisitos necessrios para a obteno do ttulo de Tecnlogo em Banco de Dados. Orientador: Prof. Rogrio Marinke

SO JOS DOS CAMPOS 2009

ii

ALESSANDRA ARANTES DE SOUZA CAMARGO DOUGLAS DE ALMEIDA BRITO

PROPOSTA DE MODELAGEM DE UM SISTEMA PARA BIBLIOTECA UTILIZANDO RFID E JAVA

Trabalho de graduao apresentado a Faculdade de Tecnologia de So Jos dos Campos, como parte dos requisitos necessrios para a obteno do ttulo de Tecnlogo em Banco de Dados.

__________________________________________________________ ANTNIO WELLINGTON SALES RIOS - MESTRE

__________________________________________________________ CARLOS AUGUSTO LOMBARDI GARCIA - MESTRE

___________________________________________________________ ROGRIO MARINKE - ESPECIALISTA

___/___/____ DATA DE APROVAO

iii

AGRADECIMENTOS

Aos nossos familiares pela compreenso e incentivo. Ao prof. Rogrio Marinke que nos orientou durante a execuo deste trabalho. Ao prof. Giuliano Bertoti pelos constantes ensinamentos. A todo o corpo docente que sempre nos acompanhou. banca examinadora pelas contribuies a este trabalho.

iv

RESUMO

A tecnologia de identificao por rdio-frequncia (RFID) tem se apresentado como um grande avano no controle de informaes e est sendo introduzida em bibliotecas com o objetivo de proporcionar gesto eletrnica e novos servios como o auto-atendimento e a autodevoluo de itens. A presente pesquisa tem o objetivo de propor a modelagem de uma aplicao Web para bibliotecas utilizando a tecnologia Java e RFID. Foi adotado como estudo de caso a biblioteca da Faculdade de Tecnologia (FATEC) de So Jos dos Campos. No processo de desenvolvimento foi empregada a abordagem da orientao a objetos, gerando documentos segundo a notao Unified Modeling Language (UML). Para implementao foi empregada a linguagem de programao Java e frameworks que auxiliam o desenvolvimento de aplicaes Web. Como resultado da anlise do problema foi definido uma proposta para a arquitetura do sistema que est dividida em trs camadas: apresentao, aplicao e dados. A camada de apresentao responsvel pela interface com o usurio, requisita servios ao servidor da aplicao e apresenta os resultados. Na camada de negcios so definidas as regras de negcio. Na camada de dados se encontra a base de dados da aplicao. Conclui-se que a linguagem Java aliada aos frameworks adotados permite um desenvolvimento gil com software de boa qualidade.

Palavras-chave: RFID. Java. Sistema para Bibliotecas.

ABSTRACT

Radio Frequency Identification (RFID) technology has been presented as a substantial progress for information control and applied on libraries with the intention of providing electronic management such as customer attendance and return of products. This present research's objective is propound a web application modeling for libraries using Java technology and RFID. So Jos dos Campos FATEC's library was adopted as a case study. In the development process was adopted the object orientation paradigm to generate whole development process documentation in accordance with Unified Modeling Language (UML). Java Language and frameworks were used to improve web applications development. A proposal was defined as result of analysis of the problem to the system architecture distributed in three layers: presentation, application and data. The presentation layer is responsible for user interface, requiring services to server application and showing the results. The business layer contains business rules defined during modeling process. The data layer where database is found. In summary, Java language and the frameworks adopted allow a quick development and a high quality of software.

Keywords: RFID. Java. Library Systems.

vi

LISTA DE FIGURAS

Figura 1 - Etiqueta padro.........................................................................................................22 Figura 2 - Componentes fsicos de um leitor ...........................................................................25 Figura 3 - Componentes lgicos de um leitor ..........................................................................26 Figura 4 - Processo de compilao de um programa Java .......................................................31 Figura 5 - Portabilidade do cdigo Java ..................................................................................31 Figura 6 - Plataformas Java .....................................................................................................32 Figura 7 - Camadas de uma aplicao Java para Web..............................................................33 Figura 8 - Diviso do Container ..............................................................................................34 Figura 9 - Funcionamento do Sun Java System RFID ............................................................35 Figura 10 - Camadas de uma aplicao MVC .........................................................................39 Figura 11 - Aplicao do Struts no MVC ................................................................................43 Figura 12 - Funcionamento do Hibernate ................................................................................45 Figura 13 - Diagrama de casos de uso .....................................................................................52 Figura 14 - Arquitetura do sistema ..........................................................................................65 Figura 15 - Viso Geral do Diagrama de Classes da Aplicao Web .....................................66 Figura 16 - Diagrama de classes (Emprstimo) ......................................................................67 Figura 17 - Diagrama de classes (Usurio) .............................................................................68 Figura 18 - Diagrama de classes (Atendente) .........................................................................69 Figura 19 - Diagrama de classes (Administrador) ..................................................................70 Figura 20 - Diagrama de classes (Item) ..................................................................................71 Figura 21 - Diagrama de classes (Tipo) ..................................................................................72 Figura 22 - Diagrama de classes (Segmento) .........................................................................73 Figura 23 - Diagrama de classes (Reserva) .............................................................................74 Figura 24 - Diagrama de classes (Consulta) ............................................................................75 Figura 25 - Diagrama de classes (Multa) ................................................................................76 Figura 26 - Diagrama de Sequncia (Reserva) ........................................................................77 Figura 27 - Diagrama de Sequncia (Emprstimo) .................................................................78 Figura 28 - Diagrama de Sequncia (Emprstimo - RFID) ....................................................78 Figura 29 - Diagrama de Sequncia (Devoluo) ...................................................................79 Figura 30 - Diagrama de Sequncia (Devoluo - RFID) .......................................................79 Figura 31 - Diagrama de Sequncia (Consulta) ......................................................................80 Figura 32 - Diagrama de Sequncia (Consulta - RFID) ..........................................................80

vii

Figura 33 - Diagrama de Sequncia (Pesquisar Itens) .............................................................81 Figura 34 - Diagrama de Sequncia (Consultar situao do usurio) .....................................82 Figura 35 - Diagrama de Sequncia (Registrar Multa) ...........................................................83 Figura 36 - Diagrama de Sequncia (Cadastros) .....................................................................84 Figura 37 - Viso geral do Modelo relacional banco de dados ...............................................85 Figura 38 - Dicionrio de Dados (Acervo) ..............................................................................87 Figura 39 - Dicionrio de Dados (Consultas) ..........................................................................88 Figura 40 - Dicionrio de Dados (Emprstimos) ....................................................................89 Figura 41 - Dicionrio de Dados (Login) ................................................................................90 Figura 42 - Dicionrio de Dados (Reserva) .............................................................................91 Figura 43 - Tela inicial ............................................................................................................92 Figura 44 - Uso do Ajax...........................................................................................................93 Figura 45 - Exemplo do uso do plugin Tablesorter..................................................................93 Figura 46 - Cdigo-fonte de implementao do plugin Tablesorter.........................................94 Figura 47 - rea restrita do usurio..........................................................................................95 Figura 48 - rea restrita do administrador do sistema.............................................................96 Figura 49 - Cdigo-Fonte da classe de mapeamento ConsultasAction.java............................97 Figura 50 - Cdigo-Fonte da classe de mapeamento ConsultasForm.java..............................98 Figura 51 - Cdigo-Fonte de implementao do arquivo struts-config.xml............................99 Figura 52 - Cdigo-Fonte da implementao da classe hibernate.cfg.xml referente conexo com banco de dados ..............................................................................................................101 Figura 53 - Cdigo-Fonte da classe hibernate.cfg.xml referente Configurao do pool de conexes.................................................................................................................................101 Figura 54 - Cdigo-Fonte da classe de mapeamento Emprestimos.hbm.xml.........................102 Figura 55 - Cdigo-Fonte da classe de mapeamento Emprestimos.hbm.xml.........................102 Figura 56 - Cdigo-Fonte da classe de mapeamento Emprestimos.hbm.xml.........................102 Figura 57 - Cdigo-Fonte da classe HibernateUtil.java..........................................................103 Figura 58 - Cdigo-Fonte da implementao da classe EmprestimoDao.java, mtodo listar()......................................................................................................................................104 Figura 59 - Parte do Cdigo-Fonte de implementao da classe HibernateUtil.java ............105 Figura 60 - Parte do Cdigo-Fonte de implementao da classe ItensDao............................105

viii

LISTA DE TABELAS Tabela 1 - Principais diferenas entre RFID e cdigos de barras.............................................29 Tabela 2 - Descrio de caso de uso (Consultar itens).............................................................53 Tabela 3 - Descrio de caso de uso (Reservar itens)...............................................................54 Tabela 4 - Descrio de caso de uso (Pesquisar itens)..............................................................55 Tabela 5 - Descrio de caso de uso (Efetuar devoluo)........................................................56 Tabela 6 - Descrio de caso de uso (Efetuar emprstimo)......................................................57 Tabela 7 - Descrio de caso de uso (Consultar situao do usurio)......................................58 Tabela 8 - Descrio de caso de uso (Registrar multa).............................................................59 Tabela 9 - Descrio de caso de uso (Cadastrar usurios)........................................................60 Tabela 10 - Descrio de caso de uso (Cadastrar atendentes)..................................................61 Tabela 11 - Descrio de caso de uso (Cadastrar itens)............................................................62 Tabela 12 - Descrio de caso de uso (Cadastrar segmentos)..................................................63

ix

LISTA DE ABREVIATURAS E SIGLAS

API: Application Programming Interface CPU: Unidade Central de Processamento CSS: Cascading Style Sheet DAO: Data Access Object DOM: Document Object Model EAS: Eletronic Article Surveillance EEPROM: Electrically Erasable Programmable Read-Only Memory EJB: Enterprise JavaBeans GPS: Global Positioning System HTML: HyperText Markup Language ISBN: International Standard Book Number JSE: Java Standart Edition JEE: Java Enterprise Edition JME: Java Micro Edition JVM: Java Virtual Machine JSP: Java Server Pages MIT: Massachusetts Institute of Technology MVC: Model-View-Controller RAM: Random Access Memory RFID: Radio Frequency Identification SQL: Structure Query Language UHF: Ultra High Frequency UML: Unified Modeling Language XML: Extense Markup Language XSTL: Extensible Style Sheet Language

SUMRIO

INTRODUO ................................................................................................................12 1.1 1.2 Motivao .................................................................................................................. 12 Objetivos .................................................................................................................... 13 Objetivo geral............................................................................................................. 13 Objetivos especficos ................................................................................................. 13 Metodologia ............................................................................................................... 14 Organizao do trabalho ............................................................................................ 15

1.2.1 1.2.2 1.3 1.4 2

RFID .................................................................................................................................. 16 2.1 2.2 Breve histrico ........................................................................................................... 16 Aplicaes da tecnologia RFID ................................................................................. 18 Aplicao da tecnologia RFID em bibliotecas........................................................... 19 Identificao por rdio-frequncia (RFID) ................................................................ 20 Componentes de um sistema RFID............................................................................ 21 Etiquetas RFID........................................................................................................... 21 Leitores ...................................................................................................................... 24 Middleware ................................................................................................................ 27 Viso geral de uma implementao RFID ................................................................. 28 RFID e cdigos de barras ........................................................................................... 28

2.2.1 2.3 2.4 2.4.1 2.4.2 2.4.3 2.5 2.6 3

FERRAMENTAS PARA DESENVOLVIMENTO DO SISTEMA ................................ 30 3.1 Java ............................................................................................................................ 30 Java EE....................................................................................................................... 33 Sun Java System RFID .............................................................................................. 35 Servidor de Aplicao ................................................................................................ 36 AJAX ......................................................................................................................... 36 JQuery ........................................................................................................................ 37 Padres de Projeto...................................................................................................... 38 MVC .......................................................................................................................... 38 Singleton .................................................................................................................... 41 Frameworks................................................................................................................ 42 Struts Framework ....................................................................................................... 43 Hibernate .................................................................................................................... 44 Oracle 10g Express Edition ....................................................................................... 46

3.1.1 3.1.3 3.2 3.3 3.4 3.5 3.5.1 3.5.2 3.6 3.6.1 3.6.2 3.7

xi

MODELAGEM E DESENVOLVIMENTO DO SISTEMA ............................................ 47 4.1 4.2 Processo de software .................................................................................................. 47 Especificao de Requisitos de Software................................................................... 48 Requisitos funcionais do sistema ............................................................................... 50 Requisitos no funcionais .......................................................................................... 51 Diagrama de casos de uso .......................................................................................... 52 Descrio dos casos de uso ........................................................................................ 53 Arquitetura de sistema ............................................................................................... 64 Diagrama de classes ................................................................................................... 66 Diagramas de sequncia ............................................................................................. 77 Modelo de dados ........................................................................................................ 85 Projeto e implementao do prottipo ....................................................................... 92 Camada de visualizao ............................................................................................. 92 Camada de aplicao.................................................................................................. 96 Camada de dados ..................................................................................................... 100

4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.3 4.3.1 4.3.2 4.3.3 5

CONSIDERAES FINAIS .......................................................................................... 106 5.1 Contribuies ........................................................................................................... 106 Publicaes .............................................................................................................. 107 Trabalhos futuros ..................................................................................................... 107

5.1.1 5.2

REFERNCIAS.....................................................................................................................109 APNDICES..........................................................................................................................111

12

INTRODUO

1.1

Motivao

A Faculdade de Tecnologia (FATEC) de So Jos dos Campos no possui atualmente um software que permita o controle automatizado de sua biblioteca. Todo o trabalho de emprstimo e devoluo feito utilizando fichas que so preenchidas manualmente pelo atendente e a assinatura do usurio requerida para comprovar a retirada e a devoluo de um item. No h um cadastro de usurios e quando estes solicitam um material, o atendente precisa verificar nas estantes se o mesmo encontra-se disponvel para emprstimo. Isto torna o trabalho repetitivo, propenso a erros e causa demora no atendimento ao usurio.

Com o crescente nmero de publicaes e de usurios necessrio formas eficazes para o gerenciamento do acervo, visando proporcionar agilidade no atendimento e confiabilidade no armazenamento de dados.

A tecnologia de identificao por rdio-frequncia (RFID) tem se apresentado como um grande avano no controle de informaes e est sendo introduzida em vrias bibliotecas do mundo com o objetivo de proporcionar a gesto eletrnica dos acervos e a implementao de novos servios.

Essa tecnologia pode auxiliar no armazenamento seguro de informaes, na identificao automtica de itens, no controle de inventrios e possibilitar a oferta de servios como o autoatendimento e a autodevoluo de itens (SANTINI, 2008).

Por exemplo, as bibliotecas pblicas de Munique, Alemanha, substituram seus sistemas de cdigos de barra e os sistemas de segurana eletromagnticos pela tecnologia RFID. Todos os itens do acervo, incluindo livros, revistas, udio e vdeo, receberam etiquetas RFID. As bibliotecas contam com balces de auto-atendimento para permitir que os usurios realizem emprstimo e devoluo dos materiais do acervo. Os funcionrios utilizam equipamentos com tal tecnologia que permite prestar assistncia aos usurios no emprstimo e na devoluo de materiais, assim como a configurao de etiquetas dos novos materiais adquiridos pela

13

biblioteca. Contam, tambm, com postos de devoluo automtica com leitores que detectam e registram a devoluo dos itens do acervo (VIEIRA, 2007).

Ainda segundo Vieira (2007), as bibliotecas pblicas de Amsterd, Holanda, tambm esto adotando a tecnologia RFID no seu gerenciamento, para permitir o auto-atendimento e para garantir maior segurana contra furtos. Desta forma, o emprstimo de materiais feito de forma rpida e eficiente e os funcionrios so liberados de realizar as tarefas de emprstimo para outros servios de atendimento aos usurios. A implantao dos leitores RFID tornou a realizao de inventrios mais geis e precisos sem necessidade de remoo dos materiais. Alm disso, este equipamento utilizado para procura de itens do acervo e tornou mais gil a localizao.

A tecnologia Java possibilita o desenvolvimento de um software que possa ser integrado com a RFID. Esta tecnologia oferece portabilidade, robustez, apresenta extensa documentao disponvel e permite a utilizao das metodologias mais modernas para o desenvolvimento de software, tais como um intenso nmero de frameworks para apoio no desenvolvimento. A tudo isso se adiciona o fato de ser uma das linguagens de programao mais utilizadas na atualidade, possuindo maior estreitamento com a demanda do mercado de trabalho.

1.2

Objetivos

1.2.1

Objetivo geral

Propor a modelagem de uma aplicao Web para biblioteca utilizando as tecnologias Java e RFID.

1.2.2

Objetivos especficos

a) Determinar cenrios de uso na biblioteca da Fatec de So Jos dos Campos;

14

b) empregar o paradigma de modelagem de dados orientado a objetos; c) implementar um prottipo da aplicao Web utilizando a linguagem de programao Java que possibilita a utilizao da tecnologia RFID; d) empregar framewoks para apoio ao desenvolvimento da aplicao Web; e) adotar Padres de Projeto que possibilitam a criao de um projeto orientado a objeto reutilizvel e flexvel.

1.3

Metodologia

A presente pesquisa ser desenvolvida adotando como estudo de caso a biblioteca da Faculdade de Tecnologia (FATEC) de So Jos dos Campos.

Pretende-se, para realizar esta pesquisa, fazer um levantamento bibliogrfico sobre a tecnologia RFID e tecnologias que sero utilizadas para a implementao do prottipo da aplicao Web para biblioteca.

Posteriormente, fazer um levantamento de requisitos por meio de entrevistas com envolvidos no projeto e visitas s bibliotecas do Instituto Nacional de Pesquisas Espaciais (INPE) e Instituto Tecnolgico de Aeronutica (ITA). Realizar a modelagem do software utilizando os seguintes diagramas da UML: casos de uso, diagramas de sequncia e diagramas de classe. Propor para documentao do banco de dados um modelo relacional e apresentar o dicionrio de dados.

Na implementao pretende-se utilizar a linguagem de programao Java. No entanto, devido ao grande nmero de casos de uso, sero selecionados para compor o prottipo da aplicao aqueles que possibilitam a utilizao do RFID. Adicionalmente, utilizar Padres de Projeto como: Model-View-Controller (MVC), Data Access Object (DAO), Factory, Singleton a fim de demonstrar a utilizao destes padres em projetos orientados a objetos, e, organizar e possibilitar uma rpida manuteno quando necessrio. Empregar o framework Struts que facilita o desenvolvimento de aplicaes e auxilia a implementao do Padro de Projeto MVC. Para persistncia dos dados ser utilizado o framework Hibernate, que facilita o

15

mapeamento dos atributos entre uma base de dados relacional e o modelo orientado a objetos de uma aplicao.

1.4

Organizao do trabalho

No captulo 2 apresentada a tecnologia RFID, um breve histrico de seu desenvolvimento, algumas reas de aplicao desta tecnologia, principalmente em bibliotecas. Tambm so descritos os principais conceitos, os componentes envolvidos em seu funcionamento, uma viso geral de seu funcionamento e uma comparao desta tecnologia com o sistema de cdigo de barras.

O captulo 3 trata das ferramentas empregadas no prottipo da aplicao e na base de dados. So apresentadas as tecnologias Java, Java Enterprise Edition (Java EE) e o software Sun Java System RFID. Tambm so apresentados o servidor de aplicao Glassfish, que oferece suporte s novas especificaes Java EE, o JQuery, biblioteca JavaScript que permite o uso do AJAX melhorando a usabilidade e a interatividade na Web, assim como Padres de Projetos e frameworks adotados. Por fim, descrito o software Oracle 10g Express Edition, utilizado no desenvolvimento da base de dados.

O captulo 4 trata da modelagem e desenvolvimento do prottipo da aplicao. abordado o processo de desenvolvimento de software e as atividades fundamentais. So descritas as especificaes de requisitos, os diagramas de caso de uso, a arquitetura do sistema, diagramas de sequncia e diagramas de classes. Tambm so apresentados os modelos relacionais do banco de dados e um dicionrio de dados. Por fim, apresentado como estudo de caso a implementao do prottipo dos cenrios de casos de uso escolhidos.

No captulo 5 so apresentadas as consideraes finais, experincias obtidas, publicaes e sugestes de trabalhos futuros.

16

RFID

O objetivo deste captulo apresentar os principais conceitos da tecnologia RFID. Est subdividido em sesses que traam um breve histrico do seu desenvolvimento e reas de aplicao, enfatizando a aplicao em bibliotecas. As sesses posteriores tratam o conceito da identificao por rdio-frequncia e seus principais componentes. Por fim, abordada a relao entre RFID e cdigo de barras.

2.1

Breve histrico

A tecnologia RFID que significa identificao por rdio-freqncia utilizada para transmisso de informaes de um determinado objeto atravs de ondas de rdio com o objetivo de identificao.

O seu desenvolvimento teve origem na Segunda Guerra Mundial. Watson-Watt chefiou um projeto secreto no qual os britnicos criaram o primeiro identificador ativo de amigo ou inimigo (Identify Friend or Foe). Um transmissor foi inserido em cada avio britnico, quando o transmissor recebia sinais da estao de radar comeava a transmitir um sinal de resposta que identificava se o avio era amigo ou inimigo (PINHEIRO, 2006).

Devido inexistncia de dispositivos de pequena dimenso, tais como transistores, circuitos integrados e de microprocessadores, seu desenvolvimento foi postergado.

Pinheiro (2006) aponta que a miniaturizao e integrao ocorreram mais tarde na dcada de 60. Mas enquanto isso, cientistas e acadmicos dos Estados Unidos, Europa e Japo realizavam pesquisas sobre como a rdio-frequncia poderia ser utilizada para identificar objetos remotamente. No final desta dcada, algumas empresas comearam a comercializar sistemas antifurto que utilizavam ondas de rdio para determinar se um item havia sido pago ou no. Essas etiquetas de vigilncia eletrnica, Eletronic Article Surveillance (EAS),

17

utilizam um bit, se a pessoa pagasse pela mercadoria, o bit era colocado em off ou 0 e os sensores no disparavam o alarme. Caso contrrio, o bit continuava em on ou 1, e se a mercadoria sasse atravs dos sensores, um alarme era disparado.

A dcada de 70 foi caracterizada, de acordo com o autor, pelo desenvolvimento da tecnologia eletrnica do RFID. Grandes empresas comearam a usar a tecnologia para controlar objetos e veculos em movimento.

A consolidao do RFID como uma tecnologia, ocorreu somente na dcada de 80, com o desenvolvimento de aplicaes nos Estados Unidos em reas de controle de mercadorias, meios de transporte, acesso de pessoas e identificao animal. Na Europa, os esforos eram concentrados, principalmente, no uso da tecnologia para identificao animal, atividades industriais e controle de acesso em rodovias.

No final da dcada de 80, engenheiros da IBM desenvolveram um sistema RFID baseado na tecnologia Ultra High Frequency (UHF). O UHF oferecia um alcance de leitura muito maior e transferncia de dados mais velozes. Porm, o custo era muito alto devido ao volume reduzido de vendas e a falta de padres internacionais, sendo utilizada somente em aplicaes complexas ou que pudessem justificar os altos custos.

Na dcada de 90, com a miniaturizao dos componentes, os transponders puderam ser alimentados pelo campo eletromagntico do equipamento que o requisitava. Com a utilizao de memria Electrically Erasable Programmable Read-Only Memory (EEPROM) ao invs da memria Random Access Memory (RAM), no era mais necessrio ter uma bateria alimentando constantemente o transponder a fim de garantir a permanncia dos dados na memria (PINHEIRO, 2006).

Com o objetivo de tornar a tecnologia RFID vivel para aplicao em cadeias de suprimento, o Massachusetts Institute of Technology (MIT) fundou em 1999 o Centro AutoID. Em 2000 o Centro AutoID desenvolveu o Cdigo Eletrnico de Produto (EPC) que tinha como objetivo principal a substituio do Cdigo de Barra (UPC).

Em 2003 empresas dos Estados Unidos e da Europa junto com o Centro de AutoID, apontaram a necessidade da criao um rgo responsvel pela padronizao da tecnologia

18

RFID e criaram, ento, a EPCGlobal, que tem como objetivo ser o principal rgo responsvel pela padronizao da tecnologia RFID. Deste modo o Centro de AutoID transmitiu toda sua base de pesquisa ao EPCGlobal e passou a se chamar AutoID Labs com o intuito de aproximar as instituies universitrias de pesquisas ao EPCGlobal criando novas tecnologias.

2.2

Aplicaes da tecnologia RFID

Atualmente a tecnologia RFID tem sido amplamente estudada e encontra uma rea crescente de aplicao, basta a necessidade da captura automtica de dados (PINHEIRO, 2006).

Dentre as reas, o autor cita as aplicaes mdicas com os implantes humanos para fins de identificao. Os microchips podem armazenar informaes como tipo sanguneo, alergias, doenas crnicas, histrico de medicamentos utilizados pelo paciente, agilizando a leitura da ficha de um paciente por um mdico assim que este d entrada no hospital. Uniformes, crachs e equipamentos tambm podem ser etiquetados, permitindo um melhor gerenciamento, reduzindo erros e aumentando a segurana.

Implantes em humanos podem ser usados para controle de acesso a lugares restritos ou para facilitar o acesso a certos lugares. Pulseiras metlicas com transponders so usadas em prises nos Estados Unidos para identificar e localizar prisioneiros (PINHEIRO, 2006).

Os microchips podem ainda, ser acoplados a sistemas baseados em satlites como o GPS, para permitir a localizao com preciso de uma pessoa ou produto. Provendo segurana e til em caso de sequestros ou atentados.

O autor relata que a tecnologia RFID pode ser til em indstrias para identificar ferramentas, recipientes e embalagens de produtos periculosos, controle de acesso de segurana. Uma aplicao promissora em linhas de montagem de veculos ou mquinas industriais, neste caso o RFID pode monitorar desde o incio do processo at a entrega ao consumidor, inclusive em caso de manuteno.

19

Na rea de gerenciamento de transportes, a tecnologia de RFID utilizada com o objetivo de facilitar a manuteno de frotas, gerenciar os bilhetes dos passageiros e na acelerao da passagem em rodovias com pedgios. Tambm utilizado por empresas areas e porturias na identificao de malas, containers e demais cargas (SANTINI, 2008).

2.2.1

Aplicao da tecnologia RFID em bibliotecas

A tecnologia RFID pode estar associada a materiais de acervo, como livros, filmes, jornais, processos jurdicos. Neste contexto, a implantao desta tecnologia pode auxiliar diversas atividades, seja no armazenamento seguro das informaes, na realizao de inventrios ou na identificao e rastreamento de materiais do acervo. A adoo da tecnologia permite a implementao de novos servios tais como: servios de auto-atendimento para emprstimo e devoluo de matrias para os usurios, classificao automtica de materiais na devoluo, servio 24 horas de devoluo de materiais (VIEIRA, 2007).

O autor salienta que diversas bibliotecas no mundo todo tm implantado a tecnologia RFID para agilizar as suas diversas atividades e fornecer novos servios. As etiquetas RFID so colocadas nos livros e nos demais itens do acervo facilitando o emprstimo dos materiais. Os leitores RFID identificam os itens e registram no sistema de informatizao da biblioteca aqueles que esto sendo emprestados ou devolvidos.

Os bibliotecrios podem utilizar um computador manual com leitor RFID para realizar inventrio, localizar materiais colocados em prateleiras ou outros locais de forma errada, simplesmente passando o leitor RFID porttil nos livros que se encontram nas prateleiras. Um nmero reduzido de funcionrios pode tomar conta da circulao de materiais, sem a necessidade de manusear os itens do acervo.

Utilizando esta tecnologia as bibliotecas podem implementar servios de auto-atendimento para emprstimo e devoluo de materiais sem necessidade de interveno dos funcionrios.

Em seu artigo, Vieira (2007), prope diversas vantagens na implantao da RFID nas bibliotecas:

20

a) diminuio do tempo gasto em tarefas como, circulao de materiais, manuseio dos itens do acervo nos processos de emprstimo e devoluo de materiais; b) agilidade na incorporao de novos itens ao acervo; c) agilidade na realizao de inventrios; d) possibilidade de implementar sistemas de auto-atendimento e sistemas automatizados de classificao na devoluo de materiais do acervo da biblioteca; e) melhorias no gerenciamento dos itens, mediante a utilizao de

equipamentos para realizar inventrios do acervo em tempo reduzido e localizar materiais que se encontram em locais errados; f) a identificao individual dos itens do acervo permitem implementar

funes de segurana contra furtos.

2.3

Identificao por rdio-frequncia (RFID)

A tecnologia RFID um sistema que transmite dados de um objeto qualquer, atravs de um meio no guiado, usando ondas de rdio (SANTINI, 2008, p. 2).

Pinheiro (2006) salienta que a RFID uma tecnologia de identificao automtica que utiliza as ondas de rdio para capturar os dados contidos em um dispositivo eletrnico ou etiqueta RFID, ou seja, utiliza a comunicao por rdio-frequncia para transmitir dados de um dispositivo mvel a um leitor.

As etiquetas RFID armazenam os dados dos objetos aos quais esto anexados. Quando estes objetos entram numa rea de cobertura de um leitor RFID, as etiquetas transmitem os dados para o leitor, por meio de uma antena. O leitor RFID l os dados e os envia para um software. Este aplicativo pode ento utilizar esses dados, por exemplo, para atualizar as informaes destes objetos numa base de dados.

Segundo o RFID Journal, esta tecnologia utiliza ondas de rdio para identificao automtica de pessoas, lugares ou objetos.

21

Existem vrios mtodos para identificao, o mais comum armazenar informaes em etiquetas RFID que so compostas de um microchip associado a uma antena. A antena permite que o microchip envie informaes para o leitor. Este leitor converte a onda de rdio refletida em informao digital que pode ser passada a um computador

(http://www.rfidjournal.com/faq/16/49).

2.4

Componentes de um sistema RFID

De acordo com Pinheiro (2006), esta tecnologia geralmente composta por dois elementos: tags tambm conhecidas como etiqueta RFID, microchip ou transponders, que so usadas para realizar a transmisso de dados, e um leitor que pode estar conectado a um computador.

Alm das etiquetas e dos leitores, Glover e Bhatt (2008), apontam que um sistema RFID tambm necessita de um middleware para transformar dados em informao. O middleware gerencia dados vindos das etiquetas, capturados pelos leitores, e os repassa para uma aplicao ou para uma base de dados. Ou seja, ele controla o fluxo de informaes entre estes componentes tornando-se responsvel pela qualidade e usabilidade da informao.

2.4.1

Etiquetas RFID

As etiquetas RFID so constitudas de chips de silcio e uma pequena antena embutidos em um invlucro, sendo capazes de responder aos sinais de rdio frequncia de um leitor e de transmitir dados sem a necessidade de fios. So responsveis pelo armazenamento da informao do objeto ao qual esto acopladas e que posteriormente ser lida por um leitor (WANT, 2004).

22

Figura 1 - Etiqueta padro. Fonte: SANTINI, 2008.

Ao contrrio do cdigo de barras que precisa ser lido individualmente, as etiquetas RFID emitem sinais que podem ser identificados e tratados distncia e em lotes. Dentro do alcance do leitor possvel ler centenas de tags por segundo com maior rapidez, mesmo contendo um nmero muito maior de informaes do que os identificadores atuais.

As tags podem ser divididas em trs partes: um substrato contendo o chip e outros componentes eletrnicos, a antena conectada ao chip e um encapsulamento (WANT, 2004).

Pinheiro (2006) ressalta que o principal componente o chip, que alm de realizar a comunicao com um leitor, possui uma memria onde os dados so armazenados.

A antena um dispositivo que pode emitir ou receber ondas eletromagnticas. O leitor e as etiquetas precisam de uma antena para se comunicar. A principal caracterstica de uma antena em um sistema RFID realizar de maneira confivel a troca de informaes entre o leitor e a etiqueta RFID.

Para Glover e Bhatt (2008), existem vrias formas de encapsulamento. As tags podem ficar em botes plsticos, cpsulas de vidro, rtulos de papel, cartes de plstico e at em caixas de metal. Estas formas influenciam em questes como: a durabilidade, resistncia a mudanas de temperatura e acessibilidade.

23

As tags em botes, discos e moedas normalmente so de plstico ou PVC e suportam temperaturas mais altas, sendo utilizadas quando a resistncia do material importante. Tags em rtulos de papel so parecidas com cdigos de barra, podendo ser aplicadas diretamente em caixas, so de tamanhos reduzidos e ativadas apenas com a ativao do leitor. Tags em cpsulas de vidro so ideais para implantes em humanos e animais. Devido a sua durabilidade e ao seu tamanho tambm podem ser utilizadas em ambientes lquidos ou corrosivos (GLOVER & BHATT, 2008).

Quanto ao tipo de operao as tags podem ser classificadas em somente leitura ou leitura/escrita (PINHEIRO, 2006).

No tipo somente leitura, o sinal de resposta pode ser um simples nmero de identificao armazenado em uma etiqueta somente-leitura que vem da fbrica com os dados j gravados no chip e no podem ser alterados. Permite somente a transmisso dos dados pr-gravados pelo fabricante da etiqueta.

No tipo leitura/escrita, o chip possui setores da memria somente para leitura contendo geralmente um nmero de identificao e outros setores de memria disponveis para serem gravados e regravados durante o uso. A execuo de leitura ou escrita pode ser feita com as tags mesmo em movimento.

A capacidade de armazenamento do microchip limitado, em sistemas passivos a capacidade varia entre 64 bits e 8 kilobits. As etiquetas modernas podem armazenar em mdia, de 114 bytes a 1 kbyte de informao na memria.

Vieira (2007) ressalta que o tamanho das etiquetas RFID variam entre 90x130 mm e 9x25mm e podem ser lidas atravs de diversos materiais: papis, plsticos, tecidos, couro e muitos outros. Porm, a leitura no pode ser feita atravs de materiais metlicos, como ferro e alumnio.

Segundo sua forma de ativao, as etiquetas RFID podem ser classificadas em passivas e ativas (VIEIRA, 2007).

24

As etiquetas RFID passivas no possuem fonte de energia prpria, precisam entrar num campo eletromagntico gerado por uma antena leitora para serem ativadas e transmitirem ou gravarem informaes. Existem diversos tipos de sistemas RFID passivos que podem ser diferenciados pela freqncia em que trabalham e pelo alcance para leitura e gravao: a) sistemas RFID de baixa freqncia (LF): operam a 125kHz com um alcance mximo de 50,8 cm; b) sistemas RFID de alta freqncia (HF): operam a 13,56 MHz com um alcance de 100 cm; c) sistemas RFID de ultra-alta freqncia (UHF): operam em diversas freqncias incluindo 868 MHz, 915 MHz e 2,45 GHz. O alcance de leitura varia entre 1 a 6 metros.

As etiquetas RFID ativas possuem pilhas como fonte de energia prpria, isso permite a transmisso das informaes que esto armazenadas no seu microchip sem necessidade de entrar num campo de ativao. A pilha utilizada para aumentar o alcance de operao das etiquetas e permite a transmisso de sinais peridicos, para que sejam capturados por diversos leitores RFID distribudos em diversas partes do prdio.

2.4.2

Leitores

A funo do leitor captar, dentro de sua rea de cobertura, todas as etiquetas RFID. A leitura das informaes transmitidas pela etiqueta pode ser realizada diretamente pelo prprio leitor ou atravs de um software (PINHEIRO, 2006). O leitor opera pela emisso de um sinal de rdio-freqncia, fonte de energia que alimenta o chip da etiqueta RFID, que por sua vez, responde ao contedo de sua memria. Diferentemente do leitor de cdigo de barras, o leitor RFID no necessita de contato visual com a etiqueta para realizar a leitura dos dados. Podendo ainda realizar a leitura simultnea de milhares de microchips e armazenar os dados em memria.

25

Pinheiro (2006) aponta que a distncia entre o leitor e a etiqueta RFID depende de vrios fatores, tais como: tipo do transponder (passivo ou ativo), tamanho da antena, potncia do leitor, frequncia empregada, podendo varias de centmetros a metros.

Glover e Bhatt (2008) salientam que o leitor tem como papel saber conversar com as tags, criar eventos a partir das leituras e enviar estes eventos com um filtro de eventos.

Os leitores possuem duas estruturas gerais, os componentes fsicos e os componentes lgicos.

2.4.2.1

Componentes fsicos

Todo leitor deve possuir uma antena, no necessariamente acoplada a ele, uma interface de rede de algum tipo para que o leitor possa se comunicar com algum outro dispositivo ou servidor e um controlador ou microcomputador para implementar os protocolos de comunicao e controlar o transmissor (GLOVER & BHATT, 2008).

Figura 2 - Componentes fsicos de um leitor. Fonte: GLOVER & BHATT, 2008.

Alguns leitores possuem uma ou duas antenas, embutidas nos prprios leitores, outros so capazes de gerenciar muitas antenas em locais remotos. A principal limitao no nmero de antenas que um leitor pode controlar a perda de sinal no cabo, a maioria das instalaes mantm o leitor dentro de dois metros da antena mais distante, no entanto, distncias maiores so possveis.

26

Os leitores se comunicam com a rede e com outros dispositivos atravs de uma variedade de interfaces. Historicamente, a maioria dos leitores RFID tem interfaces seriais usando RS 232 ou RS 422 (ponto a ponto, par tranado) ou RS 485 (enderevel, par tranado). Nos ltimos anos, cada vez mais leitores tem suportado Ethernet e Bluetooth[...] (GLOVER & BHATT, 2008, p.98).

Um controlador tem como funo gerenciar os protocolos de transmisso. E dentro dele se encontram os componentes lgicos.

2.4.2.2

Componentes lgicos

Dentro de um controlador de leitor RFID, podemos encontrar quatro subsistemas separados que lidam com diferentes responsabilidades (GLOVER & BHATT, 2008).

Figura 3 - Componentes lgicos de um leitor. Fonte: GLOVER & BHATT, 2008.

Cada leitor representa uma interface de programao de aplicaes. A Application Programming Interface (API) responsvel por controlar os nveis de bateria das tags e realizar a transmisso de informaes entre um middleware e o leitor e vice-versa.

O subsistema de comunicaes controla o protocolo de comunicao entre o middleware e o leitor, gerencia a transmisso das informaes que caracterizam a API. Este o componente

27

que implementa Bluetooth, Ethernet ou um protocolo proprietrio para enviar e receber as mensagens que constituem a API[...] (GLOVER & BHATT, 2008, p.99).

O gerenciador de eventos identifica as observaes que passaro a ser consideradas eventos e quais eventos sero enviados a uma aplicao externa da rede. este componente que avalia a importncia de um determinado evento, se relevante para ser transmitido pela interface de rede. Quando um leitor v um identificador, chamamos isto de uma observao. Uma observao que difira das observaes anteriores chamada de um evento. A separao destes eventos chamada de filtragem de eventos [...] (GLOVER & BHATT, 2008, p.99).

O subsistema de antena quem controla a comunicao da antena fsica para com as tag e implementa os protocolos.

2.4.3

Middleware

Para Glover e Bhatt (2008), o middleware tem como objetivo tratar os dados obtidos pelos leitores, seu papel fundamental no processamento das informaes.

utilizado principalmente para filtrar os dados coletados pelos leitores. Os autores apontam trs motivos para se utilizar middleware RFID: encapsular as aplicaes das interfaces de dispositivos, processar as informaes capturadas pelos leitores de modo que as aplicaes s vejam eventos significativos e como uma interface em nvel de aplicao.

Os leitores simplesmente captam os dados, cabe ao middleware organizar esses dados e transform-los em informaes.

Os sistemas integrados com os quais o middleware se comunica podem ser uma base de dados como SQLServer, MySQL ou Oracle em um nico computador ou ser distribuda.

28

2.5

Viso geral de uma implementao RFID

De acordo com Vieira (2007), podemos classificar em 3 camadas uma aplicao utilizando um sistema RFID: a) camada de transferncia de dados: nesta camada esto contidos os diversos modelos de etiquetas e leitoras; b) camada operacional: nesta camada intermediria se encontra o middleware que faz a integrao entre as diversas leitoras com os diversos sistemas existentes; c) camada de negcio: nesta camada encontra-se toda a infraestrutura de uma empresa que se utiliza da tecnologia RFID. Esta camada se caracteriza por sua heterogeneidade devido a diversos tipos de plataformas e sistemas existentes.

2.6

RFID e cdigos de barras

A tecnologia RFID e o cdigo de barras so utilizados para coleta de dados e identificao automtica de objetos. Porm existem caractersticas que diferenciam uma tecnologia da outra (VIEIRA, 2007).

Conforme o RFID Journal, o cdigo de barras eficiente em vrias tarefas e ir coexistir com a RFID por muitos anos (http://www.rfidjournal.com/faq/16/49).

A maior diferena entre essas duas tecnologias se refere leitura de dados. Para que os dados de um cdigo de barras sejam lidos, um scanner precisa entrar em contato direto com o cdigo de barras. A RFID, ao contrrio, no requer um contato direto, as tags podem ser lidas se estiverem dentro da rea de cobertura do leitor RFID.

A tabela a seguir apresenta as principais diferenas entre a tecnologia RFID e o cdigo de barras.

29

Tabela 1 -

Principais diferenas entre RFID e cdigos de barras. CDIGO DE BARRAS No se aplica.

RFID Transmisso de dados por rdio freqncia.

Diversas etiquetas RFID podem ser lidas A leitura das etiquetas sequencial. simultaneamente. A leitura das etiquetas RFID pode ser feita Durante a leitura as etiquetas com cdigo de mesmo se estiverem dentro de diversos barras devem estar expostas sem nenhum materiais como papel, madeira, plsticos, obstculo entre elas e o leitor. entre outros. As etiquetas precisam simplesmente estar A etiqueta precisa estar alinhada ao campo de no campo de ao da antena de deteco. viso do leitor de cdigo de barras. Permite inserir ou alterar os dados que No se aplica. foram armazenados na etiqueta. Maior alcance de leitura das etiquetas. Menor alcance de leitura das etiquetas.

Fonte: VIEIRA, 2007.

Este captulo abordou os principais conceitos da tecnologia RFID. No prximo captulo sero apresentadas ferramentas para o desenvolvimento do prottipo do sistema para biblioteca.

30

FERRAMENTAS PARA DESENVOLVIMENTO DO SISTEMA

O objetivo deste captulo apresentar as ferramentas, frameworks e Padres de Projetos utilizados na implementao do prottipo do sistema para biblioteca. Est subdividido em sesses que traam um breve resumo das tecnologias, suas principais caractersticas e as vantagens de utilizao.

3.1

Java

No desenvolvimento do prottipo do software para bibliotecas foi utilizada a tecnologia Java criada pela Sun Microsystems na dcada de 90. Esta tecnologia foi projetada para permitir o desenvolvimento de aplicaes seguras, com alta performance e multiplataformas (GOSLING & MCGILTON, 1996).

Para poder operar em vrias plataformas o modo tradicional de distribuio das aplicaes se torna invivel. Por esse motivo a linguagem Java prov uma arquitetura neutra, porttil e dinamicamente adaptvel.

Dentre as principais caractersticas do Java podem ser citadas: a) orientao a objetos: atende a todos os requisitos para que uma linguagem seja considerada orientada a objetos, oferece mecanismos de abstrao, encapsulamento e herana. Permite ao desenvolvedor tirar proveito das metodologias mais modernas para o desenvolvimento de software, alm de propiciar maior facilidade para reutilizao de cdigo; b) portabilidade: uma linguagem independente de plataforma, os programas Java no so compilados para uma plataforma de hardware especfica, mas para uma forma intermediria de cdigo destinada Java Virtual Machine (JVM). Todo cdigo fonte escrito transformado em um arquivo.class pelo

31

compilador. O arquivo.class no contm um cdigo nativo do processador, ele contm os bytecodes - a linguagem executada pela JVM; c) performance: Java foi projetada para ser compacta, independente de plataforma e para utilizao em rede. Com a incorporao de um compilador Just in Time na JVM que capaz de converter os bytecodes em cdigo nativo durante a carga do programa, houve uma significativa melhora na performance dos programas Java.

Figura 4 - Processo de compilao de um programa Java. Fonte: SUN, 2008.

A JVM possibilita que um mesmo arquivo.class seja executado em diversas plataformas diferentes.

Figura 5 - Portabilidade do cdigo Java ("write once, run anywhere"). Fonte: SUN, 2008.

32

A tecnologia Java formada por trs plataformas principais apresentadas a seguir: a) Java Standart Edition (JSE): a tecnologia Java utilizada para computadores pessoais, notebooks e arquiteturas com poder de processamento e memria considerveis; b) Java Micro Edition (JME): a tecnologia usada em aplicaes para dispositivos mveis com memria ou processamento limitados. So utilizadas para sistemas em celulares, palm tops, pocket pcs, smartphones, entre outros; c) Java Enterprise Edition (JEE): uma plataforma para desenvolvimento de sistemas distribudos. Esta tecnologia est direcionada para aplicaes multicamadas executadas em um servidor de aplicaes, ideal para a construo de servidores de aplicao, integrao de sistemas ou distribuio de servios para terceiros. Apresenta facilidades para a utilizao de dos recursos computacionais e distribudos tais como banco de dados, componentes Web, etc.

Figura 6 - Plataformas Java. Fonte: SUN, 2008.

33

3.1.1

Java EE

Java EE uma plataforma para desenvolvimento de aplicaes distribudas baseada em padres de desenvolvimento. destinado ao desenvolvimento de aplicaes multicamadas, baseadas em componentes executados em um servidor de aplicao (TEMPLE et. al., 2004).

A arquitetura de uma aplicao JEE pode ser dividida em quatro camadas: a) camada de cliente: parte da aplicao que roda no computador do usurio. a parte responsvel por interagir com o usurio e pela comunicao com as outras camadas da aplicao; b) camada de Web: a camada responsvel por receber as requisies do cliente. Ela responsvel por processar a lgica do negcio. Os componentes dessa camada residem no Web container; c) camada de negcios: a camada que trata a lgica da aplicao. Nessa camada so definidas as regras de negcio. A camada de negcios tambm responsvel pela persistncia dos dados; d) camada de dados: a camada onde se encontra a base de dados da aplicao.

Figura 7 - Camadas de uma aplicao Java para Web. Fonte: SUN, 2008.

34

3.1.2

Containers

Um container um ambiente de execuo que prov servios especficos a um componente. Eles so responsveis por tratar questes de concorrncia, consistncia, segurana, disponibilidade, dentre outros.

Os containers podem ser divididos em dois tipos: a) Container EJB: tem por objetivo prover a infraestrutura necessria para a execuo de componentes de negcio. Permite encapsular a lgica de negcio e dados especficos de uma aplicao, pois os componentes no so acessados diretamente pelo cliente. O cliente faz uma requisio ao Application Client Container que faz a requisio ao Container EJB; b) Container WEB: um Web Container destina-se a processar componentes Web como Servlets, arquivos JSP, HTML e JavaBeans. Deve ser capaz de aceitar requisies HTTP, acionar os componentes e gerar uma resposta para o cliente.

Figura 8 - Diviso do Container. Fonte: SUN, 2008.

35

3.1.3

Sun Java System RFID

O Sun Java System RFID um software criado pela Sun Microsystems de acordo com as especificaes definidas pela EPCGlobal (SUN, 2006) para implementao do middleware que faz a ligao entre o hardware RFID e a aplicao.

O objetivo do Sun Java System RFID processar os dados capturados pelos leitores possibilitando passar dados para a aplicao de forma fcil e padronizada.

O software composto por dois mdulos principais: a) RFID Event Manager; b) RFID Information Server.

O mdulo RFID Event Manager tem a funo de capturar e filtrar as informaes vindas de um dispositivo de leitura. Estas informaes podem ser armazenadas para uma anlise futura. As informaes tambm podem se enviadas para o mdulo RFID Information Server.

O RFID Information Server responsvel por ler um conjunto de dados de baixo nvel e fornecer informaes de alto nvel para uma aplicao externa.

Figura 9 - Funcionamento do Sun Java System RFID. Fonte: SUN, 2006.

36

3.2

Servidor de Aplicao

Servidores de aplicao so softwares que fornecem a infraestrutura de servios para a execuo de aplicaes (TEMPLE et. al., 2004).

A vantagem do uso de um servidor de aplicao a possibilidade de abstrair algumas partes complexas de um sistema computacional, permitindo que o desenvolvedor se concentre no desenvolvimento da aplicao e no em questes de infraestrutura.

O servidor de aplicao fica responsvel pelas funes de segurana, garantia de disponibilidade, balanceamento de carga e tratamento de excees. Como exemplos de servidores de aplicao podem ser citados WebSphere Application Server, WebLogic Server, JBoss, Glassfish, entre outros.

servidor

escolhido

para

realizao

deste

trabalho

foi

GlassFish.

O GlassFish um servidor de aplicaes de cdigo aberto desenvolvido pela Sun Microsystems para a plataforma Java EE (Java Enterprise Edition), de nvel corporativo que oferece desempenho, confiabilidade, produtividade e facilidade de uso. Alm disso, tambm apresenta suporte total s novas especificaes Java para Web.

3.3

AJAX

AJAX, abreviao para Asynchronus JavaScript and XML, no uma tecnologia nova, mas uma maneira de usar tecnologias j existentes para melhorar a usabilidade e a interatividade na Web (CRANE et. al., 2006).

O principal componente o XMLHttpRequest. Este objeto permite a um cdigo JavaScript fazer o envio de dados e receber uma resposta de um servidor sem a necessidade de recarregar toda a pgina Web. Da vem o termo Asynchronous, pois os dados no precisam necessariamente ser carregados ao mesmo tempo em que se carrega a pgina, em outras

37

palavras, no precisa haver sincronia do carregamento de dados com o carregamento da pgina Web.

Segundo Garrett, 2005, AJAX incorpora as seguintes tecnologias: a) apresentao baseada em tecnologias padronizadas, usando HTML e CSS;

b) exibio e interao dinmica utilizando DOM; c) manipulao de utilizando dados XML e XSTL;

d) recuperao de dados assncrona usando o XMLHttpRequest; e) uso de JavaScript para interligar esse elementos.

Algumas aplicaes possveis para AJAX: a) validao em tempo real: um campo pode ser validado antes do envio do formulrio ; b) criao de interfaces sofisticadas (Rich Internet Application); c) atualizao de dados em uma pgina: as informaes de uma pgina podem ser atualizadas sem a necessidade de recarrega-l.

3.4

JQuery

JQuery uma biblioteca JavaScript de cdigo aberto criada em 2006 por John Resig com o objetivo de simplificar o cdigo JavaScript e o uso do AJAX (BIBEAULT & KATZ, 2008).

A biblioteca JQuery permite ao programador: a) acessar apenas partes da pgina atravs um mecanismo que permite recuperar apenas a parte do documento que deve ser manipulada; b) modificar a aparncia da pgina atravs de CSS; c) alterar o contedo da pgina; d) responder interaes do usurio com a pgina; e) adicionar animaes a uma pgina; f) recuperar informaes do servidor sem precisar recarregar a pgina usando AJAX;

38

g) simplificar tarefas comuns do JavaScript, como iteraes e manipulao de arrays.

Alm disso, a biblioteca JQuery d suporte a vrios plugins que podem simplificar o desenvolvimento de pginas Web.

3.5

Padres de Projeto

Padres de Projeto, segundo Gamma et. al. (2005, p.20), so descries de objetos e classes comunicantes que precisam ser personalizadas para resolver um problema geral de projeto num contexto particular.

Um Padro de Projeto identifica e nomeia em uma estrutura de projeto os aspectos-chaves que so comuns para a criao de projeto orientado a objetos reutilizveis e flexveis (GAMMA et. al., 2005).

H vrios Padres de Projeto, dentre eles apresentamos os padres Model-View-Controller (MVC), Factory Method, Observer, Composite, Strategy e Singleton, utilizados no software para bibliotecas.

3.5.1

MVC

A arquitetura MVC um Padro de Projeto usado em engenharia de software. O seu uso faz com que a lgica do negcio fique separada da interface grfica, facilitando modificaes na aparncia e nas regras de negcio isoladamente. A trade de classes Model-View-Controller, composta por trs tipos de objetos. A classe Model o objeto da aplicao, contm todos os estados, dados e lgica do aplicativo. A classe View a apresentao na tela, ou seja, a interface com o usurio. O Controller corresponde ao

39

gerenciamento das aes geradas pelo usurio. Este objeto recebe os dados do usurio e determina o que isso significa para a Model (GAMMA et. al., 2005).

O fluxo de uma aplicao utilizando MVC normalmente acontece da seguinte forma: a) o usurio interage com a interface (Ex: ao clicar em um boto); b) o Controller captura o evento gerado pela interface grfica e notifica o Model da ao, possivelmente alterando o estado do Model (Ex: insero de registros no banco de dados); c) uma View usa o Model para gerar a interface (Ex: resultados de uma consulta no banco de dados); d) a interface espera por outras interaes do usurio, e o ciclo recomea.

Esta arquitetura ajuda a reduzir a complexidade do Model e aumenta a flexibilidade e a reutilizao de cdigo.

Aes do usurio

CONTROLLER - Define o comportamento da aplicao; - mapeia aes do usurio que inpactem no Model; - seleciona a View para resposta; - uma para cada funcionalidade.

Altera estados

Seleciona a view

VIEW - Serve o Model; - solicita alteraes no Model; - envia as aes do usurio a Controller; - permite que a Controller selecione a View.

Notificao de mudanas

MODEL - Encapsula o estado da aplicao; - notifica as Views de mudanas; - expe as funcionalidades da aplicao; - responde as interrogaes de estado.

Figura 10 - Camadas de uma aplicao MVC. Fonte: Gamma et. al. (2005).

Gamma et. al. (2005), aponta que a MVC tambm utiliza outros padres de projeto, tais como Factory Method, Observer, Composite e Strategy.

40

O padro Factory Method define uma interface para criar um objeto e permite que as subclasses definam qual classe ser instanciada, adiando a instanciao para as subclasses. Deve ser usado quando uma classe no pode antecipar a classe de objetos que deve criar, quando uma classe quer que suas subclasses especifiquem os objetos que criam e quando classes delegam responsabilidades para uma dentre vrias subclasses auxiliares (...) (GAMMA et. al., 2005, p.113).

A MVC utiliza o padro de projeto Factory Method para especificar, por exemplo, a classe Controller para uma View.

O padro Observer define uma dependncia de um-para-muitos entre os objetos, assim, quando um objeto mudar de estado, todos os dependentes tambm sero notificados e atualizados.

De acordo com Gamma et. al. (2005), o padro Observer deve ser utilizado em algumas situaes: quando uma abstrao tem dois aspectos e um dependente do outro, esses aspectos so encapsulados em objetos separados, permitindo o reuso; quando a mudana em um objeto implica em mudana em outros objetos e no se sabe quantos so ou quando um objeto deve ser capaz de notificar outros objetos sem usar informaes sobre quem so estes objetos.

O uso do padro Observer mantm o Model totalmente independente das Views e Controllers, e permite que sejam fornecidas Views alternativas, mantendo os objetos interessados constantemente informados sobre suas mudanas de estado.

O padro Composite compe os objetos em forma de rvore para a representao de hierarquias do tipo partes-todo, permite tambm que o tratamento de objetos individuais e composies de objetos sejam iguais.

Seu uso indicado quando se deseja representar hierarquias partes-todo de objetos, quando os objetos forem tratados na estrutura composta de maneira uniforme (GAMMA et. al., 2005).

A View juntamente com o padro Composite est disposio do usurio esperando por qualquer evento, quando este evento ativado o Controller avisado sobre o evento. O

41

Controller avisa para a View se atualizar, e ao mesmo tempo notifica o Model para que ele atue para contemplar o evento provocado pelo usurio, depois da atuao o Model fica pronto para ser acessado pela View, esta por sua vez atualiza-se para o usurio.

O padro Strategy define uma famlia de algoritmos, encapsula cada um deles e permite que o algoritmo varie independente de quem o utiliza.

indicado quando as classes relacionadas apresentam diferenas apenas no seu comportamento, para impedir a exposio das estruturas de dados do algoritmo e quando uma classe apresenta muitos comportamentos e estes possuem operaes com muitos comandos condicionais (GAMMA et. al., 2005).

A View e o Controller utilizam o padro Strategy que fornecida pelo Controller. A View s precisa se preocupar com os aspectos visuais do aplicativo, porque todas as decises sobre o comportamento da interface so delegadas ao Controller, o uso deste padro mantm a visualizao desconectada do modelo, porque a responsabilidade pela iterao com o modelo por executar as solicitaes do usurio cabe apenas ao controlador, a visualizao no tem a mnima idia de como isto feito.

o Controller que organiza a MVC por meio de mtodos. Todas as decises, estratgias e eventos que podem ser usados pelo usurio so definidos nele, a View s se preocupa em mostrar os dados ao usurio e reagir segundo as suas programaes.

3.5.2

Singleton

Singleton um padro de projeto que garante que uma classe tenha somente uma instncia e fornece um ponto global de acesso para a mesma (GAMMA et. al., 2005, p.130).

Sua utilizao indicada quando for necessria a existncia de apenas uma instncia de uma classe atravs de um ponto conhecido e quando essa instncia for extensvel atravs de subclasses sem alterao do cdigo (GAMMA et. al., 2005).

42

um padro simples, muito utilizado em conexes com banco de dados e oferece outros benefcios: a) acesso controlado instncia nica: a classe Singleton encapsula a nica instncia, possui tambm controle total sobre como e quando os usurios a acessam; b) espao de nomes reduzido: apresenta uma melhoria com relao ao uso de variveis globais que armazenam instncias nicas; c) permite um refinamento de operaes e da representao: possvel configurar a aplicao com uma nica instncia da classe de que necessita em tempo de execuo; d) permite um nmero varivel de instncias: permite mais de uma instncia da classe Singleton. Uma mesma abordagem para controlar o nmero de instncias pode ser utilizada e somente a operao que permite acesso instncia de Singleton precisa ser mudada; e) mais flexibilidade do que operaes de classe: uma maneira de empacotar a funcionalidade de um Singleton usar operaes de classe.

3.6

Frameworks

Segundo Brown et. al. (2004) um framework uma estrutura que prov automao de tarefas de um domnio comum. Tem como objetivo prover uma plataforma para que o desenvolvimento de uma aplicao seja feito de maneira mais rpida.

Existem diversos frameworks, neste trabalho foram utilizados os frameworks Struts e Hibernate.

43

3.6.1

Struts Framework

O Struts Framework um projeto open source mantido pela Apache Software Foundation. Foi criado por Craig McClanahan em maio de 2000, e desde ento vem sendo melhorado pela comunidade open source. Foi desenvolvida com o objetivo de fornecer um framework para facilitar o desenvolvimento de aplicaes para Web (BROWN et. al., 2004).

O framework Struts implementa o padro de projeto Model-View-Controller (MVC). O principal objetivo do Struts separar a lgica da aplicao da camada de visualizao e da camada de controle.

O Controller j vem implementado no Struts e o fluxo da aplicao programado em um arquivo XML.

A gerao da interface feita atravs de Tag Libraries, tambm j implementada pela Struts, evitando assim o uso de Scriptlets, deixando o cdigo JSP mais limpo e fcil de manter.

Figura 11 - Aplicao do Struts no MVC. Fonte: BROWN et. al., 2004.

44

Abaixo so listadas algumas vantagens do uso do framework Struts: a) um padro de mercado; b) foco nas regras de negcios; c) uso de padres de projeto; d) aumento de produtividade; e) simplifica o uso de Servlets; f) Struts um projeto de fonte aberta e bem documentado; g) evita o uso de Scriptlets (trechos de cdigo Java na camada de visualizao).

Neste trabalho foi usada a verso Struts 1.3.

3.6.2

Hibernate

Hibernate um framework open source criado em meados de 2001 por Gavin King e outros desenvolvedores. Desde ento, vem se tornando um popular framework de persistncia na comunidade Java (BAUER & KING, 2005).

O Hibernate uma soluo para Mapeamento Objeto Relacional (ORM) para aplicaes Java.

Segundo Bauer e King (2008), o Mapeamento Objeto Relacional consiste em persistir um objeto Java numa tabela em uma base de dados relacional.

45

Figura 12 - Funcionamento do Hibernate. Fonte: BAUER & KING, 2005.

Bauer e King (2008) apresentam as seguintes vantagens do uso do Hibernate: a) produtividade: o Hibernate elimina a parte do cdigo relacionada a persistncia, deixando o desenvolvedor se preocupar apenas com a lgica do negcio; b) esses fatores podem resultar numa significativa reduo de tempo; c) manuteno: quanto menos cdigo, mais fcil se torna a compreenso do programa. Outra importante vantagem que o processo de refatorao pode ser feito com mais facilidade; d) independncia do banco de banco: o mapeamento no depende do sistema gerenciador do banco de dados (SGBD), pois a comunicao com o banco feita usando um SQL Dialect. Caso o SGBD seja trocado durante o desenvolvimento o mapeamento no precisa ser refeito, apenas o Dialect trocado.

46

3.7

Oracle 10g Express Edition

O Sistema Gerenciador de Banco de Dados (SGDB) utilizado neste trabalho foi o Oracle 10g Express Edition (Oracle XE) produzido pela Oracle.

O banco de dados Oracle XE, possui tamanho compacto, para desenvolvimento, implementao e distribuio livre. Pode ser instalado em uma mquina host de qualquer tamanho com qualquer quantidade de Unidade Central de Processamento (CPU), um banco de dados por mquina, mas o XE armazena at 4 GB de dados do usurio, consome at 1 GB de memria e usa uma CPU na mquina host.

Apresenta, de acordo com o site de seu fabricante (www.oracle.com), as seguintes vantagens: a) liberdade para desenvolver e implementar aplicativos de muitas plataformas, trazendo suporte para uma grande variedade de ambientes de desenvolvimento; b) facilidade para o usurio fazer atualizao do Oracle Database XE e sua aplicaes para outras verses, sem mudanas estruturais; c) possui o recurso Oracle HTML DB, que usado para rpido desenvolvimento e implementao de aplicativos baseados na Web; d) apresenta suporte para diferentes comunidades de desenvolvimento como os que trabalham com Java, PHP, .NET; e) encontra-se disponvel para sistema operacional Linux e Windows de 32 bits, e pode ser instalado em qualquer plataforma de hardware, com qualquer configurao e qualquer nmero de CPUs; f) oferece suporte ao Procedural Linguage/ Structure Query Language

(PL/SQL), extenso da linguagem SQL e desenvolvido pela Oracle.

Este captulo abordou as principais tecnologias escolhidas para implementao do prottipo do sistema para biblioteca. No prximo captulo ser apresentada a modelagem e o

desenvolvimento do sistema.

47

MODELAGEM E DESENVOLVIMENTO DO SISTEMA

Este captulo tem o objeto de descrever o processo de desenvolvimento do sistema para bibliotecas. Est subdividido em sesses que abordam as atividades do processo de software, especificao de requisitos, os principais modelos gerados para a sua documentao, tais como os modelos de sistema orientado a objeto e modelos de dados, e por fim a implementao do prottipo proposto.

4.1

Processo de software

A produo de um software engloba vrias atividades que juntas formam o processo de software. Segundo Sommerville (2007), as atividades fundamentais so: a) especificao: so definidas as funcionalidades e as restries na operao de um software. Este processo leva produo de um documento de requisitos denominado especificao de requisitos; b) projeto e implementao: produo do software se este atender s especificaes. o processo de converso de uma especificao em um sistema executvel; c) validao: deve ser realizada para garantir que o software atenda s necessidades do cliente. Destina-se a mostrar que o sistema est em conformidade com as especificaes; d) evoluo: a evoluo de software deve existir para garantir que as necessidades mutveis do cliente sejam atendidas.

48

4.2

Especificao de Requisitos de Software

Uma tcnica muito utilizada documentar a especificao de software por meio de modelos (SOMMERVILLE, 2007). Os modelos so representaes grficas que descrevem os processos de negcios, o problema a ser resolvido e o sistema a ser desenvolvido (SOMMERVILLE, 2007, p.112).

Podem ser desenvolvidos diferentes modelos para representar o sistema em diferentes perspectivas. Como por exemplo, modelos de contexto, modelos de comportamento, modelos de dados, modelos de objetos.

Para documentao da especificao de requisitos do software para bibliotecas foi utilizado o modelo de objetos. Este modelo envolve um projeto de classes e de relacionamentos entre essas classes que so responsveis por definir os objetos do sistema e suas interaes (SOMMERVILLE, 2007).

O surgimento do paradigma orientado a objetos trouxe benefcios, tais como reuso das classes, modularizao do sistema e reduo do custo de manuteno.

Sommerville (2007) aponta que ao longo do processo de desenvolvimento de um projeto orientado a objetos esto presentes as seguintes etapas: a) anlise orientada a objetos: desenvolvimento de modelos orientado a objetos do domnio da aplicao. Os objetos referem-se s entidades e operaes; b) projeto orientado a objetos: desenvolvimento de um modelo de um sistema de software para implementao dos requisitos que foram identificados; c) programao orientada a objetos: realizao de um projeto utilizando uma linguagem de programao orientada a objetos, como o Java.

Na anlise de requisitos orientada a objetos deve-se modelar as entidades do mundo real por meio de classes de objetos. Os modelos devem mostrar como as classes esto relacionadas uma com as outras e como os objetos esto relacionados com outros objetos (SOMMERVILLE, 2007).

49

Vrios mtodos de projeto orientado a objetos foram propostos, dentre eles a Unified Modeling Language (UML), linguagem padro para a modelagem orientada a objetos que pode ser empregada para visualizao, especificao, construo e documentao de artefatos (BOOCH et. al., 2005).

Os diagramas na UML so representaes grficas dos elementos do sistema. A UML inclui vrios diagramas, tais como: diagrama de classes, diagramas de caso de uso, diagrama de sequncia, diagramas de grficos de estado, entre outros.

O diagrama de classes composto por um conjunto de classes, interfaces e colaboraes, incluindo seus relacionamentos e so encontrados em sistemas de modelagem orientados a objetos (BOOCH et. al., 2005).

Apresenta uma viso de como as classes esto organizadas e como iro compor o sistema. Possibilita definir a sua estrutura determinando os mtodos e atributos, assim como demonstrar como as classes se relacionam e trocam informaes.

Diagrama de casos de uso se refere aos servios, funes ou tarefas que podem ser utilizados pelos usurios do sistema. Exibem um conjunto de casos de uso, atores e seus relacionamentos (BOOCH et. al., 2005).

So usados para identificar as interaes individuais com o sistema de forma mais detalhada. Definem o comportamento do sistema, as exigncias e o resultado esperado de uma funcionalidade (SOMMERVILLE, 2007).

Diagramas de sequncia so diagramas de interao que enfatiza as mensagens numa ordem temporal. Muitas vezes so utilizados para propiciar mais informaes aos casos de uso. Mostram os agentes envolvidos nas interaes, as operaes associadas aos objetos e os com quais objetos interagem (SOMMERVILLE, 2007).

Os diagramas de grafo de estado exibem mquinas de estados constitudos de estados, transies e eventos (BOOCH et. al., 2005). So uma representao do estado ou situao em que um objeto pode se encontrar no decorrer da execuo de processos de um sistema ou enquanto espera por eventos. Transio se refere ao relacionamento entre dois estados,

50

indicando que o objeto que est no primeiro estado ir passar para o segundo estado mediante a ocorrncia de um determinado evento.

4.2.1

Requisitos funcionais do sistema

RF01- O sistema deve permitir que o administrador cadastre usurios. Os usurios possuem um nmero que usado para sua identificao, nome, login e senha. RF02- O sistema deve permitir que o administrador cadastre itens do acervo. Os itens devem conter o ISBN, ttulo, autor, edio, editora, cidade, ano, segmento ao qual pertence e ser classificado por tipo, como: livros, revistas e material multimdia. RF03- O sistema deve permitir que o administrador cadastre atendentes e estabelea os perfis de acesso do atendente no sistema. O atendente possui um nmero de identificao, nome, login e senha. RF04- O sistema deve permitir que o administrador cadastre segmentos dos itens do acervo, contendo nmero de identificao, nome do segmento e descrio. RF05- O sistema deve permitir que o administrador cadastre tipos de itens do acervo, contendo um nmero de identificao e nome. RF06- O sistema deve permitir que o atendente efetue emprstimo de no mximo dois itens do acervo por vez ao usurio, contendo nmero de identificao do emprstimo, nmero de identificao do usurio, item retirado, data de retirada, data prevista de devoluo, data da efetiva entrega e nmero de identificao do atendente que efetivou o emprstimo, passando a etiqueta RFID do item pela leitora ou manualmente. RF07- O sistema deve permitir que o atendente efetue a devoluo de itens ao acervo, contendo o nmero de identificao do usurio, o nmero de identificao do item, a data da devoluo e o nmero de identificao do atendente, passando a etiqueta RFID do item pela leitora ou manualmente. RF08- O sistema deve permitir que o atendente registre multas referentes a um usurio que no entregar o item emprestado na data determinada para devoluo, contendo nmero de identificao do usurio, nmero de identificao da multa, nmero de identificao do atendente, valor da multa, um status referente se o usurio efetivou o pagamento da multa ou no, data do pagamento.

51

RF09- O sistema deve permitir que o atendente e o usurio realizem pesquisas referentes aos itens do acervo, verifiquem se um item est disponvel para emprstimo ou consulta, informando a quantidade de exemplares dos itens disponveis. RF10- O sistema deve permitir que o atendente verifique se um item do acervo que est sendo requisitado para emprstimo est reservado. RF11- O sistema dever permitir que o atendente verifique a quantidade de um determinado item do acervo. Se este item possuir mais de dois exemplares, o usurio ter um prazo de devoluo de sete dias. Caso contrrio, o emprstimo ter um prazo de trs dias. RF12- O sistema dever permitir que o atendente controle a situao do usurio, se ele est apto ou no a efetuar emprstimo de itens do acervo. RF13- O sistema deve permitir que o usurio consulte livros por um determinado perodo de tempo, esse item no pode ser retirado da biblioteca, contendo o nmero de identificao do usurio, nmero de identificao do item, nmero de identificao do atendente, data e data. O atendente deve passar a etiqueta RFID do item pela leitora e o sistema captura a sua identificao ou cadastrar manualmente a consulta. RF14- O sistema deve permitir que o usurio reserve itens do acervo para emprstimo, contendo o nmero de identificao do item, nmero de identificao do usurio e data da reserva e prazo. RF15- O sistema deve permitir que o usurio faa emprstimo do item desejado, ou seja, o sistema deve permitir o auto-atendimento. O usurio deve passar a etiqueta RFID do item pela leitora e o sistema captura a sua identificao. RF16- O sistema deve permitir que o usurio faa a devoluo de um item emprestado. O usurio deve passar a etiqueta RFID do item pela leitora e o sistema captura a sua identificao.

4.2.2

Requisitos no funcionais

RNF01- O sistema deve operar 24x7, com garantia de 90% de disponibilidade. RNF02- O sistema deve conter reas de acesso comum e acesso restrito por meio de login e senha. O usurio poder acessar apenas as informaes que seu perfil necessita para realizar suas atividades, sendo impedido de acessar s demais.

52

RNF03- O sistema de gesto de bibliotecas no um sistema crtico, mas fundamental a realizao de back-ups peridicos. RNF04- O sistema deve ser uma aplicao Web e oferecer suporte aos browsers Firefox 1.5 e Windows Internet Explorer.

4.2.3

Diagrama de casos de uso

A Figura 13 contm os casos de usos determinados na fase de levantamento de requisitos.

System Consultar Itens

Usurio da biblioteca

Reservar Itens

Efetuar Devoluo RFID

Pesquisar Itens Cadastrar Segmentos

Efetuar Emprstimo Atendente

Cadastrar Usurios

Administrador Cadastrar Itens Consultar Situao de Usurios

Registrar Multas

Cadastrar Atendentes

Figura 13 - Diagrama de casos de uso.

53

4.2.4

Descrio dos casos de uso

4.2.4.1

Consultar itens

A Tabela 2 descreve o caso de uso consultar itens.

Tabela 2 - Descrio de Caso de Uso (Consultar itens). ID do caso de COM-001 uso Funo Consultar itens Ator Descrio Entradas Origem Sadas Destino Excees Usurio Descreve as etapas necessrias para que o usurio retire um item do acervo para consulta. Nmero de identificao do item, nmero de identificao do usurio. A leitora do RFID faz a leitura da tag acoplada no item e envia o nmero de identificao para o sistema. Nome do item retirado para consulta. O item fica indisponvel para ser retirado por outro usurio. 1. O usurio no est cadastrado, 2. O item no est cadastrado, 3. O usurio est bloqueado, 4. Falha na leitura da tag. O usurio informa seu nmero de identificao ao atendente que verifica no sistema se o usurio est cadastrado e se possui alguma restrio. Ao confirmar o usurio solicita ao atendente o item desejado, o atendente pesquisa se o item est disponvel, se sim o atendente retira o item do local em que est armazenado, passa a tag do item pela leitora RFID que envia ao sistema o nmero de identificao do item e o usurio pode retir-lo para consulta. O atendente informa ao sistema o nmero de identificao do item. Validao do usurio e do item. O usurio precisa estar cadastrado, o item precisa estar disponvel. Permite a retirada do item para consulta.

Curso Normal

Curso Alternativo Requer Precondio Ps-condio

54

4.2.4.2

Reservar itens

A Tabela 3 apresenta a descrio do caso de uso reservar itens.

Tabela 3 - Descrio de Caso de Uso (Reservar itens). ID do caso de uso Funo RES-001 Reservar itens

Ator Descrio

Usurio Descreve as etapas necessrias para que o usurio faa a reserva do item desejado.

Entradas

Nmero de identificao do item, nmero de identificao do usurio.

Origem Sadas Destino Excees Curso Normal

Cadastro de itens. Nome do item reservado. A solicitao de reserva fica armazenada. 1. O usurio no est cadastrado. O usurio informa o item que deseja reservar ao atendente, que registra no sistema a reserva e o nmero de identificao do usurio.

Curso Alternativo

O usurio faz o login web, o sistema verifica se o usurio est cadastrado. Se sim, o usurio poder informa o item que deseja reservar.

Requer Precondio Ps-condio

Validao do usurio. O usurio deve estar cadastrado, o item precisa estar cadastrado. O item fica reservado.

55

4.2.4.3

Pesquisar itens

A Tabela 4 apresenta a descrio do caso de uso pesquisar itens.

Tabela 4 - Descrio de Caso de Uso (Pesquisar itens). ID do caso de uso Funo PES-001 Pesquisar itens

Ator Descrio

Atendente, Usurio Descreve as etapas necessrias para pesquisa sobre um determinado item.

Entradas Origem Sadas Destino

Nmero de identificao do item, nome do item, autor. Verificao dos itens cadastrados. Informaes acerca do item selecionado. Auxilia na efetivao de uma solicitao de consulta ou emprstimo de um item ao usurio.

Excees Curso Normal

1. O item no est cadastrado. O atendente ou usurio informa ao sistema o nmero de identificao do item, nome do item ou autor e realiza a pesquisa.

Curso Alternativo Requer Precondio Ps-condio

No h. Validao do item. O item deve estar cadastrado no sistema. O usurio informa se deseja realizar uma consulta ou um emprstimo.

56

4.2.4.4

Efetuar devoluo

Na Tabela 5 apresentada a descrio de caso de uso efetuar devoluo.

Tabela 5 - Descrio de Caso de Uso (Efetuar devoluo). ID do caso de uso Funo DEV-001 Efetuar devoluo

Ator Descrio

Atendente, Usurio Descreve as etapas necessrias para que o sistema registre a devoluo de um item entregue por um usurio.

Entradas Origem

Nmero de identificao do item. A leitora do RFID faz a leitura da tag acoplada no item e envia o nmero de identificao para o sistema. O atendente efetua a devoluo no sistema.

Sadas Destino Excees Curso Normal

Confirmao da devoluo. O item fica liberado para novo emprstimo. 1. Falha na leitura da tag. O usurio entrega o item ao atendente que passa a leitora RFID pela tag. enviado ao sistema o nmero de identificao do item e o livro liberado para novo emprstimo.

Curso Alternativo

O atendente registra manualmente no sistema a devoluo do item que liberado para novo emprstimo.

Requer Precondio Ps-condio

Validao do item. O emprstimo precisa estar cadastrado. Libera o item para novo emprstimo.

57

4.2.4.5

Efetuar emprstimo

A Tabela 6 descreve o caso de uso efetuar emprstimo.

Tabela 6 - Descrio de Caso de Uso (Efetuar emprstimo). ID do caso de uso Funo Ator Descrio Entradas Origem EMP-001 Efetuar emprstimo Atendente, Usurio Descreve as etapas necessrias para que o sistema registre o emprstimo de um item a um usurio. Nmero de identificao do item, nmero de identificao do usurio. A leitora do RFID faz a leitura da tag acoplada no item e envia o nmero de identificao para o sistema. O atendente efetua no sistema o emprstimo. Confirmao do emprstimo. O item fica indisponvel para ser retirado por outro usurio. 1. O usurio no est cadastrado, 2. O item no est cadastrado, 3. Falha na leitura da tag, 4.Usurio encontra-se bloqueado para realizar emprstimos. O usurio informa seu nmero de identificao ao atendente que verifica no sistema se o usurio est cadastrado e se o mesmo possui restrio que o impea de solicitar o emprstimo. Ao confirmar o usurio solicita ao atendente o item desejado, o atendente pesquisa se o item est disponvel para emprstimo, se sim o atendente retira o item do local em que est armazenado, passa a tag do item pela leitora RFID que envia ao sistema o nmero de identificao do item e o usurio pode retir-lo. O atendente deve realizar o processo manualmente no sistema informando o nmero de identificao do item, os dados do usurio e confirma o emprstimo. Validao do item e do usurio. O usurio precisa estar cadastrado, o item precisa estar disponvel. Permite emprstimo do item.

Sadas Destino Excees

Curso Normal

Curso Alternativo

Requer Precondio Ps-condio

58

4.2.4.6

Consultar situao do usurio

Na Tabela 7 apresentada uma descrio do caso de uso consultar situao do usurio.

Tabela 7 - Descrio de Caso de Uso (Consultar situao do usurio). ID do caso de uso Funo CSU-001 Consultar situao dos usurios

Ator Descrio

Atendente Descreve as etapas necessrias para que um atendente verifique a situao de um usurio, se este est apto a realizar um emprstimo, uma consulta e se h dbitos pendentes.

Entradas Origem Sadas Destino Excees Curso Normal

Nmero de identificao do usurio. Cadastro de usurios. Situao do usurio. Possibilita a realizao de consulta ou emprstimo de item. 1. O usurio no est cadastrado. O atendente informa o nmero de identificao do usurio ao sistema.

Curso Alternativo Requer Precondio Ps-condio

No h. O usurio deve estar cadastrado. Cadastro do usurio. Informar o nmero de identificao do item e qual operao o usurio deseja realizar, consulta ou emprstimo.

59

4.2.4.7

Registrar multas

Na Tabela 8 apresentada uma descrio do caso de uso registrar multas.

Tabela 8 - Descrio de Caso de Uso (Registrar multa). ID do caso de uso Funo MUL-001 Registrar multas

Ator Descrio

Atendente Descreve as etapas necessrias para o atendente registrar multas referentes a um usurio.

Entradas Origem Sadas Destino Excees Curso Normal

Nmero de identificao do usurio. Cadastro de usurios. Registro de multa. Situao do usurio. 1. Usurio no cadastrado. O atendente informa o nmero de identificao do usurio, o sistema armazena a informao nos dados do usurio.

Curso Alternativo Requer

No h. O usurio efetua a devoluo aps a data registrada para entrega do item.

Precondio Ps-condio

Ultrapassar a data registrada para entrega. O usurio fica bloqueado para solicitar consulta e emprstimo.

60

4.2.4.8

Cadastrar usurios

A Tabela 9 descreve o caso de uso cadastrar usurio.

Tabela 9 - Descrio de Caso de Uso (Cadastrar usurios). ID do caso de uso Funo USU-001 Cadastrar usurios

Ator Descrio

Administrador Descreve as etapas necessrias para cadastrar e alterar dados sobre um usurio.

Entradas Origem Sadas Destino Excees Curso Normal

Dados do usurio. Informaes fornecidas pelo usurio. Confirmao de cadastro do usurio. Cadastro do usurio. 1. Usurio j cadastrado. O administrador efetua login no sistema, realiza o cadastro do usurio.

Curso Alternativo Requer Precondio Ps-condio

No h. Ter perfil de administrador. Os dados devem ser inseridos pelo administrador. Habilita o usurio a realizar emprstimo e consulta de itens do acervo.

61

4.2.4.9

Cadastrar atendentes

A Tabela 10 apresenta uma descrio do caso de uso cadastrar atendentes.

Tabela 10 ID do caso de uso Funo

Descrio de Caso de Uso (Cadastrar atendentes). ATE-001 Cadastrar atendentes

Ator Descrio

Administrador Descreve as etapas necessrias para cadastro, alterao e excluso de dados de um atendente.

Entradas Origem Sadas Destino Excees Curso Normal

Dados do atendente. Informaes fornecidas pelo atendente. Confirmao de cadastro do atendente. Cadastro do atendente. 1. Atendente j cadastrado. O administrador efetua login no sistema, realiza o cadastro do atendente.

Curso Alternativo Requer Precondio Ps-condio

No h. Ter perfil de administrador. Os dados devem ser inseridos pelo administrador. Habilita o atendente a efetuar emprstimos, consultas de itens do acervo, realizar pesquisa de itens, consultar situao dos usurios.

62

4.2.4.10

Cadastrar itens

Na Tabela 11 apresentada uma descrio do caso de uso cadastrar itens.

Tabela 11 - Descrio de Caso de Uso (Cadastrar itens). ID do caso de uso Funo ITE-001 Cadastrar itens

Ator Descrio

Administrador Descreve as etapas necessrias para o cadastro de itens do acervo.

Entradas Origem Sadas Destino Excees Curso Normal

Dados do item. Informaes fornecidas pelo administrador. Confirmao de cadastro do item. Cadastro de itens. 1. Item j cadastrado. O administrador efetua login no sistema, realiza o cadastro do item.

Curso Alternativo Requer Precondio Ps-condio

No h. Ter perfil de administrador. Os dados devem ser inseridos pelo administrador. Habilita o item para emprstimos e consultas.

63

4.2.4.11

Cadastrar segmentos

Na Tabela 12 apresentada uma descrio do caso de uso cadastrar segmentos.

Tabela 12 - Descrio de Caso de Uso (Cadastrar segmentos). ID do caso de uso Funo SEG-001 Cadastrar segmentos

Ator Descrio

Administrador Descreve as etapas necessrias para o cadastro de segmentos dos itens do acervo.

Entradas Origem Sadas Destino Excees Curso Normal

Descrio do segmento. Informaes fornecidas pelo administrador. Confirmao de cadastro do segmento. Cadastro de segmentos. 1. Segmento j cadastrado. O administrador efetua login no sistema, realiza o cadastro do segmento.

Curso Alternativo Requer Precondio Ps-condio

No h. Ter perfil de administrador. Os dados devem ser inseridos pelo administrador. Habilita uso do segmento.

64

4.2.5

Arquitetura de sistema

O software para bibliotecas uma aplicao Web com arquitetura cliente-servidor dividida em trs camadas: camada de apresentao, camada de aplicao e camada de dados. necessria a integrao desta aplicao com um middleware que tem como objetivo tratar os dados obtidos pelos leitores RFID.

O middleware composto pelos mdulos RFID Event Manager que captura e filtra as informaes vindas de um dispositivo de leitura, e RFID Information Server que responsvel por ler um conjunto de dados de baixo nvel e fornecer informaes de alto nvel para uma aplicao externa.

A arquitetura em 3 camadas envolve a separao das funcionalidades com o objetivo de separar a lgica de apresentao, a lgica de negcio e a conexo com o banco de dados. Isto torna o sistema mais flexvel, de modo que partes podem ser alteradas independentemente.

A camada de apresentao ou camada de interface com o usurio responsvel pela comunicao com as outras camadas da aplicao. Requisita servios ao servidor da aplicao, recebe a entrada de dados e apresenta os resultados.

A camada de aplicao trata a lgica da aplicao, nela so definidas as regras de negcio. Nesta camada foi utilizado o Padro de Projeto MVC.

Por fim, a camada de dados a camada na qual se encontra a base de dados da aplicao.

65

Middleware RFID

Event Manager

RFID Information

Server

View

Controller

Model

BROWSER

1: requisio

ActionServlets Action ActionForm

2: chama a

instncia

LGICA DE NEGCIO JSP/HTML

5: Resposta 3: seleciona a view

JSP/HTML

4: retorna os dados para visualizao

Camada de Apresentao

Camada de Aplicao

DAO BANCO DE DADOS


Camada de Dados

Figura 14 - Arquitetura do sistema.

66

4.2.6

Diagrama de classes

Uma viso geral do diagrama de classes da aplicao Web apresentada na Figura 15. Nas subsesses posteriores, cada classe, juntamente com as variveis e mtodos que a compe, apresentada seguindo o Padro de Projeto MVC.

Reservas

Usurios

Administrador

1 *

1 1 *

Atendentes 1 * 1 Multas

* Itens_Reservas

Consultas

* 1 Itens 1 1 1 Segmentos *

1 * Itens_Consultas

* * Emprstimos 1 1

1 * 1 Tipos * * * Itens_Emprestimos

Figura 15 - Viso Geral do Diagrama de Classes da Aplicao Web.

67

4.2.6.1

Emprstimo

Na Figura 16 so apresentadas as tabelas que compe Emprstimos segundo o Padro de Projeto MVC. A classe Model foi nomeada como Emprestimo, a classe Controller como CtrlEmprestimo, View como ViewEmprestimo e DAO como DaoEmprestimo.

Figura 16 - Diagrama de classes (Emprstimo).

68

4.2.6.2

Usurio

Na Figura 17 so apresentadas as tabelas que compe Usurios segundo o Padro de Projeto MVC. A classe Model foi nomeada como Usuario, a classe Controller como CtrlUsuario, View como ViewUsuario e DAO como DaoUsuario.

Figura 17 - Diagrama de classes (Usurio).

69

4.2.6.3

Atendente

Na Figura 18 so apresentadas as tabelas que compe Atendentes segundo o Padro de Projeto MVC. A classe Model foi nomeada como Atendente, a classe Controller como CtrlAtendente, View como ViewAtendente e DAO como DaoAtendente.

Figura 18 - Diagrama de classes (Atendente).

70

4.2.6.4

Administrador

Na Figura 19 so apresentadas as tabelas que compe Administrador segundo o Padro de Projeto MVC. A classe Model foi nomeada como Administrador, a classe Controller como CtrlAdministrador, View como ViewAdministrador e DAO como DaoAdministrador.

Figura 19 - Diagrama de classes (Administrador).

71

4.2.6.5

Item

Na Figura 20 so apresentadas as tabelas que compe Itens segundo o Padro de Projeto MVC. A classe Model foi nomeada como Item, a classe Controller como CtrlItem, View como ViewItem e DAO como DaoItem.

Figura 20 - Diagrama de classes (Item).

72

4.2.6.6

Tipo

Na Figura 21 so apresentadas as tabelas que compe Tipos segundo o Padro de Projeto MVC. A classe Model foi nomeada como Tipo, a classe Controller como CtrlTipo, View como ViewTipo e DAO como DaoTipo.

Figura 21 - Diagrama de classes (Tipo).

73

4.2.6.7

Segmento

Na Figura 22 so apresentadas as tabelas que compe Segmentos segundo o Padro de Projeto MVC. A classe Model foi nomeada como Segmento, a classe Controller como CtrlSegmento, View como ViewSegmento e DAO como DaoSegmento.

Figura 22 - Diagrama de classes (Segmento).

74

4.2.6.8

Reserva

Na Figura 23 so apresentadas as tabelas que compe Reservas segundo o Padro de Projeto MVC. A classe Model foi nomeada como Reserva, a classe Controller como CtrlReserva, View como ViewReserva e DAO como DaoReserva.

Figura 23 - Diagrama de classes (Reserva).

75

4.2.6.9

Consulta

Na Figura 24 so apresentadas as tabelas que compe Consultas segundo o Padro de Projeto MVC. A classe Model foi nomeada como Consulta, a classe Controller como CtrlConsulta, View como ViewConsulta e DAO como DaoConsulta.

Figura 24 - Diagrama de classes (Consulta).

76

4.2.6.10

Multa

Na Figura 25 so apresentadas as tabelas que compe Multas segundo o Padro de Projeto MVC. A classe Model foi nomeada como Multa, a classe Controller como CtrlMulta, View como ViewMulta e DAO como DaoMulta.

Figura 25 - Diagrama de classes (Multa).

77

4.2.7

Diagramas de sequncia

4.2.7.1

Reserva

Usurio

Interface

Action

Banco de Dados

1 : Entrar com os dados()

2 : Validao e Envio de dados() 3 : Requisio() 4 : Buscar() 5 : Retornar dados() 6 : Carregar resultados()

7 : Exibir resultados()

8 : Resultados no encontrados() 9 : Selecionar item desejado()

10 : Envio de dados()

11 : Persistir dados() 12 : Grava()

15 : Reserva efetuada com sucesso() 14 : Retornar confirmao() 16 : Reserva no pode ser efetuada()

13 : Retorna dados()

Figura 26 - Diagrama de Sequncia (Reserva).

78

4.2.7.2

Emprstimo

Usurio

Interface

Action

Banco de Dados

1 : Entrar com os dados() 2 : Validao e Envio de dados() 3 : Requisio() 4 : Busca() 5 : Retornar resultados()

7 : Exibir resultados() 8 : Resultados no encontrados()

6 : Carregar resultados()

9 : Selecionar item desejado()

10 : Envio de dados()

11 : Persistir dados() 12 : Gravar()

15 : Emprstimo efetuado com sucesso() 14 : Retorna confirmao() 16 : Emprstimo no pode ser efetuado()

13 : Retorna dados()

Figura 27 - Diagrama de Sequncia (Emprstimo).

Figura 28 - Diagrama de Sequncia (Emprstimo-RFID).

79

4.2.7.3

Devoluo

Figura 29 - Diagrama de Sequncia (Devoluo).

Figura 30 - Diagrama de Sequncia (Devoluo - RFID).

80

4.2.7.4
Usurio

Consulta
Interface Action Banco de Dados

1 : Entrar com os dados()

2 : Validao e Envio de dados() 3 : Requisio() 4 : Buscar() 5 : Retornar dados() 6 : Carregar resultados()

7 : Exibir resultados()

8 : Resultados no encontrados() 9 : Selecionar item desejado()

10 : Envio de dados()

11 : Persistir dados() 12 : Grava()

15 : Consulta efetuada com sucesso() 14 : Retornar confirmao() 16 : Consulta no pode ser efetuada()

13 : Retorna dados()

Figura 31 - Diagrama de Sequncia (Consulta).

Figura 32 - Diagrama de Sequncia (Consulta - RFID).

81

4.2.7.5

Pesquisar itens

Figura 33 - Diagrama de Sequncia (Pesquisar Itens).

82

4.2.7.6

Consultar situao do usurio

Figura 34 - Diagrama de Sequncia (Consultar situao do usurio).

83

4.2.7.7

Registrar Multa

Usurio

Interface

Action

Banco de Dados

1 : Entrar com os dados()

2 : Validao e Envio de dados() 3 : Requisio() 4 : Buscar() 5 : Retornar dados() 6 : Carregar resultados()

7 : Exibir resultados()

8 : Resultados no encontrados() 9 : Selecionar usurio()

10 : Envio de dados()

11 : Persistir dados() 12 : Grava()

15 : Multa registrada com sucesso()

14 : Retornar confirmao()

13 : Retorna dados()

16 : Multa no pode ser registrada()

Figura 35 - Diagrama de Sequncia (Registrar Multa).

84

4.2.7.8

Cadastros

Usurio

Interface

Action

Banco de Dados

1 : Entrar com os dados()

2 : Validao e Envio de dados() 3 : Requisio() 4 : Gravar() 5 : Retornar dados() 6 : Carregar resultados()

7 : Exibir confirmao()

8 : Cadastro no pode ser efetuado()

Figura 36 - Diagrama de Sequncia (Cadastros).

85

4.2.8

Modelo de dados

4.2.8.1

Viso Geral do Modelo Relacional

Modelo Relacional um modelo de dados, criado por Edgar Frank Codd, em 1970, que se baseia no princpio de que os dados so armazenados em tabelas ou relaes.

Uma viso geral do Modelo Relacional apresentada na Figura 37, os atributos so descritos na sesso 4.2.8.2.

Figura 37 - Viso Geral do Modelo Relacional do Banco de Dados.

86

A representao do modelo relacional da base de dados foi desenvolvida usando a ferramenta DBDesigner 4. Esta ferramenta foi adotada por apresentar uma interface simples e ser distribuda sob a licena GNU GPL.

As tabelas do banco de dados foram dividas em regies ou mdulos que equivalem a reas de casos de uso. As regies principais so: Reserva, Consulta, Emprstimo, Login e Acervo.

Na regio Reserva foram criadas as tabelas RESERVAS e ITENS_RESERVAS que possibilitam que o usurio faa reservas de itens do acervo.

Na regio Login foram criadas as tabelas ADMINISTRADOR, USURIOS E ATENDENTES que oferecem recursos para gerenciamento dos usurios do sistema.

Na regio Emprstimos foram criadas as tabelas EMPRSTIMOS, MULTAS E ITENS_EMPRESTIMOS que permitem o gerenciamento de emprstimos realizados pelos usurios. Oferece as funcionalidades de cadastro de emprstimo, de itens que compem o emprstimo e eventuais multas por atraso no prazo de entrega dos itens.

Na regio Consultas foram criadas as tabelas CONSULTAS E ITENS_CONSULTAS que permitem o gerenciamento de itens consultados pelos usurios. Uma das funcionalidades disponveis o cadastro de itens que o usurio retira para consulta no prprio acervo.

Na regio Acervo foram criadas as tabelas ITENS, TIPOS E SEGMENTOS que permitem o gerenciamento dos itens existentes do acervo. Possibilita o cadastro, excluso e pesquisa de itens do acervo, especificados por tipo e segmento.

87

4.2.8.2

Dicionrio de Dados

Dicionrio de Dados um conjunto de tabelas especiais, que tem como funo registrar informaes de todos os objetos criados em um Banco de Dados. Na Figura 38 apresentado o Dicionrio de Dados referente a Acervo, as tabelas que o compe e seus respectivos atributos.
Acervo
ITENS
ColumnName ITE_ID ITE_TIP_ID ITE_SEG_ID ITE_ISBN ITE_TITULO ITE_AUTOR ITE_EDITORA ITE_EDICAO ITE_ANO ITE_CIDADE DataType INTEGER INTEGER INTEGER VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR DATE VARCHAR UNSIGNED NN Ttulo do Item Autor do Item Editora do Item Edio do Item Ano de publicao do item Local de publicao do item Quantidade itens existentes PrimaryKey NotNull Flags PK NN NN NN UNSIGNED UNSIGNED UNSIGNED Default Value Comment AutoInc Nmero de identificao do AI item Tipo do item Identificao do segmento do item

ITE_QUANTIDADE INTEGER ITE_DISPONIVEL CHAR IndexName PRIMARY ITENS_FKIndex1 ITENS_FKIndex2 IndexType PRIMARY Index Index

Columns ITE_ID ITE_SEG_ID ITE_TIP_ID

SEGMENTOS
ColumnName SEG_ID SEG_NOME DataType INTEGER VARCHAR PrimaryKey NotNull Flags PK NN UNSIGNED Default Value Comment AutoInc Nmero de identificao do AI Segmento Nome do Segmento Descrio do Segmento IndexType PRIMARY Columns SEG_ID

SEG_DESCRICAO VARCHAR IndexName PRIMARY

TIPOS
ColumnName TIP_ID TIP_NOME IndexName PRIMARY DataType INTEGER VARCHAR IndexType PRIMARY PrimaryKey NotNull Flags PK NN UNSIGNED Default Value Comment AutoInc Nmero de identificao do AI tipo Nome do tipo Columns TIP_ID

Figura 38 - Dicionrio de Dados (Acervo).

88

Na Figura 39 apresentado o Dicionrio de Dados referente Consulta, as tabelas que a compe e os respectivos atributos.
Consulta
CONSULTAS
ColumnName CON_ID CON_USU_ID CON_ATE_ID CON_DATA CON_HORA IndexName PRIMARY CONSULTAS_FKIndex1 CONSULTAS_FKIndex2 DataType INTEGER INTEGER INTEGER DATE VARCHAR IndexType PRIMARY Index Index Columns CON_ID CON_ATE_ID CON_USU_ID PrimaryKey NotNull Flags PK NN NN NN UNSIGNED UNSIGNED UNSIGNED Atendente responsvel Default Value Comment AutoInc Nmero de identificao da AI consulta

ITENS_CONSULTAS
ColumnName ITC_ID ITC_ITE_ID ITC_CON_ID IndexName PRIMARY ITENS_CONSULTAS_FKIndex1 ITENS_CONSULTAS_FKIndex2 DataType INTEGER INTEGER INTEGER PrimaryKey NotNull Flags PK NN NN NN IndexType PRIMARY Index Index UNSIGNED UNSIGNED UNSIGNED Default Value Comment AutoInc Nmero de identificao do AI registro Nmero de identificao do item da consulta Nmero de identificao da consulta Columns ITC_ID ITC_CON_ID ITC_ITE_ID

Figura 39 - Dicionrio de Dados (Consulta).

89

A Figura 40 apresenta o Dicionrio de Dados referente a Emprstimo, as tabelas que o compe e os respectivos atributos.

Emprstimo
EMPRESTIMOS
ColumnName EMP_ID EMP_USU_ID EMP_ATE_ID EMP_DATA_RETIRADA EMP_SITUACAO EMP_DATA_PREVISTA DataType PrimaryKey NotNull Flags INTEGER INTEGER INTEGER DATE VARCHAR DATE PK NN NN UNSIGNED UNSIGNED UNSIGNED Nmero de identificao do Atendente Data de retirada dos itens Situao do emprstimo Data de previso de entrega Default Value Comment AutoInc Nmero de identificao do AI emprstimo

EMP_DATA_DEVOLUCAO DATE IndexName PRIMARY EMPRESTIMOS_FKIndex1 EMPRESTIMOS_FKIndex2 IndexType PRIMARY Index Index Columns EMP_ID EMP_ATE_ID EMP_USU_ID

MULTAS
ColumnName MUL_ID MUL_EMP_ID MUL_ATE_ID MUL_VALOR MUL_PAGO DataType PrimaryKey NotNull Flags INTEGER PK INTEGER INTEGER FLOAT VARCHAR NN NN NN UNSIGNED UNSIGNED UNSIGNED Valor da multa Default Value Comment AutoInc Nmero de identificao da AI multa

MUL_DATA_RECEBIMENTO DATE IndexName PRIMARY MULTAS_FKIndex2 MULTAS_FKIndex2 IndexType PRIMARY Index Index Columns MUL_ID MUL_ATE_ID MUL_EMP_ID

ITENS_EMPRESTIMOS
ColumnName IEM_ID IEM_EMP_ID IEM_ITE_ID IndexName PRIMARY ITENS_EMPRESTIMOS_FKIndex2 ITENS_EMPRESTIMOS_FKIndex2 DataType INTEGER INTEGER INTEGER PrimaryKey NotNull Flags PK NN NN NN IndexType PRIMARY Index Index UNSIGNED UNSIGNED UNSIGNED Nmero de identificao do item Columns IEM_ID IEM_ITE_ID IEM_EMP_ID Default Value Comment AutoInc Nmero de identificao do AI registro

Figura 40 - Dicionrio de Dados (Emprstimo).

90

Na Figura 41 apresentado o Dicionrio de Dados referente ao Login, as tabelas que o compe e os respectivos atributos.
Login
USUARIOS
ColumnName USU_ID USU_NOME USU_STATUS USU_LOGIN USU_SENHA IndexName PRIMARY DataType INTEGER VARCHAR VARCHAR VARCHAR VARCHAR IndexType PRIMARY Columns USU_ID PrimaryKey NotNull Flags PK NN UNSIGNED Default Value Comment AutoInc Nmero de Identificao do AI Usurio Nome completo do Aluno Situao do Aluno

ATENDENTES
ColumnName ATE_ID ATE_NOME ATE_LOGIN ATE_SENHA IndexName PRIMARY DataType INTEGER VARCHAR VARCHAR VARCHAR IndexType PRIMARY Columns ATE_ID PrimaryKey NotNull Flags PK NN UNSIGNED Default Value Comment AutoInc Nmero de identificao do AI atendente Nome do Atendente

Figura 41 - Dicionrio de Dados (Login).

91

A Figura 42 apresenta o Dicionrio de Dados referente Reserva, as tabelas que a compe e os respectivos atributos.
Reserva
RESERVAS
ColumnName RES_ID RES_USU_ID DataType INTEGER INTEGER PrimaryKey NotNull Flags PK NN NN UNSIGNED UNSIGNED Data da reserva Default Value Comment AutoInc Nmero de Identificao da AI reserva

RES_DATA_RESERVA DATE RES_VALIDADE RES_STATUS IndexName PRIMARY RESERVAS_FKIndex1 DATE VARCHAR IndexType PRIMARY Index

Columns RES_ID RES_USU_ID

ITENS_RESERVAS
ColumnName ITR_ID ITR_ITE_ID ITR_RES_ID IndexName PRIMARY ITENS_RESERVAS_FKIndex1 ITENS_RESERVAS_FKIndex2 DataType INTEGER INTEGER INTEGER PrimaryKey NotNull Flags PK NN NN NN IndexType PRIMARY Index Index UNSIGNED UNSIGNED UNSIGNED Default Value Comment AutoInc Nmero de Identificao do AI registro Nmero de Identificao do itens da reserva Nmero de Identificao da reserva Columns ITR_ID ITR_RES_ID ITR_ITE_ID

Figura 42 - Dicionrio de Dados (Reserva).

92

4.3

Projeto e implementao do prottipo

Nas sesses posteriores ser apresentado o projeto de implementao do prottipo da aplicao Web adotando como estudo de caso a biblioteca da FATEC So Jos dos Campos.

Foram implementados os casos de uso Efetuar Emprstimos, Efetuar Devolues, Pesquisar Itens e Cadastrar Itens.

4.3.1

Camada de visualizao

Na criao da interface foi usada a linguagem HTML para criao das pginas e CSS para formatao. Para auxiliar no desenvolvimento da interface grfica foi utilizada a biblioteca JavaScript JQuery. O uso dessa biblioteca ajuda na criao de interfaces de usurio, efeitos dinmicos, e permite usar AJAX na aplicao.

Uma tela da aplicao demonstrada na Figura 43.

Figura 43 - Tela Inicial.

93

A biblioteca JQuery permite melhorar a interface da aplicao usando recursos da linguagem JavaScript de maneira simplificada. JQuery foi usado, por exemplo, na Tela de Itens, para permitir realizar uma busca sem a necessidade de recarregar toda a pgina para exibir os resultados.

Uma parte da implementao dessa funcionalidade descrita na Figura 44.

Figura 44 - Uso do Ajax.

Tambm foi usada a biblioteca JQuery para exibir os resultados em uma tabela que permite ordenar os resultados sem a necessidade de recarregar a pgina. Para implementar essa opo foi usado o plugin Tablesorter para a biblioteca JQuery. Um exemplo de tela usando Tablesorter pode ser visto na Figura 45 e o cdigo-fonte de implementao na Figura 46.

Figura 45 - Exemplo do uso do plugin Tablesorter.

94

Figura 46 - Cdigo-fonte de implementao usando o plugin Tablesorter.

95

Na tela inicial da aplicao, conforme Figura 43, existem duas opes de Login, uma para os usurios da biblioteca e outra para o administrador do sistema.

A rea restrita para os usurios, mostrada na Figura 47, permite realizar buscas e reservar itens.

Figura 47 - rea restrita do usurio.

A rea restrita do administrador permite a realizao de emprstimos, devoluo, cadastro de itens e consulta aos itens do acervo. A Figura 48 apresenta uma tela da rea restrita do administrador do sistema.

96

Figura 48 - rea restrita do administrador do sistema.

As telas com as funcionalidades referentes a cada um dos perfis mencionados encontram-se no Apndice A.

4.3.2

Camada de aplicao

4.3.2.1

MVC e Struts

Foi utilizado o framework Struts no prottipo da aplicao Web para auxiliar na implementao do Padro de Projeto MVC.

O prottipo apresenta os seguintes componentes: classes Java implementando o Controller da aplicao (Action), pginas JSP implementando as Views, classes Java implementando o

97

Model da aplicao (ActionForm), um arquivo de configurao (struts-config.xml) definindo aspectos de relacionamento entre as Actions e Views.

O Controller foi implementado utilizando classes Action para cada atividade desejada. Cada classe Action contm uma classe ActionForward que encapsula a informao sobre a prxima View a ser apresentada, e possui apenas o mtodo execute(), que responsvel por retornar a prxima viso a ser mostrada.

A classe ConsultasAction.java apresentada na Figura 49.

Figura 49 - Cdigo-Fonte de implementao da classe ConsultasAction.java.

A View, como foi apresentada na sesso 4.3.1, contm a implementao do JSP.

O Model contm a classes ActionForm que implementam todas as variveis e os devidos mtodos get e set. Todos os dados que sero armazenados no banco de dados passam pelo Form.

A classe ConsultasForm.java demonstrada na Figura 50.

98

Figura 50 - Cdigo-Fonte de implementao da classe ConsultasForm.java.

O fluxo de execuo o seguinte: o Controller responsvel por receber as requisies do browser e invocar os objetos de negcio do Model para executar algum processo retornando um resultado que servir de base para que o Controller possa direcionar para o JSP que dever gerar a interface com o usurio.

A Action l as configuraes do arquivo struts-config.xml. Ao receber as solicitaes do usurio, chama o ActionForm correspondente requisio, e de acordo com o resultado do ActionForm, executa um JSP.

Parte do arquivo struts-config.xml contendo aspectos do relacionamento entre o Controller e a View descrita na Figura 51.

99

Figura 51 - Cdigo-Fonte de implementao do arquivo struts-config.xml.

Com o uso do Struts pode-se evitar cdigo referente lgica de negcio no JSP, facilitando, por exemplo, a manuteno da aplicao e o reuso de cdigo a partir da criao de camadas. Sua utilizao permite que uma classe Model seja populada com os valores vindos da interface, sem a necessidade de resgatar as propriedades individualmente e popular o objeto com o mtodo set.

100

4.3.3

Camada de dados

4.3.3.1

Banco de Dados

Como Sistema Gerenciador de Banco de Dados foi utilizado o Oracle 10g Express Edition (Oracle XE). No esquema do banco de dados foram criados os segmentos de dados (tabelas) apresentados na sesso 4.2.8.2 e as sequences.

No foram criadas stored procedures e trigger, a maior parte da lgica de negcios est na prpria aplicao Java, dependendo pouco de funes especficas do banco de dados.

4.3.3.2

Hibernate

O framework Hibernate foi utilizado para realizar o mapeamento entre classes da aplicao Java e tabelas do banco de dados.

Foi necessria a construo de uma camada extra para persistir os objetos no repositrio, ou seja, criou-se uma camada de persistncia e o mapeamento foi implementado atravs de arquivos XML. Para realizar a integrao com o banco de dados foi preciso criar a classe hibernate.cfg.xml e informar no mtodo property qual foi o banco de dados utilizado por meio do Hibernate Dialect, o driver de conexo e a URL de conexo especfica do banco de dados Oracle. Cada uma dessas configuraes foram armazenadas no SessionFactory, como apresentado na Figura 52.

101

Figura 52 - Cdigo-Fonte da implementao da classe hibernate.cfg.xml referente conexo com banco de dados. A segunda parte a configurao de pool de conexes que basicamente mantm certo nmero de conexes abertas para o banco de dados. Quando um usurio abre uma conexo usando pool, ao invs de abrir uma nova conexo com o banco de dados por meio do driver JDBC, uma das conexes que j estava aberta com o banco de dados alocada para o usurio que utiliza a conexo e realiza as operaes desejadas. Ao encerrar a conexo esta fica aberta e marcada como disponvel. Essa configurao foi realizada como descrito na Figura 53.

Figura 53 - Cdigo-Fonte da classe hibernate.cfg.xml referente Configurao do pool de conexes. Para realizar o mapeamento dos objetos da aplicao para o banco de dados foram criadas classes com a extenso NomeMapeamento.hbm.xml, nos quais define-se as propriedades e os relacionamentos de uma classe para o Hibernate.

102

A classe Emprestimos.hbm.xml demonstrada na Figura 54. O elemento class descreve o nome da classe que foi mapeada e para qual tabela do banco de dados. O elemento id denota o atributo que dever funcionar como chave primria e Generator guarda a informao de como essas chaves so geradas. O gerador usado uma sequence que foi criada no banco de dados.

Figura 54 - Cdigo-Fonte da classe de mapeamento Emprestimos.hbm.xml.

Na Figura 55 e Figura 56, as tags <property> indicam propriedades dos objetos, os mais importantes so os atributos name, que definem o nome da propriedade. O atributo column foi utilizado porque a classe no possui o mesmo nome da coluna da tabela.

Figura 55 - Cdigo-Fonte da classe de mapeamento Emprestimos.hbm.xml.

Figura 56 - Cdigo-Fonte da classe de mapeamento Emprestimos.hbm.xml.

103

Para configurar e abrir as sesses do Hibernate foi necessrio criar a classe HibernateUtil.java na package Controller conforme demonstrado na Figura 57.

Figura 57 - Cdigo-Fonte da classe HibernateUtil.java

bloco

esttico

instancia

um

objeto

de

configurao

do

Hibernate

(org.hibernate.cfg.Configuration),

chama o mtodo configure() que l o arquivo

hibernate.cfg.xml e depois que est configurado, cria-se uma SessionFactory, que a classe responsvel por abrir as sesses de trabalho do Hibernate e exemplo de implementao do Padro de Projeto Factory.

Este framework facilita o desenvolvimento de aplicaes e evita a duplicao de cdigo como insert, select, update, delete no banco de dados. Permite maior reuso de cdigo e maior facilidade de manuteno.

4.3.3.3

DAO

Foi criada uma package, chamada DAO, que contm um conjunto de classes responsveis pela interface entre o componente que realiza a persistncia (Hibernate) e o restante da aplicao. Estas classes contm mtodos para persistir e recuperar dados, conforme apresentado na Figura 58.

104

Figura 58 -

Cdigo-Fonte da implementao da classe EmprestimoDao.java, mtodo listar().

As classes DAO gerenciam a conexo com o banco de dados para manipulao e armazenamento dos dados. Toda implementao relacionada a instrues SQL est contida nestas classes e no na lgica de negcio, isto isola a camada de dados facilitando a manuteno.

O uso deste Padro de Projeto auxilia a centralizar a persistncia de objetos em um pequeno conjunto de classes, evitando, por exemplo, que o cdigo SQL se espalhe pelo cdigo da aplicao.

4.3.3.4

Singleton

Este Padro de Projeto foi utilizado para que uma classe seja instanciada apenas uma vez. Como exemplo, apresentado na Figura 59 o mtodo getSession() da classe de conexo HibernateUtil.java.

105

public static Session getSession() { return factory.openSession(); }

Figura 59 - Parte do Cdigo-Fonte de implementao da classe HibernateUtil.java.

Este mtodo chamado na classe ItensDao.java da package DAO e no necessita ser instanciado como mostra a Figura 60.

Figura 60 - Parte do Cdigo-Fonte de implementao da classe ItensDao.java.

Sem o uso deste Padro de Projeto toda vez que for necessrio o uso do mtodo getSession(), a classe HibernateUtil.java precisaria ser instanciada.

Neste captulo foram apresentados os documentos gerados na fase de especificao de requisitos da aplicao e consideraes sobre a implementao do prottipo. No captulo posterior sero descritas as contribuies, experincias vivenciadas durante a execuo do trabalho e sugestes de trabalhos futuros.

106

CONSIDERAES FINAIS

Este captulo tem como objetivo apresentar algumas consideraes a respeito do trabalho desenvolvido, contribuies e experincias. Est subdividido em sesses que abordam contribuies, experincias, publicaes e sugestes de trabalhos futuros.

5.1

Contribuies

As contribuies deste trabalho so: a) prottipo de uma aplicao Web que permite o controle automatizado da biblioteca atendendo os principais requisitos dos usurios; b) prottipo desenvolvido seguindo o paradigma da orientao a objeto; c) prottipo utilizando a linguagem de programao Java que permite a integrao com a tecnologia RFID; d) prottipo implementado empregando frameworks que apiam o

desenvolvimento de uma aplicao Web; e) prottipo implementado que adota Padres de Projeto que possibilitam a criao de um projeto orientado a objeto reutilizvel e flexvel; f) prottipo da aplicao Web que propicia biblioteca confiabilidade no armazenamento de dados, agiliza o atendimento ao usurio e a realizao de inventrios;

A partir destas contribuies, conclui-se que: a) a tecnologia RFID deve ser considerada na gesto eletrnica de acervos, tendo em vista s vantagens que oferece; b) o paradigma de orientao a objeto propicia maior facilidade para reutilizao de cdigo; c) a linguagem de programao Java oferece robustez ao sistema e permite a utilizao das metodologias mais modernas para o desenvolvimento de software;

107

d) o uso dos frameworks, associados aos padres de projeto, ajudam a reduzir a quantidade de cdigo produzido e a aumentar a produtividade final na criao do software; e) os frameworks utilizados permitem maior facilidade no desenvolvimento e manuteno do software; f) a utilizao de Padres de Projeto possibilita o desenvolvimento de um software flexvel e agiliza o desenvolvimento; g) a abordagem da modelagem em camadas mantm os componentes separados e isso minimiza o acoplamento entre eles simplificando, por exemplo, a evoluo do software;

A seguir so apresentadas algumas experincias obtidas durante a realizao do Trabalho: a) Na tela de busca de itens foi criada uma tabela para exibir os resultados. Para permitir ao usurio ordenar os resultados por determinada coluna sem a necessidade de recarregar a pgina foi utilizado um plugin para a biblioteca JQuery, o Tablesorter. b) Para implementar as funcionalidades AJAX, foi necessrio escolher uma forma para transmitir os dados do servidor para a interface Web. Para resolver esse problema foi usado o formato JavaScript Object Notation - Notao de Objetos JavaScript (JSON). Esse formato foi escolhido por ser leve e mais fcil que o XML.

5.1.1

Publicaes

Um artigo foi publicado no Boletim Tcnico da FATEC-SP (ISSN 1518-9082) conforme Apndice B.

5.2

Trabalhos futuros

Para trabalhos futuros, sugere-se:

108

a) complementao do prottipo desenvolvido por meio da implementao dos casos de usos descritos; b) incluso do caso de uso localizao de itens no acervo; c) integrao do prottipo com o Middleware utilizando o Sun Java System RFID; d) tratamento de protocolos de segurana de informao.

Neste captulo foram apresentadas as contribuies, experincias vivenciadas durante a execuo do trabalho e sugestes de trabalhos futuros.

109

REFERNCIAS

BAUER, C.; KING, G. Hibernate in action. Greenwich: Manning Publications, 2005.

BIBEAULT, B.; KATZ, Y. JQuery in action. Greenwich: Manning Publications, 2008.

BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. UML: guia do usurio. 2.ed. Rio de Janeiro: Elsiever, 2005.

BROWN, D.; DAVIS, C.M.; STANLICK, S. Struts 2 in action. Greenwich: Manning Publications, 2008.

CRANE, D.; PASCARELLO, E.; JAMES, D. Ajax in action. Greenwich: Manning Publications, 2006.

GAMMA, E.; HELM, R.; JONHSON, R.; VLISSIDE, J. Padres de Projeto: solues reutilizveis de software orientado a objetos. Porto Alegre: Bookman, 2005.

GARRETT, J.J. Ajax: A new approach to web applications. Disponvel em:<http://adaptivepath.com/publications/essays/archives/000385.php>. Acesso em: 15 jun. 2009.

GLOVER, B.; BHATT, H. Fundamentos de RFID. Rio de Janeiro: Alta Books, 2008.

GOSLING, J.; MCGILTON, H. The Java Language Environment. Disponvel em: <http:// java. sun.com/docs/white/langenv/index.html>. Acesso em: 03 jun. 2009.

PINHEIRO, J.M.S. Identificao por Radiofreqncia: aplicaes e vulnerabilidades da tecnologia RFID. Cadernos UniFoa, Volta Redonda, ano 1, n.2, nov.2006. Disponvel em:< http://www.unifoa.edu.br/pesquisa/caderno/edicao/02/18.pdf>. Acesso em: 24 fev.2009.

SANTINI, A. G. RFID: Conceitos, aplicabilidades e impactos. Rio de Janeiro: Cincia Moderna, 2008.

<http://www.java.sun.com/docs/books/tutorial/getStarted/intro/definition.html>. Acesso em: 01 jun.2009, 20:32h.

110

<http://www.rfidjournal.com/faq/16/49>. Acesso em: 25 fev.2009, 15:34h.

<http://www.oracle.com>. Acesso em: 12 jun.2009, 19:50h.

SOMMERVILLE, I. Engenharia de Software. 8.ed. So Paulo: Pearson, 2007.

SUN MICROSYSTEMS. Sun Java System RFID Software 3.0 Developer's guide.Disponvel em: <https://sun-rfid.dev.java.net/files/documents/4596/29647/Developers_819-4686.pdf>.

TEMPLE, A.; MELLO, R.F.; CALEGARI, D.F.; SCHIEZARO, M. Programao Web com JSP, Servlets e J2EE. Disponvel em: <http://www.inf.ufsc.br/~bosco/downloads/livro-jspservlets-j2ee.pdf>. Acesso em: 02 jun. 2009.

VIEIRA, A.F.G. Tecnologia de identificao por radiofrequncia: fundamentos e aplicaes em automao de bibliotecas. Revista Eletrnica de Biblioteconomia e Cincia da Informao, Santa Catarina, n.24, dez. 2007. Disponvel em < http://www.periodicos.ufsc.br/index.php/eb/article/view/430/416>. Acesso em: 27 fev.2009.

WANT, R. The Magic of RFID. ACMQueue, v.2, n.7, out.2004. Disponvel em: <http://www.acmqueue.org/modules.php?name=Content&pa=showpage&pid=216>. Acesso em: 25 fev.2009.

WALLS, C. Spring in action. 2.ed. Greenwich: Manning Publications, 2008.

111

APNDICES APNDICE A Manual do usurio.

1.

Tela Inicial

A tela inicial da aplicao possibilita a realizao do Login para usurios ou administrador e, de acordo com o perfil, a aplicao permitir o acesso a diferentes funcionalidades.

O usurio ou administrador poder acessar uma pgina contendo um Tutorial, uma pgina Sobre com algumas informaes da Biblioteca, ou uma pgina para Pesquisa de itens do acervo.

112

2-

rea do Usurio

Aps realizar o Login o usurio poder acessar as funcionalidades Pesquisa de itens do acervo e Reservas.

113

Na tela de Pesquisa o usurio poder realizar pesquisa por ttulo da obra, nome do autor ou ISBN.

Ser exibida uma tela com o resultado da busca e que habilita a reserva.

114

Na tela de Reservas o usurio poder visualizar informaes sobre o item reservado.

115

3-

rea do Administrador

Aps realizar o Login o administrador poder acessar as funcionalidades Pesquisa de itens do acervo, Cadastro de Itens, Emprstimos e Devolues.

116

Na tela Pesquisa o administrador poder consultar se itens esto disponveis.

117

Na tela de Cadastro de Itens o administrador poder realizar o cadastro de itens do acervo.

118

Na tela de Emprstimos o administrador poder efetivar emprstimos realizados pelos usurios.

119

Na tela de Devoluo o administrador poder efetivar as devolues.

Os demais casos de uso no foram implementados no prottipo.

120

APNDICE B Artigo publicado no SICT.


PROPOSTA DE MODELAGEM DE UM SISTEMA PARA BIBLIOTECA UTILIZANDO RFID E JAVA
1

Alessandra Arantes de Souza Camargo 1, Douglas Almeida Brito1, Rogrio Marinke1,2 Faculdade de Tecnologia do Estado de So Paulo (FATEC), So Jos dos Campos, Brasil 2 Instituto Nacional de Pesquisas Espaciais (INPE), So Jos dos Campos, Brasil alessandra.a.souza@gmail.com, rmarinke@fatecsjc.edu.br

1. Introduo A Faculdade de Tecnologia (FATEC) de So Jos dos Campos no possui atualmente um software que permita o controle automatizado de sua biblioteca. Todo o trabalho de emprstimo e devoluo realizado manualmente, causando demora no atendimento ao usurio. Com o crescente nmero de publicaes e de usurios necessrio formas eficazes para o gerenciamento do acervo, visando proporcionar agilidade no atendimento e confiabilidade no armazenamento de dados. A tecnologia de identificao por rdio-frequncia (RFID) tem se apresentado como um grande avano no controle de informaes e pode ser introduzida em bibliotecas com o objetivo de proporcionar a gesto eletrnica dos acervos e a implementao de novos servios [1]. A presente pesquisa tem o objetivo de propor a modelagem de uma aplicao Web para bibliotecas utilizando a tecnologia RFID. Ser adotado como estudo de caso a biblioteca da Faculdade de Tecnologia (FATEC) de So Jos dos Campos. utilizada a metodologia RUP que descreve processos de engenharia de software, gerando documentos segundo a notao Unified Modeling Language (UML) [2]. Para a implementao foi adotada a linguagem de programao Java devido possibilidade de integrao com a tecnologia RFID, portabilidade e frameworks disponveis para apoio no desenvolvimento [3]. 2. RFID A RFID uma tecnologia de identificao automtica que utiliza as ondas de rdio para capturar os dados contidos em um dispositivo eletrnico ou etiqueta RFID e transmite a um leitor. As etiquetas RFID podem armazenar informaes sobre os objetos aos quais esto anexados e quando estes objetos entram numa rea de cobertura de um leitor RFID, essas informaes so transmitidas para o leitor que responsvel por envi-las para um software que poder utilizar esses dados. Um sistema RFID tambm necessita de um middleware que gerencia os dados vindos das etiquetas e os repassa para uma aplicao ou para uma base de dados [1]. 3. Resultados Como resultado da anlise do problema foi definido uma proposta para a arquitetura do sistema que est dividida em trs camadas: camada de apresentao, camada de aplicao e camada de dados. A camada de apresentao responsvel pela interface com o usurio e comunicao com as outras camadas da aplicao, requisita servios ao servidor da aplicao e apresenta os resultados. No desenvolvimento das pginas Web foi utilizado o JQuery, biblioteca JavaScript que permite o uso do Ajax melhorando a usabilidade e a interatividade. A camada de negcios trata a lgica da aplicao. Nesta camada foram empregados os padres de

Figura 1 Arquitetura do sistema.

projeto Model-View-Controller (MVC) e Singleton que permitem a criao de um projeto orientado a objeto reutilizvel e flexvel [4]. Foram usados os frameworks Struts e Spring que facilitam o desenvolvimento de aplicaes e auxiliam a implementao do padro de projeto MVC. Para persistncia dos dados foi utilizado o framework Hibernate, que facilita o mapeamento dos atributos entre uma base de dados relacional e o modelo objeto de uma aplicao. O servidor de aplicao escolhido foi o GlassFish, pois oferece desempenho, confiabilidade e tambm apresenta suporte s novas especificaes Java Enterprise Edition. A camada de dados foi desenvolvida utilizando o software Oracle 10g Express Edition. A ferramenta Sun Java System RFID foi utilizada na implementao do middleware.

4. Concluses A tecnologia RFID deve ser considerada na gesto eletrnica de acervos, tendo em vista s vantagens que oferece. A metodologia RUP aliada s caractersticas da linguagem Java e aos frameworks adotados neste trabalho, permitiram um desenvolvimento gil com software de boa qualidade. Alguns testes funcionais ainda esto sendo realizados, posteriormente, o software estar pronto para implantao. 5. Referncias [1]GLOVER, B.; BHATT, H. Fundamentos de RFID, Alta Books, 2008. [2] BOOCH, G; RUMBAUGH, J;JACOBSON, I: UML, Guia do Usurio; Rio de Janeiro, Campus, 2000. [3] TEMPLE, A.; R. F., MELLO; CALEGARI, D.T.; SCHIEZARO, M. Programao Web com JSP, Servlets e J2EE,USP, 2004. [4] GAMMA, E.; HELM, R. ; JONHSON, R. ; VLISSIDE, J. Padres de Projeto: solues reutilizveis de software orientado a objetos, Bookman, 2005.

121

You might also like