Arquivo diário: 15 de julho de 2011

Proteja os seus dados do DropBox com o EncFS

 

Publicado por Pedro Lobo a 8 de Julho, 2011

Hoje em dia, a Internet é cada vez mais utilizada para guardar dados pessoais e documentos importantes, sendo um dos melhores serviços o Dropbox. De uma forma extremamente fácil e rápida pode aceder aos seus dados em qualquer computador a partir da sua conta, bem como manter todos os seus documentos importantes sincronizados nos seus computadores.

Com tantas funcionalidades o Dropbox rapidamente se tornou no serviço de eleição para a partilha de ficheiros, principalmente para projetos que englobam grupos de trabalho em que os seus elementos estão longe entre si.

Apesar de todas estas funcionalidades importantíssimas para a vida digital e apesar das promessas de segurança dos dados, provenientes dos criadores do Dropbox, a verdade é que os utilizadores atualmente estão a confiar em demasia no Dropbox expondo os seus documentos pessoais que por vezes são intransmissíveis.

Porque estão a confiar em demasia no DropBox? Muito simples: o Dropbox atualizou os seus TOS (Terms of service, em português normalmente denominado Termos e Condições, ou seja, a licença) e, a partir deste momento, eles passam a ter a possibilidade de aceder aos nossos dados, por consequência da possibilidade de utilizarem os nossos documentos para copiar, distribuir e até utilizar as ideias que encontrarem nos nossos ficheiros.

Ou seja, estamos perante um serviço que atualmente está a infringir todos os conceitos de privacidade que normalmente devíamos ter! É nesse sentido que este artigo existe! Através deste artigo, o utilizador poderá assegurar todos os seus dados transferidos para o DropBox encriptando-os completamente, tanto o seu conteúdo como o próprio nome do ficheiro, evitando assim que se comprometa a fugas de dados indesejados! E mais, essa encriptação será completamente transparente (automática), ou seja, não precisará de fazer rigorosamente nada depois de configurar!

Neste artigo será explicado como utilizar a ferramenta de encriptação EncFS para guardar dados privados de forma segura no DropBox, para que nunca comprometa ficheiros importantes que não deseje partilhados com mais ninguém, como por exemplo dissertações, teses de mestrado/doutoramento, ou até esboços de novos projetos da sua empresa!

O resultado, para os funcionários do Dropbox que possam ter acesso aos dados, será algo semelhante à imagem acima, ou seja, algo completamente desconhecido!

Relativamente ao referido acima, sobre os novos Termos de Serviço do Dropbox, você pode verificar a veracidade do que foi dito através deste artigo:

Transcrevendo um pouco do que foi lá dito:

By submitting your stuff to the Services, you grant us (and those we work with to provide the Services) worldwide, non-exclusive, royalty-free, sublicenseable rights to use, copy, distribute, prepare derivative works

Quer isto dizer que ao utilizar o DropBox eles podem copiar, distribuir e até fazer trabalhos derivados dos conteúdos que encontrarem nos ficheiros. Significa então que para além de poderem visualizar os nossos dados, podem até fazer uso 100% livre das nossas ideias! Já agora, convido-o a ver as reações nos comentários!

A encriptação de dados privados no DropBox é agora, portanto, mais importante do que nunca devido à atualização dos direitos de utilização. Por isso, a equipa do Ubuntued recomenda vivamente a aplicação do processo explicado neste artigo!

COMO FUNCIONARÁ ESTA ENCRIPTAÇÃO?

Do processo explicado neste artigo resultarão duas pastas, uma que estará na pasta do DropBox e que terá os conteúdos encriptados e outra que será a sua nova pasta principal para compartilhar ficheiros no Dropbox. O programa EncFS irá, então, criar novos ficheiros, encriptados na pasta do DropBox, conforme você puser ficheiros na nova pasta principal de partilha!

