SlideShare una empresa de Scribd logo
1 de 36
Fundamentos Web




   Jose Emilio Labra Gayo
 Departamento de Informática
   Universidad de Oviedo
Contenidos

              Arquitectura de la Web
                        HTTP
                        URIs
                        Formatos de representación
              Funcionamiento de la Web
                        Cliente
                        Servidor




Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Arquitectura de la Web




Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Características de la Web

         Gran cantidad de información
         Acceso casi instantáneo desde cualquier lugar
         No centralizado      Cualquiera puede añadir información
         Multimedia (Texto, Imágenes, Vídeo, etc.)
         Identificación de recursos unificada (URIs)
         Interactividad: Aplicaciones Web




Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Pilares de la Web
          Los pilares de la Web son:
                    Protocolo HTTP
                    URIs para representar recursos
                    Lenguajes de representación: HTML, XML, etc.


                                                           URI


                                                                            WWW
                                                                            HTTP


                                                           Representación
        Usuario                         Navegador                                  Servidor
                                         Cliente

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Protocolo HTTP

        HTTP (Hypertext transfer protocol):
                  Arquitectura cliente/servidor (petición / respuesta)
                  Nº métodos reducido:
                            GET, PUT, POST, DELETE, etc.
                  Mensajes de texto
       Formato de mensajes
                     línea inicial
                     cabecera del mensaje*
                     cuerpo del mensaje ?
                                                                    Utilidades para trazar mensajes http
                                                           curl            http://curl.haxx.se/
                                                           Hurl            http://hurl.it
                                                           Redbot          http://redbot.org
                                                           Web-sniffer:    http://web-sniffer.net/
                                                           RestClient      http://code.google.com/p/rest-client/
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Peticiones HTTP

              Ejemplo

              GET /index.html HTTP/1.1
              Host: www.uniovi.es
              User-Agent: Mozilla/5.0 …
              Accept: text/xml, application/xml, text/html, …
              Accept-language: us,en; q= 0.5



            Métodos:                                      Cabecera = parejas "nombre: valor“
            GET
            PUT
            POST
            DELETE
            HEAD
            OPTIONS


Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Métodos HTTP

        GET: Solicita una representación de un recurso
        PUT: Actualiza una representación de un recurso
        POST: Envía datos para que un recurso los procese
                  Puede implicar la creación/actualización de recursos
        DELETE: Elimina un recurso

        Otros
                  HEAD: Similar a GET, pero obtiene únicamente la cabecera
                  TRACE: Pide la solicitud que se envió al servidor
                  OPTIONS: Solicita los métodos que soporta el servidor
                  CONNECT: Convierte la petición en un túnel TCP/IP
                     Facilita la comunicación a través de SSL



Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Cabeceras en la petición
           Accept: Tipos de representaciones aceptables
           Accept-charset: Conjunto de caracteres aceptable
           Accept-encoding: Codificación de caracteres aceptable
           Accept-language: Idiomas aceptables
           Authorization: Indicar credenciales de autorización
           Cache-control: Especificar directivas para controlar la cache
           Connection: Tipo de conexión preferida
           Cookie: Cookie enviada previamente por el servidor
           Content-length: Longitud de la petición
           Content-type: Tipo MIME del cuerpo de la petición
           Date: Fecha/hora de la solicitud
           If-Modified-Since: Permite enviar código 304 No modificado si no se ha
               modificado el contenido desde una fecha
           If-None-Match: Permite enviar código 304 No modificado (ETag)
           User-Agent: Identifica el tipo agente de usuario utilizado
           ...
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Respuestas HTTP

             Ejemplo
              HTTP/1.1 200 OK
              Date: Fri, 17 Nov 2006 15:36:32 GMT
              Server: Apache
              Last-Modified: Fri, 17 Nov 2006 09:05:32 GMT
              Content-length: 43305
              Content-type: text/html

              <!DOCTYPE html PUBLIC …>
              <html xmlns=“…”>
               …
              </html>

                                                               Códigos estándar:
                                                               2**: Variaciones de OK
                                                               3**: redirecciones
                                                               4**: Problemas del cliente (404, no encontrado)
                                                               5**: problemas del servidor
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Cabeceras en la respuesta

              Content-type: Tipo MIME de la respuesta
              Cache-control: Especificar directivas para controlar la cache
              Content-encoding: Tipo de codificación utilizado en el mensaje
              Content-language: Idioma utilizado en el mensaje
              Content-length: Tamaño del mensaje
              Content-location: Localización alternativa de los datos devueltos
              Date: Fecha/hora de la respuesta
              ETag: Identificador de la versión de un recurso
              Expires: Fecha a partir de la cual el contenido puede eliminarse de la caché
              Server: Identifica el tipo de servidor
              Set-cookie: Activa una cookie en el cliente
              WWW-Authenticate: Indica el esquema de autentificación a utilizar
              ...



Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
URIs




Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Recursos
              Recurso = Unidad básica de la Web
                        Cualquier cosa que se identifique con una URI
              URI ≠ Recurso ≠ Representación


          URI            http://tiempo.com/Asturias/Oviedo

                                                                     Tiempo en Oviedo
   Representación
           Metadatos:
           Content-type: text/html

           Datos:
           <html>
             <head><title>Tiempo</title></head>
             <body>                                                        Recurso
               <h1>Tiempo en Oviedo</h1>
               <p>Nubes y claros</p>
           </body>
           </html>

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
¿Qué se puede identificar con una URI?

              Cualquier cosa concreta o abstracta

              Ejemplo: Una página Web

                          http://www.uniovi.es

                                                                 <!DOCTYPE html>
                                                                 <html>
                                                                   <head>
                                                                     <title>Universidad de Oviedo</title>
                                                                   </head>
                                                    identifica     <body>
                                                                     <h1>Universidad de Oviedo</h1>
                                                                     <p>Fundada en el año 1608 en
                                                                       <a href="http://www.wikipedia.org/Oviedo">
                                                                          Oviedo</a></p>
                                                                   . . .
                                                                 </body>
                                                                 </html>


                                                                          Una página Web
                                                                        Recurso de información
                                                                           Formato HTML

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
¿Qué se puede identificar con una URI?

              Cualquier cosa concreta o abstracta

              Ejemplo: Una fotografía (recurso multimedia)

               http://www.di.uniovi.es/~labra/images/asturias.jpg




                                                          identifica




                                                                          Una fotografía
                                                                       Recurso de información
                                                                           Formato JPG

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
¿Qué se puede identificar con una URI?

              Cualquier cosa concreta o abstracta

              Ejemplo: Una persona


             http://www.w3.org/People/Berners-Lee/card#i




                                                          identifica



                                                                       Una persona (Tim Berners-Lee)
                                                                         Recurso de no información



Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
¿Qué se puede identificar con una URI?

              Cualquier cosa concreta o abstracta

              Ejemplo: Conjunto de todas las personas


                        http://xmlns.com/foaf/0.1/Person




                                                          identifica



                                                                       Conjunto de Personas (concepto abstracto)
                                                                              Recurso de no información



Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
¿Qué se puede identificar con una URI?

              Cualquier cosa concreta o abstracta

              Ejemplo: Propiedad de creación


                             http://purl.org/dc/terms/creator




                                                          identifica


                                                                       Propiedad de creación (concepto abstracto)
                                                                              Recurso de no información




Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
¿Qué se puede identificar con una URI?

              Cualquier cosa concreta o abstracta

              Ejemplo: Espacio de nombres


                                     http://purl.org/dc/terms



                                                                                                  publisher

                                                                                   description

                                                          identifica                  ...
                                                                                                 language




                                                                       Espacio de nombres (concepto)
                                                                         Recurso de no información




Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Formato de una URI

                      esquema : // autoridad camino ?consulta #fragmento

                     http :// ejemplo.com:8042 /libros/castellano ?autor=Cervantes #capitulo2


          Nota: los caracteres deben codificarse. Significado especial de espacios, ?, /, etc.


                     Otros ejemplos de URIs:
                         ftp://ftp.is.co.za/rfc/rfc1808.txt
                         mailto:pepe@ejemplo.com
                         telnet://192.0.2.16:80/
                         urn:oasis:names:specification:docbook:dtd:xml:4.1.2
                             Nota: las URNs identifican nombres únicos solamente. Sin protocolo

                                                                        Más información: Especificación
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
                                                                        http://tools.ietf.org/html/rfc3986
