SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Taller
Creando una API Rest con
Node.js y MongoDB
Patricio Soriano Castro
@sigdeletras
II Jornadas Informática
IES Trassierra
12 marzo 2020
Índice
● “Hola Mundo” en
Javascript
Índice
● “Hola Mundo” en
Javascript
● Algo de teoría...
Índice
● “Hola Mundo” en
Javascript
● Algo de teoría...
● Picando código
“Hola Mundo” en Javascript
Crear un programa “Hola Mundo” con Javascript
“Hola Mundo” en Javascript
Crear un programa “Hola Mundo” con Javascript
● Sin usar HTML
“Hola Mundo” en Javascript
Crear un programa “Hola Mundo” con Javascript
● Sin usar HTML
● Sin usar navegador
● ???
“Hola Mundo” en Javascript
● Con Node.js
● Creamos una archivo con
holamundo.js
console.log(“Hola Mundo”)
● Desde terminal
$ node holamundo
Algo de teoría….Node.js
Node.js es un entorno de desarrollo del lado
del servidor open source y multiplataforma
escrito en JavaScript orientado a eventos
asíncronos.
Características
● Desarrollo en JavaScript
● Basado en el motor V8 de Chrome
● Operaciones de E/S sin bloqueos
● Orientado a eventos (asíncrono)
● Liviano y Eficiente
● Gestor de paquetes NPM
● Una de las herramientas estándar en del desarrollo Web
(stack MEAN, MERN, MEVN)
¿Cuándo usar Node.js?
● Servidores Web: Con el uso de librerías que se
encuentran en los paquetes propios de Node.JS o de
terceros como Express, Koa y Hapi.
● Sockets: Son eventos que para realizar chats y
aplicaciones en tiempo real es una excelente opción,
sobretodo gracias a su gran velocidad.
● IOT: Programar placas pequeñas con poco hardware
como un Arduino, permite desarrollar una aplicación y
desplegarla
NPM
Algo de teoría...API
El término API es una abreviatura de Application
Programming Interfaces, que en español significa
interfaz de programación de aplicaciones.
Se trata de un conjunto de definiciones y protocolos
que se utiliza para desarrollar e integrar el software
de las aplicaciones, permitiendo la comunicación
entre dos aplicaciones de software a través de un
conjunto de reglas.
Algo de teoría...API REST
REST es una interfaz para conectar
varios sistemas basados en el
protocolo HTTP y nos sirve para
obtener y generar datos y operaciones,
devolviendo esos datos en formatos
muy específicos, como XML y JSON.
Características de API REST
● Protocolo cliente/servidor sin estado: cada petición HTTP contiene toda
la información necesaria para ejecutarla, lo que permite que ni cliente ni
servidor necesiten recordar ningún estado previo para satisfacerla.
● Las operaciones más importantes relacionadas con los datos en cualquier
sistema REST y la especificación HTTP son cuatro: POST (crear), GET (leer
y consultar), PUT (editar) y DELETE (eliminar).
● Los objetos en REST siempre se manipulan a partir de la URI.
¿Cómo vamos a montar nuestra API Rest?
Express. Framework de Node diseñado para
crear aplicaciones web y API.
● Manejo específico de diferentes verbos HTTP
● Gestión separada de las peticiones por medio
URL (routes)
● Servicio de ficheros estáticos
● Configuración de plantillas
● Alternativas: adonis.js, Nest
¿...y los datos?
MongoDB Almacén de
documentos (JSON)
Algo de teoría...Relacional vs No Relacional
SQL NoSQL
Integridad de datos
(exactitud y consistencia)
Cada dato tiene un tipo definido No se exige definir el tipo de
datos que vas a almacenar.
Operaciones atómicas
(un cambio que afecta a
múltiples entidades)
Atomicidad mediante relaciones No existe relación, pero
podemos usar referencias
Escalabilidad Vertical Horizontal
Velocidad - +
Consistencia vs
Redundancia
Una única vez en toda la base de
datos
Repetir adrede los datos a
conveniencia
Comodidad para el
desarrollador
Madurez Prototipado
¿Cuándo?
● La velocidad de lectura y escritura es más importante que mantener la
consistencia.
● No sabes cómo se verá la estructura de tus datos al final, y
probablemente cambie mucho.
● Te es más fácil adquirir varias máquinas modestas a través del tiempo
que invertir en una sola muy potente.
● Prefieres algo fácil de usar como programador, que no te exige
compromisos y te deje almacenar casi cualquier cosa donde quieras.
¿...y los datos?
● Mongoose (ODM)
○ Definición de esquemas
○ Tipado (SchemaTypes) de
atributos, atributos virtuales
○ Métodos de validación,
indexado
○ Expresiones regulares
○ Funciones Get/Set
Picando código
Instalación ☑
https://github.com/sigdeletras/taller_node