Para perceber melhor o funcionamento, recomendamos que veja este vídeo em que é mostrada a sincronização de novos ficheiros completamente encriptados:

PRÉ-REQUISITOS

DROPBOX

Sendo este um artigo sobre como proteger os seus dados do Dropox é necessário que faça primeiro a instalação e configuração deste programa. O procedimento não deverá demorar mais do que 5 minutos e pode ser efetuado por qualquer pessoa. Saiba mais informações no seguinte artigo:

APLICAÇÃO DO PROCESSO DE ENCRIPTAÇÃO

Tal como referido na introdução do artigo, o procedimento utiliza o programa EncFS para a encriptação de dados privados no Dropbox. Este programa encontra-se nos repositórios do Ubuntu pelo que a instalação pode ser feita rapidamente pelo terminal com o seguinte comando ou então simplesmente clicando no botão seguinte:

sudo apt-get install encfs

Depois de instalar o programa, deverá criar duas pastas importantes para este procedimento: a primeira será a pasta que terá os conteúdos encriptados e que será a pasta que o DropBox irá sincronizar; a segunda pasta terá os ficheiros originais que o EncFS irá encriptar para o DropBox. Assim, execute no terminal o comando seguinte para criar as referidas pastas:

encfs ~/Dropbox/.encrypted ~/Private

Será questionado se deseja criar as pastas acima referidas ( a “.encripted” e a “Private“) e o método de configuração a utilizar. Recomendamos que use o modo Pré-Configurado Paranóico  que já é bem seguro, no entanto pode utilizar configurações personalizadas se assim o desejar.

Também será necessária uma palavra-passe, utilize uma bastante segura para uma melhor proteção.

No final terá o volume “Private“ acessível no seu Ambiente de Trabalho, e a pasta “.encrypted” dentro da directoria do Dropbox.

A partir de este momento já poderá guardar os seus ficheiros na pasta “Private“. Eles serão automaticamente encriptados e enviados para a pasta “Dropbox/.encrypted“. Não se preocupe pois este método não irá duplicar os ficheiros, apenas terá guardado no disco os ficheiros da pasta Dropbox, servindo a pasta Private como um “espelho” desencriptado dos seus ficheiros.

Apesar de tudo terá de repetir estes passos sempre que ligar o seu computador, pelo que se pode tornar um pouco incomodativo. A configuração seguinte irá adicionar ao seu computador um programa que irá fazer todos esses passos de forma automática.

CONFIGURAÇÃO DE ARRANQUE DO UBUNTU

Recomendamos, também, a instalação do programa GNOME-EncFS para que possa automatizar todo o processo anterior sempre que iniciar o seu computador e também guardar a password do EncFS para um acesso mais rápido.

Faça a transferência do GNOME-EncFS na seguinte ligação:

No final da transferência extraia o seu conteúdo para a sua Pasta Pessoal e modifique o nome da pasta para, exatamente, “gnome-encfs“, desta forma apenas será necessário copiar os seguintes comandos para proceder à instalação do Gnome-EncFS:

cd ~/gnome-encfs && sudo install gnome-encfs /usr/local/bin && gnome-encfs -a ~/Dropbox/.encrypted ~/Private

Será necessário inserir a sua password do EncFS de forma a ser guardada no Keyring do Ubuntu.

DICA EXTRA

Ao seguir os passos anteriores ficará guardada na pasta do Dropox um ficheiro com a sua “Key” de desencriptação, se por um lado irá poupar algum tempo ao fazer esta instalação noutros computadores, por outro o utilizador poderá sentir-se um pouco vulnerável ao ver um ficheiro tão importante no Dropbox.

É possível fazer com que o Dropbox não guarde este ficheiro, mas no futuro terá de o copiar manualmente para todas as máquinas onde faça a instalação. Primeiro terá de copiar o ficheiro “.encfs6.xml” (faça a combinação de teclas Ctrl+H para ver este ficheiro) da pasta ~/Dropbox/.encrypted para um local seguro.

