SlideShare una empresa de Scribd logo
vigarcia@plainconcepts.com
@vgaltes
http://geeks.ms/blogs/devnettips

http://vgaltes.com
“OWIN is a standard interface between .NET web
servers and web applications. The goal of OWIN is to
decouple server and application and, by being an
open standard, stimulate the open source ecosystem
of .NET web development tools.”
http://owin.org/
Host: proceso que aloja el sistema.
Server: se ejecuta en el interior de un Host y
procesa las peticiones.
Middleware: Pipeline configurable de
componentes que se ejecutan en el proceso de
cada petición y envío de respuestas.
Framework: Marcos de trabajo de aplicaciones
(MVC, WebApi, …)
Application: Nuestra aplicación.
Datos de la solicitud
owin.RequestBody

Objeto de tipo Stream que proporciona acceso al
cuerpo de la petición.

owin.RequestHeaders

IDictionary<string, object> es lo que se
llama el Environment dictionary.
Task hace que todo el proceso sea
asíncrono y que podamos realizar acciones
para procesar la petición y la respuesta.

owin.RequestMethod

string que contiene el verbo de la petición.

owin.RequestPath

string que contiene la ruta del recurso solicitado,
relativa al raíz de la aplicación.

owin.RequestPathBase

string que especifica la ruta raíz de la aplicación.

owin.RequestProtocol

using AppFunc = Func<
IDictionary<string, object>,
Task>

Objeto IDictionary<string, string[]> con los
valores de los encabezados de la petición.

string que indica el protocolo y versión de la
petición.
string conteniendo la componente querystring de
la URL solicitada.
string que contiene el esquema (http/https)
usado en la petición.

owin.RequestQueryString
owin.RequestScheme
Datos de la respuesta
owin.ResponseBody
owin.ResponseHeaders
Otros datos
owin.CallCancelled

owin.Version

Objeto Stream utilizado para enviar la respuesta
al cliente.
Objecto IDictionary<string, string[]> que
contiene los encabezados de la respuesta.
CancellationToken que indica si la solicitud ha
sido cancelada o abortada. OWIN está muy
enfocado hacia la asincronía para obtener el
mejor rendimiento posible.
Versión de OWIN, “1.0” en estos momentos.
Katana

http://katanaproject.codeplex.com/
vigarcia@plainconcepts.co
m

Más contenido relacionado

Similar a Owin, katana y WebAPI

J2 Ee Para Seres Humanos Slides
J2 Ee Para Seres Humanos SlidesJ2 Ee Para Seres Humanos Slides
J2 Ee Para Seres Humanos Slides
mundojava
 
Introduccion a elastic beanstalk aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexicoIntroduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk aws roadshow bogota mexico
Amazon Web Services LATAM
 

Similar a Owin, katana y WebAPI (20)

Servlets
ServletsServlets
Servlets
 
Curso Java Avanzado 2 Servlets
Curso Java Avanzado   2 ServletsCurso Java Avanzado   2 Servlets
Curso Java Avanzado 2 Servlets
 
Introducción al desarrollo de aplicaciones web en Java
Introducción al desarrollo de aplicaciones web en JavaIntroducción al desarrollo de aplicaciones web en Java
Introducción al desarrollo de aplicaciones web en Java
 
Curso: Programación Web con Tecnología Java
Curso:  	Programación Web con Tecnología JavaCurso:  	Programación Web con Tecnología Java
Curso: Programación Web con Tecnología Java
 
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
 
S7-DAW-2022S1.pptx
S7-DAW-2022S1.pptxS7-DAW-2022S1.pptx
S7-DAW-2022S1.pptx
 
Servicios Web II.ppt
Servicios Web II.pptServicios Web II.ppt
Servicios Web II.ppt
 
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
 
Webservices
WebservicesWebservices
Webservices
 
13. servidor http.
13. servidor http.13. servidor http.
13. servidor http.
 
Servidor web
Servidor webServidor web
Servidor web
 
Web services
Web servicesWeb services
Web services
 
SEVILLA Meetups29112022_sh.pptx
SEVILLA Meetups29112022_sh.pptxSEVILLA Meetups29112022_sh.pptx
SEVILLA Meetups29112022_sh.pptx
 
Presentacion sesion01 - Programacion WEB
Presentacion sesion01 - Programacion WEBPresentacion sesion01 - Programacion WEB
Presentacion sesion01 - Programacion WEB
 
J2 Ee Para Seres Humanos Slides
J2 Ee Para Seres Humanos SlidesJ2 Ee Para Seres Humanos Slides
J2 Ee Para Seres Humanos Slides
 
Sercicios web
Sercicios webSercicios web
Sercicios web
 
Servicios web
Servicios webServicios web
Servicios web
 
Web Service buscador de localizaciones de IP’s
Web Service buscador de localizaciones de IP’sWeb Service buscador de localizaciones de IP’s
Web Service buscador de localizaciones de IP’s
 
Introduccion a elastic beanstalk aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexicoIntroduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk aws roadshow bogota mexico
 
Introducción a Java y BEA (2008)
Introducción a Java y BEA (2008)Introducción a Java y BEA (2008)
Introducción a Java y BEA (2008)
 

Más de Vicenç García-Altés

Construcciones automatizadas multiplataforma con TFS2010
Construcciones automatizadas multiplataforma con TFS2010Construcciones automatizadas multiplataforma con TFS2010
Construcciones automatizadas multiplataforma con TFS2010
Vicenç García-Altés
 

Más de Vicenç García-Altés (15)

Operational Serverless
Operational ServerlessOperational Serverless
Operational Serverless
 