Más contenido relacionado

Similar a Crear API Node MongoDB

NodeJS y MongoDB
NodeJS y MongoDBNodeJS y MongoDB
NodeJS y MongoDBArsys
 
Programacion web-Lenguajes del lado del servidor
Programacion web-Lenguajes del lado del servidorProgramacion web-Lenguajes del lado del servidor
Programacion web-Lenguajes del lado del servidorJose Felix Moran Agusto
 
Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015  Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015 Keopx
 
2. Revision de Tecnologias Web.pdf
2. Revision de Tecnologias Web.pdf2. Revision de Tecnologias Web.pdf
2. Revision de Tecnologias Web.pdfCarlosDavidMontellan
 
Sistema modular de representación de información para la plataforma de web se...
Sistema modular de representación de información para la plataforma de web se...Sistema modular de representación de información para la plataforma de web se...
Sistema modular de representación de información para la plataforma de web se...Antonio Lopez
 
Fundamentos tecnologías web
Fundamentos tecnologías webFundamentos tecnologías web
Fundamentos tecnologías webDavid Hurtado
 
Documertar APIs - Meetup.js
Documertar APIs - Meetup.jsDocumertar APIs - Meetup.js
Documertar APIs - Meetup.jsEzequiel Rial
 
presentacinorm-150325230016-conversion-gate01.pptx
presentacinorm-150325230016-conversion-gate01.pptxpresentacinorm-150325230016-conversion-gate01.pptx
presentacinorm-150325230016-conversion-gate01.pptxssuser948499
 
Introducción a ORMs
Introducción a ORMsIntroducción a ORMs
Introducción a ORMsmaxfontana90
 
Integración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxIntegración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxLuisTenorio42
 
Act1 tecnologiaweb uni1
Act1 tecnologiaweb uni1Act1 tecnologiaweb uni1
Act1 tecnologiaweb uni1fanyto
 
Tecnologías web.pptx
Tecnologías web.pptxTecnologías web.pptx
Tecnologías web.pptxGabrielCarbas
 

Similar a Crear API Node MongoDB (20)

5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web
 
NodeJS y MongoDB
NodeJS y MongoDBNodeJS y MongoDB
NodeJS y MongoDB
 
Descifrando Ruby on Rails
Descifrando Ruby on RailsDescifrando Ruby on Rails
Descifrando Ruby on Rails
 
S4-PD1.pptx
S4-PD1.pptxS4-PD1.pptx
S4-PD1.pptx
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
Programacion web-Lenguajes del lado del servidor
Programacion web-Lenguajes del lado del servidorProgramacion web-Lenguajes del lado del servidor
Programacion web-Lenguajes del lado del servidor
 
Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015  Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015
 
2. Revision de Tecnologias Web.pdf
2. Revision de Tecnologias Web.pdf2. Revision de Tecnologias Web.pdf
2. Revision de Tecnologias Web.pdf
 
5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web
 
Sistema modular de representación de información para la plataforma de web se...
Sistema modular de representación de información para la plataforma de web se...Sistema modular de representación de información para la plataforma de web se...
Sistema modular de representación de información para la plataforma de web se...
 
Fundamentos tecnologías web
Fundamentos tecnologías webFundamentos tecnologías web
Fundamentos tecnologías web
 
Documertar APIs - Meetup.js
Documertar APIs - Meetup.jsDocumertar APIs - Meetup.js
Documertar APIs - Meetup.js
 
presentacinorm-150325230016-conversion-gate01.pptx
presentacinorm-150325230016-conversion-gate01.pptxpresentacinorm-150325230016-conversion-gate01.pptx
presentacinorm-150325230016-conversion-gate01.pptx
 
Introducción a ORMs
Introducción a ORMsIntroducción a ORMs
Introducción a ORMs
 
Integración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxIntegración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptx
 
Sgbd mongodb
Sgbd   mongodbSgbd   mongodb
Sgbd mongodb
 
Act1 tecnologiaweb uni1
Act1 tecnologiaweb uni1Act1 tecnologiaweb uni1
Act1 tecnologiaweb uni1
 
Tecnologías web.pptx
Tecnologías web.pptxTecnologías web.pptx
Tecnologías web.pptx
 
Modelo entidad realción
Modelo entidad realciónModelo entidad realción
Modelo entidad realción
 
