SlideShare une entreprise Scribd logo
1  sur  13
Computación en el Servidor
Jose Emilio Labra Gayo
Depto. Informática
Universidad de Oviedo
Computación en Servidor
Contenido es generado dinámicamente
1. Llega la petición al servidor
2. El servidor analiza parámetros de petición
Verbo (GET, PUT, POST, ...), Ruta (URI), Cabeceras, Entorno
3. Servidor "computa" y envía una respuesta
Usuario Navegador
Cliente
Servidor
URI
Representación
WWW
HTTP
Petición
Respuesta
Método
URI
Headers
Environment
Múltiples alternativas
CGIs
Lenguajes específicos para Web: PHP
Lenguajes dinámicos: Perl, Python, Ruby,...
Javascript en servidor: Nodejs
Lenguajes generales compilados
JVM: Java (JSP, Servlets,...), Scala, Groovy
CLR: C# (ASP.Net), F#, ...
Otros: Frameworks, CMS, etc.
CGI
CGI (Common Gateway Interface), 1.1 (2004)
Método estándar para transmitir parámetros entre
servidor y programas ejecutables
Nombres de variables
SERVER_NAME, SERVER_SOFTWARE, GATEWAT_INTERFACE
SERVER_PROTOCOL, REQUEST_METHOD, QUERY_STRING,
...
Los programas CGIs son ejecutados por el servidor
Devuelve la respuesta de la ejecución
Otras variantes:
FastCGI (optimiza creación de procesos)
PHP
Lenguaje interpretado por el servidor
El código se incrusta en HTML mediante marcas
especiales
Cuando el servidor reconoce código PHP:
Llama al intérprete
Ejecuta el código
Devuelve el resultado
Según w3techs, el 81.1% de los sitios Web utiliza
PHP
Lenguajes dinámicos
Python, Ruby
Lenguajes interpretados de propósito general
Buenos frameworks y librerías para Web
Ruby: Ruby on Rails
Python: Django
...
Javascript lado servidor
Librería Node.js
Incluye V8, el motor Javascript de Google
Permite utilizar Javascript en el servidor
Entrada/Salida basada en eventos
Creciendo en popularidad
Lenguajes generales compilados
2 ecosistemas
Java (JVM) .Net (CLR)
JVM
Máquina virtual de Java
Empotrado: JSP
Servlets y Contenedores de aplicaciones
TOMCAT
Otros lenguajes sobre JVM
Scala, Groovy, ...
Programación políglota!
ASP.Net
Basado en CLR
Máquina virtual de C#
ASP Permite empotrar lenguaje en HTML
Extensión aspx <% .... código %>
Diversos frameworks: ASP.Net MVX
Otras lenguajes:
VB.Net, F#,...
Web Frameworks
Micro-frameworks
Basados en protocol HTTP
Enrutan verbos HTTP (GET, PUT, POST, DELETE) con
acciones
MVC based
Abstracción del modelo de la Web
Separación: Modelo, Vista, Controlador
Pueden utilizar ORMs
Micro-frameworks
PHP: Slim, Silex
Ruby: Sinatra
Python: Flask
Java: Spark,
Scala: Scalatra
Frameworks Web
Numerosos frameworks
PHP: CakePHP, Zend, Symfony
Ruby: Ruby on Rails
Python: Django, Zope
Java: Spring MVC, Play
Scala: Play, Lift
Groovy: Grails
Haskell: Yesod
Más información:
http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks

Contenu connexe

En vedette

Scala overview
Scala overviewScala overview
Scala overview
Steve Min
 

En vedette (20)

Máster en Ingeniería Web
Máster en Ingeniería WebMáster en Ingeniería Web
Máster en Ingeniería Web
 
2015 bogota datos_enlazados
2015 bogota datos_enlazados2015 bogota datos_enlazados
2015 bogota datos_enlazados
 
2016 temuco tecnologias_websemantica
2016 temuco tecnologias_websemantica2016 temuco tecnologias_websemantica
2016 temuco tecnologias_websemantica
 
2 Introducción al lenguaje Ruby
2 Introducción al lenguaje Ruby2 Introducción al lenguaje Ruby
2 Introducción al lenguaje Ruby
 