Dereferenciación

          Dereferenciar una URI = Acceder al contenido de una URI
                    Obtener una representación del recurso identificado por la URI
          Habitualmente se utiliza protocolo HTTP
          Pueden existir diferentes representaciones
          La representación puede incluir enlaces a otras URIs con
            información relacionada


                              Principio: Follow your nose (“Sigue tu instinto”)

                              A partir de una URI, se puede ir encontrando más
                              información y más recursos relacionados fácilmente y de
                              casualidad (serendipia)

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Estabilidad de las URIs

              URIs = pilar fundamental de cualquier aplicación Web
              Objetivo: Esquema de URIs estable
              Lema: Cool URIs don’t change
                        Modificar una URI puede romper aplicaciones existentes
                        Evitar URIs que dependen de detalles de implementación
                                  Ejemplo: http://156.35.41.34:8080/pagina.php

           Recomendaciones:
               Una URI genérica + 1 URI para cada representación
               Ejemplo:
                   http://periodico.com/noticias/101    - URI genérica para la noticia 101
                   http://periodico.com/noticias/101.en - URI para la noticia en inglés
                   http://periodico.com/noticias/101.es - URI para la noticia en español


                                    Importancia de nombres adecuados para URIs
                                              http://www.w3.org/Provider/Style/URI
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Formatos de Representación




Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Formatos de representación

       En la Web, el formato más habitual es HTML
                Existen muchos más formatos: XML, JSON, RDF, PNG, …
                Un recurso puede tener diferentes tipos de representación
                Cada tipo de representación sirve para un propósito




Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
HTML

              Tipo de representación más popular en la Web
              Objetivo: representar hipertexto
              Ejemplo:
                         <!DOCTYPE html>
                         <html>
                           <head>
                             <meta charset="UTF-8">
                             <title>Ejemplo</title>
                           </head>
                           <body>
                             <h1>Lista de enlaces</h1>
                             <p>Mis enlaces preferidos</p>
                                  <ul>
                                   <li><a href="http://www.wikipedia.org">Wikipedia</a>
                                   <li><a href="http://www.w3c.org">Consorcio W3c</a>
                                  </ul>
                           </body>
                         </html>
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
XML

              Facilita intercambio de información
                        Objetivo: procesamiento automático
                        Comercio electrónico
                            <?xml version="1.0">
                            <pedido>
                             <producto codigo="R23">
                               <nombre>Rotulador RX2</nombre>
                                <cantidad>20</cantidad>
                                <comentarios>Comprobad que escriben</comentarios>
                             </producto>
                             <producto codigo="G56">
                                <nombre>Grapadora Lin</nombre>
                                <cantidad>2</cantidad>
                               <comentarios>Envuelta para regalo</comentarios>
                             </producto>
                            </pedido>



Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Tipos de representación

              Los tipos de representación se identifican con MIME
              MIME (Multipurpose Internet Mail Extensions)
                        Identificar el tipo de contenido (Cabecera Content-type)
                        Formato tipo/subtipo
                        Ejemplos:
                                  text/html: Página Web en formato HTML
                                  text/xml, application/xml : Documento XML
                                  application/json: Documento JSON
                                  application/pdf: Fichero PDF
                                  image/jpeg: Imagen JPEG
                                  application/xhtml+xml: Documento XHTML
                                  application/rdf+xml: Documento RDF
                                  text/turtle: Documento Turtle
                                  ...

                                                 Lista oficial: http://www.iana.org/assignments/media-types
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Funcionamiento de la Web

              2 computadores conceptuales: Cliente y Servidor
                        La representación puede calcularse dinámicamente
                                  Computación en Cliente
                                  Computación en servidor



                                                          URI


                                                                           WWW
                                                                           HTTP


                                                          Representación
        Usuario                         Navegador                                 Servidor
                                         Cliente

Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Cliente

              También se conoce como Agente de Usuario
              Normalmente es un navegador (browser)
              Múltiples tipos de agentes de usuarios y navegadores
                        Navegadores: Internet Explorer, Chrome, Firefox, Lynx, …
                        Dispositivos móviles
                        Lectores de pantalla
                        eBooks
                        TVs
                        …




Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Componentes de un navegador

              Interfaz
              Analizador
              Motor visualización
              Intérprete ECMAScript procesa eventos y modifica árbol
                                                   URI

                                                         URI
                                                       Motor                                       WWW
                        Interfaz                    Visualización                                  HTTP
                        Usuario
                                                                               Analizador
                                                      Intérprete                            Representación
                                                     ECMAscript        Árbol