De seguida insira o seguinte comando no terminal:

dropbox exclude add ~/Dropbox/.encrypted/.encfs6.xml

Copie novamente o ficheiro “.encfs6.xml” para a pasta “.encrypted” e, finalmente, apague o ficheiro a partir do site do Dropbox.

REFERÊNCIAS

WebUpd8
Pragmattica

Dropbox Tips and Tricks

Docs PDF/PowerPoint Viewer – Veja os documentos diretamente no Google Docs [chrome]

 

Publicado por António Cascais a 11 de Julho, 2011

Docs PDF/PowerPoint Viewer – Veja os documentos diretamente no Google Docs [chrome]

O aparecimento do Google Chrome veio alterar completamente o mercado dos browsers. Em apenas alguns meses, o Google Chrome conseguiu ser dos mais populares browsers existentes. Isto aconteceu devido ao seu enorme potencial: é bastante rápido, tem várias features muito boas e, acima de tudo, tem inúmeras extensões muito úteis que transformam completamente a experiência de navegação do utilizador.

No entanto, o Google Chrome não permite abrir certos tipos de ficheiros. Ou seja, para ver alguns tipos de documentos, é necessário transferi-los para o computador e, depois, é necessário abrir esses documentos com um outro programa. Estes documentos podem ser documentos de texto (abertos com o Microsoft Word ou outro editor de texto), folhas de cálculo (Excel), apresentações de PowerPoint, etc.

Este problema de ter que abrir os vários tipos de ficheiros com outro programa pode ser mais grave em máquinas com menos poder de processamento, como por exemplo máquinas mais antigas ou netbooks. Nestes casos, o facto de ter que se abrir outro programa para ler os ficheiros torna o processo mais lento e, por vezes, demora muito tempo até que consigamos ver o ficheiro.

É aqui que entra a extensão que hoje lhe apresentamos. O Docs PDF/PowerPoint Viewer é uma extensão para o Google Chrome que vai resolver este problema de ter que abrir documentos com outro programa!

O Docs PDF/PowerPoint Viewer é uma extensão que aproveita as funcionalidades já existentes da Google, neste caso o Google Docs Viewer. Assim, se tiver esta extensão instalada no seu Google Chrome, os ficheiros poderão ser abertos diretamente no Google Docs Viewer.

Ou seja, se desejar abrir um ficheiro do tipo .ppt (apresentação do PowerPoint) para consulta (se quiser editar tem que transferir o ficheiro para o seu computador), não necessita de abrir um outro programa. O Docs PDF/PowerPoint Viewer envia esse ficheiro para o Google Docs Viewer e, assim, poderá vê-lo numa nova aba, sem ter que abrir outro programa!

Ao longo deste artigo vamos-lhe dar a conhecer melhor esta extensão e como a utilizar.

INSTALAR O DOCS PDF/POWERPOINT VIEWER

Esta extensão é, tal como a grande parte das extensões para o Google Chrome, bastante fácil de instalar. Há dois métodos para o fazer: ou instala o Docs PDF/PowerPoint Viewer através da sua página oficial, ou instala através do Ubuntued. Em qualquer um dos casos, o endereço que serve para fazer a instalação da extensão é o mesmo e 100% seguro.

Se pretender instalar esta extensão através do seu site oficial, basta seguir este endereço. Por outro lado, se não desejar sair do ubuntued e se prefere fazer a instalação por aqui, basta clicar no botão que lhe disponibilizamos à direita.

Após concluído este processo, a extensão fica pronta a utilizar. No entanto, é recomendável que a faça a sua configuração primeiro. Poderá ver, de seguida, como o fazer.

CONFIGURAR O DOCS PDF/POWERPOINT VIEWER

Após instalar a extensão, convém fazer a sua configuração. Este processo é bastante simples de fazer, visto que as opções disponíveis são muito simples de escolher.