Data shapes-test-suite
Data shapes-test-suiteData shapes-test-suite
Data shapes-test-suite
 
Scala: un vistazo general
Scala: un vistazo generalScala: un vistazo general
Scala: un vistazo general
 
6 Principios de Programación Orientada a Objetos
6 Principios de Programación Orientada a Objetos6 Principios de Programación Orientada a Objetos
6 Principios de Programación Orientada a Objetos
 
Towards an RDF Validation Language based on Regular Expression Derivatives
Towards an RDF Validation Language based on Regular Expression DerivativesTowards an RDF Validation Language based on Regular Expression Derivatives
Towards an RDF Validation Language based on Regular Expression Derivatives
 
3 Introducción al lenguaje PHP
3 Introducción al lenguaje PHP3 Introducción al lenguaje PHP
3 Introducción al lenguaje PHP
 
4 Introducción al lenguaje Scala
4 Introducción al lenguaje Scala4 Introducción al lenguaje Scala
4 Introducción al lenguaje Scala
 
Introducción a Scala
Introducción a ScalaIntroducción a Scala
Introducción a Scala
 
Scala Overview
Scala OverviewScala Overview
Scala Overview
 
RDF data model
RDF data modelRDF data model
RDF data model
 
Scala overview
Scala overviewScala overview
Scala overview
 
1 Introducción a los Lenguajes de Programación y a la Programación Orientada ...
1 Introducción a los Lenguajes de Programación y a la Programación Orientada ...1 Introducción a los Lenguajes de Programación y a la Programación Orientada ...
1 Introducción a los Lenguajes de Programación y a la Programación Orientada ...
 
RDF Validation Future work and applications
RDF Validation Future work and applicationsRDF Validation Future work and applications
RDF Validation Future work and applications
 
RDF validation tutorial
RDF validation tutorialRDF validation tutorial
RDF validation tutorial
 
ShEx vs SHACL
ShEx vs SHACLShEx vs SHACL
ShEx vs SHACL
 
SHACL by example
SHACL by exampleSHACL by example
SHACL by example
 
Tecnologias Web Semantica
Tecnologias Web SemanticaTecnologias Web Semantica
Tecnologias Web Semantica
 

Similaire à 17 computacion servidor

Similaire à 17 computacion servidor (20)

Aplicaciones Web
Aplicaciones WebAplicaciones Web
Aplicaciones Web
 
Tema 1
Tema 1Tema 1
Tema 1
 
Introducció a les Aplicació Web
Introducció a les Aplicació WebIntroducció a les Aplicació Web
Introducció a les Aplicació Web
 
Servidor web apache
Servidor web apacheServidor web apache
Servidor web apache
 
Charla
CharlaCharla
Charla
 
Módulo 0
Módulo 0Módulo 0
Módulo 0
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Semana 1 tecnologias web
Semana 1   tecnologias webSemana 1   tecnologias web
Semana 1 tecnologias web
 
Fundamentos de la web
Fundamentos de la webFundamentos de la web
Fundamentos de la web
 
introduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
introduccion-a-las-aplicaciones-web-y-tecnologia-java.pptintroduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
introduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
 
Servidor web
Servidor webServidor web
Servidor web
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la Web
 
Clase17(introduccion a la web)
Clase17(introduccion a la web)Clase17(introduccion a la web)
Clase17(introduccion a la web)
 
Programacion web
Programacion webProgramacion web
Programacion web
 
Programacion web
Programacion webProgramacion web
Programacion web
 
Programacion web
Programacion webProgramacion web
Programacion web
 
Programacion web
Programacion webProgramacion web
Programacion web
 
Programacion web
Programacion webProgramacion web
Programacion web
 
Programacion web
Programacion webProgramacion web
Programacion web
 
Programacion web
Programacion webProgramacion web
Programacion web
 

Plus de Jose Emilio Labra Gayo

Plus de Jose Emilio Labra Gayo (19)

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
 

Dernier

SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALSESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
EdwinC23
 

Dernier (20)

Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cereales
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptx
 
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica
 
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
Presentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónPresentacion de la ganaderia en la región
Presentacion de la ganaderia en la región
 