Usuario
                                                                       DOM
                                                               Navegador
                                                                Cliente
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Motor de visualización

              A veces los navegadores comparten el mismo motor de
                visualización (rendering engine)

                             Navegadores                  Motor de
                                                          visualización
                             Internet Explorer            Trident
                             Firefox                      Gecko
                             Opera                        Presto
                             Chrome                       Webkit (Webcore)
                             Safari (iPhone, iPad)        Webkit




Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
ECMAScript

              Lenguaje interpretado basado en prototipos
              Origen: Brendan Eich, Netscape (1995)
              ECMAscript = estándar con dialectos Javscript, Jscript...
                        Permite la interacción entre el usuario del navegador y el árbol
                          DOM
                        Los navegadores utilizan APIs para crear objetos que pueden
                          manipular el árbol DOM




Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Intérprete de ECMAScript

              Competición entre intérpretes

             Navegadores                                  Lenguaje     Implementación

             Internet Explorer                            JScript      Chakra
             Firefox                                      Javascript   Rhino
                                                                       Tracemonkey
                                                                       lonMonkey
             Chrome,                                      Javascript   V8
              Safari (iPhone, iPad)                       Javascript   Squirrelfish (Nitro)

             Opera                                        Javascript   Carakan




Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Componentes de un Servidor

              La arquitectura del servidor suele descomponerse en
                varias capas
                        Vista: Se encarga de preparar la representación
                        Negocio: Gestión de objetos de negocio
                        Datos: Modelos de datos

     URI                                           URI


  WWW
                                                  Capa     Capa      Capa
  HTTP
                                                  Vista   Negocio
                                                                     Datos

        Representación


Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Tecnologías del lado servidor

              Múltiples frameworks y lenguajes
                        Java: J2EE, Spring,…
                        Ruby: Ruby on Rails, Sinatra, Padrino…
                        Python: Django,…
                        Scala: Lift,…
                        PHP: Zend…
              Modelo de datos
                        Bases de datos relacionales
                        Modelos NoSQL
                        Modelos RDF




Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
Fin
Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra

Más contenido relacionado

La actualidad más candente

Presentación evolucion de la web
Presentación evolucion de la webPresentación evolucion de la web
Presentación evolucion de la web
dianacarolina87
 
Arquitectura de la información para web
Arquitectura de la información para webArquitectura de la información para web
Arquitectura de la información para web
Neser Ideas
 
Web 1.0 y Web 2.0
Web 1.0 y Web  2.0Web 1.0 y Web  2.0
Web 1.0 y Web 2.0
mmaranju
 
Mapa conceptual de la evolución de la web 1.0 hasta web 7.0
Mapa conceptual de la evolución de la web 1.0 hasta web 7.0Mapa conceptual de la evolución de la web 1.0 hasta web 7.0
Mapa conceptual de la evolución de la web 1.0 hasta web 7.0
Ivan Anselmi
 

La actualidad más candente (20)

Ventajas y desventajas de visual studio
Ventajas  y desventajas de visual studioVentajas  y desventajas de visual studio
Ventajas y desventajas de visual studio
 
Los Dominios de Internet
Los Dominios de InternetLos Dominios de Internet
Los Dominios de Internet
 
Servidor web
Servidor webServidor web
Servidor web
 
Web 1.0, 2.0, 3.0, 4.0 y 5.0 y Deep web
Web 1.0, 2.0, 3.0, 4.0 y 5.0 y Deep webWeb 1.0, 2.0, 3.0, 4.0 y 5.0 y Deep web
Web 1.0, 2.0, 3.0, 4.0 y 5.0 y Deep web
 
Cuadro comparativo de la web 1.0, web 2.0, web 3.0, web 4.0
Cuadro comparativo de  la web 1.0, web 2.0, web 3.0, web 4.0Cuadro comparativo de  la web 1.0, web 2.0, web 3.0, web 4.0
Cuadro comparativo de la web 1.0, web 2.0, web 3.0, web 4.0
 
Presentación evolucion de la web
Presentación evolucion de la webPresentación evolucion de la web
Presentación evolucion de la web
 
Marco teorico
Marco teoricoMarco teorico
Marco teorico
 
Arquitectura de la información para web
Arquitectura de la información para webArquitectura de la información para web
Arquitectura de la información para web
 
Mapa Mental Netiqueta
Mapa Mental NetiquetaMapa Mental Netiqueta
Mapa Mental Netiqueta
 
Web 1.0 2.0 3.0 características, definiciones, ejemplos.
Web 1.0 2.0 3.0 características, definiciones, ejemplos.Web 1.0 2.0 3.0 características, definiciones, ejemplos.
Web 1.0 2.0 3.0 características, definiciones, ejemplos.
 
HTML5
HTML5HTML5
HTML5
 
World wide web
World wide webWorld wide web
World wide web
 
Web 1.0 y Web 2.0
Web 1.0 y Web  2.0Web 1.0 y Web  2.0
Web 1.0 y Web 2.0
 
Almacenamiento en la nube
Almacenamiento en la nubeAlmacenamiento en la nube
Almacenamiento en la nube
 
Tema 1: ¿Qué es la web? (Desarrollo Aplicaciones Web)
Tema 1: ¿Qué es la web? (Desarrollo Aplicaciones Web)Tema 1: ¿Qué es la web? (Desarrollo Aplicaciones Web)
Tema 1: ¿Qué es la web? (Desarrollo Aplicaciones Web)
 
Web 3.0,Web 4.0 y WEb 5.0
Web 3.0,Web 4.0 y WEb 5.0 Web 3.0,Web 4.0 y WEb 5.0
Web 3.0,Web 4.0 y WEb 5.0
 