Para aceder às opções da extensão, primeiro é necessário aceder à página das extensões do Google Chrome. Para o fazer, deverá clicar no ícone de ferramentas do Google e, de seguida, aceder a Tools->Extensions (Ferramentas->Extensões). Ao fazer isto, uma nova aba irá ser aberta no seu Google Chrome onde poderá gerir todas as suas extensões.

Após aberta a nova aba, deverá localizar o Docs PDF/PowerPoint Viewer e clicar em “Options“. Ao fazer isto, uma segunda nova aba será aberta onde tem todas as opções disponíveis.

Estas opções residem, principalmente, nos tipos de documentos que deseja que o Docs PDF/PowerPoint Viewer trate. Ou seja, pode escolher aqui quais os tipos de documentos que deseja que sejam abertos diretamente pelo Google Docs Viewer.

Os tipos de ficheiros disponíveis englobam praticamente todos os que fazem parte do grupo dos mais utilizados: .pdf, .doc, .xls, .ppt, etc. No que diz respeito aos ficheiro .pdf, terá que ter em atenção o facto de o Goole Chrome já ter opções disponíveis para abrir esse tipo de ficheiros. Assim, se desejar ver os ficheiros.pdf através do Google Docs Viewer, terá que desativar, manualmente, as outras opções disponíveis.

Para isso, deverá fazer o seguinte:

  1. Abrir uma nova aba e escrever chrome://plugins/ na barra de endereços.
  2. Procurar a opção de leitura de .pdf do Google Chrome. A opção pode ser o Adobe Acrobat ou o Chrome PDF Viewer. Ou seja, é necessário procurar por ambas.
  3. Desativar a opção.

Após concluído este processo, já é possível ver os ficheiros .pdf através do Google Docs Viewer.

Por fim, no que diz respeito às opções do Docs PDF/PowerPoint Viewer, também pode definir quais os domínios que a extensão não deve tratar. Ou seja, definir domínios para que, quando neles navegar, a extensão não fique ativa.

COMO UTILIZAR O DOCS PDF/POWERPOINT VIEWER

Agora que a extensão está configurada, já a pode começar a utilizar. A sua utilização é bastante simples. Para ver o Docs PDF/PowerPoint Viewer em funcionamento, basta tentar abrir um ficheiro qualquer com o seu Google Chrome e poderá verificar que ele é aberto no Google Docs Viewer.

Se preferir que o documento seja aberto numa nova aba, também o pode fazer. Para isso, basta clicar com o botão do lado direito no endereço do ficheiro e escolher a opção “View File in New Tab” (ver ficheiro numa nova aba).

E é assim que a extensão funciona. Como pode ver, a sua utilização é bastante simples. Por fim, deixo-lhe um pequeno vídeo onde pode ver a extensão a funcionar.

REFERÊNCIAS

 

Leia mais em: http://ubuntued.info/docs-pdfpowerpoint-viewer-veja-os-documentos-diretamente-no-google-docs-chrome

Introdução à plataforma GNU de desenvolvimento



Autor: Renato Merli <merli.renato at gmail.com>
Data: 26/02/2010

Introdução