S4-PD2-2.2. REST
S4-PD2-2.2. RESTS4-PD2-2.2. REST
S4-PD2-2.2. REST
 

Más de Patricio Soriano Castro

Taller #MapeaMovilidad Semana Europea de la Movilidad Córdoba
Taller #MapeaMovilidad Semana Europea de la Movilidad CórdobaTaller #MapeaMovilidad Semana Europea de la Movilidad Córdoba
Taller #MapeaMovilidad Semana Europea de la Movilidad CórdobaPatricio Soriano Castro
 
Presentación geoWebinar ‘Pautas y consideraciones básicas para la entrega de ...
Presentación geoWebinar ‘Pautas y consideraciones básicas para la entrega de ...Presentación geoWebinar ‘Pautas y consideraciones básicas para la entrega de ...
Presentación geoWebinar ‘Pautas y consideraciones básicas para la entrega de ...Patricio Soriano Castro
 
Charla "Mapa de Edificios de Sevilla. Uso de CARTO Builder con datos de Catas...
Charla "Mapa de Edificios de Sevilla. Uso de CARTO Builder con datos de Catas...Charla "Mapa de Edificios de Sevilla. Uso de CARTO Builder con datos de Catas...
Charla "Mapa de Edificios de Sevilla. Uso de CARTO Builder con datos de Catas...Patricio Soriano Castro
 
Publicación de datos geográficos en Internet
Publicación de datos geográficos en InternetPublicación de datos geográficos en Internet
Publicación de datos geográficos en InternetPatricio Soriano Castro
 
Visor Turístico Patrimonial de Posadas (Córdoba)
Visor Turístico Patrimonial de Posadas (Córdoba)Visor Turístico Patrimonial de Posadas (Córdoba)
Visor Turístico Patrimonial de Posadas (Córdoba)Patricio Soriano Castro
 
Tecnologías de información geográfica aplicadas a Arqueología. El proyecto SI...
Tecnologías de información geográfica aplicadas a Arqueología. El proyecto SI...Tecnologías de información geográfica aplicadas a Arqueología. El proyecto SI...
Tecnologías de información geográfica aplicadas a Arqueología. El proyecto SI...Patricio Soriano Castro
 
Nubes, plugins y HTML para visores patrimoniales
Nubes, plugins y HTML para visores patrimonialesNubes, plugins y HTML para visores patrimoniales
Nubes, plugins y HTML para visores patrimonialesPatricio Soriano Castro
 
Visualización de datos geográficos en Internet con CartoDB - Taller en HackLa...
Visualización de datos geográficos en Internet con CartoDB - Taller en HackLa...Visualización de datos geográficos en Internet con CartoDB - Taller en HackLa...
Visualización de datos geográficos en Internet con CartoDB - Taller en HackLa...Patricio Soriano Castro
 
Cartografía ciudadana con OpenStreetMap
Cartografía ciudadana con OpenStreetMapCartografía ciudadana con OpenStreetMap
Cartografía ciudadana con OpenStreetMapPatricio Soriano Castro
 
OpenStreetMap: geoinformación por y para todos - Taller RITSI 2014
OpenStreetMap: geoinformación por y para todos - Taller RITSI 2014OpenStreetMap: geoinformación por y para todos - Taller RITSI 2014
OpenStreetMap: geoinformación por y para todos - Taller RITSI 2014Patricio Soriano Castro
 
Recursos, servicios y páginas web de Información Geográfica para la provinci...
Recursos, servicios y páginas web de Información Geográfica  para la provinci...Recursos, servicios y páginas web de Información Geográfica  para la provinci...
Recursos, servicios y páginas web de Información Geográfica para la provinci...Patricio Soriano Castro
 
Uso de TIG en la Gerencia Municipal de Urbanismo de Córdoba
Uso de TIG en la Gerencia Municipal de Urbanismo de CórdobaUso de TIG en la Gerencia Municipal de Urbanismo de Córdoba
Uso de TIG en la Gerencia Municipal de Urbanismo de CórdobaPatricio Soriano Castro
 

Más de Patricio Soriano Castro (14)

Taller #MapeaMovilidad Semana Europea de la Movilidad Córdoba
Taller #MapeaMovilidad Semana Europea de la Movilidad CórdobaTaller #MapeaMovilidad Semana Europea de la Movilidad Córdoba
Taller #MapeaMovilidad Semana Europea de la Movilidad Córdoba
 
