universidade de são paulo instituto de ciências matemáticas e de computação departamento de...
TRANSCRIPT
![Page 1: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/1.jpg)
Universidade de São PauloInstituto de Ciências Matemáticas e de ComputaçãoDepartamento de Computação e Estatística
Servidor de Documentos Servidor de Documentos XML Usando JavaXML Usando Java
Aluno: Werley Ribeiro MartinsAluno: Werley Ribeiro Martins
Orientador: Prof. Dr. Dilvan de Abreu MoreiraOrientador: Prof. Dr. Dilvan de Abreu Moreira
Setembro - 2001Setembro - 2001
![Page 2: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/2.jpg)
2
Organização da Apresentação
IntroduçãoIntrodução
Tecnologias UtilizadasTecnologias Utilizadas
Arquitetura do Servidor XMLArquitetura do Servidor XML
Funcionamento dos MétodosFuncionamento dos Métodos
Aplicação GráficaAplicação Gráfica
Testes RealizadosTestes Realizados
ConclusõesConclusões
![Page 3: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/3.jpg)
3
Introdução
Crescimento de aplicações no ambiente WWW (Crescimento de aplicações no ambiente WWW (World World
Wide WebWide Web))
Disponibilização de uma variedade de informaçõesDisponibilização de uma variedade de informações
Documentos eletrônicos estão cada vez mais complexosDocumentos eletrônicos estão cada vez mais complexos
Surgimento de novos e complexos tipos de dados Surgimento de novos e complexos tipos de dados
O padrão HTML (O padrão HTML (HyperText Markup LanguageHyperText Markup Language) não ) não
fornece recursos suficientes para formatar tais documentosfornece recursos suficientes para formatar tais documentos
![Page 4: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/4.jpg)
4
Introdução
XML (XML (Extensible Markup LanguageExtensible Markup Language))
criada para resolver as limitações da linguagem HTMLcriada para resolver as limitações da linguagem HTML
separa o conteúdo de sua apresentaçãosepara o conteúdo de sua apresentação
permite criar seus próprios tipos de elementos (permite criar seus próprios tipos de elementos (tagstags))
XSL (XSL (Extensible Stylesheet LanguageExtensible Stylesheet Language))
expressa como o conteúdo dos documentos XML é apresentadoexpressa como o conteúdo dos documentos XML é apresentado
converte um documento XML em outras linguagensconverte um documento XML em outras linguagens
![Page 5: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/5.jpg)
5
Introdução
MotivaçãoMotivação Como os dados XML podem ser extraídos de grandes documentos Como os dados XML podem ser extraídos de grandes documentos
XMLXML??
XQL (XML XQL (XML Query LanguageQuery Language)) é uma linguagem de consulta para é uma linguagem de consulta para
documentos XMLdocumentos XML
A partir daí, deseja-se realizar algum tipo de manipulação com os A partir daí, deseja-se realizar algum tipo de manipulação com os
dados de documentos XMLdados de documentos XML
Executar diversas operações sobre esses dados, que podem ser Executar diversas operações sobre esses dados, que podem ser
obtidos através da linguagem de consulta XQLobtidos através da linguagem de consulta XQL
![Page 6: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/6.jpg)
6
Introdução
ObjetivoObjetivo Desenvolver um servidor capaz de realizar diversas operações Desenvolver um servidor capaz de realizar diversas operações
sobre documentos XML e XSL como:sobre documentos XML e XSL como:
incluir novos documentos no repositório ou dentro de um incluir novos documentos no repositório ou dentro de um
documento já existentedocumento já existente
apagar um documento por inteiro ou somente parte deleapagar um documento por inteiro ou somente parte dele
realizar consultas sobre esses documentos, retornando realizar consultas sobre esses documentos, retornando
conteúdos em diversos formatosconteúdos em diversos formatos
transformar um documento XML em outras linguagens, transformar um documento XML em outras linguagens,
através da linguagem XSLatravés da linguagem XSL
![Page 7: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/7.jpg)
7
Tecnologias Utilizadas
DOM (DOM (Document Object ModelDocument Object Model)) Representa um documento XML bem formado na forma de uma Representa um documento XML bem formado na forma de uma
árvoreárvore
Cria um modelo de objeto na forma como estão organizados os Cria um modelo de objeto na forma como estão organizados os
dados do documentodados do documento
Fornece um conjunto de objetos e interfaces que representam o Fornece um conjunto de objetos e interfaces que representam o
conteúdo e a estrutura de documentos XML sem perda de conteúdo e a estrutura de documentos XML sem perda de
informações significativasinformações significativas
Permite acessar e manipular a informação contida em documentos Permite acessar e manipular a informação contida em documentos
XMLXML
![Page 8: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/8.jpg)
8
Tecnologias Utilizadas
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE documento SYSTEM "Documento.dtd"><?xml-stylesheet type="text/xsl" href="Documento.xsl"?><documento>
<título>Servidor de Documentos XML Usando JAVA</título><capítulo>
<título>Capítulo 1 - Introdução</título><conteúdo>... </conteúdo>
</capítulo></documento>
documentodocumento
títulotítulo
títulotítulo conteúdoconteúdo
capítulocapítulo
Servidor de Documentos
XML Usando Java
Servidor de Documentos
XML Usando Java
Capítulo 1 - Introdução
Capítulo 1 - Introdução
......
DOM (Document Object Model)
Documento XML Representação DOM
![Page 9: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/9.jpg)
9
Tecnologias Utilizadas
Interfaces DOMInterfaces DOM
NodeNode - qualquer objeto em uma árvore de nós - qualquer objeto em uma árvore de nós
DocumentDocument - documento XML como uma árvore de nós - documento XML como uma árvore de nós
ElementElement - um elemento em uma árvore de nós - um elemento em uma árvore de nós
AttrAttr - um atributo contido em um - um atributo contido em um ElementElement
TextText - texto contido em um - texto contido em um ElementElement ou ou AttrAttr
DocumentTypeDocumentType - DTD associado à árvore de nós - DTD associado à árvore de nós
![Page 10: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/10.jpg)
10
Tecnologias Utilizadas
JavaSpacesJavaSpaces
Pode ser utilizado como um repositório para armazenamento de Pode ser utilizado como um repositório para armazenamento de
objetos JAVAobjetos JAVA
Documentos XML são armazenados na forma de objetos DOM, que Documentos XML são armazenados na forma de objetos DOM, que
são objetos JAVAsão objetos JAVA
Um espaço compartilhado onde objetos (entradas) são armazenadosUm espaço compartilhado onde objetos (entradas) são armazenados
Permite armazenamento de forma transiente ou persistentePermite armazenamento de forma transiente ou persistente
Possui um conjunto de operações reduzidoPossui um conjunto de operações reduzido
![Page 11: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/11.jpg)
11
Tecnologias Utilizadas
JavaSpaces
![Page 12: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/12.jpg)
12
Tecnologias Utilizadas
Utilização de bibliotecas para a realização das operações:Utilização de bibliotecas para a realização das operações:
Xerces – Xerces – parserparser XML para converter um documento XML em um XML para converter um documento XML em um
objeto DOM, além de verificar sua validade, caso tenha um DTDobjeto DOM, além de verificar sua validade, caso tenha um DTD
Xalan – processador XSL para transformar documentos XML em Xalan – processador XSL para transformar documentos XML em
documentos HTML, texto ou em outros documentos XMLdocumentos HTML, texto ou em outros documentos XML
GMD-IPSI XQL – ferramenta de consulta e armazenamento que GMD-IPSI XQL – ferramenta de consulta e armazenamento que
utiliza a linguagem XQL para consultar dados de documentos utiliza a linguagem XQL para consultar dados de documentos
XML, podendo ser aplicadas em qualquer nó de uma árvore DOMXML, podendo ser aplicadas em qualquer nó de uma árvore DOM
![Page 13: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/13.jpg)
13
Arquitetura do Servidor XML
InterfaceInterface define quais os métodos que são executados pelo servidor sobre os define quais os métodos que são executados pelo servidor sobre os
documentos armazenadosdocumentos armazenados
ProxyProxy realiza a conexão entre as aplicações cliente e o servidorrealiza a conexão entre as aplicações cliente e o servidor implementa a interfaceimplementa a interface esconde do usuário o que é feito localmente do que é feito no esconde do usuário o que é feito localmente do que é feito no
servidorservidor permite a migração de funcionalidade entre os lados cliente e permite a migração de funcionalidade entre os lados cliente e
servidor, implementando a mesma interfaceservidor, implementando a mesma interface
![Page 14: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/14.jpg)
14
Arquitetura do Servidor XML
Acesso aosDocumentosSolicitação
dos Serviços
Conexão
Manipulaçãodos Serviços
JavaSpacesJavaSpaces
ServidorXML
ServidorXML
ProxyProxy
InterfaceInterface
ClienteCliente
![Page 15: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/15.jpg)
15
Arquitetura do Servidor XML
![Page 16: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/16.jpg)
16
Funcionamento dos Métodos
Os objetos DOM são armazenados dentro de uma classe, Os objetos DOM são armazenados dentro de uma classe, chamada chamada NameName, que são as entradas do espaço , que são as entradas do espaço JavaSpacesJavaSpaces
Name Name possui 3 campos:possui 3 campos: documentdocument - representação DOM do documento a ser armazenado - representação DOM do documento a ser armazenado namename - - namename único para identificar um DOM único para identificar um DOM dtddtd - conteúdo do arquivo DTD, caso exista, ou - conteúdo do arquivo DTD, caso exista, ou nullnull, caso contrário, caso contrário
Uma estrutura Uma estrutura VectorVector contém os campos contém os campos namename para para identificar quais identificar quais namesnames estão armazenados no espaço estão armazenados no espaço
JavaSpacesJavaSpaces possui vários possui vários NamesNames e um e um VectorVector em seu espaço em seu espaço
![Page 17: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/17.jpg)
17
Funcionamento dos Métodos
Manipulações com Manipulações com NamesNames
isName(doc)isName(doc)
createName(Java_course)createName(Java_course)
getNames(//título)getNames(//título)
destroyName(course)destroyName(course)
truetrue
OKOK
[[docdoc]]
getNames(null)getNames(null)
[[doc, course, server, Java_coursedoc, course, server, Java_course]]
doc
course
Java_course
server
![Page 18: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/18.jpg)
18
Funcionamento dos Métodos
Manipulações com Manipulações com NamesNames
isName(doc)isName(doc)
createName(Java_course)createName(Java_course)
getNames(//título)getNames(//título)
changeName(server, XMLServer)changeName(server, XMLServer)
destroyName(course)destroyName(course)
truetrue
OKOK
[[docdoc]]
coursecourse
getNames(null)getNames(null)
[[doc, course, server, Java_coursedoc, course, server, Java_course]]
XMLServerXMLServer
doc
Java_course
serverXMLServer
![Page 19: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/19.jpg)
19
Funcionamento dos Métodos
Adicionando um novo documento no repositórioAdicionando um novo documento no repositórioString add(String name, Document XML, boolean DTD)String add(String name, Document XML, boolean DTD)
String add(String name, Reader XML, boolean DTD)String add(String name, Reader XML, boolean DTD)
VerificarValidade
VerificarValidade
XERCESXERCESDocumento
XML
DocumentoXML
Tem DTD
Não tem DTD
name = name
document = Document(XML)
dtd = null
name = name
document = Document(XML)
dtd = null
Name
![Page 20: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/20.jpg)
20
O Servidor XML
VerificarValidade
VerificarValidade
Documentonão é
adicionado norepositório
Documentonão é
adicionado norepositório
name = name
document = Document(XML)
dtd = null
name = name
document = Document(XML)
dtd = null
Inválido
Válido
DTD não está embutidono documento XML
DTD está embutidono documento XML
name = name
document = Document(XML)
dtd = String(DTD(XML))
name = name
document = Document(XML)
dtd = String(DTD(XML))
Name
Name
- Pode ser adicionado no- Pode ser adicionado no
repositório se DTD = repositório se DTD = falsefalse
![Page 21: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/21.jpg)
21
Funcionamento dos Métodos
Adicionando um novo documento em um já existenteAdicionando um novo documento em um já existenteString addIn(String name, String XQLquery, Document xml) String addIn(String name, String XQLquery, Document xml) String addIn(String name, String XQLquery, Reader xml) String addIn(String name, String XQLquery, Reader xml) String addIn(String name, Reader XQLquery, Document xml) String addIn(String name, Reader XQLquery, Document xml) String addIn(String name, Reader XQLquery, Reader xml)String addIn(String name, Reader XQLquery, Reader xml)
DocumentoXML já
existente norepositório
DocumentoXML já
existente norepositório
DocumentoXML jáexistente
com o novodocumento
DocumentoXML jáexistente
com o novodocumento
GMD-IPSIXQL
GMD-IPSIXQL
Novodocumento
XML
Novodocumento
XML
![Page 22: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/22.jpg)
22
Funcionamento dos Métodos
títulotítulo conteúdoconteúdo
capítulocapítulo
Capítulo 2 - Linguagens de Programação
Capítulo 2 - Linguagens de Programação
......
Adicionando um novo documento em um já existenteAdicionando um novo documento em um já existenteEx: addIn(doc, /documento, capitulo2.xml)Ex: addIn(doc, /documento, capitulo2.xml)
documentodocumento
títulotítulo
títulotítulo conteúdoconteúdo
capítulocapítulo
Servidor de Documentos
XML Usando Java
Servidor de Documentos
XML Usando Java
Capítulo 1 - Introdução
Capítulo 1 - Introdução
......
Documento XML já existente no repositório
Novo documento XML
![Page 23: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/23.jpg)
23
Funcionamento dos Métodos
títulotítulo conteúdoconteúdo
capítulocapítulo
Capítulo 2 - Linguagens de Programação
Capítulo 2 - Linguagens de Programação
......
Adicionando um novo documento em um já existenteAdicionando um novo documento em um já existenteEx: addIn(doc, /documento, capitulo2.xml)Ex: addIn(doc, /documento, capitulo2.xml)
documentodocumento
títulotítulo
títulotítulo conteúdoconteúdo
capítulocapítulo
Servidor de Documentos
XML Usando Java
Servidor de Documentos
XML Usando Java
Capítulo 1 - Introdução
Capítulo 1 - Introdução
......
Documento após a operação
![Page 24: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/24.jpg)
24
Funcionamento dos Métodos
Adicionando um novo documento em um já existenteAdicionando um novo documento em um já existente
QueryQuery indica onde o novo documento será adicionado no indica onde o novo documento será adicionado no
documento existente no repositóriodocumento existente no repositório
QueryQuery deve retornar um único elemento deve retornar um único elemento
Documento é adicionado sem verificar sua validadeDocumento é adicionado sem verificar sua validade
A validade pode ser verificada através do método A validade pode ser verificada através do método validateDOMvalidateDOM
![Page 25: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/25.jpg)
25
Funcionamento dos Métodos
Validar um objeto DOMValidar um objeto DOMString validateDOM(String name)String validateDOM(String name)
DocumentoVálido
DocumentoVálido
DocumentoInválido
DocumentoInválido
XERCESXERCESXML
RepresentaçãoXML do
objeto DOM
XMLRepresentação
XML doobjeto DOM
DTDValor contidono campo dtd
da classe Name
DTDValor contidono campo dtd
da classe Name
Cria dois arquivos temporários:Cria dois arquivos temporários:
![Page 26: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/26.jpg)
26
Funcionamento dos Métodos
Apagando dados XMLApagando dados XMLvoid delete(String name[], String XQLquery)void delete(String name[], String XQLquery)
void delete(String name[], Reader XQLquery)void delete(String name[], Reader XQLquery)
QueryQuery deve retornar um ou mais elementos deve retornar um ou mais elementos
GMD-IPSIXQL
GMD-IPSIXQL
DocumentoXML
DocumentoXML
DocumentoXML sem os dados
consultados
DocumentoXML sem os dados
consultados
![Page 27: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/27.jpg)
27
Funcionamento dos Métodos
Apagando dados XMLApagando dados XMLEx:Ex: delete(doc, //capítulo/título) delete(doc, //capítulo/título)
documentodocumento
títulotítulo
conteúdoconteúdo
capítulocapítulo
Servidor de Documentos
XML Usando Java
Servidor de Documentos
XML Usando Java
......
Documento antes da operação
títulotítulo
Capítulo 1 - Introdução
Capítulo 1 - Introdução
![Page 28: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/28.jpg)
28
Funcionamento dos Métodos
Apagando dados XMLApagando dados XMLEx:Ex: delete(doc, //capítulo/título) delete(doc, //capítulo/título)
documentodocumento
títulotítulo
conteúdoconteúdo
capítulocapítulo
Servidor de Documentos
XML Usando Java
Servidor de Documentos
XML Usando Java
......
Documento após a operação
![Page 29: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/29.jpg)
29
Funcionamento dos Métodos
Operações de ConsultaOperações de Consultaboolean isQuery(String name[], String XQLquery) boolean isQuery(String name[], String XQLquery)
boolean isQuery(String name[], Reader XQLquery)boolean isQuery(String name[], Reader XQLquery)
Document[] getDoc(String name[], String XQLquery)Document[] getDoc(String name[], String XQLquery)
Document[] getDoc(String name[], Reader XQLquery) Document[] getDoc(String name[], Reader XQLquery)
Reader[] getText(String name[], String XQLquery) Reader[] getText(String name[], String XQLquery)
Reader[] getText(String name[], Reader XQLquery)Reader[] getText(String name[], Reader XQLquery)
GMD-IPSIXQL
GMD-IPSIXQL
DocumentoXML
DocumentoXML
Um novodocumento
com os dadosconsultados
Um novodocumento
com os dadosconsultados
![Page 30: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/30.jpg)
30
Funcionamento dos Métodos
documentodocumento
títulotítulo
títulotítulo conteúdoconteúdo
capítulocapítulo
Servidor de Documentos XML
Usando Java
Servidor de Documentos XML
Usando Java
Capítulo 1 - Introdução
Capítulo 1 - Introdução
......
Operações de ConsultaOperações de ConsultaEx: getDoc(doc, //título)Ex: getDoc(doc, //título)
títulotítulo
Servidor de Documentos XML
Usando Java
Servidor de Documentos XML
Usando Java
títulotítulo
Capítulo 1 - Introdução
Capítulo 1 - Introdução
xql:resultxql:result
Documento após a operaçãoDocumento antes da operação
![Page 31: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/31.jpg)
31
Funcionamento dos Métodos
Operações de TransformaçãoOperações de TransformaçãoDocument[] transformDoc(String name[], String XSLname)Document[] transformDoc(String name[], String XSLname)
Document[] transformDoc(String name[], Document XSL)Document[] transformDoc(String name[], Document XSL)
Document[] transformDoc(String name[], Reader XSL)Document[] transformDoc(String name[], Reader XSL)
Reader[] transformText(String name[], String XSLname)Reader[] transformText(String name[], String XSLname)
Reader[] transformText(String name[], Document XSL)Reader[] transformText(String name[], Document XSL)
Reader[] transformText(String name[], Reader XSL)Reader[] transformText(String name[], Reader XSL)
XSLname é um campo XSLname é um campo namename que identifica um documento que identifica um documento
XSL armazenado no repositórioXSL armazenado no repositório
![Page 32: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/32.jpg)
32
Funcionamento dos Métodos
DocumentoXML
DocumentoXML
DocumentoHTML
DocumentoHTML
XALANXALANDocumento
XSL
DocumentoXSL
Operações de TransformaçãoOperações de Transformação
Xalan possui recursos suficientes para converter um Xalan possui recursos suficientes para converter um documento XML em outras linguagensdocumento XML em outras linguagens
![Page 33: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/33.jpg)
33
Aplicação Gráfica
Ilustra como podem ser Ilustra como podem ser
realizadas algumas das realizadas algumas das
manipulações permitidasmanipulações permitidas
Realiza a conexão com o Realiza a conexão com o
servidorservidor
Demonstra a funcionalidade Demonstra a funcionalidade
de alguns métodos definidos de alguns métodos definidos
na interfacena interface
![Page 34: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/34.jpg)
34
Aplicação Gráfica
![Page 35: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/35.jpg)
35
Aplicação Gráfica
![Page 36: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/36.jpg)
36
Aplicação Gráfica
![Page 37: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/37.jpg)
37
Testes Realizados
Testes básicos realizados:Testes básicos realizados: cada método da interface foi testado ao menos uma vezcada método da interface foi testado ao menos uma vez
foram conectados 3 clientes ao servidor, solicitando as mesmas foram conectados 3 clientes ao servidor, solicitando as mesmas
manipulações e ao mesmo tempomanipulações e ao mesmo tempo
em métodos como em métodos como deletedelete, , getDocgetDoc e e transformDoctransformDoc, foram , foram
realizados testes sobre 3 documentos do repositório, de modo que realizados testes sobre 3 documentos do repositório, de modo que
foram retornados 3 objetos de acordo com o resultado desejadoforam retornados 3 objetos de acordo com o resultado desejado
foram criadas situações em que a operação solicitada não foram criadas situações em que a operação solicitada não
retornava resultados válidosretornava resultados válidos
![Page 38: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/38.jpg)
38
Testes Realizados
Resultados obtidos:Resultados obtidos:
O servidor atendeu a todas as solicitações que lhe foram feitasO servidor atendeu a todas as solicitações que lhe foram feitas
O servidor não parou de funcionar em nenhum dos testes O servidor não parou de funcionar em nenhum dos testes
efetuadosefetuados
O resultado foi obtido conforme o esperado ou foi retornada uma O resultado foi obtido conforme o esperado ou foi retornada uma
mensagem de erro adequadamensagem de erro adequada
O servidor possui uma funcionalidade mínimaO servidor possui uma funcionalidade mínima
![Page 39: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/39.jpg)
39
Conclusões
Resultados e contribuiçõesResultados e contribuições
Construção de um servidor capaz de realizar operações, sobre um Construção de um servidor capaz de realizar operações, sobre um
repositório de documentos XML e XSL, como adicionar, repositório de documentos XML e XSL, como adicionar,
consultar, apagar e transformarconsultar, apagar e transformar
Facilita diversos tipos de manipulações que podem ser aplicadas Facilita diversos tipos de manipulações que podem ser aplicadas
aos documentosaos documentos
Utilização e integração de diversas tecnologiasUtilização e integração de diversas tecnologias
![Page 40: Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando](https://reader036.vdocuments.site/reader036/viewer/2022062512/552fc133497959413d8d788b/html5/thumbnails/40.jpg)
40
Conclusões
Sugestões para trabalhos futurosSugestões para trabalhos futuros
Desenvolvimento de uma interface gráfica mais amigávelDesenvolvimento de uma interface gráfica mais amigável
Implementação do método Implementação do método validateDOMvalidateDOM de uma outra maneira de uma outra maneira
que não necessite criar os arquivos temporáriosque não necessite criar os arquivos temporários
Inclusão do serviço de transaçõesInclusão do serviço de transações
Estudo de novos métodos de armazenamento e manipulação de Estudo de novos métodos de armazenamento e manipulação de
documentos XML que dispensem o uso de documentos XML que dispensem o uso de JavaSpacesJavaSpaces