Para desenvolver aplicativos normalmente fazemos uso de uma grande quantidade de ferramentas de programação, muitas vezes dispostas em kits, frameworks ou plataformas de desenvolvimento.
Como exemplo de plataformas de desenvolvimento temos o .NET e a linguagem JAVA combinada com uma das muitas ferramentas de edição de interface e de código disponíveis.
Para o desenvolvimento de software para as plataformas Windows, Linux, BSD, Mac OS e Unix temos a plataforma de desenvolvimento GNU, que é constituída de uma coleção de projetos de software livre mantidos pela Free Software Foundation e desenvolvedores que colaboram através da internet. Os principais componentes dessa plataforma estão referenciados em http://library.gnome.org/devel/references.
A plataforma GNU não esta associada a nenhuma linguagem de programação em particular: as ferramentas de programação são desenvolvidas em linguagem C e têm ligações para a maioria das linguagens, incluindo C# (mono), C++, Java, PHP, Perl, Python, Ruby e várias outras.
Ela reúne todos os recursos que um conjunto de ferramentas deve conter para ser chamado de plataforma de desenvolvimento: editor de código, editor gráfico de interfaces, compilador, depurador etc, além de um conjunto de bibliotecas facilitadoras para as necessidades de desenvolvimento mais comuns.
Atualmente a plataforma GNU é completa, estável, rica em recursos, mas nitidamente ainda é pouco utilizada para desenvolvimento de aplicativos de acesso a banco de dados, mesmo entre os desenvolvedores de software livre: uma pesquisa no Google pela palavra chave “GDAMM”, o nome de umas ferramentas da plataforma de desenvolvimento, em janeiro de 2009, antes da publicação deste artigo, não retornava nenhuma ocorrência em língua portuguesa e muito poucas em língua inglesa.
Isso não deve, entretanto, perdurar por muito tempo. Os projetos que compõem o ambiente GNU estão sendo melhorados continuamente e, como acontece com as plataformas e aplicativos livres, sua popularidade deve continuar a crescer nos próximos anos. É provável que dentro de algum tempo a plataforma GNU venha a ter alguma representatividade entre os ambientes de desenvolvimento populares.
Considero que para todos os ambientes de desenvolvimento deve haver compiladores ou interpretadores, depuradores, editores etc. Por isso, entre todos os componentes que compõem uma plataforma de desenvolvimento, estamos interessados em especial no conjunto de bibliotecas para programação que o ambiente oferece, o resto é “bobagem”.
As funcionalidades presentes no ambiente GNU são muitas, incluindo bibliotecas thread-safe e multiplataforma para algoritmos genéricos, threads, XML, unicode, arquivos e outras utilidades (GLIB); tratamento de imagens gráficas (CAIRO), criação de interfaces gráficas (GTK+), acesso a banco de dados (GDA), comunicação interprocesso (D-BUS e BONOBO) e web services (LIBSOUP).
Nas próximas seções vamos conhecer os componentes do ambiente GNU essenciais para a criação de aplicativos e, para tanto, vamos estudar a aplicação genérica de cada uma das funcionalidades necessárias para construir aplicativos de acesso a banco de dados.
Utilizaremos do ambiente GNU: um aplicativo chamado GLADE para desenhar a interface; o toolkit GTKMM para programá-la; os componentes da biblioteca GNOME-DB para integração com o SGBD; o compilador GCC para compilar e linkar; o editor de código Anjuta para escrever o código.
Foram utilizadas as seguintes versões:

  • GLIB 2.22.0, GLIBMM 2.22.0, GTK+ 2.16.5, GTKMM 2.12.8,
  • GDA 3.1.2, GDAMM 3.0.0, GNOME-DB 3.1.2, GNOMEDBMM 2.9.5

Não foi utilizada a biblioteca GDA na versão 4 porque, ao tempo da redação deste, a ligação em C++, GDAMM, estava incompleta e sem uso possível para as funcionalidades utilizadas aqui. Deve ser lembrado, entretanto, que a versão de referência para novos projetos deve ser a versão 4, se possível.
O conhecimento da linguagem C++ e da arquitetura MVC é pré-requisito para o estudo deste documento.

Criação de interfaces: desenho