Presentación geoWebinar ‘Pautas y consideraciones básicas para la entrega de ...
Presentación geoWebinar ‘Pautas y consideraciones básicas para la entrega de ...Presentación geoWebinar ‘Pautas y consideraciones básicas para la entrega de ...
Presentación geoWebinar ‘Pautas y consideraciones básicas para la entrega de ...
 
Charla "Mapa de Edificios de Sevilla. Uso de CARTO Builder con datos de Catas...
Charla "Mapa de Edificios de Sevilla. Uso de CARTO Builder con datos de Catas...Charla "Mapa de Edificios de Sevilla. Uso de CARTO Builder con datos de Catas...
Charla "Mapa de Edificios de Sevilla. Uso de CARTO Builder con datos de Catas...
 
Publicación de datos geográficos en Internet
Publicación de datos geográficos en InternetPublicación de datos geográficos en Internet
Publicación de datos geográficos en Internet
 
Visor Turístico Patrimonial de Posadas (Córdoba)
Visor Turístico Patrimonial de Posadas (Córdoba)Visor Turístico Patrimonial de Posadas (Córdoba)
Visor Turístico Patrimonial de Posadas (Córdoba)
 
Tecnologías de información geográfica aplicadas a Arqueología. El proyecto SI...
Tecnologías de información geográfica aplicadas a Arqueología. El proyecto SI...Tecnologías de información geográfica aplicadas a Arqueología. El proyecto SI...
Tecnologías de información geográfica aplicadas a Arqueología. El proyecto SI...
 
Nubes, plugins y HTML para visores patrimoniales
Nubes, plugins y HTML para visores patrimonialesNubes, plugins y HTML para visores patrimoniales
Nubes, plugins y HTML para visores patrimoniales
 
Visualización de datos geográficos en Internet con CartoDB - Taller en HackLa...
Visualización de datos geográficos en Internet con CartoDB - Taller en HackLa...Visualización de datos geográficos en Internet con CartoDB - Taller en HackLa...
Visualización de datos geográficos en Internet con CartoDB - Taller en HackLa...
 
Cartografía ciudadana con OpenStreetMap
Cartografía ciudadana con OpenStreetMapCartografía ciudadana con OpenStreetMap
Cartografía ciudadana con OpenStreetMap
 
OpenStreetMap: geoinformación por y para todos - Taller RITSI 2014
OpenStreetMap: geoinformación por y para todos - Taller RITSI 2014OpenStreetMap: geoinformación por y para todos - Taller RITSI 2014
OpenStreetMap: geoinformación por y para todos - Taller RITSI 2014
 
Mapas en Wordpress
Mapas en WordpressMapas en Wordpress
Mapas en Wordpress
 
Recursos, servicios y páginas web de Información Geográfica para la provinci...
Recursos, servicios y páginas web de Información Geográfica  para la provinci...Recursos, servicios y páginas web de Información Geográfica  para la provinci...
Recursos, servicios y páginas web de Información Geográfica para la provinci...
 
Uso de TIG en la Gerencia Municipal de Urbanismo de Córdoba
Uso de TIG en la Gerencia Municipal de Urbanismo de CórdobaUso de TIG en la Gerencia Municipal de Urbanismo de Córdoba
Uso de TIG en la Gerencia Municipal de Urbanismo de Córdoba
 
¿Qué es Geoinquietos?
¿Qué es Geoinquietos?¿Qué es Geoinquietos?
¿Qué es Geoinquietos?
 

Último

Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,juberrodasflores
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria deCalet Cáceres Vergara
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaJoellyAlejandraRodrg
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresamerca6
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfIrapuatoCmovamos
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechojuliosabino1
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfJC Díaz Herrera
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicaciónJonathanAntonioMaldo
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitariachayananazcosimeon
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfJC Díaz Herrera
 
Unidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaUnidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaSilvia García
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciaferg6120
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfluisccollana
 
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfRodrigoBenitez38
 
obras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffffobras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffffJefersonBazalloCarri1
 
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfIrapuatoCmovamos
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...israel garcia
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticJamithGarcia1
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosssuser948499
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalIngrid459352
 

Último (20)

Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria de
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problema
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresa
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derecho
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicación
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdf
 
Unidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaUnidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y química
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescencia
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
 
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
 
obras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffffobras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffff
 
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datos
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dental
 