Architecture, architects and other mythological creatures
Architecture, architects and other mythological creaturesArchitecture, architects and other mythological creatures
Architecture, architects and other mythological creatures
 
Elm 101
Elm 101Elm 101
Elm 101
 
Your code as a crime scene
Your code as a crime sceneYour code as a crime scene
Your code as a crime scene
 
Gestión del ciclo de vida de aplicaciones Web. Continuous deployment.
Gestión del ciclo de vida de aplicaciones Web. Continuous deployment.Gestión del ciclo de vida de aplicaciones Web. Continuous deployment.
Gestión del ciclo de vida de aplicaciones Web. Continuous deployment.
 
Bdd beyond testing
Bdd beyond testingBdd beyond testing
Bdd beyond testing
 
Novedades Visual Studio 2013
Novedades Visual Studio 2013Novedades Visual Studio 2013
Novedades Visual Studio 2013
 
Plain Concepts ALM Tour 2013 - Estamos construyendo lo que el cliente espera
Plain Concepts ALM Tour 2013 - Estamos construyendo lo que el cliente esperaPlain Concepts ALM Tour 2013 - Estamos construyendo lo que el cliente espera
Plain Concepts ALM Tour 2013 - Estamos construyendo lo que el cliente espera
 
Plain Concepts ALM Tour 2013 - Maximizando la productividad de nuestros equipos
Plain Concepts ALM Tour 2013 - Maximizando la productividad de nuestros equiposPlain Concepts ALM Tour 2013 - Maximizando la productividad de nuestros equipos
Plain Concepts ALM Tour 2013 - Maximizando la productividad de nuestros equipos
 
Especificaciones ejecutables, acercando negocio y desarrollo
Especificaciones ejecutables, acercando negocio y desarrolloEspecificaciones ejecutables, acercando negocio y desarrollo
Especificaciones ejecutables, acercando negocio y desarrollo
 
Retrospective’s retrospective (extended version)
Retrospective’s retrospective (extended version)Retrospective’s retrospective (extended version)
Retrospective’s retrospective (extended version)
 
Lo que nadie te va a contar sobre Scrum
Lo que nadie te va a contar sobre ScrumLo que nadie te va a contar sobre Scrum
Lo que nadie te va a contar sobre Scrum
 
Agile Inception
Agile InceptionAgile Inception
Agile Inception
 
Automatización de pruebas funcionales
Automatización de pruebas funcionalesAutomatización de pruebas funcionales
Automatización de pruebas funcionales
 
Construcciones automatizadas multiplataforma con TFS2010
Construcciones automatizadas multiplataforma con TFS2010Construcciones automatizadas multiplataforma con TFS2010
Construcciones automatizadas multiplataforma con TFS2010
 

Último

(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
encinasm992
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 

Último (20)

Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de Software
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 

Owin, katana y WebAPI

  • 1.
  • 3.
  • 4. “OWIN is a standard interface between .NET web servers and web applications. The goal of OWIN is to decouple server and application and, by being an open standard, stimulate the open source ecosystem of .NET web development tools.” http://owin.org/
  • 5. Host: proceso que aloja el sistema. Server: se ejecuta en el interior de un Host y procesa las peticiones. Middleware: Pipeline configurable de componentes que se ejecutan en el proceso de cada petición y envío de respuestas. Framework: Marcos de trabajo de aplicaciones (MVC, WebApi, …) Application: Nuestra aplicación.
  • 6. Datos de la solicitud owin.RequestBody Objeto de tipo Stream que proporciona acceso al cuerpo de la petición. owin.RequestHeaders IDictionary<string, object> es lo que se llama el Environment dictionary. Task hace que todo el proceso sea asíncrono y que podamos realizar acciones para procesar la petición y la respuesta. owin.RequestMethod string que contiene el verbo de la petición. owin.RequestPath string que contiene la ruta del recurso solicitado, relativa al raíz de la aplicación. owin.RequestPathBase string que especifica la ruta raíz de la aplicación. owin.RequestProtocol using AppFunc = Func< IDictionary<string, object>, Task> Objeto IDictionary<string, string[]> con los valores de los encabezados de la petición. string que indica el protocolo y versión de la petición. string conteniendo la componente querystring de la URL solicitada. string que contiene el esquema (http/https) usado en la petición. owin.RequestQueryString owin.RequestScheme Datos de la respuesta owin.ResponseBody owin.ResponseHeaders Otros datos owin.CallCancelled owin.Version Objeto Stream utilizado para enviar la respuesta al cliente. Objecto IDictionary<string, string[]> que contiene los encabezados de la respuesta. CancellationToken que indica si la solicitud ha sido cancelada o abortada. OWIN está muy enfocado hacia la asincronía para obtener el mejor rendimiento posible. Versión de OWIN, “1.0” en estos momentos.
  • 7.
  • 9.
  • 10.
  • 11.
  • 12.

Notas del editor

  1. Editar con los datos de cadauno (ysi queries la foto)
  2. ¿Qué puedo hacer para mejorar mi testeo funcional?
  3. Un enfoque ágil mejorará nuestro testeo. Los testers tienen que ayudar a crear nuestras historias de usuario. El ciclo de feedback tiene que ser corto para minimizar los costes de un cambio.
  4. Muchos hemos tenido nuestros “planes de prueba” en un Excel. Es momento de ir más allá y utilizar toda la potencia que nos dan las herramientas de Microsoft. Esto hará mejorar nuestra productividad.
  5. ¿Qué herramientas nos da VS2013?
  6. Visión general de lasmejoras.
  7. Desde el portal web podréhacerprácticamente lo mismoquedesde el MTM