diapostiva del correo electronico
diapostiva del correo electronico diapostiva del correo electronico
diapostiva del correo electronico
 
Examen de redes sociales y herramientas web resuelto perú educa
Examen de redes sociales y herramientas web resuelto   perú educaExamen de redes sociales y herramientas web resuelto   perú educa
Examen de redes sociales y herramientas web resuelto perú educa
 
Mapa conceptual de la evolución de la web 1.0 hasta web 7.0
Mapa conceptual de la evolución de la web 1.0 hasta web 7.0Mapa conceptual de la evolución de la web 1.0 hasta web 7.0
Mapa conceptual de la evolución de la web 1.0 hasta web 7.0
 
internet y sus recursos
internet y sus recursosinternet y sus recursos
internet y sus recursos
 

Similar a Fundamentos de la web

Hypertext transfert protocol
Hypertext transfert protocolHypertext transfert protocol
Hypertext transfert protocol
Oscar Eduardo
 
Desarrollo de Aplicaciones Web II - Sesión 02 - Conceptos Generales e Introdu...
Desarrollo de Aplicaciones Web II - Sesión 02 - Conceptos Generales e Introdu...Desarrollo de Aplicaciones Web II - Sesión 02 - Conceptos Generales e Introdu...
Desarrollo de Aplicaciones Web II - Sesión 02 - Conceptos Generales e Introdu...
Didier Granados
 
Generación de web sites dinámicos usando php
Generación de web sites dinámicos usando phpGeneración de web sites dinámicos usando php
Generación de web sites dinámicos usando php
Carlos Cruz Rincon
 

Similar a Fundamentos de la web (20)

Tecnologias Web Semantica
Tecnologias Web SemanticaTecnologias Web Semantica
Tecnologias Web Semantica
 
Tecnologias Web Semantica
Tecnologias Web SemanticaTecnologias Web Semantica
Tecnologias Web Semantica
 
Arquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el ServidorArquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el Servidor
 
Introducció a les Aplicació Web
Introducció a les Aplicació WebIntroducció a les Aplicació Web
Introducció a les Aplicació Web
 
Fundamentos de la web
Fundamentos de la webFundamentos de la web
Fundamentos de la web
 
1 fundamentos web
1 fundamentos web1 fundamentos web
1 fundamentos web
 
Introducción a PHP5
Introducción a PHP5Introducción a PHP5
Introducción a PHP5
 
REST - deSymfony2012
REST - deSymfony2012REST - deSymfony2012
REST - deSymfony2012
 
ROA - Resource Oriented Architecture
ROA - Resource Oriented ArchitectureROA - Resource Oriented Architecture
ROA - Resource Oriented Architecture
 
Protocolo http
Protocolo httpProtocolo http
Protocolo http
 
Protocol HTTP
Protocol HTTPProtocol HTTP
Protocol HTTP
 
Protocolo http
Protocolo httpProtocolo http
Protocolo http
 
PROTOCOLO HTTP
PROTOCOLO HTTPPROTOCOLO HTTP
PROTOCOLO HTTP
 
Hypertext transfert protocol
Hypertext transfert protocolHypertext transfert protocol
Hypertext transfert protocol
 
Desarrollo de Aplicaciones Web II - Sesión 02 - Conceptos Generales e Introdu...
Desarrollo de Aplicaciones Web II - Sesión 02 - Conceptos Generales e Introdu...Desarrollo de Aplicaciones Web II - Sesión 02 - Conceptos Generales e Introdu...
Desarrollo de Aplicaciones Web II - Sesión 02 - Conceptos Generales e Introdu...
 
Protocolos de internet
Protocolos de internetProtocolos de internet
Protocolos de internet
 
Generación de web sites dinámicos usando php
Generación de web sites dinámicos usando phpGeneración de web sites dinámicos usando php
Generación de web sites dinámicos usando php
 
Generación de web sites dinámicos usando php
Generación de web sites dinámicos usando phpGeneración de web sites dinámicos usando php
Generación de web sites dinámicos usando php
 
La web
La webLa web
La web
 
La web
La webLa web
La web
 

Más de Jose Emilio Labra Gayo

Más de Jose Emilio Labra Gayo (20)

Publicaciones de investigación
Publicaciones de investigaciónPublicaciones de investigación
Publicaciones de investigación
 
Introducción a la investigación/doctorado
Introducción a la investigación/doctoradoIntroducción a la investigación/doctorado
Introducción a la investigación/doctorado
 
Challenges and applications of RDF shapes
Challenges and applications of RDF shapesChallenges and applications of RDF shapes
Challenges and applications of RDF shapes
 
Legislative data portals and linked data quality
Legislative data portals and linked data qualityLegislative data portals and linked data quality
Legislative data portals and linked data quality
 
Validating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesValidating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectives
 
Wikidata
WikidataWikidata
Wikidata
 
Legislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologiesLegislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologies
 
ShEx by Example
ShEx by ExampleShEx by Example
ShEx by Example
 
Introduction to SPARQL
Introduction to SPARQLIntroduction to SPARQL
Introduction to SPARQL
 
Introducción a la Web Semántica
Introducción a la Web SemánticaIntroducción a la Web Semántica
Introducción a la Web Semántica
 
RDF Data Model
RDF Data ModelRDF Data Model
RDF Data Model
 
2017 Tendencias en informática
2017 Tendencias en informática2017 Tendencias en informática
2017 Tendencias en informática
 
RDF, linked data and semantic web
RDF, linked data and semantic webRDF, linked data and semantic web
RDF, linked data and semantic web
 
Introduction to SPARQL
Introduction to SPARQLIntroduction to SPARQL
Introduction to SPARQL
 
19 javascript servidor
19 javascript servidor19 javascript servidor
19 javascript servidor
 
Como publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazadosComo publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazados
 
16 Alternativas XML
16 Alternativas XML16 Alternativas XML
16 Alternativas XML
 
XSLT
XSLTXSLT
XSLT
 
XPath
XPathXPath
XPath
 
RDF validation tutorial
RDF validation tutorialRDF validation tutorial
RDF validation tutorial
 

Último

NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
pvtablets2023
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
NadiaMartnez11
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 

Último (20)

Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 