Crear API Node MongoDB

  • 1. Taller Creando una API Rest con Node.js y MongoDB Patricio Soriano Castro @sigdeletras II Jornadas Informática IES Trassierra 12 marzo 2020
  • 3. Índice ● “Hola Mundo” en Javascript ● Algo de teoría...
  • 4. Índice ● “Hola Mundo” en Javascript ● Algo de teoría... ● Picando código
  • 5. “Hola Mundo” en Javascript Crear un programa “Hola Mundo” con Javascript
  • 6. “Hola Mundo” en Javascript Crear un programa “Hola Mundo” con Javascript ● Sin usar HTML
  • 7. “Hola Mundo” en Javascript Crear un programa “Hola Mundo” con Javascript ● Sin usar HTML ● Sin usar navegador ● ???
  • 8. “Hola Mundo” en Javascript ● Con Node.js ● Creamos una archivo con holamundo.js console.log(“Hola Mundo”) ● Desde terminal $ node holamundo
  • 9. Algo de teoría….Node.js Node.js es un entorno de desarrollo del lado del servidor open source y multiplataforma escrito en JavaScript orientado a eventos asíncronos.
  • 10. Características ● Desarrollo en JavaScript ● Basado en el motor V8 de Chrome ● Operaciones de E/S sin bloqueos ● Orientado a eventos (asíncrono) ● Liviano y Eficiente ● Gestor de paquetes NPM ● Una de las herramientas estándar en del desarrollo Web (stack MEAN, MERN, MEVN)
  • 11. ¿Cuándo usar Node.js? ● Servidores Web: Con el uso de librerías que se encuentran en los paquetes propios de Node.JS o de terceros como Express, Koa y Hapi. ● Sockets: Son eventos que para realizar chats y aplicaciones en tiempo real es una excelente opción, sobretodo gracias a su gran velocidad. ● IOT: Programar placas pequeñas con poco hardware como un Arduino, permite desarrollar una aplicación y desplegarla
  • 12. NPM
  • 13. Algo de teoría...API El término API es una abreviatura de Application Programming Interfaces, que en español significa interfaz de programación de aplicaciones. Se trata de un conjunto de definiciones y protocolos que se utiliza para desarrollar e integrar el software de las aplicaciones, permitiendo la comunicación entre dos aplicaciones de software a través de un conjunto de reglas.
  • 14.
  • 15.
  • 16. Algo de teoría...API REST REST es una interfaz para conectar varios sistemas basados en el protocolo HTTP y nos sirve para obtener y generar datos y operaciones, devolviendo esos datos en formatos muy específicos, como XML y JSON.
  • 17. Características de API REST ● Protocolo cliente/servidor sin estado: cada petición HTTP contiene toda la información necesaria para ejecutarla, lo que permite que ni cliente ni servidor necesiten recordar ningún estado previo para satisfacerla. ● Las operaciones más importantes relacionadas con los datos en cualquier sistema REST y la especificación HTTP son cuatro: POST (crear), GET (leer y consultar), PUT (editar) y DELETE (eliminar). ● Los objetos en REST siempre se manipulan a partir de la URI.
  • 18. ¿Cómo vamos a montar nuestra API Rest? Express. Framework de Node diseñado para crear aplicaciones web y API. ● Manejo específico de diferentes verbos HTTP ● Gestión separada de las peticiones por medio URL (routes) ● Servicio de ficheros estáticos ● Configuración de plantillas ● Alternativas: adonis.js, Nest
  • 19. ¿...y los datos? MongoDB Almacén de documentos (JSON)
  • 20. Algo de teoría...Relacional vs No Relacional SQL NoSQL Integridad de datos (exactitud y consistencia) Cada dato tiene un tipo definido No se exige definir el tipo de datos que vas a almacenar. Operaciones atómicas (un cambio que afecta a múltiples entidades) Atomicidad mediante relaciones No existe relación, pero podemos usar referencias Escalabilidad Vertical Horizontal Velocidad - + Consistencia vs Redundancia Una única vez en toda la base de datos Repetir adrede los datos a conveniencia Comodidad para el desarrollador Madurez Prototipado
  • 21. ¿Cuándo? ● La velocidad de lectura y escritura es más importante que mantener la consistencia. ● No sabes cómo se verá la estructura de tus datos al final, y probablemente cambie mucho. ● Te es más fácil adquirir varias máquinas modestas a través del tiempo que invertir en una sola muy potente. ● Prefieres algo fácil de usar como programador, que no te exige compromisos y te deje almacenar casi cualquier cosa donde quieras.
  • 22. ¿...y los datos? ● Mongoose (ODM) ○ Definición de esquemas ○ Tipado (SchemaTypes) de atributos, atributos virtuales ○ Métodos de validación, indexado ○ Expresiones regulares ○ Funciones Get/Set