Suelo, tratamiento saneamiento y mejoramiento
Suelo, tratamiento saneamiento y mejoramientoSuelo, tratamiento saneamiento y mejoramiento
Suelo, tratamiento saneamiento y mejoramiento
 
Introduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.pptIntroduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.ppt
 
semana-08-clase-transformadores-y-norma-eep.ppt
semana-08-clase-transformadores-y-norma-eep.pptsemana-08-clase-transformadores-y-norma-eep.ppt
semana-08-clase-transformadores-y-norma-eep.ppt
 
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfAnálisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
 
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALSESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
 
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
 
ELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
ELASTICIDAD PRECIO DE LA DEMaaanANDA.pptELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
ELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
 
Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potable
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
 

17 computacion servidor

  • 1. Computación en el Servidor Jose Emilio Labra Gayo Depto. Informática Universidad de Oviedo
  • 2. Computación en Servidor Contenido es generado dinámicamente 1. Llega la petición al servidor 2. El servidor analiza parámetros de petición Verbo (GET, PUT, POST, ...), Ruta (URI), Cabeceras, Entorno 3. Servidor "computa" y envía una respuesta Usuario Navegador Cliente Servidor URI Representación WWW HTTP Petición Respuesta Método URI Headers Environment
  • 3. Múltiples alternativas CGIs Lenguajes específicos para Web: PHP Lenguajes dinámicos: Perl, Python, Ruby,... Javascript en servidor: Nodejs Lenguajes generales compilados JVM: Java (JSP, Servlets,...), Scala, Groovy CLR: C# (ASP.Net), F#, ... Otros: Frameworks, CMS, etc.
  • 4. CGI CGI (Common Gateway Interface), 1.1 (2004) Método estándar para transmitir parámetros entre servidor y programas ejecutables Nombres de variables SERVER_NAME, SERVER_SOFTWARE, GATEWAT_INTERFACE SERVER_PROTOCOL, REQUEST_METHOD, QUERY_STRING, ... Los programas CGIs son ejecutados por el servidor Devuelve la respuesta de la ejecución Otras variantes: FastCGI (optimiza creación de procesos)
  • 5. PHP Lenguaje interpretado por el servidor El código se incrusta en HTML mediante marcas especiales Cuando el servidor reconoce código PHP: Llama al intérprete Ejecuta el código Devuelve el resultado Según w3techs, el 81.1% de los sitios Web utiliza PHP
  • 6. Lenguajes dinámicos Python, Ruby Lenguajes interpretados de propósito general Buenos frameworks y librerías para Web Ruby: Ruby on Rails Python: Django ...
  • 7. Javascript lado servidor Librería Node.js Incluye V8, el motor Javascript de Google Permite utilizar Javascript en el servidor Entrada/Salida basada en eventos Creciendo en popularidad
  • 8. Lenguajes generales compilados 2 ecosistemas Java (JVM) .Net (CLR)
  • 9. JVM Máquina virtual de Java Empotrado: JSP Servlets y Contenedores de aplicaciones TOMCAT Otros lenguajes sobre JVM Scala, Groovy, ... Programación políglota!
  • 10. ASP.Net Basado en CLR Máquina virtual de C# ASP Permite empotrar lenguaje en HTML Extensión aspx <% .... código %> Diversos frameworks: ASP.Net MVX Otras lenguajes: VB.Net, F#,...
  • 11. Web Frameworks Micro-frameworks Basados en protocol HTTP Enrutan verbos HTTP (GET, PUT, POST, DELETE) con acciones MVC based Abstracción del modelo de la Web Separación: Modelo, Vista, Controlador Pueden utilizar ORMs
  • 12. Micro-frameworks PHP: Slim, Silex Ruby: Sinatra Python: Flask Java: Spark, Scala: Scalatra
  • 13. Frameworks Web Numerosos frameworks PHP: CakePHP, Zend, Symfony Ruby: Ruby on Rails Python: Django, Zope Java: Spring MVC, Play Scala: Play, Lift Groovy: Grails Haskell: Yesod Más información: http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks