UNIVERSIDADE FEDERAL DE SANTA CATARINA UM TRADUTOR DE CONSULTAS XQUERY / DUBLIN CORE PARA CONSULTAS SQL EM BIBLIOTECAS DIGITAIS. Guilherme Cordeiro

Tamanho: px
Começar a partir da página:

Download "UNIVERSIDADE FEDERAL DE SANTA CATARINA UM TRADUTOR DE CONSULTAS XQUERY / DUBLIN CORE PARA CONSULTAS SQL EM BIBLIOTECAS DIGITAIS. Guilherme Cordeiro"

Transcrição

1 UNIVERSIDADE FEDERAL DE SANTA CATARINA UM TRADUTOR DE CONSULTAS XQUERY / DUBLIN CORE PARA CONSULTAS SQL EM BIBLIOTECAS DIGITAIS Guilherme Cordeiro

2 UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO UM TRADUTOR DE CONSULTAS XQUERY / DUBLIN CORE PARA CONSULTAS SQL EM BIBLIOTECAS DIGITAIS Autor : Guilherme Cordeiro Orientador : Prof. Dr. Roberto Willrich Banca Examinadora : Prof. Dr. Vitório Bruno Mazzola Prof. Dr. Mário Dantas Palavras-chave : Dublin Core, XML, Java, bibliotecas digitais, XQuery Florianópolis, 2 de junho de

3 Dedicação Dedico este trabalho à minha família. 3

4 Agradecimentos deste trabalho. Agradeço a todos aqueles que me ajudaram, direta ou indiretamente, na realização 4

5 Sumário Sumário 5 Resumo 7 Abstract 7 1 Introdução Motivação Objetivos do Projeto Estrutura do Documento 9 2 Java Origem e características da linguagem Java JDBC : Java Database Connectivity Java Servlets 12 3 Bancos de Dados Relacionais e MySQL Conceitos básicos MySQL 14 4 XML e XQuery Origem do XML Características básicas do XML Validação de documentos XML APIs para manipulação de XML : DOM e SAX Estilo em documentos XML Transformações de XML Consultas em XML : XQuery Consultas XQuery FLWR 21 5 Dublin Core Dublin Core Metadata Initiative Elementos de Metadados do Dublin Core 24 6 Bibliotecas Digitais Definição Vantagens Requisitos Implementação 31 7 Descrição do Projeto Arquitetura e implementação Software desenvolvido 35 8 Conclusão 42 5

6 9 Referências Bibliográficas 43 Anexos 49 6

7 Resumo As tecnologias relacionadas à multimídia e à World Wide Web estão em contínuo aperfeiçoamento. Elas são cada vez mais usadas, em diversos campos, e várias pesquisas no meio acadêmico e empresarial estão sendo desenvolvidas nessa área. Torna-se importante estudar-se novos meios para busca e representação de metadados relacionados a essas tecnologias. Neste trabalho, procurou-se estudar a representação e manipulação de informações com XML e Dublin Core e o conceito de bibliotecas digitais. A principal contribuição deste trabalho é o desenvolvimento de um software que permita que uma biblioteca digital, que adote SQL como linguagem de consulta, receba solicitações de consultas XQuery adotando os metadados Dublin Core. Palavras-chave : Dublin Core, XML, Java, bibliotecas digitais, XQuery. Abstract Technologies related to multimedia and World Wide Web are in continuous improvement. They are used more and more, in many fields, and several academic and corporative researches are being developed in this area. It becomes important to study new ways for fetch and representation of metadata related to these technologies. In this work, we intended to study the representation and handling of informations in XML and Dublin Core and the concept of digital libraries. The main contribution of this work is the development of a software that allows a digital library, with SQL as its query language, to receive XQuery queries requests using Dublin Core metadata. Keywords : Dublin Core, XML, Java, digital libraries, XQuery. 7

8 1 Introdução Neste capítulo apresentaremos a motivação do projeto, seus objetivos e a estrutura deste documento. 1.1 Motivação Atualmente, as tecnologias relacionadas à multimídia e à World Wide Web estão em contínuo aperfeiçoamento, sendo cada vez mais utilizadas para atividades como comércio eletrônico, entretenimento, informação, ensino, correio eletrônico, etc. Sendo a Web uma rede de alcance mundial e a maior rede de computadores do mundo, uma aplicação que funcione sobre ela tem alcance mundial. Assim, são criadas cada vez mais aplicações para a Web, sendo realizadas muitas pesquisas nessas áreas, no meio acadêmico e também no meio empresarial. Por sua vez, uso da multimídia oferece meios para representar vários tipos de informações, e os repositórios para esses dados são um avanço sobre os meios convencionais de armazenamento e busca de informação. 1.2 Objetivos do Projeto Os objetivos gerais do projeto são estudar a representação de informações utilizandose XML e Dublin Core, o conceito de bibliotecas digitais e tecnologias para manipulação de dados em XML e Dublin Core. Como objetivos específicos, desenvolveu-se um software que possibilita a uma biblioteca digital, que emprega SQL como sua linguagem de consulta, responder a consultas XQuery, as quais empregam os metadados Dublin Core. Os metadados locais, do banco de dados da biblioteca digital, são traduzidos para o padrão Dublin Core. O resultado da consulta XQuery processada pelo programa é um arquivo XML. 8

9 1.3 Estrutura do Documento O capítulo 2 apresenta a origem e características básicas da linguagem Java, além de apresentar as tecnologias JDBC e Java Servlets. O capítulo 3 aborda conceitos básicos sobre a teoria de bancos de dados relacionais e também apresenta o servidor de banco de dados MySQL. O capítulo 4 apresenta a tecnologia XML, mostrando sua origem, características básicas, validação de documentos XML, transformações e estilo em XML, além de tecnologias relacionadas com XML, como DOM, SAX e XQuery. O capítulo 5 trata do padrão de metadados Dublin Core : origem, atividades da Dublin Core Metadata Initiative, características dos elementos de dados do Dublin Core e recomendações para sua representação em XML O capítulo 6 apresenta o conceito de biblioteca digital, apresentando uma definição de bibliotecas digitais, suas vantagens em relação às bibliotecas convencionais, requisitos para bibliotecas digitais e as atividades básicas para sua implementação. O capítulo 7 mostra a arquitetura do software do projeto, a estratégia de implementação e apresenta o software desenvolvido. O capítulo 8 apresenta as conclusões sobre o que foi estudado e desenvolvido neste projeto de conclusão de curso. 9

10 2 Java Este capítulo aborda a origem e características básicas da linguagem Java, além de apresentar as tecnologias JDBC (Java Database Connectivity) e Java Servlets. 2.1 Origem e características da linguagem Java Em 1991, a Sun Microsystems iniciou um projeto de pesquisa com o codinome Green, relativo a dispositivos eletrônicos inteligentes destinados ao consumidor final. O projeto Green resultou numa linguagem baseada em C e C++, batizada de Oak por seu criador, James Gosling. Como já existia uma linguagem chamada Oak, seu nome foi mudado para Java (região de origem de um café vendido numa cafeteria local). O mercado de dispositivos inteligentes não estava se desenvolvendo tão rapidamente e a Sun havia perdido um contrato importante pelo qual competia. Assim, o projeto Green estava em risco de cancelamento. Ele foi salvo pela enorme popularidade que a WWW (World Wide Web) estava adquirindo em 1993, e a Sun percebeu o enorme potencial de empregar Java para adicionar conteúdo dinâmico a páginas da WWW. Em maio de 1995, a Sun Microsystems anunciou a linguagem Java formalmente em uma conferência, o que causou o interesse imediato da comunidade comercial por causa do grande interesse na WWW. Desde então, Java é utilizada para muitas finalidades, como criar páginas da WWW com conteúdo dinâmico ou desenvolver aplicativos comerciais de grande escala. A linguagem Java é orientada a objeto, assim os programas Java são compostos de classes, as quais são compostas por métodos. Existem várias bibliotecas de classe, conhecidas como Java APIs (Application Programming Interfaces), que auxiliam na manipulação de strings, conexão em rede, leitura/escrita de arquivos etc. A seguir, é apresentado um programa simples em Java, que mostra uma mensagem ao usuário : 10

11 /* Programa Welcome.java */ public class Welcome public static void main (String args[]) System.out.println( Welcome to Java ); Os programas Java geralmente passam por cinco fases de programação : edição : criação do código-fonte (arquivo.java), pode ser realizada em um editor de texto como o Windows Notepad, ou num IDE (Integrated Development Environment) como o Java NetBeans. compilação : o programador utiliza o comando javac para compilar o programa. O programa é traduzido para bytecodes (linguagem entendida pelo interpretador Java), num arquivo.class. carga : o carregador de classe coloca os arquivos.class na memória. Há dois tipos de programas que podem ser carregados : aplicativos (normalmente armazenado e executado a partir do computador local do usuário) e applets (carregados no navegador WWW a partir de um computador remoto, executados no navegador e descartados quando é finalizada sua execução). verificação : o verificador de bytecode verifica se os bytecodes de um applet são válidos e não violam as restrições de segurança da linguagem Java. execução : o interpretador Java executa o aplicativo ou applet, um bytecode por vez, realizando assim a ação especificada pelo programa. 2.2 JDBC : Java Database Connectivity A tecnologia JDBC (Java Database Connectivity) consiste numa API para conectividade independente do banco de dados, entre a linguagem Java e um grande número de sistemas de banco de dados. Ela permite a utilização de SQL para o acesso aos dados. JDBC torna possível a realização de três tarefas: estabelecer uma conexão com um banco de dados, enviar declarações SQL e processar os resultados. Há drivers JDBC para 11

12 vários sistemas de banco dados, como ADABAS, Clipper, DB2, Microsoft SQL Server, MySQL, Oracle, PostgreSQL e Sybase. De acordo com [Sun, 2003b], JDBC possui as seguintes vantagens : dados já existentes podem ser reaproveitados. desenvolvimento de aplicações torna-se simplificado. nenhuma configuração no computador cliente é necessária para estabelecimento de conexão. 2.3 Java Servlets A tecnologia Java Servlets permite uma troca de informações entre um cliente e um servidor. O cliente solicita alguma ação e o servidor executa tal ação e responde ao cliente. O servlet extende a funcionalidade de um servidor. Os servlets são equivalentes, no lado do servidor, aos applets no lado do cliente [Deitel, 2001]. Eles são suportados pela maioria dos servidores Web disponíveis, como Microsoft IIS (Internet Information Server) e Apache. Os servlets utilizam o protocolo HTTP (Hypertext Transfer Protocol) da WWW para a comunicação entre cliente e servidor. O cliente envia uma solicitação HTTP para o servidor. O servidor recebe a solicitação e a envia para ser processada pelo servlet adequado. Os servlets fazem o processamento e retornam os resultados para o cliente, geralmente no formato HTML, mas outros formatos podem ser usados, como imagens e dados binários. Todos os servlets devem implementar a interface da API Servlet. Duas classes abstract implementam a interface da API Servlet : a classe GenericServlet (do pacote javax.servlet) e a classe HTTPServlet (do pacote javax.servlet.http). Essas classes fornecem implementaçõespadrão de todos os métodos da API Servlet. A maioria dos servlets estende GenericServlet e HTTPServlet e redefine alguns ou todos os seus métodos. 12

13 3 Bancos de Dados Relacionais e MySQL Este capítulo aborda conceitos básicos sobre bancos de dados e apresenta algumas características do servidor de banco de dados MySQL. 3.1 Conceitos básicos A tecnologia de banco de dados surgiu no momento em que o desenvolvimento de sistemas computacionais para grandes organizações passou a necessitar de uma forma mais eficiente para gerenciamento dos dados. O sistema de banco de dados fornece uma visão abstrata dos dados, ou seja, a tecnologia usada para sua implementação é transparente ao usuário. Um sistema de banco de dados deve oferecer vários serviços aos seus usuários, como por exemplo : acesso concorrente, integridade, flexibilidade e facilidade no acesso aos dados, segurança e eliminação de redundância e inconsistência de dados, Os modelos de dados são um método formal de representar logicamente os dados e a manipulação dos mesmos. O modelo de dados define os tipos de objetos comportados pelo banco de dados, os operadores válidos e as regras de integridade. O modelo relacional representa dados e relacionamentos entre dados através de um conjunto de tabelas, onde cada tabela possui um número de colunas com nomes únicos. Um banco de dados relacional consiste numa coleção de tabelas, cada uma com um nome único. O banco de dados relacional pode ser expresso utilizando-se diagramas E-R (entidaderelacionamento). Praticamente todos os sistemas de bancos de dados utilizam SQL (Structured Query Language) como a linguagem para definição de dados (DDL) e também como a linguagem para manipulação de dados (DML). SQL permite a definição de visões, transações, restrições de integridade e autorização de acesso. A seguir, é mostrado um exemplo de consulta SQL, que retorna os atributos titulo e editora, dos registros da tabela livros que obedeçam à 13

14 condição da cláusula WHERE. A consulta ordena os resultados pelo atributo titulo : SELECT titulo, editora FROM livros WHERE autor = Luís de Camões ORDER BY titulo 3.2 MySQL MySQL é um servidor de banco de dados, multi-thread, de código aberto, e que utiliza o modelo relacional, desenvolvido pela empresa MySQL AB [MySQL, 2003b]. Os principais objetivos do MySQL são velocidade, robustez e facilidade de uso. O MySQL é um dos sistemas de código aberto mais utilizados atualmente. Ele é utilizado pelo fabricante com bancos de dados que possuem 50 milhões de registros. Há também relatos de usuários que utilizam o MySQL com 60 mil tabelas e cerca de 5 bilhões de registros. A segurança também é um ponto forte do MySQL. Seu sistema de senhas é flexível e seguro, garantindo que cada usuário execute somente as ações que lhe são permitidas. O servidor decide os diferentes privilégios de acordo com o usuário, o banco de dados e o host. Os dados manipulados pelo MySQL trafegam criptografados pela rede. O MySQL oferece APIs (Application Programming Interfaces) para as linguagens de programação C, C++, Eiffel, Java, Perl, PHP, Python, Ruby e Tcl. Ele funciona em várias plataformas e sistemas operacionais distintos, além de possuir interface para acesso via ODBC (Open Database Connectivity). 14

15 4 XML e XQuery Este capítulo apresenta uma visão geral da tecnologia XML, abordando aspectos como sua origem, suas características básicas, validação de documentos XML e estilo em documentos XML. Além disso, este capítulo também aborda tecnologias relacionadas com XML, como DOM, SAX e XQuery. 4.1 Origem do XML Em 1996, o World Wide Web Consortium (W3C) iniciou o projeto de uma linguagem de marcação abrangente, a qual seria capaz de combinar a ampla aceitação do HTML (HyperText Markup Language) com a flexibilidade e a capacidade da SGML (Standard Generalized Markup Language). A SGML havia sido adotada como padrão internacional de troca e armazenamento de dados em 1986 pela ISO (International Organization for Standardization), através da norma ISO8879. A linguagem que se transformou no XML usou como base as especificações da SGML, e foi especificada para ser um subconjunto desta linguagem. O XML 1.0 se tornou uma recomendação do W3C em fevereiro de O uso da SGML como ponto de partida possibilitou que a equipe que desenvolvia o XML se concentrasse em transformar uma linguagem que já funcionava em algo mais simples. O SGML já fornecia uma linguagem aberta que poderia ser expandida por qualquer um com qualquer finalidade. Considerações sobre facilidade de uso motivaram a idéia de que o XML deveria ser mais simples que o SGML : leitura e digitação de linguagem de marcação por usuários de ferramentas amplamente disponíveis e simples, assim como a simplificação do processo de computação de documentos e intercâmbio de dados. Por suas muitas propriedades opcionais, o SGML é tão complexo que é difícil escrever parsers genéricos, entretanto construir parsers em XML é muito mais simples. O XML alavanca softwares e protocolos da Internet já existentes, buscando a facilidade de transmissão e processamento de dados, e sendo um subconjunto da SGML, proporciona compatibilidade retroativa com sistemas de orientação SGML, economizando em custos de conversão. 15

16 4.2 Características básicas do XML Assim como o HMTL, o XML utiliza tags e atributos para definição dos dados. As tags são definidas utilizando-se < e >, sendo que o XML permite que o usuário defina suas próprias tags. Um exemplo de informação representada em XML é mostrada a seguir, que mostra como os documentos XML representam informações de maneira simples e autoexplicativa : <?xml version="1.0" encoding="iso "?> <recado> <para>pedro</para>- <de>maria</de> <titulo>lembrete</titulo> <assunto>nao esqueca da reuniao amanha</assunto> </recado> A primeira linha contém informações sobre a versão do XML utilizada, assim como o conjunto de caracteres empregado. As linhas seguintes fornecem as tags e os atributos que representam a informação propriamente dita, a partir do elemento raiz <recado>. É importante fazer estas observações sobre o XML : ao contrário do HTML, as tags do XML são sensíveis a maiúsculas/minúsculas (case sensitive); no XML é ilegal omitir a tag de finalização (/>); todos os elementos devem ser apropriadamente aninhados; todos os documentos XML precisam ter um único par de tags que definem o elemento raiz; se forem utilizados conjuntos de nome/atributo, como no HTML, os atributos devem estar indicados por um par de aspas duplas ("); os comentários em XML são definidos da mesma maneira que no HTML : iniciam com <!-- e -->. Os dados em XML são autodescritivos à medida em que cada elemento leva seu próprio nome que pode estar relacionado a um modelo externo para problemas do mundo real 16

17 que o documento descreve. Apesar de ser semelhante ao HTML, o XML proporciona um poder de representação muito maior ao permitir que o usuário defina suas próprias tags de acordo com suas necessidades, sem precisar ficar preso a padrões do W3C, como no caso do HTML. 4.3 Validação de documentos XML A partir do momento em que o usuário tenha a necessidade de usar um conjunto próprio de tags para representar informação, surge a questão de como especificar regras para validar os documentos XML de acordo com tais especificações do usuário. A resposta para essa questão é fornecida pelo Document Type Definition (DTD), que é um conjunto de definições que capturam as regras que um usuário adiciona para ampliar as regras centrais da sintaxe XML e criar um vocabulário para descrever um problema ou situação. Utilizando DTDs, o usuário conta com uma ferramenta para validar os documentos que suas aplicações trocam, e pode descobrir novos vocabulários em tempo de operação. Um exemplo de DTD, para o documento XML mostrado anteriormente, é mostrado a seguir : <?xml version="1.0"?> <!DOCTYPE recado [ <!ELEMENT recado (de,para,titulo,assunto)> <!ELEMENT de (PCDATA)> <!ELEMENT para (PCDATA)> <!ELEMENT titulo (PCDATA)> <!ELEMENT assunto (PCDATA)> ]> É possível notar que os DTDs seguem suas próprias regras sintáticas, mas permitem que o usuário faça sentenças bem definidas sobre o que é ou não um documento válido em uma determinada classe de documentos XML. Isto leva diretamente a uma distinção entre parsers de validação e não validação. Um parser de não validação apenas verifica o documento quanto à adequação às regras centrais da sintaxe XML. Um parser de validação verifica também um documento contra um DTD para decidir se este é válido de acordo com as regras do DTD. 17

18 4.4 APIs para manipulação de XML : DOM e SAX A partir do momento em que o usuário definiu o vocabulário para sua necessidade, ele pode começar a decidir a respeito de outros aspectos da aplicação, que poderá envolver a manipulação de arquivos XML para se obter respostas, podendo também ser necessário gerar respostas no formato de arquivos XML. O Document Object Model (DOM) é uma API (Application Programming Interface) para fazer essa manipulação. Ele especifica um conjunto de objetos e interfaces para manipular documentos e interfaces HTML e XML. O W3C mantém a recomendação para o DOM, sendo esta uma das interfaces que mais possui suporte para trabalhar com documentos XML, junto com o Simple API for XML (SAX). O DOM fornece uma visão do documento estruturada em árvore. Um parser compatível com DOM lê todo o documento e oferece uma visão construindo uma árvore de objetos na memória. As principais estruturas do componente do documento são nós na árvore objeto. Para acessar itens e manipulá-los, navega-se na árvore de análise utilizando as interfaces DOM. Segundo [DOM, 2003], o DOM é dividido em três partes : Core : fornece um conjunto de objetos de baixo nível que podem representar qualquer documento estruturado. Enquanto o DOM por si só é capaz de representar qualquer documento HTML ou XML, a interface Core é um projeto compacto e mínimo para manipular o conteúdo do documento. Dependendo do uso do DOM, a interface Core pode não ser conveniente ou apropriada para todos os usuários; HTML e XML : fornecem interfaces adicionais e de alto nível que são usadas com a interface Core para fornecer uma visão mais conveniente do documento. Estas duas interfaces consistem de objetos e métodos que fornecem acesso mais fácil e direto aos tipos específicos de documentos. A outra principal API para manipulação de documentos XML é o Simple API for XML (SAX). Ao contrário do DOM, o SAX não é o produto de uma organização de padrões, mas sim um produto casual de um grupo de desenvolvedores de XML que necessitavam de uma API eficiente no início do XML. Inicialmente era uma API apenas para a linguagem Java e foi a primeira API empregada amplamente para manipulação de XML [SAX, 2003]. 18

19 O SAX permanece popular porque tem uma abordagem diferente para oferecer o acesso a documentos XML. Ao invés de apresentar uma árvore com as informações do documento completo, o SAX fornece eventos à medida que analisa o documento. Um parser compatível com SAX não retém o documento, mas avisa ao programa utilizado à medida que processa cada parte do documento. A resposta a um evento fica por conta do programa que está usando o parser. Um programa tem total responsabilidade pela manutenção do estado do documento, podendo manter tanta informação quanto necessária para satisfazer os requisitos da aplicação. Assim, pode-se prever que o parser gerado seja bastante compacto, gerando pedidos mínimos aos recursos do sistema. O SAX é ideal para lidar com documentos XML muito grandes. Apesar de o DOM ser a API mais utilizada para XML hoje em dia, os parsers SAX já estão disponíveis. 4.5 Estilo em documentos XML Embora o XML se concentre no armazenamento dos dados e no valor da conexão direta entre aplicações, separando-se da apresentação dos dados, muitas vezes pode ser necessário apresentar os dados XML a um usuário humano. A exibição de dados XML em Web browser é muito utilizada atualmente, em aplicações Web. O estilo em XML é uma ferramenta muito importante para desenvolvedores da Web, pois com essa ferramenta interfaces de usuários são implementadas rapidamente para dados XML. As técnicas usadas para o estilo em XML variam em complexidade e sofisticação. As duas técnicas mais importantes são a Cascading Style Sheet (CSS) e a Extensible Stylesheet Language (XSL). A CSS é a técnica mais simples, mas não é estritamente uma técnica da comunidade XML. Na verdade, seu uso foi estendido à medida que os desenvolvedores XML as tomaram emprestadas do mundo de desenvolvimento Web, mais especificamente HTML. Fornece estilos simples para a apresentação de informações (tipo da fonte, cor da fonte, cor do fundo, etc), sendo capazes de atribuir determinadas informações sobre estilo a elementos XML identificados. A outra técnica utilizada para estilos, a XSL, resulta do desenvolvimento do XML, e junta as preocupações de estilo do CSS com a natureza expressiva do XML. Os 19

20 programadores utilizam a XSL para especificar o mapeamento de dados XML em um conteúdo visual. Ao contrário do CSS, o XML permite que se atribua estilo baseado no contexto dos dados XML, podendo ainda executar o processamento embutindo códigos de script nas folhas de estilo XSL. 4.6 Transformações de XML Uma das técnicas poderosas do XML é a transformação, que permite que um documento XML seja mapeado de um formato para outro, baseando-se num conjunto de regras aplicadas ao primeiro documento. As transformações do XML são usadas para a tradução entre vocabulários XML semelhantes, e também para a tradução de documentos XML para outros formatos de arquivo texto. A transformação em XML é uma técnica muito útil caso sejam necessárias transformações eficientes par se obter um formato comum, por exemplo. O formato mais recente para transformações de XML faz parte da linguagem de estilo XSL, sendo chamado de XSL Transformation (XSLT). O propósito básico da linguagem XSLT é organizar um documento XML para ser usado com o estilo XSL. Embora não tenha sido projetada como uma linguagem de transformação com propósitos genéricos, a XSLT é bastante flexível e possibilita a execução da maioria das transformações, classificando e organizado tarefas em XML sem se escrever seu próprio código procedural. O usuário é que escreve as regras para transformar XML com base no contexto no qual os elementos aparecem. 4.7 Consultas em XML : XQuery Com o grande aumento das informações armazenadas, trocadas ou apresentadas em XML, a capacidade de realizar eficientemente consultas em dados XML se torna muito importante. Uma das grandes virtudes do XML é sua flexibilidade em representar muitos tipos de informação, incluindo a informação tradicionalmente considerada como banco de dados, ou aquela considerada como documento. Para explorar essa flexibilidade, uma linguagem de consulta para XML precisa incluir as características que são necessárias para receber 20

21 informação destas diversas fontes. A linguagem XQuery foi projetada para atender aos requisitos identificados pelo W3C XML Query Working Group. Foi projetada para ser uma linguagem pequena, facilmente implementável, na qual consultas são facilmente compreendidas. Também é flexível o bastante para realizar consultas em uma grande variedade de fontes de informação XML, incluindo tanto bancos de dados como documentos. O Query Working Group identificou duas necessidades : uma linguagem de consulta que possa ser facilmente lida por um usuário, e uma sintaxe de consulta baseada em XML. A XQuery foi projetada para atender a primeira necessidade. Uma sintaxe baseada em XML para a semântica da XQuery será definida separadamente. A XQuery é uma linguagem funcional na qual uma consulta é representada por uma expressão. Vários tipos de expressão são suportados, assim as consultas podem tomar diversas formas. As várias formas de expressões em XQuery podem ser aninhadas, assim a noção de subconsulta (subquery) é natural na XQuery. A entrada e saída de uma consulta são instâncias de um modelo de dados, o XML Query Data Model, onde um documento é modelado como uma árvore de nodos. Um fragmento de um documento, ou uma coleção de documentos, podem necessitar de uma raiz comum, logo eles podem ser modelados como uma floresta ordenada de nodos de vários tipos, incluindo nodos elemento, nodos atributo e nodos texto. O exemplo a seguir ilustra uma consulta em XQuery a uma base de dados em XML que armazena dados sobre livros. A consulta retorna todos os livros da editora Morgan Kaufmann publicados em 1998 : FOR $b IN document("bib.xml")//book WHERE $b/publisher = "Morgan Kaufmann" AND $b/year = "1998" RETURN $b/title 4.8 Consultas XQuery FLWR As consultas XQuery FLWR (pronuncia-se flower ), uma abreviatura de FOR-LET- 21

22 WHERE-RETURN, representam em XQuery as consultas SELECT-FROM-WHERE, da linguagem SQL. A gramática da linguagem XQuery permite a criação de produções maleáveis, altamente recursivas e capazes de gerar um grande número de diferentes consultas, incluindo praticamente qualquer combinação imaginável de declarações FOR, LET, WHERE e RETURN. A seguir, apresentamos um exemplo de consulta XQuery FLWR. Esta consulta seleciona os campos dc:title, dc:creator e dc:publisher, do arquivo texto.xml, que obedecem à condição da cláusula WHERE, e ordena o resultado pelo campo dc:title : FOR $a IN document("texto.xml")/metadata/record WHERE $a/dc:language = pt ORDER BY $a/dc:title RETURN <metadata> $a/dc:title $a/dc:creator $a/dc:publisher </metadata> 22

23 5 Dublin Core Este capítulo aborda o padrão de metadados Dublin Core, mostrando a origem e as atividades da organização responsável por este padrão, a Dublin Core Metadata Initiative. Serão apresentadas também as principais características dos elementos do Dublin Core, além de exemplos e recomendações para sua representação em XML. 5.1 Dublin Core Metadata Initiative O Dublin Core Metadata Initiative (DCMI) é um projeto de desenvolvimento de padrões para metadados e para organização de informações, assim como catalogação e classificação dessas informações em meio eletrônico. Concebido em 1995, o DCMI conta com a participação de 800 pessoas de todo o mundo, representando mais de 45 países. O conjunto de elementos para metadados Dublin Core foi traduzido para 25 idiomas e adotado formalmente por 7 governos, com outros governos discutindo sua possível adoção. As atividades do DCMI incluem : Desenvolvimento de padrões e manutenção das recomendações para metadados, através de workshops internacionais e reuniões de grupos de trabalho; Ferramentas, serviços e infra-estrutura, incluindo o registro de metadados DCMI para auxiliar no gerenciamento e manutenção dos metadados DCMI em vários idiomas; Apoio ao setor educacional e divulgação para a comunidade, incluindo desenvolvimento e distribuição de recursos educacionais e de treinamento, consultoria, e coordenação de atividades com outros projetos de metadados. O DCMI é aberto à participação de todos os interessados. Possui atualmente 17 grupos de trabalho com 75 integrantes ou mais, e centenas de outros participantes que monitoram o progresso desses grupos. As atividades do DCMI são distribuídas globalmente, tanto em termos de participação em grupos de trabalho como na realização de encontros e workshops. 23

24 O padrão de metadados Dublin Core possui características que o diferenciam de outros padrões semelhantes : simplicidade na descrição dos recursos : pode ser usado por não-catalogadores, autores ou desenvolvedores da Web sem conhecimento prévio de todas as regras de catalogação; interoperabilidade semântica : pessoas com níveis diferentes de conhecimento sobre um determinado assunto terão o mesmo entendimento da importância do elemento palavrachave, que afinal resume o assunto. A convergência sobre o entendimento comum, ligeiramente mais genérica, possibilita maior visibilidade e acessibilidade de todos os recursos; escopo internacional : a participação de representantes de vários continentes tem assegurado o desenvolvimento do padrão levando em conta a natureza multilíngüe e multicultural do universo de informação eletrônica; extensibilidade : além de balancear a necessidade de simplicidade na descrição de recursos digitais com a precisão na recuperação da informação, o Dublin Core conta com possibilidade de expansão do conjunto de elementos para cobrir necessidades adicionais de novos recursos. 5.2 Elementos de Metadados do Dublin Core Cada elemento do Dublin Core é definido usando um conjunto de dez atributos da norma ISO/IEC [ISO/IEC 11179, 2003] para a descrição de elementos de dados. Estes atributos incluem : Nome : o rótulo atribuído ao elemento de dados; Identificador : o identificador único atribuído ao elemento; Versão : a versão do elemento; Autoridade de Registro : entidade autorizada a registrar o elemento; Linguagem : a linguagem na qual o elemento é especificado; Definição : uma frase que representa claramente o conceito e a natureza do elemento; Obrigação : indica se o elemento precisa ou não estar sempre presente; Tipo do dado : indica o tipo de dados que pode ser representado no valor do elemento; 24

25 Ocorrência Máxima : Indica um limite para a repetição do elemento; Comentário : uma observação sobre a aplicação do elemento. A seguir, apresentamos os elementos de dados do Dublin Core, as informações que são incluídas em cada elemento e exemplos de representação dos elementos em XML. Deve-se evitar repetir a mesma informação em mais de um elemento : Elemento : Title Nome dado ao documento, pelo qual será oficialmente conhecido. Inclui-se nesse elemento : nome do documento, subtítulo do documento, volume do documento e número do documento. Exemplo : <dc:title>memórias Póstumas de Brás Cubas</dc:title>. Elemento : Creator Nome dado ao autor do conteúdo do documento. Este pode ser institucional ou pessoal. É incluído nesse elemento : nome do criador do documento. Exemplo: <dc:creator>assis, Machado de</dc:creator>. Elemento : Subject Palavra(s) ou frase(s) que descreve(m) o assunto do documento. Inclui-se nesse elemento: palavras-chaves. Exemplo: <dc:subject>literatura brasileira, santa catarina, escritores brasileiros, biografia</dc:subject>. Elemento : Description Breve resumo do conteúdo do documento. Inclui-se nesse elemento: resumo do documento. Exemplo : <dc:description>ilustrações de aves brasileiras do pintor naturalista Eduardo Brettas</ dc:description >. 25

26 Elemento : Publisher A pessoa ou entidade responsável pela publicação do documento. É incluído nesse elemento: editor do documento. Exemplo : <dc:publisher>ática</dc:publisher>. Elemento : Contributor Pessoa(s) ou entidade(s) que contribuiu(ram) de forma relevante para a conclusão do documento. Inclui-se nesse elemento : autor de prefácio, tradutor. Exemplo: <dc:contributor>silva, Paulo C. Tradutor</ dc:contributor>. Elemento : Date Data da criação do documento. É incluído nesse elemento : data do documento. Exemplo: <dc:date> </dc:date>. Elemento : Type Descreve a natureza ou gênero do conteúdo do documento. Inclui-se nesse documento: tipo do documento. Exemplo : < dc:type >texto</dc:type>. Elemento : Format Descrição do formato digital do documento. Inclui-se nesse elemento : formato do documento, duração (no caso de vídeos e sons), dimensão (no caso de imagens), tamanho do documento. Exemplo : <dc:format>pdf; 2Mb</dc:format>. Elemento : Identifier Uma referência ao documento digital. Inclui-se nesse elemento : Uniform Resource Locator (URL), International Standard Book Number (ISBN), International Standard Serial Number (ISSN), Digital Object Identifier (DOI). Exemplo : <dc:identifier>http://catalog.loc. 26

27 gov/ </dc:identifier>. Elemento : Source Referencia a fonte do qual o documento foi digitalizado e/ou onde esse original se encontra. São incluídos nesse elemento : título de periódico (no caso de artigos), a localização do documento na rede (URL), nome do título geral do documento, identificação da obra impressa (caso o documento tenha sido digitalizado). Exemplo: <dc:source> Journal of Research and Development, v. 40, n. 2</dc:source>. Elemento : Language Idioma em que se encontra o documento. Inclui-se nesse elemento: idioma do documento. Exemplo : <dc:language>pt-br</dc:language> (português do Brasil). Elemento : Relation Referência ao documento do qual é relacionado. Inclui-se nesse elemento : versão, edição, parte de outro documento, baseado em outro documento, referência a outro documento. Exemplo : <dc:relation>anais do 9 o Simpósio Brasileiro de Banco de Dados, São Paulo, 1994</dc:relation>. Elemento : Coverage Descreve a extensão ou a competência do conteúdo do documento. São incluídos nesse elemento: localização espacial, período temporal, jurisdição do documento. Exemplo: <dc:coverage> </dc:coverage>. Elemento : Rights Descreve as informações dos direitos que uma pessoa ou entidade possui sobre o documento. Inclui-se nesse elemento: copyright, propriedade intelectual, URL do documento 27

28 original, permissão para modificar o documento. Exemplo: <dc:rights>domínio Público</dc:rights>. [Powell, 2002] fornece as recomendações para a implementação de Dublin Core em XML, que são as seguintes : basear aplicações XML em XML Schemas ao invés de XML DTDs; utilizar XML Namespaces para identificar unicamente os elementos, refinamentos dos elementos e esquemas de codificação; codificar propriedades como elementos XML e valores como o conteúdo desses elementos; os nomes das propriedades para os 15 elementos devem ser em letras minúsculas; valores múltiplos de propriedades devem ser codificados repetindo-se o elemento XML para essa propriedade; refinamentos dos elementos devem ser tratados da mesma maneira que outras propriedades; esquemas de codificação devem ser implementados usando o atributo xsi:type do elemento XML para a propriedade; refinações de elementos e esquemas de codificação devem usar os nomes especificados na recomendação para qualificadores Dublin Core [DCMI, 2000]; onde a linguagem do valor é indicada, deve ser codificada usando o atributo xml:lang. 28

29 6 Bibliotecas Digitais Este capítulo apresenta o conceito de biblioteca digital, mostrando uma definição de bibliotecas digitais, suas vantagens em relação às bibliotecas convencionais, requisitos para uma biblioteca digital e as atividades básicas para sua implementação. 6.1 Definição Há várias definições para a biblioteca digital, também chamada de bibliotec a virtual ou biblioteca eletrônica. De acordo com [Pulliam, 1996], uma biblioteca digital é uma infra-estrutura de informação eletrônica padronizada que permite armazenamento distribuído de dados, busca e recebimento de dados em uma grande região geográfica através de links e uma interface transparente ao usuário final. Para a maioria das definições de bibliotecas digitais, têm sido identificados elementos comuns, que são os seguintes, segundo [ARL, 1995] : a biblioteca digital não é uma entidade única; a biblioteca digital necessita de tecnologia para interligar os vários recursos; as interligações entre as várias bibliotecas digitais e serviços de informação são transparentes aos usuários finais; o acesso universal às bibliotecas digitais e serviços de informação é um objetivo; coleções de bibliotecas digitais não estão limitadas a hospedagem de documentos, elas também armazenam dados digitais que não podem ser representados ou distribuídos em formatos impressos. As bibliotecas digitais podem ser centralizadas ou distribuídas. As bibliotecas digitais distribuídas são representadas por várias bibliotecas digitais que podem ser acessadas através de uma única interface do cliente. Nas bibliotecas digitais distribuídas, cada organização é responsável por administrar de seu acervo. Em uma biblioteca centralizada os objetos que compõem as coleções podem ser armazenados em servidores diferentes, entretanto a administração é centralizada. 29

30 Para bibliotecas digitais distribuídas é necessário utilizar padrões que garantam a comunicação entre os diversos participantes do sistema. Podemos citar como exemplos de padrões o protocolo SDLIP (Simple Digital Library Interoperability Protocol) proposto no projeto Bibliotecas Digitais Stanford [SDLP, 2003], e os padrões ISO ILL (InterLibrary Loan Application Standards) [ILL, 2003]. Além destes, o padrão internacional Z39.50 [Z39.50 MA, 2003] é muito adotado para busca e acesso sobre mais que uma biblioteca digital. 6.2 Vantagens Entre as vantagens das bibliotecas digitais em relação às bibliotecas convencionais, podemos citar : acesso disponível a partir de qualquer computador acessando a Web; pesquisa facilitada, pois é mais fácil pesquisar através do computador do que em uma biblioteca convencional; o armazenamento é mais simples, pois exige somente discos rígidos ao invés de salas enormes, prateleiras etc; o acervo, por não ser físico, não requer manutenção; os documentos magnéticos podem ser copiados por quantos usuários o desejarem, ao contrário dos documentos físicos, os quais sempre têm uma quantidade limitada de exemplares, o que limita o acesso à informação. Em relação à web, as bibliotecas digitais possuem a vantagem de possuir suas informações bem organizadas em tabelas de bancos de dados, ao contrário da Web, onde as informações estão distribuídas de forma anárquica; assim, a busca de informações em bibliotecas digitais é enormemente facilitada. 6.3 Requisitos Muitas pessoas pensam que uma biblioteca digital consiste de um imenso conjunto de informações espalhadas pela Internet e que podem ser acessadas por qualquer computador, a qualquer momento e por qualquer usuário. Há também aqueles que pensam que a World Wide 30

31 Web representa uma biblioteca digital. No entanto, esta quantidade de informações é muito volátil para ser considerada um verdadeiro repositório, e além disso as bibliotecas digitais são muito mais do que apenas repositórios de informações. A seguir, apresentamos as características que devem ser apresentadas por bibliotecas digitais, além dos dados digitalizados : Coerência : as bibliotecas digitais devem apresentar coerência, organização de seu conteúdo, classificando seu material por assunto, autor, etc. Especialistas em determinada área montam as coleções, que por sua vez são combinadas em um grande formulário das bibliotecas digitais. O ideal seria que diferentes instituições se responsabilizassem por criar coleções de variados tipos, compartilhariam essas coleções e assim otimizariam as vantagens da distribuição pela Internet; Infra-estrutura econômica : alguns projetos de bibliotecas digitais desenvolvidos por instituições acadêmicas estão procurando financiamento, e cobrando taxas de acesso de seus usuários; Pesquisabilidade : a capacidade de encontrar e utilizar materiais na Internet é a maior vantagem para a maioria dos usuários, mas meios rudimentares de pesquisa é fonte de desapontamento. A questão da acessibilidade está sendo alvo de pesquisas, visando o desenvolvimento de mecanismos de pesquisa mais avançados e métodos de filtragem de informações; Preservação : as bibliotecas, por definição, coletam e armazenam informações para atender a demandas de seus usuários, mas em relação a coleções digitais na Internet, existem grandes desafios para arquivamento. A preservação também deve garantir que as informações permaneçam intactas. Especialistas em segurança auxiliam na preservação, assegurando a autenticidade das informações; Serviço : as bibliotecas digitais podem oferecer serviços onde os usuários podem questionar, utilizar serviços para orientação e instrução, e obter respostas para seus problemas mais comuns. 6.4 Implementação Segundo [Pulliam, 1996], o projeto de uma biblioteca digital deve possuir cinco 31

32 atividades básicas : criação e captura, armazenamento e gerenciamento, serviço de busca, distribuição e gerenciamento de direitos autorais. Estas cinco atividades serão discutidas a seguir. Criação e captura : Os dados multimídia que formarão a biblioteca digital necessitam logicamente ser digitalizados. Com a evolução tecnológica na informática e a redução dos custos de armazenamento, comunicação e processamento, tornou-se possível armazenar os dados digitalizados em grandes volumes e de acordo com a demanda dos usuários. Armazenamento e gerenciamento : Vários tipos de dados digitalizados necessitam de muito espaço de armazenamento e largura de banda, tornando-se necessária a compactação desses dados. Assim, a tecnologia de compressão de dados deve ser incorporada ao sistema da biblioteca digital, para minimizar custos de armazenamento e transmissão. O sistema de arquivos também deve ser suficientemente flexível para incorporar, a curto e médio prazo, novos dados multimídia que surgem constantemente. Serviço de busca Geralmente as informações multimídia não possuem informações de indexação internamente, mas em bibliotecas digitais os objetos multimídia podem ser associados a informações de indexação. Além disso, tipos diferentes de objetos podem ser classificados em categorias diferentes. Com estas informações de categorização e indexação, os usuários podem fazer buscas de informações usando consultas booleanas ou linguagem natural. Pesquisas estão sendo realizadas em reconhecimento de voz e imagens para que no futuro os usuários possam procurar informações de áudio ou materiais audiovisuais. O ideal é que a ferramenta de busca seja construída sob uma base de reformulação de consulta e também seja capaz de incorporar buscas dependentes do contexto. Usuários finais 32

33 geralmente não têm tempo nem paciência para verificar uma lista muito grande de documentos após realizar uma consulta. Assim, a reformulação da consulta pode ser feita oferecendo-se termos de busca alternativos para o usuário final e enfatizando-se a participação do usuário na formação de uma ciclo de formulação de consultas e apresentação de resultados. Distribuição A rede para a transmissão de áudio e vídeo deve ter grande largura de banda, assim deve-se utilizar redes de computadores de alta velocidade, como ATM (Asynchronous Transfer Mode). Gerenciamento de direitos autorais O gerenciamento de direitos autorais normalmente é uma função chave em bibliotecas digitais que causa impactos nas outras quatro funções principais, impondo regras de uso definidas pelo proprietário da informação e a proteção dos dados multimídia disponíveis contra acessos e modificações não autorizadas. Não existe uma única solução para o gerenciamentos dos direitos autorais, mas técnicas comuns como marca d água (assinatura digital codificada nos objetos) e fingerprinting (identificação do usuário que acessou a informação) podem ser usadas para prevenir modificações e acessos não autorizados aos dados. 33

34 7 Descrição do Projeto Este capítulo aborda as atividades desenvolvidas no projeto de conclusão de curso, mostrando a arquitetura do software desenvolvido, a estratégia de implementação e o seu funcionamento. O objetivo principal do projeto é criar um software que possibilite a uma biblioteca digital, a qual adota SQL como linguagem de consulta, processar solicitações de consultas XQuery com metadados Dublin Core. 7.1 Arquitetura e implementação O esquema geral de funcionamento do software é apresentado na Figura 1. Figura 1 Esquema geral de funcionamento do software A primeira parte do projeto consiste num software que recebe uma consulta XQuery FLWR, e o wrapper (conversor de linguagens de consulta e de resultados de consultas) faz a conversão dessa consulta para SQL, traduzindo os metadados Dublin Core para metadados locais. A consulta SQL é executada e seu resultado é transformado para XML, de acordo com [Bos, 1997]. Caso seja de seu interesse, o usuário pode verificar qual a consulta SQL resultante da tradução da consulta XQuery FLWR. O usuário também pode configurar as traduções de metadados locais para metadados Dublin Core, e vice-versa. 34

35 A segunda parte do projeto consiste num servlet que responde às consultas XQuery FLWR, a partir de uma página HTML. Este servlet realiza somente consultas no mesmo estilo da primeira parte do software e responde ao usuário gerando uma página HTML. A configuração das traduções de metadados não pode ser feita através do servlet. Grande parte do trabalho desenvolvido para o software Java foi reaproveitada no desenvolvimento do servlet. O servlet pode ser usado num servidor Web, para responder a consultas através da Internet. A tecnologia JDBC ajudou muito no desenvolvimento do software e possibilita uma tradução mais simplificada do código, caso seja necessário no futuro utilizar o software com outros sistemas de bancos de dados diferentes do MySQL. Num primeiro momento, pensou-se em utilizar tecnologias como SAX ou DOM para a tradução da consulta SQL para XML. Mas não foi necessário, poisa manipulação de strings e arquivos oferecida pelas bibliotecas Java foi suficiente, e talvez até mais eficiente do que a criação de árvores de nodos (DOM) ou de eventos (SAX). 7.2 Software desenvolvido A interface inicial do software apresenta as opções ao usuário, e o programa já mostra uma consulta XQuery FLWR, que faz parte dos seis exemplos disponíveis, conforme mostra a Figura 2. O usuário pode alterar esta consulta para certos tipos de combinação de comandos FOR, WHERE e ORDER BY. Pelo que foi pesquisado na Internet, não se encontrou uma ferramenta ou biblioteca que pudesse auxiliar nessa tradução. Projetos como [Rainbow, 2003] estão na fase de testes e ainda não foram liberados. 35

36 Figura 2 Interface inicial do programa Escolhendo a opção Consulta XQuery, o usuário recebe o resultado da consulta SQL equivalente a consulta XQuery FLWR da interface inicial, traduzido para XML e usando metadados Dublin Core. O banco de dados utilizado possui uma estrutura simples, contendo dados sobre livros, autores e publicadores (ver Anexo 6). A Figura 3 mostra a janela com o resultado em XML. 36

37 Figura 3 Resultado em XML da consulta XQuery FLWR Se o usuário achar necessário, pode escolher a opção Detalhes Consulta SQL para visualizar a consulta SQL equivalente à consulta XQuery FLWR, que é mostrada na Figura 4. Figura 4 Consulta SQL equivalente à consulta XQuery FLWR Além de realizar consultas, o usuário também pode configurar a tradução de metadados do banco de dados local, para metadados Dublin Core. Por exemplo, configurar a tradução do metadado autor, para o metadado Dublin Core Creator, para a tabela animacao. A tradução de metadados Dublin Core para metadados do banco de dados local é realizada para os metadados Dublin Core Language, Type e Format. Segundo [DCMI, 2003a], esses metadados precisam respeitar certas regras de apresentação, utilizando códigos 37

38 especiais para representação de idiomas e tipos de arquivos. As Figuras 5 e 6 mostram as janelas a partir das quais o usuário escolhe a tabela do banco de dados, ou o metadado Dublin Core, onde realizará a configuração. Figura 5 Seleção de tabela para configuração de tradução Figura 6 Seleção de metadado Dublin Core para configuração de tradução Nas duas traduções, o usuário faz as modificações que julgar necessárias e pode salválas. As informações de tradução são salvas em arquivo texto (ver Anexos 2 e 3), o que facilita a configuração, pois não é necessário incluir estas informações no código-fonte do programa, o que necessitaria uma nova compilação a cada nova configuração de tradução. O usuário também pode editar diretamente os arquivos de configuração. As Figuras 7 e 8 mostram as janelas onde fazer a configuração das traduções e salvá-la. 38

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 2 Computação em Nuvem Desafios e Oportunidades A Computação em Nuvem

Leia mais

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA XML e Banco de Dados DCC/IM/UFBA Banco de Dados na Web Armazenamento de dados na Web HTML muito utilizada para formatar e estruturar documentos na Web Não é adequada para especificar dados estruturados

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação.

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação. GLOSSÁRIO Este glossário contém termos e siglas utilizados para Internet. Este material foi compilado de trabalhos publicados por Plewe (1998), Enzer (2000) e outros manuais e referências localizadas na

Leia mais

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Sistemas de Informação RENATO SULZBACH MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML 1 1. : Conceitos Básicos 2. Aplicação : XHTML 3. Folhas de Estilo em Cascata 2 é um acrônimo para EXtensible Markup Language é uma linguagem de marcação muito parecida com HTML foi designada para descrever

Leia mais

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 Eduardo Laguna Rubai, Tiago Piperno Bonetti Universidade Paranaense (Unipar) Paranavaí PR- Brasil eduardorubay@gmail.com, bonetti@unipar.br Resumo.

Leia mais

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação III Aula 02 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação Técnica de comunicação padronizada para enviar instruções a um computador. Assim

Leia mais

Arquitetura de Banco de Dados

Arquitetura de Banco de Dados Arquitetura de Banco de Dados Daniela Barreiro Claro MAT A60 DCC/IM/UFBA Arquitetura de Banco de dados Final de 1972, ANSI/X3/SPARC estabeleceram o relatório final do STUDY GROUP Objetivos do Study Group

Leia mais

BREVE INTRODUÇÃO À LINGUAGEM XML

BREVE INTRODUÇÃO À LINGUAGEM XML BREVE INTRODUÇÃO À LINGUAGEM XML Por Carlos H. Marcondes marcon@vm.uff.br Rio de Janeiro Abril 2008 PROGRAMA 1.Problema, motivações e conceitos 2.Estrutura de um documento XML 1.DTDs, Schemas 2.Folhas

Leia mais

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Desenvolvimento em Ambiente Web Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com No início A Web é criada em 1989, para ser um padrão de publicação e distribuição de textos científicos e acadêmicos.

Leia mais

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL SQL APOSTILA INTRODUÇÃO Uma linguagem de consulta é a linguagem por meio da qual os usuários obtêm informações do banco de dados. Essas linguagens são, tipicamente, de nível mais alto que as linguagens

Leia mais

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi XML e Banco de Dados de Internet Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi Motivação Diversas aplicações Web utilizam Fontes de Dados (BD); Arquitetura Cliente-Servidor (2

Leia mais

World Wide Web e Aplicações

World Wide Web e Aplicações World Wide Web e Aplicações Módulo H O que é a WWW Permite a criação, manipulação e recuperação de informações Padrão de fato para navegação, publicação de informações e execução de transações na Internet

Leia mais

Introdução à Tecnologia Web. Ferramentas e Tecnologias de Desenvolvimento Web. Profª MSc. Elizabete Munzlinger www.elizabete.com.

Introdução à Tecnologia Web. Ferramentas e Tecnologias de Desenvolvimento Web. Profª MSc. Elizabete Munzlinger www.elizabete.com. IntroduçãoàTecnologiaWeb FerramentaseTecnologiasde DesenvolvimentoWeb ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br FerramentaseTecnologiasde DesenvolvimentoWeb

Leia mais

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP Banco de Dados Introdução João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme

Leia mais

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I Roteiro Conceitos e Arquitetura de Sistemas de Banco de Dados Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz

Leia mais

Plano de Ensino. Apresentação da Unidade Curricular

Plano de Ensino. Apresentação da Unidade Curricular Plano de Ensino Plano de Ensino Apresentação da Unidade Curricular o Funcionamento, arquitetura e conceitos fundamentais dos bancos de dados relacionais e objeto relacionais. Utilização de linguagem DDL

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

Associação Carioca de Ensino Superior Centro Universitário Carioca

Associação Carioca de Ensino Superior Centro Universitário Carioca Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos

Leia mais

XHTML 1.0 DTDs e Validação

XHTML 1.0 DTDs e Validação XHTML 1.0 DTDs e Validação PRnet/2012 Ferramentas para Web Design 1 HTML 4.0 X XHTML 1.0 Quais são os três principais componentes ou instrumentos mais utilizados na internet? PRnet/2012 Ferramentas para

Leia mais

Desenvolvendo para WEB

Desenvolvendo para WEB Nível - Básico Desenvolvendo para WEB Por: Evandro Silva Neste nosso primeiro artigo vamos revisar alguns conceitos que envolvem a programação de aplicativos WEB. A ideia aqui é explicarmos a arquitetura

Leia mais

Processamento de dados XML

Processamento de dados XML Processamento de dados XML César Vittori cvittori@inf.ufrgs.br Outubro de 2000 Resumo Considerações no desenvolvimento de software para processar dados XML. Processamento de uma DTD para interpretar marcação

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br SCE-557 Técnicas de Programação para WEB Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br 1 Cronograma Fundamentos sobre servidores e clientes Linguagens Server e Client side

Leia mais

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN José Agostinho Petry Filho 1 ; Rodrigo de Moraes 2 ; Silvio Regis da Silva Junior 3 ; Yuri Jean Fabris 4 ; Fernando Augusto

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP. VitorFariasCoreia

DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP. VitorFariasCoreia DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP VitorFariasCoreia INFORMAÇÃOECOMUNICAÇÃO Autor Vitor Farias Correia Graduado em Sistemas de Informação pela FACITEC e especialista em desenvolvimento de jogos

Leia mais

A INTERNET COMO FERRAMENTA AUXILIAR NO ENSINO DE MECÂNICA COMPUTACIONAL

A INTERNET COMO FERRAMENTA AUXILIAR NO ENSINO DE MECÂNICA COMPUTACIONAL A INTERNET COMO FERRAMENTA AUXILIAR NO ENSINO DE MECÂNICA COMPUTACIONAL Manoel Theodoro Fagundes Cunha Sergio Scheer Universidade Federal do Paraná, Setor de Tecnologia, Centro de Estudos de Engenharia

Leia mais

CAPÍTULO 2. Este capítulo tratará :

CAPÍTULO 2. Este capítulo tratará : 1ª PARTE CAPÍTULO 2 Este capítulo tratará : 1. O que é necessário para se criar páginas para a Web. 2. A diferença entre páginas Web, Home Page e apresentação Web 3. Navegadores 4. O que é site, Host,

Leia mais

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 10 Persistência de Dados

Leia mais

Documento apresentado para discussão. II Encontro Nacional de Produtores e Usuários de Informações Sociais, Econômicas e Territoriais

Documento apresentado para discussão. II Encontro Nacional de Produtores e Usuários de Informações Sociais, Econômicas e Territoriais Documento apresentado para discussão II Encontro Nacional de Produtores e Usuários de Informações Sociais, Econômicas e Territoriais Rio de Janeiro, 21 a 25 de agosto de 2006 PID - Projeto de Interoperabilidade

Leia mais

WWW - World Wide Web

WWW - World Wide Web WWW World Wide Web WWW Cap. 9.1 WWW - World Wide Web Idéia básica do WWW: Estratégia de acesso a uma teia (WEB) de documentos referenciados (linked) em computadores na Internet (ou Rede TCP/IP privada)

Leia mais

Programação para Internet II

Programação para Internet II Programação para Internet II Aulas 01 e 02 Prof. Fernando Freitas Costa http://blog.fimes.edu.br/fernando nando@fimes.edu.br Conteúdo Programático Instalação e configuração básica do Eclipse Indigo e do

Leia mais

Weslley da Silva Fernandes Mathias

Weslley da Silva Fernandes Mathias Weslley da Silva Fernandes Mathias 1 Biblioteca digital é a biblioteca constituída por documentos primários, que são digitalizados sob a forma material (disquetes, CD-ROM, DVD), ou online através da internet,

Leia mais

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio formado por acadêmicos

Leia mais

3 Serviços na Web (Web services)

3 Serviços na Web (Web services) 3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem

Leia mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento Web TCC-00.226 Turma A-1 Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Introdução ao Ambiente de Desenvolvimento Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

Introdução ao PHP. Prof. Késsia Marchi

Introdução ao PHP. Prof. Késsia Marchi Introdução ao PHP Prof. Késsia Marchi PHP Originalmente PHP era um assíncrono para Personal Home Page. De acordo com convenções para atribuições de nomes recursivas do GNU foi alterado para PHP Hypertext

Leia mais

Introdução ao Delphi. Introdução. Edições do Software. Capítulo 1. InforBRás - Informática Brasileira Ltda. O Que é o Delphi.

Introdução ao Delphi. Introdução. Edições do Software. Capítulo 1. InforBRás - Informática Brasileira Ltda. O Que é o Delphi. Capítulo 1 O Que é o Delphi Diferenças entre Delphi Client/Server do Delphi for Windows Características que compõem o Integrated Development Invironment (IDE) Como o Delphi se encaixa na família Borland

Leia mais

Curso de PHP. FATEC - Jundiaí. Conteúdo do Curso. 40% de aula teórica 60% de aula prática. O que veremos neste semestre?

Curso de PHP. FATEC - Jundiaí. Conteúdo do Curso. 40% de aula teórica 60% de aula prática. O que veremos neste semestre? Curso de PHP FATEC - Jundiaí Conteúdo do Curso 40% de aula teórica 60% de aula prática O que veremos neste semestre? Linguagem PHP Banco de Dados - PostgreSQL PHP - Introdução ao PHP - Estrutura de um

Leia mais

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE] 1/6 Banco de Dados O que é um Banco de Dados? Uma coleção de dados relacionados [ELMASRI/NAVATHE] Conjunto de dados integrados que tem por objetivo atender a uma comunidade específica [HEUSER] Um conjunto

Leia mais

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho Banco de Dados de Músicas Andre Lima Rocha Campos Osório Pereira Carvalho Definição Aplicação Web que oferece ao usuário um serviço de busca de músicas e informações relacionadas, como compositor, interprete,

Leia mais

EXPLORANDO TÉCNICAS E RECURSOS DO GERENCIADOR DE DADOS ABERTOS CKAN. TuaneFaria USP tuanefaria@yahoo.com.br

EXPLORANDO TÉCNICAS E RECURSOS DO GERENCIADOR DE DADOS ABERTOS CKAN. TuaneFaria USP tuanefaria@yahoo.com.br EXPLORANDO TÉCNICAS E RECURSOS DO GERENCIADOR DE DADOS ABERTOS CKAN Prof. Dr. José Eduardo Santarem Segundo USP santarem@usp.br TuaneFaria USP tuanefaria@yahoo.com.br Introdução Disponibilizar Dados Disponibilizar

Leia mais

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

Leia mais

Programação WEB Introdução

Programação WEB Introdução Programação WEB Introdução Rafael Vieira Coelho IFRS Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul Campus Farroupilha rafael.coelho@farroupilha.ifrs.edu.br Roteiro 1) Conceitos

Leia mais

Universidade da Beira Interior

Universidade da Beira Interior Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação

Leia mais

Aplicativos para Internet Aula 01

Aplicativos para Internet Aula 01 Aplicativos para Internet Aula 01 Arquitetura cliente/servidor Introdução ao HTML, CSS e JavaScript Prof. Erika Miranda Universidade de Mogi das Cruzes Uso da Internet http://www.ibope.com.br/pt-br/noticias/paginas/world-wide-web-ou-www-completa-22-anos-nesta-terca-feira.aspx

Leia mais

Disciplina: Tecnologias de Banco de Dados para SI s

Disciplina: Tecnologias de Banco de Dados para SI s Curso de Gestão em SI Disciplina: Tecnologias de Banco de Dados para SI s Rodrigo da Silva Gomes (Extraído do material do prof. Ronaldo Melo - UFSC) Banco de Dados (BD) BD fazem parte do nosso dia-a-dia!

Leia mais

Programação de Computadores II TCC-00.309 Turma A-1

Programação de Computadores II TCC-00.309 Turma A-1 Material elaborado pelo prof. Leandro A. F. Fernandes com contribuições dos profs. Anselmo A. Montenegro e Marcos Lage Programação de Computadores II TCC-00.309 Turma A-1 Conteúdo Introdução ao Ambiente

Leia mais

Banco de Dados I. Introdução. Fabricio Breve

Banco de Dados I. Introdução. Fabricio Breve Banco de Dados I Introdução Fabricio Breve Introdução SGBD (Sistema Gerenciador de Banco de Dados): coleção de dados interrelacionados e um conjunto de programas para acessar esses dados Coleção de dados

Leia mais

Aula 03 - Projeto Java Web

Aula 03 - Projeto Java Web Aula 03 - Projeto Java Web Para criação de um projeto java web, vá em File/New. Escolha o projeto: Em seguida, na caixa Categorias selecione Java Web. Feito isso, na caixa à direita selecione Aplicação

Leia mais

Conteúdo Programático de PHP

Conteúdo Programático de PHP Conteúdo Programático de PHP 1 Por que PHP? No mercado atual existem diversas tecnologias especializadas na integração de banco de dados com a WEB, sendo o PHP a linguagem que mais se desenvolve, tendo

Leia mais

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE A proposta para o ambiente apresentada neste trabalho é baseada no conjunto de requisitos levantados no capítulo anterior. Este levantamento, sugere uma

Leia mais

Criação do Sistema Integrado de Bibliotecas do Sistema ACAFE: utilizando JAVA e XML

Criação do Sistema Integrado de Bibliotecas do Sistema ACAFE: utilizando JAVA e XML Criação do Sistema Integrado de Bibliotecas do Sistema ACAFE: utilizando JAVA e XML Alberto Pereira de Jesus (FURB) albertop@furb.br Jefferson José Gomes(ACAFE) jeffer@acafe.org.br Resumo. Este artigo

