Objetivos da inova o do curso
This presentation is the property of its rightful owner.
Sponsored Links
1 / 81

Objetivos da Inovação do Curso PowerPoint PPT Presentation


  • 39 Views
  • Uploaded on
  • Presentation posted in: General

Objetivos da Inovação do Curso. Tomar contato com recentes tecnologias para Internet: XML. Estimular novas áreas de trabalhos/pesquisas. Foco: tornar os sistemas interoperáveis, ou comunicáveis. É importante fazer usos de padrões abertos. Isto é, evitar padrões e software proprietários.

Download Presentation

Objetivos da Inovação do Curso

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Objetivos da inova o do curso

Objetivos da Inovação do Curso

  • Tomar contato com recentes tecnologias para Internet: XML.

  • Estimular novas áreas de trabalhos/pesquisas.

  • Foco: tornar os sistemas interoperáveis, ou comunicáveis.

    • É importante fazer usos de padrões abertos. Isto é, evitar padrões e software proprietários.

    • Há muitos padrões para atender melhor cada tipo de aplicação, fragmentando o alcance de cada um deles. XML ajuda a uni-los.

  • Apresentação de um projeto básico:

    • Será definido as linhas gerais do trabalho.

    • Espera-se que se identifique o uso de estruturas de dados.

    • O incremento de funcionalidades além do básico é bastante desejável.

    • Inclusão de documentação e relatório do trabalho.


Objetivos da inova o do curso

XML

eXtensible Markup Language

Um alcance maior com a independência de plataformas


Rapidamente como xml