Interfaces gráficas podem ser criadas programaticamente, caso em que o programador cria e arranja os componentes um por um, ou criadas através de um criador de interfaces (interface builder), caso em que é utilizado um aplicativo gráfico que permite “desenhar” as interfaces arrastando e soltando componentes.
Na plataforma GNU, mais especificamente no toolkit GTK+, somos livres para utilizar ou não um construtor de interfaces. Em nosso exemplo usaremos um criador de interfaces, o GLADE, em conjunto com o toolkit GKT+, embora a técnica que recomendo para boa parte dos casos seja a criação de interfaces de maneira programática.
O GLADE pode ser utilizado de duas formas: pode gerar o código fonte que cria a interface desenhada, ou pode gerar uma descrição em XML da interface que é posteriormente usada por uma biblioteca (libglade) para reconstruir a interface em tempo de execução.
Utilizaremos a segunda técnica, ou seja, criaremos uma interface utilizando o software construtor de interfaces GLADE para gerar o arquivo XML que será utilizado para reconstruir a interface com a biblioteca libglade quando o aplicativo estiver “rodando”.
Como qualquer criador gráfico de interfaces gráficas, o GLADE é operado basicamente de maneira intuitiva. Alguns minutos de experimentação são suficientes para aprender a operá-lo e começar a conhecer os componentes gráficos disponíveis para criar interfaces.
O GLADE tem a seguinte aparência:

Linux: Introdução à plataforma GNU de desenvolvimento

No lado esquerdo está a barra de componentes, de onde são selecionados os componentes para inclusão na interface, ao centro há uma janela sendo criada, enquanto que no lado diretório está o editor de propriedades, onde são editadas as propriedades dos componentes.
Para nosso exemplo, utilizando o GLADE criamos uma janela principal e dois formulários, um para inserção de títulos:

Linux: Introdução à plataforma GNU de desenvolvimento

E um para pesquisa:

Linux: Introdução à plataforma GNU de desenvolvimento

Alguns componentes são propositalmente omitidos, pois serão criados programaticamente e, na fase em que estamos, apenas reservamos espaço para eles.
Tendo “desenhado” a interface, vamos programar seu comportamento.

Criação de interfaces: programação

A programação das interfaces gráficas, na plataforma GNU, é realizada utilizando o toolkit GTK+, em nosso caso através da ligação GTKMM para linguagem C++.
No GTK+, como em outros toolkits, é necessário inicializar o toolkit gráfico para então carregar explicitamente as interfaces que foram criadas através do construtor de interfaces, de modo que a programação de aplicativos deve seguir os seguintes passos:
1) inicialização do toolkit gráfico
2) construção das interfaces e associação de eventos
3) execução do mainloop, uma função que nunca retorna pois é responsável por “chamar” os tratadores de eventos quando um evento acontece.
Esses procedimentos podem não ser necessários em algumas plataformas de desenvolvimento, mas fazê-los explicitamente como o faremos obviamente tem muitas vantagens.
Então, para a criação de aplicativos no ambiente GNU podemos ter uma construção como a seguinte, em linguagem C ou C++:

Linux: Introdução à plataforma GNU de desenvolvimento

Na linha 5 inicializamos o toolkit GTK+ e na linha 9 iniciamos o mainloop: é entre uma e outra dessas chamadas que devem ser criadas as interfaces e associados os tratadores de eventos.
Em nosso caso, porque usamos um construtor de interfaces, precisamos apenas seguir os passos necessários para reconstruir a interface, o que é muito simples, conforme será demonstrado.
A utilização de um construtor de interfaces, se feita de maneira como fizemos, cria um efeito colateral, porque ao contrário do que acontece quando criamos a interface programaticamente, quando utilizamos um construtor de interfaces não temos referências aos objetos da interface, já que os mesmos são criados pela biblioteca que reconstrói a interface, em nosso caso libglade++, e não por nós mesmos.
Por esse motivo existe em libglade um mecanismo que permite recuperar a referência aos objetos componentes de uma interface construída por libglade, utilizando-se para isso o nome dado ao componente quando de sua criação com o construtor de interfaces.
A recuperação da interface criada a partir do arquivo XML gerado pelo construtor de interfaces pode ser feira assim:

Linux: Introdução à plataforma GNU de desenvolvimento