Leia mais

O melhor do PHP. Por que PHP? CAPÍTULO 1. Uma Pequena História do PHP

O melhor do PHP. Por que PHP? CAPÍTULO 1. Uma Pequena História do PHP CAPÍTULO 1 O melhor do PHP Este livro levou bastante tempo para ser feito. Venho usando agora o PHP por muitos anos e o meu amor por ele aumenta cada vez mais por sua abordagem simplista, sua flexibilidade

Leia mais

Introdução à Linguagem Java

Introdução à Linguagem Java Introdução à Linguagem Java Histórico: Início da década de 90. Pequeno grupo de projetos da Sun Microsystems, denominado Green. Criar uma nova geração de computadores portáveis, capazes de se comunicar

Leia mais

Mapserver Servidor de Mapas. João Araujo

Mapserver Servidor de Mapas. João Araujo Mapserver Servidor de Mapas João Araujo Por que fazer mapas? Mapas têm tido papel prepoderante nas atividades humanas por milhares de anos. Desde o início, mapas eram usados para mostrar onde as coisas

Leia mais

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos Introdução Banco de Dados Por que usar BD? Vitor Valerio de Souza Campos Adaptado de Vania Bogorny 4 Por que estudar BD? Exemplo de um BD Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP 2ª Edição Juliano Niederauer Novatec Copyright 2009, 2011 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os

