Integrao FIREBIRD com OPENOFFICE

Download Integrao FIREBIRD com OPENOFFICE

Post on 25-Jun-2015

628 views

Category:

Documents

0 download

TRANSCRIPT

CURSO DE PS-GRADUAO LATO SENSU (ESPECIALIZAO) A DISTNCIA ADMINISTRAO EM REDES LINUX UNIVERSIDADE FEDERAL DE LAVRASEstudo de Caso: Integrao e automao de tarefas com utilizao da Sute de Aplicativos para escritrio OpenOffice.org e Sistema Gerenciador de Banco de Dados FirebirdAllysson Costa e Silva 2005Allysson Costa e SilvaEstudo de Caso: Integrao e automao de tarefas com utilizao da Sute de Aplicativos para escritrio OpenOffice.org e Sistema Gerenciador de Banco de Dados FirebirdMonografia de Ps-Graduao apresentada ao Departamento de Cincia da Computao da Universidade Federal de Lavras como parte das exigncias da disciplina Monografia para obteno do ttulo de Especialista em Administrao de Redes Linux.Orientador Prof. Joaquim Quinteiro UchaLavras Minas Gerais Brasil 2005Allysson Costa e SilvaEstudo de Caso: Integrao e automao de tarefas com utilizao da Sute de Aplicativos para escritrio OpenOffice.org e Sistema Gerenciador de Banco de Dados FirebirdMonografia de Ps-Graduao apresentada ao Departamento de Cincia da Computao da Universidade Federal de Lavras como parte das exigncias da disciplina Monografia para obteno do ttulo de Especialista em Administrao de Redes Linux.APROVADA em ___ de _______ de ______.Prof. Douglas Machado TavaresProf. Samuel Pereira DiasProf. Joaquim Quinteiro Ucha (Orientador)Lavras Minas Gerais BrasilAbstractThe use of OpenOffice.org and Firebird Database's products can be viewed such as an alternative for daily needs of companies, public organizations and developers. The prototype of software exposed in this work can be considered an initial point of the development of an oficial correspondence software to supply governmental segment.ResumoO uso conjugado dos produtos OpenOffice.org e o banco de dados Firebird pode ser visto como uma alternativa para as necessidades dirias de empresas, organizaes pblicas e desenvolvedores. O prottipo de software exposto neste trabalho pode ser considerado um ponto inicial do desenvolvimento de um software de correspondncia oficial para atender o segmento governamental.i minha me, aos meus queridos irmos, ao meu pai.A minha famlia que me apoiou neste trabalho de maneira imensurvel. Ao professor Joaquim Quinteiro Ucha pelo apoio e dedicao a este trabalho. Ao amigo Samuel.iiSUMRIO1 Introduo............................................................................................ 10 2 OpenOffice.org e Firebird Contextualizao histrica e caracterizao..................................................................................... 12 2.1 Sute de automao de escritrios OpenOffice.org........................ 12 2.1.1 Definio, Origem e Evoluo............................................. 12 2.1.2 Licena de Utilizao........................................................... 14 2.1.3 Caractersticas do OpenOffice.org....................................... 16 2.1.4 Outras Sutes de Escritrio................................................... 17 2.2 Sistema Gerenciador de Banco de Dados Firebird......................... 20 2.2.1 Definio, Origem e Evoluo............................................. 20 2.2.2 Licena de Utilizao........................................................... 21 2.2.3 Caractersticas do Sistema Gerenciador de Banco de Dados Firebird....................................................................... 22 3 Conectando o OpenOffice.org ao Banco de Dados Firebird.......... 26 3.1 Utilizao de ODBC....................................................................... 26 3.1.1 Configurando o UnixODBC................................................. 28 3.1.2 Integrando o OpenOffice.org ao UnixODBC....................... 29 3.2 Conexo Atravs de JDBC............................................................. 30 3.2.1 Configurando o Driver JDBC Jaybird JCA/JDBC............ 31 4 StarBasic A Linguagem de Macro do OpenOffice.org................ 33 4.1 As Diversas Verses de Basic........................................................ 33 4.2 O StarBasic Tipos de Dados e Componentes Grficos............... 34 4.3 Integrando o OpenOffice.org ao Banco de Dados Firebird............ 35 5 Uma Aplicao Prtica do Conjunto de Ferramentas Proposto.... 39 5.1 Uma Simples Aplicao para Emisso de Ofcios......................... 39 5.2 Telas do Sistema de Correspondncia Oficial............................... 40iii6 Concluso e Trabalhos Futuros....................................................... Referncias Bibliogrficas47 49ivLISTA DE FIGURAS2.1 3.1 3.2 4.1 4.2 4.3 5.1 5.2 5.3 5.4Navegador de Dados OpenOffice.org........................................ 17 Arquivo odbc.ini............................................................................ 28 Arquivo odbcinst.ini...................................................................... 28 Conectando ao Banco de Dados Usando StarBasic....................... 37 Criando um Estamento e Executando uma Consulta..................... 37 Criando um Estamento e Executando uma Incluso..................... 38 Autenticao de Usurio................................................................ 42 Configurao do Ofcio Simples................................................... 43 Cadastro e Alterao de Destinatrios........................................... 44 Ofcio Simples Montado na Tela................................................... 45vLISTA DE TABELAS2.1 Principais Banco de Dados Livres...................................................... 24vi1 IntroduoO homem um ser social; da sua necessidade de comunicao, como emissor ou receptor de mensagens. Segundo Nicola (1993) todamensagem necessita de um meio fsico, concreto, para a sua transmisso. Este meio denomina-se canal de comunicao. Na linguagem escrita identifica-se as correspondncias, jornais, livros e revistas como canais de comunicao. O objetivo principal deste trabalho expor um conjunto de ferramentas de software que compreende um sistema de banco de dados agregado a um processador de texto para emisso de correspondncia oficial destinada a instituies governamentais e setor pblico em geral. Para tanto, sero utilizados o pacote de produtividade de escritrio OpenOffice.org e o banco de dados Firebird. A evoluo histrica, a caracterizao e uma breve discusso sobre as estratgias de licenciamento utilizadas dos produtos supra citados so descritas no Captulo 2 intitulado OpenOffice.org e Firebird Contextualizao Histrica e Caracterizao. O Captulo 3, Conectando o OpenOffice.org ao Banco de Dados Firebird, mostrar a estrutura de integrao entre os dois produtos. No Captulo 4, StarBasic A LinguagemdeMacrodo OpenOffice.org, relacionar-se-oOpenOffice.org com o Firebird utilizando-se da linguagem de macro StarBasic mostrando ainda as principais caractersticas desta linguagem. Finalmente, no Captulo 5, Uma Aplicao Prtica do Conjunto de Ferramentas Proposto, ser descrito um esboo da implementao do prprojeto para o software de correspondncia oficial. Esta trabalho visadiagnosticar um conjunto de ferramentas de software efetivo para a construo de um sistema mais complexo. A distribuio Linux Fedora Core 21 foi utilizada como sistema operacional na instrumentalizao da parte implementada do trabalho. Sun, Sun Microsystems, Java, Solaris, Staroffice e OpenOffice.org so marcas comerciais ou registradas da Sun Microsystems, Inc. nos Estados Unidos e em outros pases. Windows marca comercial da Microsoft Corporation. Linux marca registrada de Linus Torvalds. Oracle uma marca registrada de Oracle Corporation e suas afiliadas. Firebird uma marca registrada de FirebirdSQL Foundation. DB2 uma marca registrada de International Business Machines Corporation. Fedora uma marca registrada de Red Hat Inc.. Novell uma marca registrada de Novell, Inc. nos Estados Unidos e outros pases. Red Hat uma marca registrada de Red Hat, Inc.. CollabNet uma marca registrada de CollabNet, Inc..1Fedora Core 2: http://fedora.redhat.com112OpenOffice.orgeFirebirdContextualizaohistricaecaracterizao2.1 Sute de automao de escritrios OpenOffice.org2.1.1 Definio, Origem e EvoluoO projeto OpenOffice.org um marco histrico para o mundo dos sistemas de cdigo aberto. Trata-se de uma estrutura que permite a distribuio da tecnologia de cdigo aberto para as comunidades de desenvolvedores por todo o mundo atravs dos formatos tar-ball3 e CVS (Concurrent Versions System)4. O projeto OpenOffice.org tem como um dos seus principais membros a empresa Sun Microsystems e hospedado pelo CollabNet ,6 52um provedor de servios de desenvolvimento de softwarecolaborativo baseado nos princpios de cdigo aberto e que fornecer a infra-estrutura do projeto para hospedagem do site eletrnico. Dentre os recursos disponibilizados pelo CollabNet esto: verso de cdigo-fonte, navegao (browsing) de cdigo-fonte, notificao automtica de2 3 4 5 6Projeto OpenOffice.org: http://www.openoffice.org tar-ball: formato de arquivo gerado utilitrio tar CVS: https://www.cvshome.org/ Sun Microsystems: http://www.sun.com.br CollabNet: http://www.collab.netmudana,listasdee-mail e discusso alm de administrao erastreamento de erros no cdigo-fonte. Segundo CollabNet (2005), o nmero de membros registrados na comunidade OpenOffice.org j ultrapassa 170.000 no mundo e agrega desenvolvedores individuais e membros vindos de empresas como Novell, RedHat, Good-Day e organizaes governamentais. O OpenOffice.org derivado do cdigo-fonte do StarOffice7 e tem alguns princpiosdeterminados com sua criao:especificar formatos de arquivo XML (Extensible Markup Language) para documentos;8 especificar API's (Application Programming Language); fornecer filtros para arquivos diversos. Segundo DOMINGOS (2003) a implementao de XML noOpenOffice.org garante que futuras verses sejam acessveis e compatveis, permitindo que documentos criados atualmente sejam abertos sem problemas nas novas verses. O OpenOffice.org ao usar o XML, fornece ao mundo um formato aberto de arquivos, livre de licenas. A implementao de XML do OpenOffice.org incorpora compresso que ativada quando os arquivos so abertos ou fechados, tornando assim os mesmos 20-60% menores que outros de aplicaes similares, liberando espao em disco para as coisas mais importantes. Em breve os arquivos OpenOffice.org podero7 8 StarOffice:http://www.sun.com/software/star/staroffice/index.xml XML: http://www.w3.org/XML/13ser lidos em dispositivos mveis, como Palm's, Pocket PC's e talvez em telefones mveis, sem o OpenOffice.org instalado. As API's para outras linguagens de programao como Java, C++ e Python permitem ao programador integrar seus aplicativos com o OpenOffice.org. Para obter maiores informaes sobre como utilizar as linguagens listadas com o OpenOffice.org consulte Developer's Guide (2005). Com todo este desenvolvimento est sendo possvel fornecer ao mercado de software livre uma sute para automao de escritrio contendo processador de textos, planilha eletrnica, programa de apresentao de slides dentre outros aplicativos. O acesso a banco de dados, gerao rpida de formulrios e relatrios evoluem a cada nova verso do OpenoOffice.org. Junte-se a isso a disponibilidade de uma linguagem de macro embutida, o StarBasic, que permite automatizar muitas tarefas cotidianas.2.1.2 Licena de UtilizaoA empresa SunMicrosystems disponibilizou o cdigo-fonte doStaroffice em Outubro de 2000 sob duas licenas de cdigo aberto. Com cerca de 7,5 milhes de linhas de cdigo, esta pode ser considerada a maior contribuio para a histria do software de cdigo aberto no mundo conforme informaes disponveis em CollabNet (2005).14Conforme Fecchio (2004), o OpenOffice.org utiliza uma estratgia de duplo licenciamento para o cdigo-fonte da tecnologia do projeto. As licenas so: GNU Lesser General Public License (LGPL) ; Sun Industry Standards Source License (SISSL) . Esta estratgia de duplo licenciamento possibilita amplo acesso 109comunidade GPL e tambm prov acesso para empresas que no querem usar a licena GPL. Isto permite que o OpenOffice.org se integre a outros projetos que utilizem outras licenas alm de permitir que entidades comerciais participem da comunidade OpenOffice.org. Com a utilizao da licena LGPL, uma licena membro da famlia de licenas GNU GPL , um trabalho proprietrio poder se vincular a um cdigo-fonte em tempo de compilao sem que o trabalho derivado se torne GPL. Desta forma, quando um cdigo-fonte est licenciado sob a LGPL, ele poder estar vinculado a qualquer outro cdigo, independentemente da sua licena. A licena SISSL focaliza em sua essncia manter a compatibilidade, devendo a empresa ou desenvolvedor seguir os padres especificados por ela. Para o OpenOffice.org, os padres identificados sero as verses LGPL da tecnologia, API's independentes de linguagem e formatos de arquivos baseados em XML. Se estes padres forem quebrados, a licena precisa9 10 11 http://www.openoffice.org/licenses/lgpl_license.html SISSL:http://www.openoffice.org/licenses/sissl_license.html GNU GPL: www.gnu.org/copyleft/gpl.html1115especificar uma referncia ao cdigo-fonte modificado, deste modo expondo os detalhes de qualquer incompatibilidade ou modificao que tenha sido introduzida.2.1.3 Caractersticas do OpenOffice.orgA sute OpenOffice.org conta com os seguintes programas e recursos: Processador de texto; Planilha eletrnica; Aplicao para apresentaes; Editor para desenho; Editor HTML; Conectividade com banco de dados diversos atravs dos seus respectivos drivers; Linguagem de macro embutida (StarBasic); API's para outras linguagens de programao como Java, C++ e Python. Possibilidade de exportao de texto, planilha, desenho e apresentao para o formato de arquivo PDF (Portable Document Format)12. interessante destacar que o OpenOffice.org possui integrado umaestrutura para navegao de dados integrada, como pode ser visto na Figura12 PDF: http://www.webopedia.com/TERM/P/PDF.html162.1, que possui funcionalidades interessantes como: Navegao pelos registros com possibilidade de edio; Criao de tabelas, modificao e adio de novos atributos em tabelas existentes; Assistente de consultas e relatrios; Consultas SQL em modo texto.Figura 2.1 Navegador de Dados OpenOffice.org2.1.4 Outras Sutes de EscritrioExistem no mercado vrios software que cumprem bem as funes necessrias a um escritrio. Dentre eles destacam-se:OpenOffice.org;17 Microsoft Office13; Corel WordPerfect Office ; Gnome Office ; KOffice ; StarOffice. Segundo informaes encontradas em MS Versus (2005), o16 15 14OpenOffice.org trabalha em mais plataformas que seu concorrente Microsoft Office e o espao em disco utilizado para instalao menor. A sute OpenOffice.org contm aplicaes que efetivamente suprem as necessidades de quem utiliza os aplicativos Microsoft Word, Excel, PowerPoint e Access podendo ainda ler e escrever arquivos nos formatos DOC, XLS e PPT. No que se refere a compatibilidade do OpenOffice.org com o Microsoft Office, a maioria dos usurios reclamam basicamente de formatao de documentos e macros embutidas em documentos do Microsoft Office. O OpenOffice.org utiliza-se da gravao de documentos em formatos abertos como XML o que permite aos desenvolvedores manipular documentos mesmo sem a utilizao do mesmo. Segundo SILVA (2004) a verso 2.0 do OpenOffice.org apresentar melhorias significativas. Haver melhorias no cdigo-fonte, em bibliotecas,13 14 15 16 Microsoft Office:http://www.microsoft.com/brasil/office/default.asp Corel WordPerfect Office:http://www.corel.com Gnome Office:http://www.gnome.org/gnome-office/ KOffice:http://www.koffice.org/18interfaces de programao (API's) e outras que ajudam o usurio final e o desenvolvedor, como: - Facilidade durante a instalao que ser feita no modo multi-usurio; Presena de um banco de dados prprio, o HSQLDB17; Continuidade com o formato XML na leitura e escrita de documentos; Melhoria da compatilbilidade com documentos gerados pelo Microsoft Office; A interface grfica assume o tema do ambiente em que foi aberto; Macros no sero mais executadas diretamente elevando o nvel de segurana do aplicativo;O aplicativo Writer apresentar melhorias considerveis como a criao de tabelas dentro de clulas de outras tabelas (tabelas aninhadas), quebras de pginas no interior de tabelas, caixa de informao com o nmero de palavras do documento que est sendo editado;Conexes com bancos de dados externos foram melhoradas e simplificadas e os acessos via SQL18 foram melhorados;Melhoria da compatibilidade com macros escritas na linguagem VBScript;Suporte para as linguagens JavaScript, Java alm do StarBasic.17 18HSQLDB: http://hsqldb.sourceforge.net SQL: http://www.sql.org192.2 Sistema Gerenciador de Banco de Dados Firebird2.2.1 Definio, Origem e EvoluoUma questo comum hoje no mundo Linux qual gerenciador de banco de dados utilizar. Existem diversas possibilidades dependendo do que se quer alcanar. Quando se procura gerenciadores de banco de dados comerciais, Oracle ou DB2 podem ser boas alternativas. Alguns destes fabricantes de banco de dados iniciaram seu suporte plataforma Linux anos atrs. Por outro lado, desejando-se utilizar alternativas de cdigo aberto pode-se optar pelo MySQL ou PostgreSQL . Outro banco de dados de cdigo aberto com grande aceitao para a plataforma Linux o Firebird23. Segundo Lozano (2003) o banco de dados Firebird teve sua origem na verso aberta do Interbase , banco de dados voltado para o segmento departamental ou de escritrio. Ento a verso 6.0 do Interbase, ainda em preliminar, foi liberada e apoiou-se no crescente mercado de servidores Linux da poca. Em julho de 2000, nasceu o projeto Firebird25 24 21 22 19 20no19 20 21 22 23 24 25Oracle: http://www.oracle.com/index.html DB2: http://www-306.ibm.com/software/data/db2/ MySQL: http://www.mysql.com/ PostgreSQL: http://www.postgresql.org/ Firebird: http://firebird.sourceforge.net/ Interbase: http://www.borland.com/interbase Projeto Firebird:http://sourceforge.net/projects/firebird20SourceForge e a Firebird Foundation como projetos de apoio ao banco de dados de cdigo aberto Firebird. A Borland continuou o desenvolvimento do Interbase, mas com um produto comercial:Recentemente a Borland liberou a verso 7.0 do Interbase, anunciada como um "embedded database" (banco de dados embutido), mas perdeu grande parte da sua comunidade de usurios e do suporte de terceiros. J o Firebird est prestes a liberar a verso 1.0.5, com recursos exclusivos e suportando ainda mais plataformas. (LOZANO. 2003:46-48)262.2.2 Licena de UtilizaoConforme mencionado, o Firebird compreende um sistema gerenciador de banco de dados multiplataforma que teve seu cdigo-fonte originado a partir da verso 6.0 do Interbase da empresa Inprise Corp28 27(tambm conhecida como Borland Software Corporation ) em 25 de Julho de 2000 sob a Interbase Public License v.1.0 . Os novos cdigos adicionados para o Firebird esto licenciados sob a licena Initial Developers Public License30 - tambm conhecida como IDPL. Ambas as licenas mencionadas so verses modificadas da Licena Pblica do Mozilla verso 1.1 . O suporte comercial do Firebird pode ser negociado com a organizao IBPhoenix ,26 27 28 29 30 31 3232 31 29que possui disponibilizado em seu siteFirebird Foundation: http://firebird.sourceforge.net/index.php?op=ffoundation Inprise Corp: http://www.borland.com.br/ Borland Software Corp: http://www.borland.com.br/ Interbase Public License:http://info.borland.com/devsupport/interbase/opensource/IPL.html Initial Developer's Public License:http://firebird.sourceforge.net/index.php?op=doc&id=idpl Licena Pblica do Mozilla: http://br.mozdev.org/MPL/ IBPhoenix: http://www.ibphoenix.com/21informaes e servios para desenvolvedores e usurios. Existe ainda a FirebirdSQL Foundation que tem como objetivos dar suporte e aperfeioar a base de dados de cdigo aberto Firebird; gerir fundos arrecadados no intuito de promover avanos no projeto Firebird; promover o engajamento de indivduos, empresas ou organizaes no comerciais no desenvolvimento, suporte e promoo de projetos de software baseados em Firebird. Segundo IBPhoenix (2005) para aderir a uma linha dedesenvolvimento no projeto Firebird necessrio contactar diretamente o coordenador. No Brasil, a entidade FireBase abrange um grupo de mais de 9.300 usurios oferecendo apoio gratuito na soluo de problemas e dvidas.332.2.3 Caractersticas do Sistema Gerenciador de Banco de Dados FirebirdSegundo o projeto Firebird, Firebird um banco de dados relacional que oferece muitas caractersticas do padro ANSI SQL-99 disponvel para os sistemas operacionais Microsoft Windows , Linux e uma variedade de ambientes UNIX. Tradicionalmente, o banco de dados Firebird apresenta duas verses:33 34 Firebase: http://www.firebase.com.br Microsoft Windows: http://www.microsoft.com3422Classic Serverou CS Neste modo as instncias do Firebird soiniciadas pelo inetd e cada cliente do banco possui um processo. Nesta modalidade o prprio cliente(programa, processo) pode tambm fazer acesso direto ao arquivo de banco de dados no havendo um processo em separado para tal, permitindo que vrios programas utilizem localmente o mesmo arquivo.Super Server ou SS Inicia-se um nico processo ibserver que executado autonomamente. O processso cliente no pode abrir o arquivo de banco de dados diretamente sendo as conexes atendidas atravs de threads35 sendo que uma thread especializada gerencia o acesso concorrente aos arquivos.O SS capaz de atender a uma carga de trabalho bem maior do que o CS, consumindo menos recursos do servidor, alm de apresentar melhor tempo de resposta e segurana. Mas o CS continua sendo suportado por ser mais leve com poucos clientes e pelas vantagens do modo local para algumas aplicaes. (LOZANO. 2003:46-48)Ao se fazer uma conexo ao servidor Firebird necessrio informar o dialeto que se deseja utilizar durante o acesso, j que este banco de dados oferece trs tipos de dialetos SQL. Geralmente dialetos esto relacionados com o formato do tipo de dados date/time ou preciso numrica de tipos numricos. Para obter maiores informaes sobre dialetos pode-se visitar o35 thread: http://www.webopedia.com/TERM/t/thread.html23endereo http://firebird.sourceforge.net/index.php?op=faq#q0000.dat. Aeletrnicotabela 2.1, publicada em LOZANO (2003) evidencia asprincipais caractersticas do banco de dados Firebird e seus principais concorrentes no software livre.Tabela 2.1 - Principais Bancos de Dados LivresRecurso Transaes Procedimentos armazenados (incompatveis com ODBC) Triggers Integridade referencial Consultas aninhadas (subselects) Outer Joins Funes agregadas (count, sum, avg, ...) Recursos para OLAP / DatawareHouse Extenses Orientadas a Objetos Servidor baseado em mltiplos processos Servidor baseado em mltiplas threads Acesso direto, sem servidor Um arquivo por tabela Um arquivo por BD BD ocupando vrios discos Liberao automtica de registros deletados Servidor estvel em Windows Servidor em Netware Firebird sim sim sim sim sim sim algumas no no sim (CS) sim (SS) sim (CS) no sim no MySQL 3.x opcional no no no no no poucas no no no sim no sim no sim (via links, apenas Linux/Unix) sim sim sim PostgreSQL sim sim sim sim sim sim muitas no sim sim no no sim no sim (via SQL)sim sim nono no simO Firebird prov um conjunto de caractersticas importantes como replicao, stored procedures (procedimentos armazenados), triggers (gatilhos), integridade referencial entre tabelas e backups enquanto o banco24de dados est funcionando. Neste trabalho so utilizados procedimentos armazenados. O Firebird um gerenciador de banco de dados multiplataforma, caracterstica importante quando se leva em conta o crescimento do mercado Linux; segundo FAROOQI (2004) o Firebird implementa caractersticas comuns a bancos de dados comerciais sem perda de performance; possvel criar novos usurios indicando quais deles podem realizar alterao, seleo, deleo ou insero em uma tabela especfica. Segundo LOZANO (2004), bancos de dados se tornaram uma parte integrante da infra-estrutura tecnolgica de qualquer empresa, por isso devem ser abertos. Para ele, software livres possuem estabilidade e segurana comprovados podendo o usurio intervir na evoluo do produto expressando suas necessidades. Interoperabilidade e portabilidade no so comprometidos por disputas comerciais facilitando a integrao entre software livres e tornando-os multiplataforma. Uma lista de empresas que utilizam o banco de dados Firebird pode ser encontrada em Firebase (2005).253 Conectando o OpenOffice.org ao Banco de Dados FirebirdPara este trabalho foram utilizados os seguintes programas: OpenOffice.org - verso 1.1.1; Banco de dados Firebird Super Server - verso 1.0.3.972-0; Driver Firebird ODBC36 -verso 1.2.0.69; unixODBC37- verso 2.2.8-5; unixODBC-gui-qt - verso 2.2.9-1; Driver JDBC Jaybird JCA/JDBC ; Mquina Virtual Java - Java 2 Standard Edition verso 1.4.2(usado somente para teste)40;39 38Interface para manipulao de dados IBAccess41 1.18. A seguir ser apresentada a utilizao de cada um dos softwareacima listados.3.1 Utilizao de ODBCSegundo o dicionrio eletrnico Webopedia , ODBC (Open36 Firebird ODBC: http://firebird.sourceforge.net/ 37 unixODBC: http://www.unixodbc.org/ 38 unixODBC-gui-qt: acesse http://www.unixodbc.org/ 39 Driver JDBC Jaybird JCA/JDBC: http://jaybirdwiki.firebirdsql.org/JayBirdHome 40 Java 2 Standard Edition: http://java.sun.com/j2se/ 41 IBAccess: http://www.ibaccess.org/ 42 Webopedia: http://www.webopedia.com/42Database Connectivity) um mtodo padro de acesso a banco de dados desenvolvido pelo SQL Access Group43 em 1992. O ODBC permite o acesso de qualquer dado atravs de qualquer aplicao utilizando-se para isso de uma camada intermediria responsvel por traduzir os comandos de acesso a dados oriundos da aplicao para o gerenciador de banco de dados. Com um driver ODBC adequado, pode-se acessar o banco de dados Firebird. Dentre os disponveis tem-se o driver fornecido pela empresa EasySoft , ou o driver denominado Gemini Interbase ODBC Driver da empresa Ibdatabase . Neste trabalho ser utilizado o driver Firebird ODBC. Este driver45 44suporta as verses do banco de dados Firebird para Microsoft Windows, FreeBSD, Solaris e Linux. Esta verso ODBC est licenciada sob a licena Initial Developers Public License - tambm conhecida como IDPL. Este driver contm os seguintes arquivos que possuem equivalentes para a plataforma GNU/Linux: - IscDbc.dll A interface JDBC que permite o acesso ao Firebird atravs da API do Firebird. - OdbcJdbc.dll Implementa a API ODBC que permite o acesso ao Gerenciador ODBC. - OdbcJdbcSetup.dll Instala, desinstala e configura o driver ODBC alm de permitir configurar o DSN (Data Source Name).43 44 45 SQL Access Group Easysoft: http://www.easysoft.com Ibdatabase: http://www.ibdatabase.com/index.html27OdbcJdbc.chm Ajuda para o driver ODBC Firebird.3.1.1 Configurando o UnixODBC necessrio configurar dois arquivos que esto presentes na pasta /etc da distribuio Linux Fedora 2. Os arquivos odbc.ini e odbcinst.ini so criados quando se instala o pacote UnixODBC. Segue abaixo a configurao de tais arquivos com (figuras 3.1 e 3.2): explicaes de sua configuraoFigura 3.1 Arquivo odbc.iniFigura 3.2 Arquivo odbcinst.ini283.1.2 Integrando o OpenOffice.org ao UnixODBCAbaixo seguem os passos necessrios para acessar uma base de dados Firebird atravs do OpenOffice.org: - Criar uma base de dados Firebird; - Configurar o driver Firebird ODBC; - Abrir o OpenOffice.org; - Acessar o menu Ferramentas; - Clicar na opo Fonte de Dados; - Na guia Geral preencher os campos:Nome - Nome utilizado para referncia a fonte de dados. Neste trabalho a fonte de dados ser referenciada como OFICIO; Tipo de Banco de dados - ODBC; URL da fonte de dados Pode-se selecionar nesta opo as fontes de dados configuradas no UnixODBC atravs do arquivo odbc.ini. Neste caso, ter-se- disponvel a fonte OFICIO;Na guia ODBC preencher os campos:Configuraes do Driver - Preencher este campo com a expresso JDBCDRIVER=/opt/interbase/odbc/libIscDbc.so;Conjunto de Caracteres Ocidental ISO-8859-1.Escolher a opo EuropaNa guia TABELASpoder ser visualizado aps a configurao29anterior todas as tabelas da base de dados OFICIO.3.2 Conexo Atravs de JDBCSegundo o dicionrio eletrnico Webopedia, JDBC acrnimo para Java Database Connectivity que representa a API que habilita as aplicaes escritas na linguagem Java executar solicitaes SQL. Isto permite aplicaes Java interagir com qualquer banco de dados compatvel com SQL. A interface de acesso a dados JDBC foi desenvolvida porJavaSoft, uma unidade da empresa Sun Microsystems que responsvel pela tecnologia Java. A conexo a uma base de dados Firebird pode ser feita utilizando um driver JDBC que seja compatvel. Historicamente a Borland disponibilizou seu driver chamado InterClient para uso em aplicaes Java com o banco de dados Interbase. A equipe responsvel pelo Firebird desenvolveu ento uma implementao puramente em Java que foi a base para o driver JayBird JCA/JDBC que compatvel com os bancos de dados Interbase e Firebird. Para este trabalho ser utilizado o driver JayBird JCA/JDBC . Soluo multiplataforma para conexo a banco de dados, o driver JayBird est licenciado sob a licena GNU Lesser General Public License (LGPL) e seu cdigo-fonte tambm est disponvel na Internet.46 47 Interclient: http://info.borland.com/devsupport/interbase/interclient/ Driver JayBird JCA/JDBC: http://jaybirdwiki.firebirdsql.org/JayBirdHome47 46303.2.1 Configurando o Driver JDBC Jaybird JCA/JDBCPara utilizao do driver JayBird necessrio ter a mquina virtual Java instalada e configurada. Durante a instalao do OpenOffice.org aparece uma tela em que o usurio questionado sobre a utilizao da Tecnologia Java, devendo-se habilitar esta opo. Depois disso, necessrio disponibilizar as classes do driver JCA/JDBC colocando o caminho onde se encontram os arquivos com tais classes. Estando com o OpenOffice.org aberto basta seguir os seguintes passos: Menu Ferramentas | Opes | OpenOffice.org | Segurana |Caminho da classe. Nesta caixa de configurao, deve-se adicionar as seguintes classes contidas no pacote do driver JayBird JCA/JDBC: miniconcurrent.jar, jaas.jar, mini-j2ee.jar, log4j-core.jar e firebirdsql.jar. Uma vez adicionado as classes necessrias para que o driver funcione s falta configurar a fonte de dados (Menu Ferramentas | Fonte de Dados): - Na guia Geral preencher os campos:Nome - Nome utilizado para referenciar a fonte de dados. Neste trabalho a fonte de dados ser referenciada como OFICIO; Tipo de Banco de dados - Selecionar JDBC; URL da fonte de dados Preencher este campo com a expressojdbc:firebirdsql:localhost/3050:/var/intranet/bdados/sistema.gdb31, sendo esta expresso o caminho para a fonte de dados;Na guia JDBC preencher os campos:Classe do Driver JDBC - Preencher este campo com a expresso org.firebirdsql.jdbc.FBDriver;Nome de usurio - Colocar sysdba, caso seja utilizado o usurio padro do Firebird. Marque a opo Senha Obrigatria. Trocar a senha do usurio utilizando o utilitrio fornecido junto ao Firebird chamado changeDBAPassword.sh localizado no diretrio /opt/interbase/bin;Na guia TABELASpoder ser visualizado aps a configuraoanterior todas as tabelas da base de dados OFICIO.324 StarBasic A Linguagem de Macro do OpenOffice.org4.1 As Diversas Verses de BasicSegundo Dictionary.LaborLawTalk.com (2005) BASIC uma linguagem de alto nvel. Inicialmente designada como uma ferramenta de fcil uso, ela se tornou difundida pelos computadores domsticos a partir de 1980 originando vrios novos dialetos ou verses de BASIC. A verso original da linguagem BASIC foi inventada em 1964 por John Kemeny e Thomas Kurtz na universidade de Dartmouth. Esta verso ficou conhecida como Dartmouth BASIC. Os oito princpios do desenvolvimento da linguagem BASIC eram: - deveria ser uma linguagem fcil para desenvolvedores iniciantes; - ser uma linguagem de carter genrico e de mltiplas finalidades; - permitir adio de caractersticas avanadas mantendo a simplicidade para desenvolvedores iniciantes; - ser uma linguagem interativa; - prover mensagens de erro claras e amigveis; - permitir rpido desenvolvimento de pequenos programas; - no requerer o conhecimento do hardware do computador;- fazer a intermediao entre usurio e sistema operacional. A linguagem BASIC teve suas origens a partir das linguagens Fortran II e Algol 60. Novas verses de BASIC apareceriam desde a sua concepo. A empresa Microsoft Corporation desenvolveu diversas verses de BASIC para o sistema operacional MSDOS (Microsoft Disk Operating System) dentre elas BASICA, GW-BASIC e Quick BASIC. Em 1985, a empresa Borland disponibilizou o Turbo BASIC. Visual Basic pode ser considerada a variante do BASIC mais utilizada para programao, no sistema operacional Microsoft Windows. Atualmente esta linguagem denomindada VB.NET51. Em contrapartida, uma outra alternativa para utilizao da linguagem BASIC pode ser encontrada com a sute de escritrio OpenOffice.org. O StarBasic funciona como uma linguagem de alto nvel e assemelha-se a ferramenta Visual Basic for Applications (VBA) da Microsoft.52 50 48 494.2 O StarBasic Tipos de Dados e Componentes GrficosA linguagem de macro que acompanha a sute de escritrios OpenOffice.org o Starbasic. Os principais tipos de dados presentes nesta linguagem so:48 49 50 51 52 Fortran: http://drmwatch.webopedia.com/TERM/F/FORTRAN.html Algol: http://www.webopedia.com/TERM/H/high_level_language.html MSDOS: http://fr.wikipedia.org/wiki/MSDOS VB.NET: http://msdn.microsoft.com/vbasic Visual Basic for Applications: http://msdn.microsoft.com/isv/technology/vba/default.aspx34- Conjunto de caracteres: String; - Dados Nmericos: Integer, Long Integer, Float, Double, Currency; - Variveis lgicas: Boolean: True e False; - Variveis de tempo e data: Date. Dentre os principais componentes grficos que integram o ambiente de desenvolvimento do OpenOffice.org podem ser citados: botes, caixas de dilogos, caixas de texto, campos de rtulo, caixas de verificao, botes de opo, caixas de listagem, caixas de combinao, barras de rolagem horizontal e vertical. So componentes utilizados pelo desenvolvedor na construo de interfaces para entrada e alterao de dados pelos usurios.4.3 Integrando o OpenOffice.org ao Banco de Dados FirebirdPara conectar uma base de dados Firebird a fim de realizar consultas, necessrio que a fonte de dados esteja configurada atravs de uma conexo ODBC ou JDBC, como j foi exposto no captulo 3. Outros tipos de fontes de dados tambm esto disponveis com a utilizao do OpenOffice.org como textos, planilhas, livros de endereos de e-mail, dBase , dentre OpenOffice.org. A integrao da API do OpenOffice.org com bancos de dados se faz53 dBase:http://itmanagement.webopedia.com/TERM/D/dBASE.html53outros.EsteacessoserfeitoatravsAPIdo35dentro de trs camadas: SDBC, SDBCX, SDB. Maiores detalhes sobre cada camada e suas funcionalidades pode ser encontrado em API Project. Levando-se em conta a API do OpenOffice.org este projeto utilizou para acesso a banco de dados os seguintes componentes: fontes de dados, conexes simples, estamentos com o banco de dados e pesquisas. O procedimento bsico para comunicar com o banco de dados usando um estamento SQL : 1) Fazer a conexo com o banco de dados: Figura 4.1. No exemplo deste trabalho a fonte de dados foi denominada OFICIO. Dessa forma, com a codificao mostrada na Figura 4.1, pode ser realizada a conexo base de dados localizada no seguinte caminho/var/intranet/oficio/oficio.gdb, conforme exposto no arquivo odbc.ini. 2) Solicitar conexo um estamento: Figura 4.2. 3) O estamento realiza uma pesquisa (query) junto ao banco: Figura 4.2. 4) O resultado da pesquisa processado quando retorna valores: Figura 4.2. 5) Caso seja necessrio inserir, deletar, atualizar registros ESTAMENTO.Execute(): Figura 4.3 utiliza-se36Figura 4.1 Conectando ao Banco de Dados Usando StarBasicFigura 4.2 Criando um Estamento e Executando uma Consulta37Figura 4.3 Criando um Estamento e Executando uma Incluso385 Uma Aplicao Prtica do Conjunto de Ferramentas Proposto5.1 Uma Simples Aplicao para Emisso de OfciosCom a crescente utilizao de software livre em empresas e instituies governamentais surge a necessidade de aplicaes seremdesenvolvidas para este segmento, conforme informaes do site do projeto Panorama Brasil (2005):O analista Jos Lus Pissin informou que a Dataprev j economizou R$ 700 mil desde que passou a usar o software livre, h um ano. O analista contou que os tcnicos do Dataprev j desenvolveram um software voltado inteiramente para as necessidades da empresa, chamado Guruprev, e esto desenvolvendo uma estao de trabalho totalmente livre. No futuro, pretendemos colocar software livre nos 45 mil computadores da Dataprev, nas 1.150 agncias que a instituio mantm pelo Pas, revelou Pissin. O analista de sistemas Flvio Jos Fonseca, do Tribunal de Contas do Distrito Federal, informou que a instituio usa hoje o pacote Office 97, mas se prepara para migrar para o OpenOffice. Fonseca afirma que um levantamento constatou que fica mais barato fazer um treinamento no software livre do que um upgrade para a ltima verso do Office da Microsoft.(PanoramaBrasil: 2005)Ainda segundo NOVELL (2005) :Os governos modernos geram um grande nmero de arquivos digitais. De certides de nascimento e devolues de imposto a registros criminais de DNA, os documentos devem ser sempre recuperveis. Dessa forma, os governos relutam em armazenar registros oficiais em formatos proprietrios de fornecedores de softwares comerciais. Essa preocupao tende a aumentar medida que os servios eletrnicos de governo, como o arquivamento de uma devoluo de imposto ou a solicitao de uma carteira de habilitao de motorista, ganharem impulso.Assim, desenvolver software utilizando-se de ferramentas livres estratgico uma vez que a demanda por este tipo de aplicao cresce nos segmentos empresarial e principalmente governamental. O projeto piloto para criao de um sistema de correspondncia oficial para o setor pblico surge neste contexto buscando ser uma54iniciativa para a plataforma GNU/Linux , atendendo tambm a demanda de usurios do sistema operacional Microsoft Windows. Segundo CONSOLARO (2004) o tipo de correspondncia ofcio est para a empresa pblica como a carta comercial e o memorando esto para a empresa privada. , portanto, um instrumento de Relaes Pblicas e sobretudo um elemento essencial no processo comunicacional entre chefias e com o pblico externo. O sistema atualmente compreende trs arquivos: /var/intranet/oficio/oficio.gdb o arquivo de banco de dados; /var/intranet/oficio/oficio.swx o arquivo que contm as macros do aplicativo;/var/intranet/oficio/oficio.stw um modelo de documento para ofcio simples (template) .5.2 Telas do Sistema de Correspondncia OficialO sistema consiste em um banco de dados Firebird acessado atravs54 GNU/Linux: Sistema operacional GNU com kernel linux40da linguagem StarBasic fornecida junto a API do OpenOffice.org. O aplicativo consistir quando desenvolvido por completo, na emisso dos seguintes tipos de documentos: ofcio simples, ofcio circular, memorando e fax. O mdulo para emisso de ofcio simples j est pronto e pode ser acessado atravs dos seguintes passos:1) Autenticao do Usurio: Na Figura 5.1 pode-se ver uma janela da aplicao onde o usurio dever identificar-se com um usurio (login) e sua senha; para obter acesso s demais funcionalidades e emitir os documentos. Nesta janela o usurio poder selecionar o tipo de correspondncia a ser emitida (ofcio simples, circular, memorando, fax) e identificar para qual setor est emitindo tal correspondncia. O sistema verificar se o usurio est autorizado a emitir correspondncia para o setor escolhido, garantindo flexibilidade, uma vez que na ausncia de um funcionrio a demanda do servio pode ser delegada a outras pessoas. 2)Configurao dos parmetros para emisso do Ofcio Simples: Na Figura 5.2 verifica-se que o sistema identifica os seguintes itens: Identificao do usurio (redator); Identificao do setor que emite a correspondncia; Assunto do ofcio simples; Pesquisa e seleo do destinatrio da correspondncia. Com a Figura 5.2 verifica-se que o sistema admite trs nveis41hierrquicos: - Superintendente: o cargo mais elevado da instituio podendo admitir outras terminologias em outras organizaes ou empresas; - Diretor; - Chefe de setor ou departamento. 3) Cadastro e alterao de destinatrios: A Figura 5.3 compreende uma tela multifuncional j que permite o cadastro e alterao de destinatrios. Neste ponto possvel cadastrar um novo destinatrio ou pesquisar um j existente no intuito de alterar seus dados. 4) Ofcio Simples montado na tela: A Figura 5.4 permite visualizar o ofcio simples j montado na tela.Figura 5.1 - Autenticao do Usurio42Figura 5.2 - Configurao dos parmetros para emisso do Ofcio Simples43Figura 5.3 - Cadastro e Alterao de Destinatrios44Figura 5.4 - Ofcio Simples Montado na TelaUm teste realizado com usurios da Superintendncia Regional de Ensino de Montes Claros, que j so usurios do OpenOffice.org, mostrou grande aceitao do mdulo para emisso de ofcio simples j que o nmero45de estaes de trabalho que passariam a utilizar o sistema de correspondncia aumentaria significativamente. O sistema atual dependente de sistema operacional e ser descontinuado por no atender satisfatoriamente as necessidades atuais. As melhorias poderiam ser assim enumeradas:Substituio do software proprietrio com atualizao constante do OpenOffice.org sem custos para a Instituio o que facilitaria a utilizao de novas tecnologias agregadas ao OpenOffice.org;Aumento significativo do nmero de mquinas com suporte ao sistema de correspondncia com conseqente melhor utilizao do sistema Operacional GNU/Linux para produo de documentos oficiais;Gerao de relatrios gerenciais e estatsticos a partir da base de dados Firebird utilizando-se de ferramentas de relatrio j presentes no OpenOffice.org;Expanso do software, aps o seu trmino e teste, por outros rgos ou entidades do governo em que a soluo se aplique agilizando e divulgando a tecnologia por todo o Estado de Minas Gerais.466 Concluso e trabalhos futurosDiante da velocidade que nos impem as novas tecnologias alterando a vida social das pessoas e criando novas possibilidades de comunicao, faz-se mister procurar novos processos ou ferramentas que agilizem as aes, com vistas atender, cada vez mais e melhor, as demandas de todas as instncias da sociedade onde o processo comunicacional seja elemento fundamental. Neste contexto de mudanas, a informao se tornou essencial aos processos de comunicao do homem. Empresas e reparties pblicas devero se adequar aos novos tempos buscando eficincia e economia, rompendo as barreiras da desestruturao tecnolgica no universo competitivo e globalizado que ora se apresenta. A adeso ao software livre cria possibilidades de democratizao dos recursos tecnolgicos uma vez que oferece as possibilidadesnecessrias para o uso de novas tecnologias, permitindo aos usurios liberdade de escolha e economia de recursos. A necessidade de se utilizar mquinas com sistemas operacionais diversos, conectividade em rede, adeso a padres abertos foram decisivos na escolha do OpenOffice.org e Firebird neste trabalho. Uma soluo queapresenta qualidade e segurana visto que os produtos utilizados esto em constante evoluo e possuem comunidades virtuais empenhadas em seus aperfeioamentos. Neste trabalho foi apresentada uma soluo para correspondncia oficial usando o gerenciador de banco de dados Firebird e a sute de escritrios OpenOffice.org. Dentro desta proposta, o desenvolvimento dos mdulos para gerao de ofcio circular, memorando e fax far parte da etapa seguinte de aplicao do projeto.48REFERNCIAS BIBLIOGRFICAS CollabNet, Inc. COLLABNET HELPS OPENOFFICE.ORG SURPASS 170,000 REGISTERED MEMBERS. Disponvel em: Acesso em: 13 abr. 2005. CollabNet, Inc. OpenOffice.org., Overnight success for the worlds largest open source software project. Disponvel em: Acesso em: 20 fev. 2005. CONSOLARO, H.. Por Trs das Letras, Como fazer ofcio, AraatubaSP,2004. Disponvel em: Acesso em: 14 abr. 2005. Dictionary.LaborLawTalk.com. BASIC programming language- definition of BASIC programming language in Encyclopedia. Disponvel em: Acesso em: 25 jan. 2005. DOMINGOS, V. Informaes Gerais Disponvel em: Acesso em: 13 abr. 2005. DUARTE, Noelson Alves. Introduo Ao OpenOffice.org Basic, 2003. Estratgias de Licenciamento. Disponvel em: . Acesso em: 11 out. 2004. FAROOQI, M.. Introduction to the Firebird Database. Reasons why the Firebird database is a viable option for your next project. Disponvel em: Acesso em: 13 abr. 2005. FECCHIO, Alessander. O projeto OpenOffice.org. A Produtividade no escritrio na era das redes. Disponvel em: Acesso em: 11 out. 2004.49Firebase, Empresas que utilizam Firebird. Disponvel em:http://www.firebase.com.br/cgi-bin/firebase.cgi/empresas Acesso em: 15 mar. 2005 IBPhoenix, Get InvolvedFirebird Project Leaders. Disponvel em: Acesso em: 13 abr. 2005. Introduo Cibercultura / Ktia Cilene Amaral Ucha, Rmulo Maia Alves Lavras: UFLA/FAEPE, 2002. LOZANO, Administrao de Administrao de Bancos de Dados Bancos de Dados Livres, 2004. Disponvel em: www.lozano.eti.br Acesso em: 20 fev. 2005. LOZANO, F. Firebird o sucessor do Interbase. Revista do Linux. Curitiba PR, n40, p. 46-48 abr. 2003. Matthew Schwartz. MS Versus, Dissecting Microsoft,Office Suites. Disponvel em: Acesso em: 12 mai. 2005. Monografia / Antnio Maria Pereira de. Lavras: UFLA/FAEPE, 2002.NICOLA, Jos de. Lngua Literatua & Redao. 2. ed. So Paulo: Scipione, 1993. p. 10-11. Novell. tudo uma questo de escolha Disponvel em: Acesso em: 14 abr. 2005 Panorama Brasil, Seminrio mostra vantagens do software livre. Disponvel em: http://www.panoramabrasil.com.br/noticia_completa.asp?p=conteudo/txt/20 03/08/22/20839607.htm Acesso em: 6 marc. 2005 PITONYAK, Andrew. Useful Macro Information For OpenOffice By Andrew PitonyakMonday, Columbus, USA, 2003.50SILVA , R. P. da. O que vem por a.... Linux Magazine, So Paulo, out. 2004, n. 3, p. 44-49. Sun Microsystems, Inc. OpenOffice.org 1.1, Developer's Guide. USA, 2003. Sun Microsystems, Inc.. StarOffice 7 Office Suite, Basic Programmer's Guide. Santa Clara, California, USA, 2003. Sun Microsystems, SUN MICROSYSTEMS ANNOUNCES AVAILABILITY OF STAROFFICE SOURCE CODE ON OPENOFFICE.ORG, Sun works with CollabNet to Deliver Largest Donation of Source Code to Open Source Community. Disponvel em: . Acesso em: 25 jan. 2005.51