Na linha 11 criamos um smartpoiner para o tipo Xml do namespace Glade, mas não vamos nos ater a definição de smartpointer, se você não sabe o que é, faz de conta que é um ponteiro comum. :)
Na linha seguinte fazemos a leitura do arquivo que criamos previamente com o construtor de interfaces GLADE, que chamamos de arquivo.glade.
Na linha 15 criamos um ponteiro para um botão, que irá guarda a referência que iremos recuperar usando libglade.
A linha 16 demonstra como pode ser feita a recuperação das referências aos objetos dentro de uma interface criada com o GLADE, utilizando o nome dado ao widget no momento da criação da interface para referenciá-lo. No exemplo, o método get_widget é usado para recuperar a referência ao componente chamado em GLADE de “bt_add_item” e atribuí-la ao ponteiro Botao1.
Após recuperar a interface e a referência aos componentes necessários, podemos atribuir tratadores aos sinais.
Na plataforma GNU utilizamos as bibliotecas libsig e libsig++ para implementar o sistema de sinais e slots que da suporte ao sistema de eventos do ambiente de desenvolvimento.
A beleza de libsig++ está no fato de ela ser uma biblioteca de sinais e slots muito versátil, thread-safe e type-safe, mas ela não é totalmente simples. São utilizados functors que permitem que métodos de classes possam ser chamados como se fossem funções e, por isso, utilizando a plataforma GNU podemos atribuir aos eventos tanto funções como métodos de classes.
No exemplo anterior, na linha 17, realizamos a associação a uma função chamada “funcao_x”.
Já sabemos como construir uma interface com um construtor de interfaces, como recuperar a interface criada em tempo de execução e como associar tratadores aos eventos. Podemos agora tratar do acesso ao banco de dados.

Banco de dados

As funcionalidades de banco de dados na plataforma GNU são implementadas através de um projeto chamado GDA, de Gnome Data Access.
GDA é independente de SGBD, ou seja, permite operar com servidores diferentes através de uma mesma API, permitindo trocar o servidor de banco de dados sem alterar o aplicativo. Para permitir isso, GDA provê um elevado nível de abstração dos tipos de dados operados por cada tipo de SGBD em particular.
Como outras ferramentas para acesso a SGBDs, GDA oferece os seguintes componentes básicos:
1) um componente para conexão com o banco de dados
2) um componente facilitador para a criação de querys;
3) Modelos de dados que guardam o resultado das consultas
4) Componentes para exibição dos dados contidos nos modelos de dados na forma de tabelas e listas.
Uma consulta é feita usando o componente de conexão (1) e opcionalmente o componente facilitador para construção de querys (2), que retorna os dados em um modelo de dados (3), que é então associado aos componentes de exibição, chamados visões (4). Esse procedimento é bastante similar em diversas ferramentas de programação, que normalmente implementam variações em torno desse modelo básico.
Para a versão de GDA utilizada nesse exemplo, a versão 3, apenas o componente de conexão e os modelos de dados estão na biblioteca GDA, enquanto que os objetos gráficos estão em um projeto chamado libgnomedb.
Vamos ver como inicializar libgnomedb++, a ligação em C++ para a biblioteca libgnomedb, e criar uma conexão com o SGBD:

Linux: Introdução à plataforma GNU de desenvolvimento

Inicializamos a biblioteca, na linha 5, para em seguida criarmos um objeto Client, na linha 7, que entre outras coisas, manipula um conjunto de conexões. É através desses objetos que mantemos uma ou, segundo os manuais, varias conexões simultâneas com SGBDs.
Utilizamos apenas uma conexão, com servidor SQLite, como pode ser observado pelos parâmetros da conexão, nas linhas 10 e 11, que incluem também o nome de usuário(login) e a senha para conexão com o servidor de banco de dados.
Se temos um objeto de conexão, temos também acesso aos dados, já que é através do objeto de conexão que são feitas consultas e operações no banco.
No próximo exemplo vamos realizar uma consulta e então associar os dados retornados a dois dos componentes gráficos de interface (visões) disponíveis, um form e um grid.