Leia mais

Introdução Banco de Dados

Introdução Banco de Dados Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Banco de Dados I Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Dados

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Professora conteudista: Cida Atum Sumário Administração de Banco de Dados Unidade I 1 INTRODUÇÃO A BANCO DE DADOS...1 1.1 Histórico...1 1.2 Definições...2 1.3 Importância

Leia mais

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres Linguagem de Programação Orientada a Objeto Introdução a Orientação a Objetos Professora Sheila Cáceres Introdução a Orientação a Objetos No mundo real, tudo é objeto!; Os objetos se relacionam entre si

Leia mais

XML XML. XML extensible Markup Language HTML. Motivação. W3C: World Wide Web Consortium XML 1.0. Mário Meireles Teixeira DEINF-UFMA

XML XML. XML extensible Markup Language HTML. Motivação. W3C: World Wide Web Consortium XML 1.0. Mário Meireles Teixeira DEINF-UFMA Mário Meireles Teixeira DEINF-UFMA Motivação extensible Markup Language W3C: World Wide Web Consortium http://www.w3.org 1.0 W3C Recommendation, 10/Fev/1998 (inicial) W3C Recommendation, 04/Fev/2004, 3

Leia mais

Minicurso introdutório de desenvolvimento para dispositivos Android. Cristiano Costa