Rapidamente: Como é XML?

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE greeting [

<!ELEMENT greeting (#PCDATA)>

]>

<greeting>Hello, world!</greeting>

<?xml version="1.0"?>

<!DOCTYPE greeting SYSTEM "hello.dtd">

<greeting>Hello, world!</greeting>

PCDATA: Parseable character data

Well-Formed XML Documents


Objetivos da inova o do curso

XML

  • É um formato de marcação extensível para domínios de aplicação.

  • Teve origem no SGML e na experiência com HTML

  • Parser - faz uso extenso do analisador sintático.

  • DTD - Data Type Definition

  • Schema - alternativa com definição semântica enriquecida do DTD.

  • Xpath - XML Path Language

  • XSL - Extensible Stylesheet Language

  • XLL - XML Linking Language (Xlink + Xpointer + Xpath)

  • Namespace - similar ao namespace do C++ ou package do Java.


Onde xml usado

Onde XML é usado?

  • Melhor perguntar onde XML não é usado.

  • XML se aplica quando algo faz uso de:

    • (representação/especificação de) dados e conteúdos.

    • Comunicação, e-business, e-services (XML-RPC, SOAP, ebXML)

    • interface gráfica (XUL - )

    • multimídia (SMIL - synchronized multimedia integration language)

    • makefile e arquivos de configuração (ex: Apache, Java 1.4)


Xml por toda parte

XML por toda parte

  • DocBook

  • MathML

  • CML

  • VoiceXML

  • WML


Introdu o tutorial refer ncia em xml

Introdução + Tutorial + Referência em XML

  • Sites principais

    • www.w3.org,

    • www.startkabel.nl/k/xml/

    • www.xml.com (org)

    • www.xmlhack.com

    • www.javacommerce.com/tutorial/xmldev/index.html

    • www.xml.org

  • Livros:

    • Desvendando XML (New Riders), Steven Holzner

    • Java XML (O’Reilly), Benoit Marchal

    • www.oreilly.com (capítulos gratuitos)

    • http://www.extensibility.com/resources/books_wrox.asp

    • NÃO COMPREM O “XML BLACK BOOK”.


Tutorial na internet

Tutorial na Internet

  • http://www.w3schools.com/

  • http://www6.software.ibm.com/developerworks/education/co-xmsg/co-xmsg-1-1.html

  • http://www-106.ibm.com/developerworks/education/tutorial-prog/parsing.html

  • http://www6.software.ibm.com/developerworks/education/wsbasics/index.html

  • XPath

    • http://geneura.ugr.es/~victor/cursillos/xml/XPath/

  • http://www.sun.com/xml/developers/xsl/

  • Namespace

    • http://www.simonstl.com/articles/namespaces/index.html

    • http://www.jclark.com/xml/xmlns.htm

    • http://www.xml.com/pub/a/2000/03/08/namespaces/index.html


Programas e c digos

Programas e códigos

  • Software

    • Java J2SE (J2SDK) (http://java.sun.com/j2se/1.4/)

    • www.apache.org (xml)

    • Editores de XML: XML Spy e www.xmleverywhere.com/cooktop/

  • Exercícios práticos on-line:

    • http://zvon.org/xxl/XMLTutorial/General/book.html

  • Exemplos de uso de XML na Internet

    • http://www.posc.org/ebiz/xmlLive.shtml

    • http://technet.oracle.com/sample_code/content.html

    • http://www.sys-con.com/xml/source/

    • http://newinstance.com/writing/javaxml/examples.html


Editoras livros gratuitos

Editoras - livros gratuitos

  • Livros da Sun:

    • Java: http://java.sun.com/docs/books/

    • Xml: http://java.sun.com/xml/tutorial_intro.html

    • http://www.mindview.net/Books/DownloadSites

  • http://www.mcp.com/que/results_que.cfm?parameter=XML&scope=title

  • http://www.mcp.com/que/display_que.cfm?itemhdr=Sample%20Chapter&itemloc=chapter&item=0789724766

  • http://www.oreilly.com/catalog/learnxml/chapter/ch02.html

  • http://www.oreilly.com/catalog/docbook/chapter/book/docbook.html

  • http://www.oreilly.com/catalog/orxmlapp/chapter/index.html

  • http://www.oreilly.com/catalog/javaxml/chapter/ch09.html

  • http://www.ibiblio.org/xml/books/bible/examples/

  • http://www.extensibility.com/resources/books_wrox.asp

  • http://xmlwriter.net/books/xml_books.shtml


Buzz words

Buzz words

  • Componentes do XML: XSL, XLL, SAX, DOM, Xlink, XPointers

  • CGI tradicional: HTML, DHTML, JHTML, SHTML, XHTML

  • Markup Languages: MathML, MusicML, GML, CML, WML, -UML-

  • Ferramentas XML no Apache: Cocoon, Xalan, Xerces,

  • BD: JDBC-ODBC, JDO, RDBMS, ODBMS

  • Plataforma Java: Servlet, RMI, JavaBeans, JSP, EJB, JavaIDL,

  • Tiny HTML - Um subconjunto do HTML apropriado para Palm Pilots.

  • VoxML - The Motorola ML que permite interação voz-aplicação.

  • TTML - The Tagged Text ML é um subconjunto HTML desenvolvido p/ Nokia.

  • HDML - The Handheld Devices ML é uma versão simples de HTML para dispositivos de mão, handheld.

  • OMF - Weather Observation Markup Format codifica observações meteorológicas.


Projeto biblioteca de documentos

Projeto: Biblioteca de documentos

Cliente

Servidor

Apache

Páginas HTML

Navegador

HTML /

JavaScript

html

form

BD/Diretorio

xml, pdf, ps

Servlets

xml API

html


T picos e grupos

Tópicos e grupos

  • HTML - CSS - JavaScript (grupo A)

  • Especificação de Use Cases da interação do usuário (grupo A)

  • Java JDK - Servlet (grupo B)

  • Apache + Coccon + Tomcat (grupo B)

  • Editores de DTD, Schema, XSL (grupo C)

  • XML - XSL - XLL (Xpath - Xlink - Xpointer) (grupo C)

  • XML - DTD - DocBook - FOP (grupo D)

  • XML - Xquery - BD (JDBC) (grupo E)

  • XML - SMIL (grupo F)

  • Relatórios


Objetivos da inova o do curso

HTML

  • Exemplo de upload em HTML:

    • http://www.w3.org/2000/09/webdata/xsv

  • Arquitetura de Web sites (Arquitetura de design)

    • http://www.ccuec.unicamp.br/treinamentos/webpro/

    • http://www.ambysoft.com/userInterfaceDesign.pdf

  • Desenhar e definir as páginas da biblioteca digital:

    • organizar as telas de consultas conforme a interação por: palavras-chave, título, autor, ...

    • Usar CSS para apresentação e Javascript para a interação.

    • Criar a tela de entrada de documentos: como txt, doc, ps, pdf.

    • Permitir a criação de cadastro, definir o layout e os links preferido e salvá-los no site.

  • Interagir com o responsável do DTD para definir o conteúdo das telas.


Itens sites relevantes para www

Itens/sites relevantes para www

  • É desejável saber o que é http (www.whatis.com)

  • Tutorial/Primers sobre Html / JavaScript (Ramalho)

    • http://www.w3.org

    • http://www.ncsa.uiuc.edu/General/Internet/WWW/HTMLPrimer.html

    • http://www.htmlgoodies.com/

    • http://training.oreilly.com/

    • http://www.oreilly.com/catalog/jscript2/examples/

    • http://developer.netscape.com/library/documentation/htmlguid/index.htm

  • Web-design

    • http://ituser.it.bton.ac.uk/staff/idd/

    • http://info.med.yale.edu/caim/manual/contents.html


Interface do nosso portal

Interface do nosso “Portal”

  • Pesquisar por data, autor, titulo, palavras-chave

  • Data: período (maior, menor, entre), mês, ano.

  • Quantos resultados.

  • Palavras-chave: exato, palavras similares, (and, or)

  • Categoria/área do assunto.

  • Instituição de origem.

  • Incluir dicas sobre campos usando ToolTips http://webdeveloper.earthweb.com/pagedev/webjs/item/0,3602,12760_26671,00.html

  • Acessórios relevantes não mencionados aqui.


Estabelecer os poss veis casos de uso

Computador

Navegador

Computador

Estabelecer os possíveis casos de uso

Consulta

por autor

Lista de

resultados


Objetivos da inova o do curso

Java

  • APIs do servidor Apache (Tópico XML)

    • Xerces - XML parsers

    • Xalan - XSLT stylesheet processors

    • Cocoon - XML-based web publishing

    • FOP - XSL formatting objects

    • Xang - Rapid development of dynamic server pages, in JavaScript

  • Servlets (Tópico servidor)

    • Software: Tomcat do Apache (http://jakarta.apache.org/tomcat/).

    • http://c2.com/cgi/wiki?ServletDesign

  • Interagir com HTML e XSL

  • Artigos:

    • http://www.xml-data-servers.com/

    • http://65.1.136.127/developerlife/saxtutorial1/default.htm

    • http://www-106.ibm.com/developerworks/library/data-binding4/index.html


Editores

Editores

  • Artigo sobre editores de XML em geral

    • http://www-106.ibm.com/developerworks/java/library/x-matters6.html

  • Um dos melhores: XML Spy (http://www.xmlspy.com/)

  • Gratuitos: http://www.garshol.priv.no/download/xmltools/

  • Pode usar WordPad para textos.

  • Pode usar NotePad para XML da MS.

  • Software em geral: http://www.xmlsoftware.com/


Objetivos da inova o do curso

DTD

  • Definir as regras e o vocabulário do DTD.

  • Investigar linguagens baseadas em XML mais apropriada para o projeto. Veja, por exemplo, DocBook (ML p/ documento técnico).

  • Interagir com os responsáveis do HTML e do XSLT.

  • Links:

    • http://www.oreilly.com/catalog/docbook/chapter/book/docbook.html

    • http://www.oasis-open.org/docbook/intro.html

    • http://zvon.org/xxl/DTDTutorial/General/book.html

    • http://www.developer.ibm.com/devcon/rsinnarticle.htm

  • FOP (Formatador de PDF)

    • http://xml.apache.org/fop/


Objetivos da inova o do curso

DTD

http://www.w3.org/TR/xslt

http://www.cs.rutgers.edu/~shklar/classes/476/class21/slide5.html

http://www.cs.rutgers.edu/~shklar/classes/476/schedule.html

<!ELEMENT book (author+, title, publisher)>

<!ATTLIST book year CDATA>

<!ELEMENT article (author+, title, year?,

(shortversion|longversion))>

<!ATTLIST article type CDATA>

<!ELEMENT publisher (name, address)>

<!ELEMENT author (firstname?, lastname)>


Xml query

XML Query

  • Coleções de arquivos XML podem ser acessados como Banco de Dados

  • Links:

    • http://www.rpbourret.com/xmldbms/readme.htm

    • http://www.cs.bell-labs.com/who/wadler/topics/xml.html

    • http://www.w3.org/TandS/QL/QL98/pp/xql.html

    • http://www.ibiblio.org/xql/

  • Fazer uso inteligente da estrutura do XML.

  • Site principal: http://www.w3.org/XML/Query

  • Exemplo: http://www.w3.org/TR/xmlquery-use-cases


Xsl extensible stylesheet language

XSL - Extensible Stylesheet Language

  • Linguagem para expressar padrões similar aos estilos do Word:

  • É uma linguagem para transformar documentos XML.

  • Contém um vocabulário para especificar formatação semântica.

  • http://www.w3.org/TR/xsl/

  • Introduction to Cocoon, XML, XSL

    • http://www.devshed.com/Client_Side/XML/INTCXX/

  • Artigos:

    • http://www-106.ibm.com/developerworks/library/x-xslt5.html

    • http://www-106.ibm.com/developerworks/library/jguru-dom/index.html


Xpath xml path language

Xpath - XML Path Language

  • http://www.w3.org/TR/xpath

  • Excelente curso prático online para experimentar:

    • http://www.zvon.org/xxl/XPathTutorial/General/examples.html


Selecionando elementos com xpath

Selecionando elementos com XPath

<xsl:template match="/">

<xsl:value-of select=“AAA”

</xsl:template>

Selecionando /AAA

/AAA/CCC

/AAA/CCC/BBB

<AAA>

<BBB/>

<CCC/>

<BBB/>

<BBB/>

<DDD>

<BBB/>

</DDD>

<CCC/>

</ AAA >

<AAA>

<BBB/>

< CCC />

<BBB/>

<BBB/>

<DDD>

<BBB/>

</DDD>

< CCC />

</ AAA >

<AAA>

<BBB/>

< CCC />

<BBB/>

<BBB/>

<DDD>

< BBB />

</DDD>

< CCC />

</ AAA >


Xlink

XLink

  • Links

    • http://www.ibiblio.org/xml/books/bible/updates/16.html

    • http://www.ibiblio.org/xml/books/bible/updates/17.html

    • http://www.sun.com/xml/developers/xlink/

    • http://www.javacommerce.com/tutorial/xml/linking.html

    • http://pages.wooster.edu/ludwigj/xml/thesis.html

    • http://www.thefaactory.com/xlink2html/

    • http://www.diffuse.org/TopicMaps/20001025/schema.html


Objetivos da inova o do curso

XSL

Veja http://www.finetuning.com/styletutorials.html


Regras xsl 1 3

Regras xsl (1/3)

<xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">


Regras xsl 2 3

Regras xsl (2/3)

<xsl:template match="/">

<html>

<head>

<title>finetuning.com - Glossary of Terms</title>

</head>

<body>

<center><h4>Glossary</h4></center>

<table width="100%" border="1"><thead>

<th>Term</th>

<th>Definition</th>

</thead>

<tbody>

<xsl:apply-templates/>

</tbody>

</table>

</body>

</html>

</xsl:template>


Regras xsl 3 3

Regras xsl (3/3)

<xsl:template match="item">

<tr>

<td><strong>

<xsl:value-of select="title" /></strong></td>

<td><xsl:value-of select="definition" /></td>

</tr>

</xsl:template>

</xsl:stylesheet>


Objetivos da inova o do curso

<libro>

<titulo>Dos por tres calles</titulo>

<autor>Josefa Santos</autor>

<capitulo num="1">

La primera calle

<parrafo>

Era una sombría noche del mes de agosto...

</parrafo>

<parrafo destacar="si">

Ella, inocente cual <enlace href="http://www.enlace.es">mariposa</enlace> que surca el cielo en busca de libaciones...

</parrafo>

</capitulo>

. . . . . . . . . . . . . .........

</libro>

ejemplo.xml


Objetivos da inova o do curso

ejemplo.xsl

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="libro">

<HTML>

<HEAD>

<TITLE>Ejemplos en XPath</TITLE>

</HEAD>

<BODY>

<H1>Resultados:</H1>

<PRE>

<xsl:apply-templates select="/libro/capitulo/text()"/>

</PRE>

</BODY>

</HTML>

</xsl:template>

</xsl:stylesheet>


Teste

Teste

Execução

> xsl ejemplo.xml ejemplo.xsl ejemplo.html

É preciso de:

- um analisador de XSLT como Xalan

- um analisador de XML como Xerces

Ambos estão no Cocoon (Apache)


Sa da do exemplo no navigator

Saída do exemplo no Navigator


Exemplo de arquivo xml

Exemplo de arquivo XML

<?xml version="1.0"?>

<!-- edited with XML Spy v3.5 (http://www.xmlspy.com) by Test (Testing) -->

<?xml-stylesheet type="text/xsl" href="planets.xsl"?>

<PLANETS>

<PLANET>

<NAME>Mercury</NAME>

<MASS UNITS="(Earth = 1">.0553</MASS>

</PLANET>

<PLANET>

<NAME>Venus</NAME>

<MASS UNITS="(Earth = 1">.815</MASS>

</PLANET>

<PLANET>

<NAME>Earth</NAME>

<MASS UNITS="(Earth = 1">1</MASS>

</PLANET>

</PLANETS>


Objetivos da inova o do curso

Cont...

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

<xsl:template match="/">

<html>

<xsl:apply-templates/>

</html>

</xsl:template>

<xsl:template match="PLANETS">

<xsl:apply-templates/>

</xsl:template>

<xsl:template match="PLANET">

<p>

<xsl:value-of select="NAME"/>

</p>

</xsl:template>

</xsl:stylesheet>


Carregando o arquivo xml no ie

Carregando o arquivo .xml no IE


Xml dtds xml schemas

XML DTDs - XML Schemas

  • Permite escrever regras que definem uma estrutura de relacionamento.

  • Arquivos em XML podem ser validados segundo essas regras.

  • Permite construir a sua própria linguagem (vocabulário) por meio de DTD.

  • DTD é essencialmente uma gramática livre de contexto (BNF) para descrever uma linguagem e o vocabulário usado numa área de aplicação.

  • Para efetuar troca de dados entre instituições basta que codifique os dados conforme a DTD.

  • Ex: <Course> é constituído de <Name>, <Dept> (nessa ordem).

  • Ex: <html> é constituído de <head> e <body>


Atividades envolvidas

Atividades envolvidas

  • Para construir aplicações em XML é preciso fazer 4 coisas:

    • Selecionar ou escrever uma DTD

    • Gerar documentos em XML

    • Interpretar documentos XML, e

    • Exibir documentos XML.


Exemplo de dtd definindo item

Exemplo de DTD definindo “item”

<!ELEMENT item (prodName+,USPrice, shipDate?)

<!ATTLIST item partNum CDATA>

<!ELEMENT prodName (#PCDATA)>

<!ELEMENT USPrice (#PCDATA)>

<!ELEMENT shipDate (#PCDATA)>


Xml schema definindo item

XML schema definindo “item”

<xsd:element name="item">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="prodName" type="xsd:string" maxOccurs="5"/>

<xsd:element name="USPrice" type="xsd:decimal"/>

<xsd:element name="shipDate" type="xsd:date" minOccurs="0"/>

</xsd:sequence>

<xsd:attribute name="partNum" type="SKU"/>

</xsd:complexType>

</xsd:element>

<!-- Stock Keeping Unit, a code for identifying products -->

<xsd:simpleType name="SKU">

<xsd:restriction base="xsd:string">

<xsd:pattern value="\d{3}-[A-Z]{2}"/>

</xsd:restriction>

</xsd:simpleType>


Objetivos da inova o do curso

XSL

  • É muito mais do que um estilo (CSS).

  • CSS provê um conjunto de estilos para o HTML.

  • XSL uma linguagem de transformação e de formatação.

  • Especifica como um documento se transforma num outro.

    • ordenar

    • filtrar/traduzir

    • montar/compor, inserir, apresentar


Convers o de dados da origem para o destino

Conversão de dados da origem para o destino

Sem XML

Com XML


Conte do dissociado da apresenta o

Conteúdo dissociado da apresentação

PDF

HTML

Dados

xml

WML

XSLT

SVG

html

XSL

wml

XSL

svg

XSL

XSL - extensible style language


Smil synchronized multimedia integration language

SMIL - synchronized multimedia integration language

  • Pronunciação: “smile”

  • Permite integrar partes de arquivos de multimídia (Áudio/Vídeo)

  • Sincronizar arquivos do tipo: mp3, som, imagens, Flash, jpeg, etc.

  • Links:

    • http://www.w3.org/AudioVideo/

    • http://www.cwi.nl/~media/SMIL/

  • Em Português: http://www.helio.org/products/smil/tutorial_pt/


Controlando a m dia com smil

Controlando a mídia com SMIL

<smil>

<head>

<layout>

<root-layout width="300" height="200"

background-color="white" />

<region id="vim_icon" left="75" top="50"

width="32" height="32" />

</layout>

</head>

<body>

<img src="vim32x32.gif" alt="The vim icon"

region="vim_icon" dur="6s" begin="2s" />

</body>

</smil>


Objetivos da inova o do curso

Eventos em paralelo

Inserir elemento de mídia numa

apresentação especificando a região

Evento com tempo e duração

<smil>

<head>

<layout>

<root-layout width="300" height="200"

background-color="white" />

<region id="vim_icon" left="75" top="50"

width="32" height="32" />

</layout>

</head>

<body>

<img src="vim32x32.gif" alt="The vim icon"

region="vim_icon" />

</body>

</smil>

Sincronização baseada em eventos


Linguagem svg w3c

Linguagem SVG (W3C)

  • Adobe (Plug-in) – Apache - SVGView (IBM)

  • Linguagem para descrever gráficos em 2-D

    • Formas vetoriais gráficas;

    • Imagens;

    • Texto.

  • E operações gráficas: animações, clipping, etc.

  • Todas as facilidades providas no XML

  • Suporte do World Wide Web Consortium (W3C)

  • Conversões de outros formatos para SVG:

    • Color Graphics Metafile (CGM)

  • Alternativa ao GIF/JPEG para visualização em browser.


Svg rect

SVG: rect

<?xml version="1.0" standalone="no"?>

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20001102//EN“

"http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd">

<svg width="12cm" height="4cm">

<desc>Example rect01 - rectangle expressed in physical units</desc>

<rect x="4cm" y="1cm" width="4cm" height="2cm“

style="fill:yellow; stroke:navy; stroke-width:0.1cm" />

</svg>


Svg rect1

SVG: rect

<?xml version="1.0" standalone="no"?>

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20001102//EN“

"http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd">

<svg width="12cm" height="4cm" viewBox="0 0 1200 400">

<desc>Example rect02 - rounded rectangles expressed in user coordinates</desc>

<rect x="1" y="1" width="1198" height="398“

style="fill:none; stroke:blue"/>

<rect x="100" y="100" width="400" height="200" rx="50“

style="fill:green;" />

<g transform="translate(700 210) rotate(-30)">

<rect x="0" y="0" width="400" height="200" rx="50“

style="fill:none; stroke:purple; stroke-width:30" />

</g>

</svg>


Svg text

SVG: text

<?xml version="1.0" standalone="no"?>

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20001102//EN“

"http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd">

<svg width="10cm" height="3cm">

<desc>Example tspan01 - using tspan to change visual attributes</desc>

<g style="font-family:Verdana; font-size:12pt">

<text x="2cm" y="1.5cm" style="fill:blue">

You are

<tspan style="font-weight:bold; fill:red">not</tspan>

a banana.

</text>

</g>

</svg>


Recursos svg

Recursos SVG

  • http://www.mozilla.org/projects/svg/

  • http://www.adobe.com/

  • http://www.sun.com/software/xml/developers/svg/

  • http://www.w3.org/TR/SVG/svgdtd.html

  • http://home.earthlink.net/~edwardsrg/Adobe/AdobeTutorial.html


Gml e outras tecnologias

GML e outras tecnologias

Ho


Objetivo

Objetivo

  • Não se pretende convencer do uso de ferramentas ou de tecnologias computacionais. Não é evangelização.

  • Apresentar algumas tecnologias que estão em evidência.

  • Levantar questões sobre novos rumos frente as tecnologias emergentes.

    • Tipos de dados existentes e formas alternativas de armazenar. Ex: SpringWeb poderia ler arquivos xml, via Corba, via DB, etc.

    • Tipos de aplicações que poderiam ampliar o alcance do GIS, inclusive os aparentemente impensáveis/impraticáveis.

    • Integrar os componentes desenvolvidos ou a serem desenvolvidos.

  • Atender as questões levantadas por Laércio, JP, etc.


Um contexto de desenvolvimento

Um contexto de desenvolvimento

  • Ferramentas básicas

    • Programação Orientado a Objeto e uso de Design Patterns

    • UML

  • Tecnologia voltada ao domínio de trabalho.

    • OpenGIS: OpenGIS Corba IDL, GML

  • Tecnologia de suporte

    • Corba, XML, EJB, BD de objetos (OODBMS), BD p/ XML

  • Software de visualização

    • Spring, SpringWeb, SVG, browsers


Padroniza o

Padronização

  • Estabelecer/documentar/uniformizar o vocabulário (específico ao domínio) que definem elementos GIS.

  • Utilizar especificações/recomendações estabelecidas por consenso por instituições: OpenGIS (Features)

  • Uso de padrões (abertos) consagrados para facilitar a interoperabilidade de dados, serviços e programas.


Where does gis live

Where Does GIS Live?

Java

XMI

Security

SQL-2

IIOP

CORBA

e-commerce

Wide band

Legacy

Internet

W3C

XML

SQL-MM

UML

Wireless

COM

IDL

Objects

Standards

A tough neighborhood


An infrastructure of agreements

An Infrastructure of Agreements

Limited Speech

Recognition

Object

Request

Brokers

Wireless Global

Communication

Thematic

Data Providers

"Yellow Page"

Databases

Map

Portrayal

Servers

Interfaces

Mobile

Devices

CORBA

Traders

Spatial

Query

Engines

Spatial Data

Manipulation Engines

Advertisement

Pathways


Um exemplo de arquivo xml

Um exemplo de arquivo XML

<address>

<name>

<title>Mrs.</title>

<first-name>Mary </ first-name>

<last-name>McGoon </ last -name>

</ name>

<street> 10 Main street </ street>

<city> Dallas </ city>

.....

<zipcode>34829</zipcode>

</ address>


Xml extensible markup language

XML -eXtensible Markup Language

  • Vem a ser um novo padrão de armazenamento/formatação de dados na Internet. Projetado para descrever dados resolvendo em parte a questão da interoperabilidade.

  • Parecido com o HTML. Supre as deficiências do HTML como representação de conteúdo.

  • Facilita a manipulação de dados dentro e fora de programas. Pode-se definir um conjunto de “tags”.

  • Facilita a customização da apresentação de dados através de XSL. Alternativa e complemento para CGI, JSP, ASP, ...

  • É uma especificação mais simples e concisa do SGML.


Arquivos em formato xml

Arquivos em formato XML

  • Um arquivo XML deve ser “well formed”.

  • Documentos XML pode ter a sua gramática especificada e validada por Document Type Definitions (DTDs)

  • XML pode ser usada de diversas maneiras

    • com Banco de dados (por meio de toolkits)

      • Armazenar arquivos (ou os elementos do) XML no BD.

      • consulta SQL sob forma de XML.

      • Recuperar o ResultSet sob forma de XML.

    • programas: Java, C++ (por meio de API)

    • uso com todas as outras tecnologias: Corba, Servlet, JavaBeans (XML integrando o processo de engenharia das aplicações)


O problema do best viewed with ie

O problema do “Best viewed with IE”

  • HTML combina conteúdo e apresentação numa estrutura.

  • Há problemas em estender o HTML para atender uma feature a mais.

  • No HTML tolera-se códigos ruins visíveis apenas no IE.

  • Extensões de tags no HTML é uma forma de entrincheirar num padrão menos geral.

  • Faz-se uso de JavaScript, applets, plug-ins para dar mais vida ao HTML.

  • O uso de CSS ajuda a estruturar melhor um documento HTML.


Css cascading style sheets

CSS - Cascading Style Sheets

H3 {font-family :

Arial,

Helvetica,

sans-serif;

color : blue;

text-align : center;

}

<H3>1.3 Histórico</H3>

<P> Este trabalho tem origem .... </P>


Xml usando dom api

XML usando DOM API

<?xml version="1.0"?>

<numbers-to-sum>

<number>20.5</number>

<number>34</number>

<number>16.0</number>

<number>50.5</number>

</numbers-to-sum>


Usando apis sax e dom

Usando APIs: SAX e DOM

<Course>

<Name> Java 101 </Name>

<Dept> EECS </Dept>

</Course>


Informa o xml e c digo de aplica o

Informação: XML e código de aplicação

Order Customer myCustomer;

Part[] myPart;

<ORDER>

<CUSTOMER>Bob</CUSTOMER>

<PART>Anvil

<QUANTITY>1</QUANTITY>

<SKU>012343QASD</SKU>

</PART>

</ORDER>

1..n

1..n

XML Parser

Customer

String name;

Part long quantity;

long sku;

XML

Código da aplicação


Uso do xml como formato intermedi rio

Uso do XML como formato intermediário

  • Exemplo fictício de um usuário de MS Office. (devido ao fato de se ter o XML como o formato intermediário)

    • Usuários salvam documentos do Office em HTML.

    • Modificam os documentos como HTML (máquinas sem o MSO).

    • E importar de volta no MS Office


Exemplo de um m dulo da oracle

Exemplo de um módulo da Oracle

1 - Request Manager atende um usuário.

2 - Request Manager envia o pedido para o Master Service.

3 - Master Service invoca um adapter para recuperar um conteúdo.

4 - O Adapter retorna o conteúdo sob forma de XML.

5 - O Transformer converte o conteúdo XML para o formato apropriado.

6 - O Request Manager retorna a informação para o dispositivo.


Mais ferramentas oracle

Mais ferramentas Oracle


Oracle xsql

Oracle XSQL

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="emp.xsl"?>

<query connection = "demo"

doc-element = "employee-list"

row-element = "employee"

tag-case = "lower" >

SELECT * FROM EMP ORDER BY ENAME

</query>


Opengis features

OpenGIS: Features

  • "A feature is an abstraction of a real world phenomenon;”

  • A representação do mundo real pode ser tratado como sendo uma coleção de features.

  • O estado de uma feature é definido por um conjunto de propriedades (ou atributos): nome, tipo, valor.

  • Uma feature collection pode ser por sua vez uma feature.

  • Uma feature geográfica tem com uma de suas propriedades uma geometria.

  • “River” feature type pode ter uma propriedade “name” do tipo “string”.


Geography markup language gml

Geography Markup Language (GML)

  • GML diz respeito ao “Simple Features” com propriedades geométricas restritas a “simple geometry”, e;

  • Codificação baseada em XML.

  • Diz respeito à descrição de estrutura e relacionamento no mundo real.

  • Para visualizar:

    • leitura direta dos dados codificados em GML, ou

    • transformar para uma codificação SVG, VML, VRML, etc.

  • Para servir de dados para programas não visuais.


Exemplo elemento de coordenadas

Exemplo: elemento de coordenadas

<decimal>::='.'

<D>:=[0-9]

<cs>::=","

<ts>::=whitespace (see XML 1.0 [XML]

<coordinate>::='-'<D>+(<decimal><D>+)?

<ctuple>::=<ctuple>|<coordinate><cs><ctuple>

<coordinatelist>::=<coordinatelist>|<ctuple><ts><coordinatelist>

<!ELEMENT coordinates (#PCDATA) >

<!ATTLIST coordinates

decimal CDATA #IMPLIED

cs CDATA #IMPLIED

ts CDATA #IMPLIED>

DTD

<coordinates decimal="." cs="," ts="whitespace">

1.03,2.167 4.167,2.34 4.87,3.0 1.06,2.3

</coordinates>

GML


Exemplo de elementos gml

Exemplo de elementos GML

<Point srsName="EPSG:4326">

<coordinates>

56.1,0.45

</coordinates>

</Point>

<!ELEMENT Point (coordinates) >

<!ATTLIST Point

ID CDATA #IMPLIED

srsName CDATA #IMPLIED>

Ponto

<Box srsName="EPSG:4326">

<coordinates>

0.0,0.0 100.0,100.0

</coordinates>

</Box>

<!ELEMENT Box (coordinates) >

<!ATTLIST Box

ID CDATA #IMPLIED

srsName CDATA #REQUIRED>

Região


Elemento geometrycollection

Elemento GeometryCollection

<GeometryCollection srsName="EPSG:4326">

<geometryMember>

<Point>

<coordinates>

50.0,50.0

</coordinates>

</Point>

</geometryMember>

<geometryMember>

<LineString>

<coordinates>

0.0, 0.0 0.0, 50.0 100.0, 50.0 100.0, 100.0

</coordinates>

</LineString>

</geometryMember>

<geometryMember>

<Polygon>

<outerBoundaryIs>

<LinearRing>

<coordinates>

0.0,0.0 100.0,0.0 50.0,100.0 0.0,0.0

</coordinates>

</LinearRing>

</outerBoundaryIs>

</Polygon>

</geometryMember>

</GeometryCollection>


Exemplo de codifica o da feature river

Exemplo de codificação da Feature “River”

<Feature typeName="River">

<name>

Cam

</name>

<description>

The river that runs through Cambridge.

</description>

<geometricProperty typeName="centerLineOf">

<LineString srsName="EPSG:4326">

<coordinates>

0.0,50.0 100.0,50.0

</coordinates>

</LineString>

</geometricProperty>

</Feature>


Banco de dados rdms

Banco de Dados RDMS

  • Arquitetura dual combinando

    • Campos de Banco de Dados e

    • Dados vetoriais/imagens em Diretórios.

  • Dados em diretórios especificados por:

    • Clobs & blobs

    • Instancias de objetos

    • Estruturas oriundas de XML


Object database

Object DataBase

  • JDO - Java Data Objects - alternativa para JDBC

  • API: JavaBlend mapea ODMG -> JDBC

  • Poet - object DB solution

  • Vantagens:

    • Escreve menos código. Não há necessidade de escrever código chamando SQL, ODBC, ou JDBC.

    • Desempenho muito maior quando se lida com dados complexos.

    • Combina com o modelo de objeto XML.


Armazenamento de dados persist ncia de obj

Armazenamento de dados: persistência de obj


Op es de armazenamento persist ncia

Opções de armazenamento/persistência

  • BLOBS (e XML) no RDBMS

  • Serialização Java

  • JDO - BD de objetos Java

  • Entity Beans no EJB


Middle tiers middlewares infra estruturas de comunica o

Middle Tiers - Middlewares (infra-estruturas de comunicação)

  • Corba

  • Enterprise JavaBeans

  • Servlets, JSP

  • Atendem a serviços num servidor (ou ambiente)

  • Os serviços têm interfaces (“bem”) conhecidas

  • Atuam como meio (substrato) para chamadas e transferências de dados.


  • Login