Fundamentos de la web

  • 1. Fundamentos Web Jose Emilio Labra Gayo Departamento de Informática Universidad de Oviedo
  • 2. Contenidos Arquitectura de la Web HTTP URIs Formatos de representación Funcionamiento de la Web Cliente Servidor Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 3. Arquitectura de la Web Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 4. Características de la Web Gran cantidad de información Acceso casi instantáneo desde cualquier lugar No centralizado Cualquiera puede añadir información Multimedia (Texto, Imágenes, Vídeo, etc.) Identificación de recursos unificada (URIs) Interactividad: Aplicaciones Web Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 5. Pilares de la Web Los pilares de la Web son: Protocolo HTTP URIs para representar recursos Lenguajes de representación: HTML, XML, etc. URI WWW HTTP Representación Usuario Navegador Servidor Cliente Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 6. Protocolo HTTP HTTP (Hypertext transfer protocol): Arquitectura cliente/servidor (petición / respuesta) Nº métodos reducido: GET, PUT, POST, DELETE, etc. Mensajes de texto Formato de mensajes línea inicial cabecera del mensaje* cuerpo del mensaje ? Utilidades para trazar mensajes http curl http://curl.haxx.se/ Hurl http://hurl.it Redbot http://redbot.org Web-sniffer: http://web-sniffer.net/ RestClient http://code.google.com/p/rest-client/ Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 7. Peticiones HTTP Ejemplo GET /index.html HTTP/1.1 Host: www.uniovi.es User-Agent: Mozilla/5.0 … Accept: text/xml, application/xml, text/html, … Accept-language: us,en; q= 0.5 Métodos: Cabecera = parejas "nombre: valor“ GET PUT POST DELETE HEAD OPTIONS Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 8. Métodos HTTP GET: Solicita una representación de un recurso PUT: Actualiza una representación de un recurso POST: Envía datos para que un recurso los procese Puede implicar la creación/actualización de recursos DELETE: Elimina un recurso Otros HEAD: Similar a GET, pero obtiene únicamente la cabecera TRACE: Pide la solicitud que se envió al servidor OPTIONS: Solicita los métodos que soporta el servidor CONNECT: Convierte la petición en un túnel TCP/IP Facilita la comunicación a través de SSL Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 9. Cabeceras en la petición Accept: Tipos de representaciones aceptables Accept-charset: Conjunto de caracteres aceptable Accept-encoding: Codificación de caracteres aceptable Accept-language: Idiomas aceptables Authorization: Indicar credenciales de autorización Cache-control: Especificar directivas para controlar la cache Connection: Tipo de conexión preferida Cookie: Cookie enviada previamente por el servidor Content-length: Longitud de la petición Content-type: Tipo MIME del cuerpo de la petición Date: Fecha/hora de la solicitud If-Modified-Since: Permite enviar código 304 No modificado si no se ha modificado el contenido desde una fecha If-None-Match: Permite enviar código 304 No modificado (ETag) User-Agent: Identifica el tipo agente de usuario utilizado ... Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 10. Respuestas HTTP Ejemplo HTTP/1.1 200 OK Date: Fri, 17 Nov 2006 15:36:32 GMT Server: Apache Last-Modified: Fri, 17 Nov 2006 09:05:32 GMT Content-length: 43305 Content-type: text/html <!DOCTYPE html PUBLIC …> <html xmlns=“…”> … </html> Códigos estándar: 2**: Variaciones de OK 3**: redirecciones 4**: Problemas del cliente (404, no encontrado) 5**: problemas del servidor Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 11. Cabeceras en la respuesta Content-type: Tipo MIME de la respuesta Cache-control: Especificar directivas para controlar la cache Content-encoding: Tipo de codificación utilizado en el mensaje Content-language: Idioma utilizado en el mensaje Content-length: Tamaño del mensaje Content-location: Localización alternativa de los datos devueltos Date: Fecha/hora de la respuesta ETag: Identificador de la versión de un recurso Expires: Fecha a partir de la cual el contenido puede eliminarse de la caché Server: Identifica el tipo de servidor Set-cookie: Activa una cookie en el cliente WWW-Authenticate: Indica el esquema de autentificación a utilizar ... Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 12. URIs Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 13. Recursos Recurso = Unidad básica de la Web Cualquier cosa que se identifique con una URI URI ≠ Recurso ≠ Representación URI http://tiempo.com/Asturias/Oviedo Tiempo en Oviedo Representación Metadatos: Content-type: text/html Datos: <html> <head><title>Tiempo</title></head> <body> Recurso <h1>Tiempo en Oviedo</h1> <p>Nubes y claros</p> </body> </html> Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 14. ¿Qué se puede identificar con una URI? Cualquier cosa concreta o abstracta Ejemplo: Una página Web http://www.uniovi.es <!DOCTYPE html> <html> <head> <title>Universidad de Oviedo</title> </head> identifica <body> <h1>Universidad de Oviedo</h1> <p>Fundada en el año 1608 en <a href="http://www.wikipedia.org/Oviedo"> Oviedo</a></p> . . . </body> </html> Una página Web Recurso de información Formato HTML Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 15. ¿Qué se puede identificar con una URI? Cualquier cosa concreta o abstracta Ejemplo: Una fotografía (recurso multimedia) http://www.di.uniovi.es/~labra/images/asturias.jpg identifica Una fotografía Recurso de información Formato JPG Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 16. ¿Qué se puede identificar con una URI? Cualquier cosa concreta o abstracta Ejemplo: Una persona http://www.w3.org/People/Berners-Lee/card#i identifica Una persona (Tim Berners-Lee) Recurso de no información Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 17. ¿Qué se puede identificar con una URI? Cualquier cosa concreta o abstracta Ejemplo: Conjunto de todas las personas http://xmlns.com/foaf/0.1/Person identifica Conjunto de Personas (concepto abstracto) Recurso de no información Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 18. ¿Qué se puede identificar con una URI? Cualquier cosa concreta o abstracta Ejemplo: Propiedad de creación http://purl.org/dc/terms/creator identifica Propiedad de creación (concepto abstracto) Recurso de no información Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 19. ¿Qué se puede identificar con una URI? Cualquier cosa concreta o abstracta Ejemplo: Espacio de nombres http://purl.org/dc/terms publisher description identifica ... language Espacio de nombres (concepto) Recurso de no información Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 20. Formato de una URI esquema : // autoridad camino ?consulta #fragmento http :// ejemplo.com:8042 /libros/castellano ?autor=Cervantes #capitulo2 Nota: los caracteres deben codificarse. Significado especial de espacios, ?, /, etc. Otros ejemplos de URIs: ftp://ftp.is.co.za/rfc/rfc1808.txt mailto:pepe@ejemplo.com telnet://192.0.2.16:80/ urn:oasis:names:specification:docbook:dtd:xml:4.1.2 Nota: las URNs identifican nombres únicos solamente. Sin protocolo Más información: Especificación Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra http://tools.ietf.org/html/rfc3986
  • 21. Dereferenciación Dereferenciar una URI = Acceder al contenido de una URI Obtener una representación del recurso identificado por la URI Habitualmente se utiliza protocolo HTTP Pueden existir diferentes representaciones La representación puede incluir enlaces a otras URIs con información relacionada Principio: Follow your nose (“Sigue tu instinto”) A partir de una URI, se puede ir encontrando más información y más recursos relacionados fácilmente y de casualidad (serendipia) Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 22. Estabilidad de las URIs URIs = pilar fundamental de cualquier aplicación Web Objetivo: Esquema de URIs estable Lema: Cool URIs don’t change Modificar una URI puede romper aplicaciones existentes Evitar URIs que dependen de detalles de implementación Ejemplo: http://156.35.41.34:8080/pagina.php Recomendaciones: Una URI genérica + 1 URI para cada representación Ejemplo: http://periodico.com/noticias/101 - URI genérica para la noticia 101 http://periodico.com/noticias/101.en - URI para la noticia en inglés http://periodico.com/noticias/101.es - URI para la noticia en español Importancia de nombres adecuados para URIs http://www.w3.org/Provider/Style/URI Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 23. Formatos de Representación Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 24. Formatos de representación En la Web, el formato más habitual es HTML Existen muchos más formatos: XML, JSON, RDF, PNG, … Un recurso puede tener diferentes tipos de representación Cada tipo de representación sirve para un propósito Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 25. HTML Tipo de representación más popular en la Web Objetivo: representar hipertexto Ejemplo: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Ejemplo</title> </head> <body> <h1>Lista de enlaces</h1> <p>Mis enlaces preferidos</p> <ul> <li><a href="http://www.wikipedia.org">Wikipedia</a> <li><a href="http://www.w3c.org">Consorcio W3c</a> </ul> </body> </html> Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 26. XML Facilita intercambio de información Objetivo: procesamiento automático Comercio electrónico <?xml version="1.0"> <pedido> <producto codigo="R23"> <nombre>Rotulador RX2</nombre> <cantidad>20</cantidad> <comentarios>Comprobad que escriben</comentarios> </producto> <producto codigo="G56"> <nombre>Grapadora Lin</nombre> <cantidad>2</cantidad> <comentarios>Envuelta para regalo</comentarios> </producto> </pedido> Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 27. Tipos de representación Los tipos de representación se identifican con MIME MIME (Multipurpose Internet Mail Extensions) Identificar el tipo de contenido (Cabecera Content-type) Formato tipo/subtipo Ejemplos: text/html: Página Web en formato HTML text/xml, application/xml : Documento XML application/json: Documento JSON application/pdf: Fichero PDF image/jpeg: Imagen JPEG application/xhtml+xml: Documento XHTML application/rdf+xml: Documento RDF text/turtle: Documento Turtle ... Lista oficial: http://www.iana.org/assignments/media-types Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 28. Funcionamiento de la Web 2 computadores conceptuales: Cliente y Servidor La representación puede calcularse dinámicamente Computación en Cliente Computación en servidor URI WWW HTTP Representación Usuario Navegador Servidor Cliente Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 29. Cliente También se conoce como Agente de Usuario Normalmente es un navegador (browser) Múltiples tipos de agentes de usuarios y navegadores Navegadores: Internet Explorer, Chrome, Firefox, Lynx, … Dispositivos móviles Lectores de pantalla eBooks TVs … Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 30. Componentes de un navegador Interfaz Analizador Motor visualización Intérprete ECMAScript procesa eventos y modifica árbol URI URI Motor WWW Interfaz Visualización HTTP Usuario Analizador Intérprete Representación ECMAscript Árbol Usuario DOM Navegador Cliente Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 31. Motor de visualización A veces los navegadores comparten el mismo motor de visualización (rendering engine) Navegadores Motor de visualización Internet Explorer Trident Firefox Gecko Opera Presto Chrome Webkit (Webcore) Safari (iPhone, iPad) Webkit Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 32. ECMAScript Lenguaje interpretado basado en prototipos Origen: Brendan Eich, Netscape (1995) ECMAscript = estándar con dialectos Javscript, Jscript... Permite la interacción entre el usuario del navegador y el árbol DOM Los navegadores utilizan APIs para crear objetos que pueden manipular el árbol DOM Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 33. Intérprete de ECMAScript Competición entre intérpretes Navegadores Lenguaje Implementación Internet Explorer JScript Chakra Firefox Javascript Rhino Tracemonkey lonMonkey Chrome, Javascript V8 Safari (iPhone, iPad) Javascript Squirrelfish (Nitro) Opera Javascript Carakan Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 34. Componentes de un Servidor La arquitectura del servidor suele descomponerse en varias capas Vista: Se encarga de preparar la representación Negocio: Gestión de objetos de negocio Datos: Modelos de datos URI URI WWW Capa Capa Capa HTTP Vista Negocio Datos Representación Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 35. Tecnologías del lado servidor Múltiples frameworks y lenguajes Java: J2EE, Spring,… Ruby: Ruby on Rails, Sinatra, Padrino… Python: Django,… Scala: Lift,… PHP: Zend… Modelo de datos Bases de datos relacionales Modelos NoSQL Modelos RDF Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra
  • 36. Fin Jose Emilio Labra Gayo – http://www.di.uniovi.es/~labra