Minicurso introdutório de desenvolvimento para dispositivos Android. Cristiano Costa Minicurso introdutório de desenvolvimento para dispositivos Android Cristiano Costa Desenvolvimento da interface estática Sobre mim Graduando em Engenharia Eletrônica - UNIFEI Trabalhou em desenvolvimento

Leia mais

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44 Armazenando Dados em Aplicações Java Parte 2 de 3: Apresentando as opções Hua Lin Chang Costa, hualin@cos.ufrj.br, COPPE/UFRJ. Leonardo Gresta Paulino Murta, leomurta@ic.uff.br, IC/UFF. Vanessa Braganholo,

Leia mais

Como Configurar Catálogos de Correio Eletrônico com o MDaemon 6.0

Como Configurar Catálogos de Correio Eletrônico com o MDaemon 6.0 Como Configurar Catálogos de Correio Eletrônico com o MDaemon 6.0 Alt-N Technologies, Ltd 1179 Corporate Drive West, #103 Arlington, TX 76006 Tel: (817) 652-0204 2002 Alt-N Technologies. Todos os Direitos

Leia mais

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM GBC043 Sistemas de Banco de Dados Introdução Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM Página 2 Definição BD Def. Banco de Dados é uma coleção de itens de dados

Leia mais

Objetivos do Curso. Você será capaz de:

Objetivos do Curso. Você será capaz de: Objetivos do Curso Ao término do curso você entenderá: Aplicativos Java e applets Tipos de dados primitivos Fluxo de Controle em Java Métodos Outros: exceções, multithreading, multimedia, I/O, redes. Objetivos

Leia mais

PADRÕES PARA O DESENVOLVIMENTO NA WEB

PADRÕES PARA O DESENVOLVIMENTO NA WEB PADRÕES PARA O DESENVOLVIMENTO NA WEB Ederson dos Santos Cordeiro de Oliveira 1,Tiago Bonetti Piperno 1, Ricardo Germano 1 1 Universidade Paranaense (UNIPAR) Paranavaí PR- Brasil edersonlikers@gmail.com,

Leia mais

Capítulo 2 Introdução à ferramenta Flash

Capítulo 2 Introdução à ferramenta Flash Capítulo 2 Introdução à ferramenta Flash Índice 1. O uso da ferramenta Flash no projeto RIVED.... 1 2. História do Flash... 4 1. O uso da ferramenta Flash no projeto RIVED. É importante, antes de iniciarmos

Leia mais

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec Guia de Consulta Rápida PHP com XML Juliano Niederauer Terceira Edição Novatec Copyright 2002 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida

Leia mais

Banco de Dados 1 Prof. MSc Wagner Siqueira Cavalcante

Banco de Dados 1 Prof. MSc Wagner Siqueira Cavalcante Banco de Dados 1 Programação sucinta do curso:. Conceitos fundamentais de Banco de Dados.. Arquitetura dos Sistemas Gerenciadores de Banco de Dados (SGBD ou DBMS).. Características típicas de um SGBD..

Leia mais

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br Desenvolvimento Web Saymon Yury C. Silva Analista de Sistemas http://www.saymonyury.com.br Vantagens Informação em qualquer hora e lugar; Rápidos resultados; Portabilidade absoluta; Manutenção facilitada

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

ADMINISTRAÇÃO DOS RECURSOS DE DADOS Capítulo 7 ADMINISTRAÇÃO DOS RECURSOS DE DADOS 7.1 2003 by Prentice Hall OBJETIVOS Por que as empresas sentem dificuldades para descobrir que tipo de informação precisam ter em seus sistemas de informação?

Leia mais

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA ETEC PROF. MÁRIO ANTÔNIO VERZA CURSO TÉCNICO EM INFORMÁTICA PARA INTERNET

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA ETEC PROF. MÁRIO ANTÔNIO VERZA CURSO TÉCNICO EM INFORMÁTICA PARA INTERNET CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA ETEC PROF. MÁRIO ANTÔNIO VERZA CURSO TÉCNICO EM INFORMÁTICA PARA INTERNET WEBSITE MUNDO MULHER GABRIELA DE SOUZA DA SILVA LUANA MAIARA DE PAULA SILVA

Leia mais

XML Básico. Murillo Vasconcelos Henriques B. Castro. 17 de maio de 2011

XML Básico. Murillo Vasconcelos Henriques B. Castro. 17 de maio de 2011 XML Básico Murillo Vasconcelos Henriques B. Castro 17 de maio de 2011 O QUE É? Sigla para extensible Markable Language É uma linguagem de marcação, assim como HTML Desenvolvida para ser auto explicativa

Leia mais

Conectando Bancos de Dados Microsoft Access no BrOffice.org Base. fornecido pelo Projeto de Documentação do BrOffice.org

Conectando Bancos de Dados Microsoft Access no BrOffice.org Base. fornecido pelo Projeto de Documentação do BrOffice.org Conectando Bancos de Dados Microsoft Access no BrOffice.org Base fornecido pelo Projeto de Documentação do BrOffice.org Índice 1 Introdução...2 1.1 Versão... 2 1.2 Licenciamento...2 1.3 Mensagem do Projeto

Leia mais

Interface Homem Máquina para Domótica baseado em tecnologias Web

Interface Homem Máquina para Domótica baseado em tecnologias Web Interface Homem Máquina para Domótica baseado em tecnologias Web João Alexandre Oliveira Ferreira Dissertação realizada sob a orientação do Professor Doutor Mário de Sousa do Departamento de Engenharia

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

Leia mais

Autoria Web Apresentação e Visão Geral sobre a Web

Autoria Web Apresentação e Visão Geral sobre a Web Apresentação e Visão Geral sobre a Web Apresentação Thiago Miranda Email: mirandathiago@gmail.com Site: www.thiagomiranda.net Objetivos da Disciplina Conhecer os limites de atuação profissional em Web

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE 1 OBJETIVOS 1. Qual é a capacidade de processamento e armazenagem que sua organização precisa para administrar suas informações e transações empresariais?

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Centro Universitário de Volta Redonda - UniFOA Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro

Leia mais

INTRODUÇÃO BANCO DE DADOS. Prof. Msc. Hélio Esperidião

INTRODUÇÃO BANCO DE DADOS. Prof. Msc. Hélio Esperidião INTRODUÇÃO BANCO DE DADOS Prof. Msc. Hélio Esperidião BANCO DE DADOS Podemos entender por banco de dados qualquer sistema que reúna e mantenha organizada uma série de informações relacionadas a um determinado

Leia mais