Se aprenderá a desarrollar una API siguiendo la metodología MADA que tiene como misión reducir la complejidad a la hora de desarrollar una API y que utiliza RAML como lenguaje de definición de APIs. A patir del RAML, se generará toda la documentación necesaria para exponer a los developers, se podrá construir un fake para probarlo en la consola de pruebas y se generará un esqueleto en node.js. El taller desarrollará un ejemplo utilizando objetos en memoria y otro ejemplo utilizando MongoDB como base de datos.
A veces, parece fácil definir una API pero la experiencia indica que la mayor parte de los problemas vienen precisamente de la mala definición de la misma. En el taller de definición de Apis, aprenderemos a definir correctamente una APi Restful, caules son los parámetros aconsejables a tener en cuenta, y se analizará un ejemplo de una API con un servicio GET, POST, PUT y DELETE. Para realizar el taller se utilizará el lenguaje RAML y la herramienta api designer de Mulesoft.
Profundo análisis de las tecnologías Big Data y como aplicarlas en el desarrollo de las Apis. Se analizan las bases de datos noSQL y aquellas tecnologías (Storm, Hadoop...) que pueden ayudar al desarrollo. Además, se analizan ejemplos de arquitecturas de Apis Big Data y como se han aplicado estas tecnologías.
El documento describe los pasos para el desarrollo de una API, incluyendo la creación de un documento funcional, diseño de la API, implementación de una versión preliminar, implementación completa, pruebas, documentación y generación de SDKs. Se menciona que RAML puede usarse para definir la API de una manera estandarizada que permite documentación, pruebas y generación de código.
Este documento describe los pasos para definir y desarrollar una primera API, incluyendo: (1) crear un documento funcional, (2) diseñar la API, (3) implementar una versión fake, (4) implementar la API real, (5) validar la API, (6) generar documentación, (7) casos de prueba y (8) SDKs. También discute consideraciones como el protocolo RESTful, formatos de datos, autenticación, versionado y documentación de APIs usando RAML.
El documento describe la unión entre Big Data y APIs. Explica brevemente qué es Big Data, las 4 Vs que lo caracterizan (volumen, velocidad, variedad y veracidad), y algunas bases de datos NoSQL y arquitecturas de procesamiento de datos masivos como Hadoop, Amazon Redshift y Storm. También presenta la arquitectura Lambda y principios para el desarrollo de APIs.
En esta ocasión presentamos estrategias de desarrollo de APIs REST, así como los distintas herramientas y lenguajes de especificación que nos van a permitir generar código y documentación. También repasamos herramientas de testing para APIs.
A veces, parece fácil definir una API pero la experiencia indica que la mayor parte de los problemas vienen precisamente de la mala definición de la misma. En el taller de definición de Apis, aprenderemos a definir correctamente una APi Restful, caules son los parámetros aconsejables a tener en cuenta, y se analizará un ejemplo de una API con un servicio GET, POST, PUT y DELETE. Para realizar el taller se utilizará el lenguaje RAML y la herramienta api designer de Mulesoft.
Profundo análisis de las tecnologías Big Data y como aplicarlas en el desarrollo de las Apis. Se analizan las bases de datos noSQL y aquellas tecnologías (Storm, Hadoop...) que pueden ayudar al desarrollo. Además, se analizan ejemplos de arquitecturas de Apis Big Data y como se han aplicado estas tecnologías.
El documento describe los pasos para el desarrollo de una API, incluyendo la creación de un documento funcional, diseño de la API, implementación de una versión preliminar, implementación completa, pruebas, documentación y generación de SDKs. Se menciona que RAML puede usarse para definir la API de una manera estandarizada que permite documentación, pruebas y generación de código.
Este documento describe los pasos para definir y desarrollar una primera API, incluyendo: (1) crear un documento funcional, (2) diseñar la API, (3) implementar una versión fake, (4) implementar la API real, (5) validar la API, (6) generar documentación, (7) casos de prueba y (8) SDKs. También discute consideraciones como el protocolo RESTful, formatos de datos, autenticación, versionado y documentación de APIs usando RAML.
El documento describe la unión entre Big Data y APIs. Explica brevemente qué es Big Data, las 4 Vs que lo caracterizan (volumen, velocidad, variedad y veracidad), y algunas bases de datos NoSQL y arquitecturas de procesamiento de datos masivos como Hadoop, Amazon Redshift y Storm. También presenta la arquitectura Lambda y principios para el desarrollo de APIs.
En esta ocasión presentamos estrategias de desarrollo de APIs REST, así como los distintas herramientas y lenguajes de especificación que nos van a permitir generar código y documentación. También repasamos herramientas de testing para APIs.
Mada metodología ágil de desarrollo de apisCloudAppi
Este documento describe la Metodología Ágil de Desarrollo de APIs (MADA). MADA incluye pasos como realizar un documento funcional de la API, diseñar la API, implementar una versión preliminar, implementar la API completa, validarla, generar documentación y casos de prueba. El documento también explica cómo definir una API usando el lenguaje RAML y herramientas como SoapUI y Api Designer.
Este documento describe los servicios web y su implementación en diferentes lenguajes de programación como PHP, Perl, Java y las APIs de Google. Explica cómo crear un servidor y cliente XML-RPC en PHP, un servicio web simple "Hola Mundo" en Perl, cómo definir y consumir un servicio web de validación de tarjetas de crédito en Java, y lista las diferentes APIs que Google ofrece para desarrolladores.
Este documento describe varias herramientas y marcos para el desarrollo de servicios web, incluyendo JBoss, Oracle Fusion Middleware, IBM Lotus Domino, Axis, NuSOAP y PHP. Explica cómo usar NuSOAP para crear servicios web en PHP y consumirlos como cliente. También cubre cómo usar Axis con un servidor de aplicaciones para crear y desplegar servicios web.
Este documento describe las tecnologías para implementar microservicios, incluyendo Node.js, Express, Go y .NET Core. Explica conceptos como APIs agnósticas de lenguaje, REST, HATEOAS y persitencia en bases de datos NoSQL y SQL. También cubre temas como escalabilidad, registro, monitoreo, configuración, despliegue en Heroku, Bluemix, Docker y Docker Compose. Finalmente, discute ventajas y desventajas del stack MEAN para microservicios.
1. El documento discute posibles soluciones para implementar un chat por HTTP como Iframe scripting y propone que AJAX es una solución elegante. 2. Explica el esquema de funcionamiento de AJAX donde el navegador realiza peticiones asíncronas al servidor y actualiza el DOM sin recargar la página. 3. Revisa herramientas para desarrollo AJAX como Firebug que permiten debuggear aplicaciones AJAX.
Este documento describe varias herramientas y plataformas para el desarrollo de servicios web, incluyendo NuSOAP, Axis, y servidores de aplicaciones como JBoss y WebLogic. También presenta ejemplos de cómo crear e implementar servicios web utilizando NuSOAP y Axis, así como sitios que ofrecen servicios web de código abierto como Libre Projects y Web Service Share.
Este documento presenta una introducción a Node.js, un framework de JavaScript para el desarrollo de aplicaciones web en tiempo real. Explica conceptos clave como el modelo de programación basado en eventos asíncronos, el uso de módulos y librerías como Express para crear servidores web y aplicaciones, y el acceso a bases de datos como MySQL a través de módulos. También menciona algunas herramientas y técnicas avanzadas como el uso de clusters para aprovechar múltiples procesadores.
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)lenny
El documento presenta Ruby on Rails como un framework ágil para el desarrollo de aplicaciones web. Explica conceptos clave como MVC, ORM, migraciones de base de datos y convención sobre configuración. También muestra ejemplos prácticos de código en Ruby on Rails para crear modelos, controladores y vistas.
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)INSIGNIA4U
El documento presenta Ruby on Rails como un framework ágil para el desarrollo de aplicaciones web. Explica conceptos clave como MVC, ORM, migraciones de base de datos y convención sobre configuración. También muestra ejemplos básicos de código para crear modelos, controladores y vistas en Rails.
Este documento describe diferentes herramientas y servicios para el desarrollo de servicios web, incluyendo servidores como JOnAS, Microsoft .NET, Zope y JBoss. Luego se enfoca en Axis y NuSOAP, marcos de trabajo populares para crear y desplegar servicios web en Java y PHP respectivamente. Finalmente, menciona dos sitios web que proveen servicios web gratuitos de diferentes categorías.
JHipster es un generador de código basado en Yeoman que nos genera un proyecto con Spring Boot en el back-end y con Angular en el front-end.
Llevo un año y medio desarrollando con Spring Boot y Angular y desde hace unos meses, mis nuevos desarrollos los realizo con JHipster. Por eso me he decidido a proponer este taller en donde montaré una pequeña aplicación con este tándem, y en donde hablaré también de mi propia experiencia.
Para poder asistir al taller es necesario tener instalado JHipster y tu IDE favorito (yo usaré Spring Tool Suite para back y Visual Studio Code para front). Para no tener problemas de descarga durante el taller tenéis que crearos un proyecto vacío, en el cual haremos modificaciones durante el taller. Creároslo con los valores por defecto, y luego ejecutarlo con ./mvnw para que se descarguen todas las librerías. Deberíais poder ver algo en http://localhost:8080 ;)
Este documento describe cómo crear reportes en JDeveloper utilizando JasperReports e IReport. Explica cómo configurar IReport para conectarse a una base de datos, diseñar un reporte simple con un campo de búsqueda, y ejecutar el reporte para generar un archivo JRXML que luego puede usarse en JDeveloper.
Este documento presenta una introducción a Node.js, incluyendo qué es, cómo instalarlo e implementar módulos, eventos, bases de datos y paquetes npm. Explica conceptos clave como callbacks, CommonJS y el manejo de paquetes con npm.
El documento presenta una agenda para un análisis de datos con MongoDB. La agenda incluye por qué hacer análisis con MongoDB, cómo crear un ambiente de MongoDB, cómo ingestar datos en MongoDB, cómo explorar datos con MongoDB Compass, cómo hacer análisis de datos con el Aggregation Framework de MongoDB, cómo extender el análisis con Python y Apache Spark, e integrar herramientas de BI. El documento también incluye una demostración del Aggregation Framework y la integración con Python y herramientas de BI.
El documento habla sobre diferentes tecnologías para desarrollar servicios web como Java, PHP, Perl y Google. Explica cómo crear servicios web en estos lenguajes utilizando tecnologías como SOAP, XML-RPC, JAX-WS y APIs de Google. También proporciona ejemplos de código para construir clientes y servidores de servicios web en cada lenguaje.
El resumen describe una reunión de Betabeers Granada sobre el desarrollo de APIs REST. La agenda incluye una mesa redonda sobre el desarrollo de APIs con Parse, Django y Go, la presentación de un proyecto de código abierto, y un tiempo de preguntas y respuestas. Se discuten conceptos básicos de APIs REST y ejemplos de su uso con cURL. También se cubren frameworks populares y técnicas como cacheo y throttling.
Desarrollo web en Nodejs con Pillars por Chelo Quilónbetabeers
Desarrollo web en Nodejs con Pillars por Chelo Quilón. En esta charla veremos inicialmente conceptos de Node.js y JavaScript, para después introducir las características diferenciadoras del desarrollo web en Node.js y se expondrá la metodología para crear una aplicación web mediante el framework Pillars.js.
Este documento presenta un curso de desarrollo web que enseña sobre tecnologías modernas como HTML5, CSS3, JavaScript, APIs REST, DOM, BOM, jQuery y AJAX. Explica conceptos como el modelo de objetos del documento y navegador, peticiones asincrónicas, almacenamiento local y geolocalización.
Dinámica de teambuilding para desarrolladores. La idea es muy sencilla y consta de los siguientes pasos:
1) Trabajar cada punto de los proyectos utilizando un meme
2) Analizar dichos puntos e indicar en qué podría mejorar la empresa para mejorar los puntos.
3) Cada uno, como parte de la empresa, indica lo que se compromete a mejorar para llevar a cabo la mejora que planteaban anteriormente.
El documento proporciona información sobre API Managers. Un API Manager es un conjunto de herramientas que permiten gestionar las APIs de una compañía, incluyendo un API Gateway para controlar el tráfico de APIs, un Developer Center para documentar y probar APIs, y un Publisher para publicar y administrar el ciclo de vida de APIs. También discute conceptos como tipos de API Managers, modos de licenciamiento y la importancia de establecer una buena gobernanza de APIs.
Mada metodología ágil de desarrollo de apisCloudAppi
Este documento describe la Metodología Ágil de Desarrollo de APIs (MADA). MADA incluye pasos como realizar un documento funcional de la API, diseñar la API, implementar una versión preliminar, implementar la API completa, validarla, generar documentación y casos de prueba. El documento también explica cómo definir una API usando el lenguaje RAML y herramientas como SoapUI y Api Designer.
Este documento describe los servicios web y su implementación en diferentes lenguajes de programación como PHP, Perl, Java y las APIs de Google. Explica cómo crear un servidor y cliente XML-RPC en PHP, un servicio web simple "Hola Mundo" en Perl, cómo definir y consumir un servicio web de validación de tarjetas de crédito en Java, y lista las diferentes APIs que Google ofrece para desarrolladores.
Este documento describe varias herramientas y marcos para el desarrollo de servicios web, incluyendo JBoss, Oracle Fusion Middleware, IBM Lotus Domino, Axis, NuSOAP y PHP. Explica cómo usar NuSOAP para crear servicios web en PHP y consumirlos como cliente. También cubre cómo usar Axis con un servidor de aplicaciones para crear y desplegar servicios web.
Este documento describe las tecnologías para implementar microservicios, incluyendo Node.js, Express, Go y .NET Core. Explica conceptos como APIs agnósticas de lenguaje, REST, HATEOAS y persitencia en bases de datos NoSQL y SQL. También cubre temas como escalabilidad, registro, monitoreo, configuración, despliegue en Heroku, Bluemix, Docker y Docker Compose. Finalmente, discute ventajas y desventajas del stack MEAN para microservicios.
1. El documento discute posibles soluciones para implementar un chat por HTTP como Iframe scripting y propone que AJAX es una solución elegante. 2. Explica el esquema de funcionamiento de AJAX donde el navegador realiza peticiones asíncronas al servidor y actualiza el DOM sin recargar la página. 3. Revisa herramientas para desarrollo AJAX como Firebug que permiten debuggear aplicaciones AJAX.
Este documento describe varias herramientas y plataformas para el desarrollo de servicios web, incluyendo NuSOAP, Axis, y servidores de aplicaciones como JBoss y WebLogic. También presenta ejemplos de cómo crear e implementar servicios web utilizando NuSOAP y Axis, así como sitios que ofrecen servicios web de código abierto como Libre Projects y Web Service Share.
Este documento presenta una introducción a Node.js, un framework de JavaScript para el desarrollo de aplicaciones web en tiempo real. Explica conceptos clave como el modelo de programación basado en eventos asíncronos, el uso de módulos y librerías como Express para crear servidores web y aplicaciones, y el acceso a bases de datos como MySQL a través de módulos. También menciona algunas herramientas y técnicas avanzadas como el uso de clusters para aprovechar múltiples procesadores.
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)lenny
El documento presenta Ruby on Rails como un framework ágil para el desarrollo de aplicaciones web. Explica conceptos clave como MVC, ORM, migraciones de base de datos y convención sobre configuración. También muestra ejemplos prácticos de código en Ruby on Rails para crear modelos, controladores y vistas.
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)INSIGNIA4U
El documento presenta Ruby on Rails como un framework ágil para el desarrollo de aplicaciones web. Explica conceptos clave como MVC, ORM, migraciones de base de datos y convención sobre configuración. También muestra ejemplos básicos de código para crear modelos, controladores y vistas en Rails.
Este documento describe diferentes herramientas y servicios para el desarrollo de servicios web, incluyendo servidores como JOnAS, Microsoft .NET, Zope y JBoss. Luego se enfoca en Axis y NuSOAP, marcos de trabajo populares para crear y desplegar servicios web en Java y PHP respectivamente. Finalmente, menciona dos sitios web que proveen servicios web gratuitos de diferentes categorías.
JHipster es un generador de código basado en Yeoman que nos genera un proyecto con Spring Boot en el back-end y con Angular en el front-end.
Llevo un año y medio desarrollando con Spring Boot y Angular y desde hace unos meses, mis nuevos desarrollos los realizo con JHipster. Por eso me he decidido a proponer este taller en donde montaré una pequeña aplicación con este tándem, y en donde hablaré también de mi propia experiencia.
Para poder asistir al taller es necesario tener instalado JHipster y tu IDE favorito (yo usaré Spring Tool Suite para back y Visual Studio Code para front). Para no tener problemas de descarga durante el taller tenéis que crearos un proyecto vacío, en el cual haremos modificaciones durante el taller. Creároslo con los valores por defecto, y luego ejecutarlo con ./mvnw para que se descarguen todas las librerías. Deberíais poder ver algo en http://localhost:8080 ;)
Este documento describe cómo crear reportes en JDeveloper utilizando JasperReports e IReport. Explica cómo configurar IReport para conectarse a una base de datos, diseñar un reporte simple con un campo de búsqueda, y ejecutar el reporte para generar un archivo JRXML que luego puede usarse en JDeveloper.
Este documento presenta una introducción a Node.js, incluyendo qué es, cómo instalarlo e implementar módulos, eventos, bases de datos y paquetes npm. Explica conceptos clave como callbacks, CommonJS y el manejo de paquetes con npm.
El documento presenta una agenda para un análisis de datos con MongoDB. La agenda incluye por qué hacer análisis con MongoDB, cómo crear un ambiente de MongoDB, cómo ingestar datos en MongoDB, cómo explorar datos con MongoDB Compass, cómo hacer análisis de datos con el Aggregation Framework de MongoDB, cómo extender el análisis con Python y Apache Spark, e integrar herramientas de BI. El documento también incluye una demostración del Aggregation Framework y la integración con Python y herramientas de BI.
El documento habla sobre diferentes tecnologías para desarrollar servicios web como Java, PHP, Perl y Google. Explica cómo crear servicios web en estos lenguajes utilizando tecnologías como SOAP, XML-RPC, JAX-WS y APIs de Google. También proporciona ejemplos de código para construir clientes y servidores de servicios web en cada lenguaje.
El resumen describe una reunión de Betabeers Granada sobre el desarrollo de APIs REST. La agenda incluye una mesa redonda sobre el desarrollo de APIs con Parse, Django y Go, la presentación de un proyecto de código abierto, y un tiempo de preguntas y respuestas. Se discuten conceptos básicos de APIs REST y ejemplos de su uso con cURL. También se cubren frameworks populares y técnicas como cacheo y throttling.
Desarrollo web en Nodejs con Pillars por Chelo Quilónbetabeers
Desarrollo web en Nodejs con Pillars por Chelo Quilón. En esta charla veremos inicialmente conceptos de Node.js y JavaScript, para después introducir las características diferenciadoras del desarrollo web en Node.js y se expondrá la metodología para crear una aplicación web mediante el framework Pillars.js.
Este documento presenta un curso de desarrollo web que enseña sobre tecnologías modernas como HTML5, CSS3, JavaScript, APIs REST, DOM, BOM, jQuery y AJAX. Explica conceptos como el modelo de objetos del documento y navegador, peticiones asincrónicas, almacenamiento local y geolocalización.
Dinámica de teambuilding para desarrolladores. La idea es muy sencilla y consta de los siguientes pasos:
1) Trabajar cada punto de los proyectos utilizando un meme
2) Analizar dichos puntos e indicar en qué podría mejorar la empresa para mejorar los puntos.
3) Cada uno, como parte de la empresa, indica lo que se compromete a mejorar para llevar a cabo la mejora que planteaban anteriormente.
El documento proporciona información sobre API Managers. Un API Manager es un conjunto de herramientas que permiten gestionar las APIs de una compañía, incluyendo un API Gateway para controlar el tráfico de APIs, un Developer Center para documentar y probar APIs, y un Publisher para publicar y administrar el ciclo de vida de APIs. También discute conceptos como tipos de API Managers, modos de licenciamiento y la importancia de establecer una buena gobernanza de APIs.
Presentación de Marco Antonio Sanz, CEO de LeadGods, CloudAppi, coordinador y Api Evangelist en ApiAddicts, profesor de la ufv, redactor de Open Expo y.... padre de familia
Desarrolla tu primera api con spring bootCloudAppi
Este documento presenta una introducción a Spring Boot, Spring Data Rest, HATEOAS y Spring MVC. Explica cómo crear rápidamente aplicaciones Spring, la publicación de APIs RESTful mediante Spring Data Rest y el uso de enlaces HATEOAS. También incluye demostraciones de código.
Este documento presenta a un grupo de meetup sobre APIs llamado API Addicts. El grupo ha realizado varios meetups sobre temas relacionados con APIs. También menciona a algunos patrocinadores que ofrecen experiencia en el gobierno y arquitectura de APIs. Luego, discute brevemente si es necesario un API Manager para proteger APIs y menciona algunas características clave de un API Manager como la autorización, autenticación, protección contra ataques, gobierno del ciclo de vida y métricas. Finalmente, proporciona de
Este documento describe las APIs como un modelo de negocio. Explica brevemente qué es una API y ofrece varios ejemplos de empresas que han adoptado con éxito las APIs como parte central de su negocio, como Google, Twitter y Spotify. También discute diferentes modelos de negocio, como exponer APIs internas o externas, y herramientas clave como los API managers que ayudan a publicar y gestionar APIs de forma segura.
Seguridad en las apis desde un punto de vista de developerCloudAppi
Seguridad en las APIs. Se explican cuales son las consideraciones a tener en cuenta en la seguridad de nuestras APIs, cuales son los principales sistemas de autenticación y autorización y se hace una introducción a los API Managers, con un ejemplo de APIgee y de WSO2.
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)AbrahamCastillo42
Power point, diseñado por estudiantes de ciclo 1 arquitectura de plataformas, esta con la finalidad de dar a conocer el componente hardware llamado tarjeta de video..
La inteligencia artificial sigue evolucionando rápidamente, prometiendo transformar múltiples aspectos de la sociedad mientras plantea importantes cuestiones que requieren una cuidadosa consideración y regulación.
para programadores y desarrolladores de inteligencia artificial y machine learning, como se automatiza una cadena de valor o cadena de valor gracias a la teoría por Manuel Diaz @manuelmakemoney
2. ¿Quienes somos?
Grupo de meetup
http://www.meetup.com/API-Addicts/
Meetups realizados
❏ MADA. Metodología ágil de
definición de APIs
❏ Taller: Definición de APIs
❏ Taller: Desarrolla tu primera API
❏ Seguridad en las APIs
❏ Las APis en el mundo Big Data
❏ Las APis en el mundo Cloud
❏ Apis como modelo de negocio
❏ Define y desarrolla tu primera API
Marco Antonio Sanz:http://es.linkedin.com/pub/marco-antonio-sanz-molina-prados/18/335/97/
3. Patrocinadores
¿qué nos ofrece?
➢ know - how de apis
➢ Experiencia en el gobierno de Apis
➢ Ejemplos de arquitecturas
➢ Experiencia en el mundo Cloud
Calle Velasco 13
Tlf: 658 89 75 75
admin@cloudappi.net ·
www.cloudappi.net
4. ❏ Realizar un documento funcional
❏ Realizar el diseño de la API
❏ Realizar una implementación fake
❏ Implementar la API
❏ Validar la API
❏ Generar documentación para developers
❏ Generar casos de prueba (códigos de ejemplo)
❏ Generar los SDks
Pasos para desarrollar una API
Índice
5. Datos recogidos de google Trend
Búsquedas por lenguajes en google Commits por lenguaje en github
Datos recogidos de ohloh.net
Primeros pasos
¿Qué lenguaje utilizo?
6. ➢ Es una tecnología que está en auge
➢ El lenguaje es Javascript, que todo el
mundo conoce.
➢ Es muy fácil desarrollar una API con el
módulo express
➢ integración con RAML (proyecto osprey)
¿Por qué node.js?
Primeros pasos
7. ➢ Framework javascript para ejecutar código del lado del
servidor. Se ejecuta sobre el V8 de Google.
Aspectos generales
Node.js
8. ➢ Es orientado a eventos y no a threads,
basándose en la programación asíncrona.
➢ Levanta un servidor web en local.
➢ Buena gestión de los paquetes con npm.
➢ El módulo express ayuda a desarrollar APIs.
Aspectos generales
Node.js
9. raml http://raml.org/ url dónde se encuentra toda la
documentación de RAML
api designer http://api-
portal.anypoint.mulesof
t.com/raml/api-designer
url del api designer
c9.io https://c9.io/ Entorno para desarrollo
test.raml http://api-
portal.anypoint.mulesof
t.com/cloudsystems/api
/notifly/test.raml
raml de partida
Recursos
Implementación
10. Utilizamos el proyecto Osprey
Seguimos los pasos que ponen
en Github
Generando el esqueleto
Implementación
11. Instalamos Osprey-cli
npm install -g osprey-cli
Generamos el esqueleto
osprey new raml/test.raml --
name test --target test
Generando el esqueleto
Implementación
15. Nuestros primeros pasos
➢ Instalación de módulos con npm
install <módulo> o package.json
➢ Importación de módulos con
require
➢ Ejecución del servidor
➢ Módulo express
var express = require('express');
var path = require('path');
var osprey = require('osprey');
var app = module.exports = express();
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.compress());
app.use(express.logger('dev'));
app.set('port', process.env.PORT || 3000);
api = osprey.create('/api', app, {
ramlFile: path.join(__dirname, '/assets/raml/api.raml'),
logLevel: 'debug' // logLevel: off->No logs | info->Show Osprey modules initializations | debug->Show all
});
if (!module.parent) {
var port = app.get('port');
app.listen(port);
console.log('listening on port ' + port);
}
Generando el esqueleto
Implementación
20. ¿Qué es MongoDB?
Es una base de datos opensource noSQL orientada a documento. Sus principales
características son las siguientes:
- Orientada a documento. La información se organiza como colecciones de
documentos json.
- Los documentos están en formato BSON
- Permite indexar por cualquier campo
- Permite alta disponibilidad y replicación de la información
- Auto - sharding. Permite escalamiento horizontal.
- Map Reduce
- Permite realizar queries basadas en documentos
Conectando a la BBDD
Implementación
21. Conectando node con MongoDB
Es una base de datos opensource noSQL orientada a documento. Sus principales
características son las siguientes:
- Orientada a documento. La información se organiza como colecciones de
documentos json.
- Los documentos están en formato BSON
- Permite indexar por cualquier campo
- Permite alta disponibilidad y replicación de la información
- Auto - sharding. Permite escalamiento horizontal.
- Map Reduce
- Permite realizar queries basadas en documentos
Conectando a la BBDD
Implementación
22. Instalando el driver de Mongo. package.json
{
"name": "test",
"version": "0.0.1",
"private": true,
"dependencies": {
"express": "3.4.4",
"osprey": "0.1.1",
"mongodb":"*"
}
var MongoClient = require ('mongodb').MongoClient;
MongoClient.connect('mongodb://localhost:27017/meetup',function(err,db){
if (err) throw err;
});
Conectando a la base de datos. app.js
Configurando MongoDB
Implementación
23. GET /api/users
app.get('/api/users', function(req, res) {
var params={};
if (req.params){
params=req.params;
}
db.collection('users').find(params).toArray(function(er
r,users){
if (err)throw err;
res.send({
"result": {
"info":
"OK"
},
"data": users
});
});
});
Resultado
{
"result": {
"info": "OK"
},
"data": [
{
"name": "Marco",
"firstname": "Polo",
"lastname": "2",
"address": {
"descripcion": "blab bla",
"number": "2"
},
"_id": "53cee9b7e892d0c91d7ab299"
}]}
Creando un GET con BBDD
Implementación
24. POST /api/users
app.post('/api/users', function(req, res) {
var user=req.body;
db.collection('users').insert(user,function(err,user){
res.send({
"result": {
"info":
"OK"
},
"data": user
});
});
});
Resultado
{
"result": { "info": "OK" },
"data": [ {
"name": "Marco",
"firstname": "Polo",
"lastname": "2",
"address": {
"descripcion": "blab bla",
"number": "2"
},
"_id": "53ceee94e657ff1a1f93893c"
}
]
}
Creando un POST con BBDD
Implementación
25. PUT /api/users/53cee9c8e892d0c91d7ab29b
app.put('/api/users/:userid', function(req, res) {
var objectId = new ObjectID(req.params.userid);
var user = req.body;
db.collection('users').update({_id:objectId},user,function(er
r,updated){
res.send({
"result": {
"info": "OK"
},
"data": updated
});
});
});
Resultado
{
"result": {
"info": "OK"
},
"data": 0
}
Creando un PUT con BBDD
Implementación
26. DEL /api/users/53cee9c8e892d0c91d7ab29b
app.delete('/api/users/:userid', function(req, res) {
var objectId = new ObjectID(req.params.userid);
db.collection('users').remove({_id:objectId},function(e
rr,user){
res.send({
"result": {
"info": "OK"
},
"data": user
});
});
});
Resultado
{
"result": {
"info": "OK"
},
"data": 0
}
Creando un DELETE con BBDD
Implementación
28. ➢ Mongoose, mongoose-validate, mongoose-schema-extend:
Permite definir esquemas para mongo
➢ Express.router: Permite unificar todas las rutas en un sólo fichero
➢ Express validator: Permite validar parámetros
➢ Errorhandler: Permite manejar los errores de un forma más fácil
➢ Log4js-node: Permite configurar y manejar los logs
➢ Node-schedule: Permite configurar tareas batch
Utilidades
➢ ForEver: Permite ejecutar continuamente el script node
➢ Node-supervidor: Permite realizar actualizaciones en caliente
Módulos interesantes
Algunas cosas más
29. ➢ MongoDB: http://www.mongodb.org/
➢ RAML: http://raml.org/
➢ Nodejs: http://nodejs.org/
➢ IDe para poder desarrollar y ejecutar nuestras pruebas: http://c9.io
➢ API designer: http://api-portal.anypoint.mulesoft.com/raml/api-designer:
➢ Cursos de Mongo con node: https://university.mongodb.com/
Enlaces de interés
Enlaces