Linux: Introdução à plataforma GNU de desenvolvimento

Até a linha 11 são realizados os procedimentos que já conhecemos, realmente nos interessam as linhas 13, 14 e 16.
Na linha 13 é criado um modelo de dados, que guarda os dados da consulta ao servidor de banco de dados.
Na linha 14, usando o objeto de conexão, executamos a instrução “SELECT * FROM titulos” no servidor de banco de dados, armazenando o resultado da consulta no modelo de dados “model” que havíamos criado na linha 13.
Para a visualização dos resultados das consultas ao banco, a maioria das ferramentas de programação oferece componentes para exibição dos resultados no formato de tabelas, que podem receber nomes como datagrid, dbgrid, dbview etc. Na plataforma GNU nós os chamamos simplesmente de grids: criamos um deles na linha 16.
Além dos bem conhecidos grids, GDA conta também com um componente para visualização de dados na forma de formulário, chamado form, que criamos na linha 17.
Os forms representam uma ferramenta eficiente para acelerar o desenvolvimento de aplicativos de acesso a banco de dados. Eles têm a seguinte aparência:

Linux: Introdução à plataforma GNU de desenvolvimento

Enquanto que os grids são assim:

Linux: Introdução à plataforma GNU de desenvolvimento

Como você deve ter percebido pelos ícones na parte inferior, em GNOME-DB os grids e os forms podem ser usados para realizar inclusão, alteração e deleção de registros. Para isso basta programar as querys correspondentes, o que é muito simples, mas não será demonstrado aqui.

Colocando tudo junto: programação do aplicativo

Até aqui ilustramos, através de exemplos genéricos, os passos essenciais para a construção de um aplicativo de acesso a banco de dados utilizando a plataforma GNU. É fundamental, entretanto, para a experimentação do leitor, um experimento prático.
Para tanto será disponibilizado o código fonte compilável de um exemplo de aplicativo utilizando as ferramentas citadas aqui. Ele estará disponível em:

Entretanto, para além do que já foi apresentado, a programação do aplicativo não está diretamente relacionada com a plataforma de desenvolvimento, de modo que não cabem maiores esclarecimentos.

Considerações finais

Espero ter demonstrado os passos básicos e mais importantes para criação de aplicativos de acesso a banco de dados na plataforma GNU, ou, mais especificamente, como começar a desenvolver um aplicativo de forma simples utilizando essa plataforma.
A plataforma GNU de desenvolvimento certamente tem suas limitações, seus pontos fortes e indicações de seu uso, mas qualquer comparação baseada unicamente nos recursos e funcionalidades apresentados aqui é invalida, porque será baseada em conhecimento apenas superficial do objeto comparado.
Procurei não fazer comparações aqui porque considero que qualquer comparação que leve em conta o conceito de plataforma é de utilidade questionável, já que não precisamos viver confinados aos recursos de um ambiente de desenvolvimento, e fazê-lo seria tolice.
Os programadores de software livre, na verdade, sequer reconhecem o conceito de plataforma de desenvolvimento, já que seu kit básico de programação já é composto de um grande número de projetos independentes integrados. Normalmente esses programadores consideram como parte de sua plataforma qualquer ferramenta de programação encontrada nos repositórios de software livre.
É certo que é possível escrever aplicativos utilizando apenas software GNU, como o fizemos, mas isso não é uma necessidade, já que as ferramentas GNU normalmente estão integradas aos ambientes de desenvolvimento populares.
Se você se interessou em utilizar as ferramentas citadas aqui, seja bem vindo a nossa pequena comunidade.
Eu mostrei como começar a desenvolver um aplicativo, daqui para frente é com você!

 

Leia mais em: http://www.vivaolinux.com.br/artigo/Introducao-a-plataforma-GNU-de-desenvolvimento