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.
Se describe por qué el mundo del Big Data va tan unido al de las Apis, qué es Big Data y las 4vs. También se describen los tipos de bases de datos noSQL, como Cassandra, DynamoDB, MongoDB... No sólo se habla de las noSQL, si no de la nueva tendencia de DWS como Amazon RedShift. Para terminar, se habla de la arquitectura Lambda y de una arquitectura típica de Apis en el mundo Big Data, con algunos ejemplos.
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.
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.
El mundo está cambiando muy rápido, y uno de los canales que están ofreciendo más oportunidades son los servicios digitales (Apis). En la presentación se muestra los distintos modelos de negocio alrededor de las Apis. Se describe como entender una API como producto, y por tanto, se analizarán todas las consideraciones a tener para convertir un simple servicio REST en un producto rentable para tu empresa.
Analizaremos qué valor puede aportar la API a tu empresa, revisando si el valor está en el CORE, en los usuarios o en otra fuente. Después se revisará cuales son los modelos de pricing a tener en cuenta y se revisará los costes a tener en cuenta a la hora de sacar una API como producto (Marketing, infraestructura, promociones...).
Se revisará un ejemplo de Business Plan de una API, que mostrará como se puede hacer un plan de negocio con una API, puesto que no deja de ser un producto digital.
Mada metodología ágil de desarrollo de apisCloudAppi
MADA es la primera metodología que ordena un poco los pasos a seguir para poder desarrollar APis de calidad. Para ello, se analizará como realizar un documento funcional que explique correctamente la API, como se debe implementar fakes para que los developers puedan empezar a desarrollar sus Aplicaciones aunque no tengamos nada desarrollado, como implementar la API, y además, como validarla utilizando herramientas como SOAPui. Además, se analizará aspectos muy importantes como la generación de documentación, casos de prueba y SDKs. Todo ello se debe utilizar uno de los lenguajes de definición de APIs, como SWAGGER, RAML O API BLUEPRINT. En este caso, se utilizará RAML para realizar los ejemplos.
Se describe por qué el mundo del Big Data va tan unido al de las Apis, qué es Big Data y las 4vs. También se describen los tipos de bases de datos noSQL, como Cassandra, DynamoDB, MongoDB... No sólo se habla de las noSQL, si no de la nueva tendencia de DWS como Amazon RedShift. Para terminar, se habla de la arquitectura Lambda y de una arquitectura típica de Apis en el mundo Big Data, con algunos ejemplos.
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.
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.
El mundo está cambiando muy rápido, y uno de los canales que están ofreciendo más oportunidades son los servicios digitales (Apis). En la presentación se muestra los distintos modelos de negocio alrededor de las Apis. Se describe como entender una API como producto, y por tanto, se analizarán todas las consideraciones a tener para convertir un simple servicio REST en un producto rentable para tu empresa.
Analizaremos qué valor puede aportar la API a tu empresa, revisando si el valor está en el CORE, en los usuarios o en otra fuente. Después se revisará cuales son los modelos de pricing a tener en cuenta y se revisará los costes a tener en cuenta a la hora de sacar una API como producto (Marketing, infraestructura, promociones...).
Se revisará un ejemplo de Business Plan de una API, que mostrará como se puede hacer un plan de negocio con una API, puesto que no deja de ser un producto digital.
Mada metodología ágil de desarrollo de apisCloudAppi
MADA es la primera metodología que ordena un poco los pasos a seguir para poder desarrollar APis de calidad. Para ello, se analizará como realizar un documento funcional que explique correctamente la API, como se debe implementar fakes para que los developers puedan empezar a desarrollar sus Aplicaciones aunque no tengamos nada desarrollado, como implementar la API, y además, como validarla utilizando herramientas como SOAPui. Además, se analizará aspectos muy importantes como la generación de documentación, casos de prueba y SDKs. Todo ello se debe utilizar uno de los lenguajes de definición de APIs, como SWAGGER, RAML O API BLUEPRINT. En este caso, se utilizará RAML para realizar los ejemplos.
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.
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
Principios básicos de la Arquitectura Rest, haciendo especial hincapié en las 6 restricciones que permiten crear API altamente escalables (Uniform Interface, Stateless, Cacheable, Client-Server, Layered System y Code on Demand).
Estas restricciones son la base de la Arquitectura REST y aplicarlas nos ayudaran a conseguir buenos diseño: correcto nombrado de los servicios, recursos, aplicar el método (GET, POST, PUT, DELETE) apropiado a la acción, descubrir recursos basándonos únicamente en las respuestas del servidor (HATEOAS), ..
Además, conoceremos el Modelo de Madurez Richarson que nos permite conocer en que punto nos encontramos dentro de la arquitectura, algunos antipatrones de diseño y ejemplos de API REST (Twitter, Facebook).
Introducción a la Arquitectura de Software.
Géneros Arquitectónicas
Estilos Arquitectónicos.
Diseño Arquitectónico.
Evaluación de los diseños alternativos para la Arquitectura.
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)lenny
Esta es la presentación correspondiente a la charla "Descubriendo Ruby on Rails: Desarrollo Agil de Aplicaciones Web" dictada el 5 de Junio de 2007 por Juan Maria Martinez Arce y Carlos Kozuszko, ambos miembros de INSIGNIA (www.insignia4u.com); en el marco de la "Semana de la Ingenieria 2007".
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.
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
Principios básicos de la Arquitectura Rest, haciendo especial hincapié en las 6 restricciones que permiten crear API altamente escalables (Uniform Interface, Stateless, Cacheable, Client-Server, Layered System y Code on Demand).
Estas restricciones son la base de la Arquitectura REST y aplicarlas nos ayudaran a conseguir buenos diseño: correcto nombrado de los servicios, recursos, aplicar el método (GET, POST, PUT, DELETE) apropiado a la acción, descubrir recursos basándonos únicamente en las respuestas del servidor (HATEOAS), ..
Además, conoceremos el Modelo de Madurez Richarson que nos permite conocer en que punto nos encontramos dentro de la arquitectura, algunos antipatrones de diseño y ejemplos de API REST (Twitter, Facebook).
Introducción a la Arquitectura de Software.
Géneros Arquitectónicas
Estilos Arquitectónicos.
Diseño Arquitectónico.
Evaluación de los diseños alternativos para la Arquitectura.
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)lenny
Esta es la presentación correspondiente a la charla "Descubriendo Ruby on Rails: Desarrollo Agil de Aplicaciones Web" dictada el 5 de Junio de 2007 por Juan Maria Martinez Arce y Carlos Kozuszko, ambos miembros de INSIGNIA (www.insignia4u.com); en el marco de la "Semana de la Ingenieria 2007".
Workshop sobre APIs realizado el 27 de abril en el Centro de Innovación de BBVA. En este evento hemos visto los detalles del funcionamiento, gestión de errores y conceptos de seguridad aplicados a APIs.
Crea rápidamente API Gateways para servicios de back-end existentes hospedados en cualquier lugar, gestiona su seguridad y monitoriza su uso y estado en todo momento. Por Ángel López
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.
Conceptos básicos de Ruby on Rails incluyendo:
- Controladores y acciones
- Rutas
- Configuraciones de applicacion
- Generación de modelos y Active Record
- Plantillas y vistas
- REST y recursos
Además de dos ejemplos prácticos:
- Página con mensaje 'Hola Mundo'
- MiniAplicación de blogs
3Redu: Responsabilidad, Resiliencia y Respetocdraco
¡Hola! Somos 3Redu, conformados por Juan Camilo y Cristian. Entendemos las dificultades que enfrentan muchos estudiantes al tratar de comprender conceptos matemáticos. Nuestro objetivo es brindar una solución inclusiva y accesible para todos.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Telefónica
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0xWord escrito por Ibón Reinoso ( https://mypublicinbox.com/IBhone ) con Prólogo de Chema Alonso ( https://mypublicinbox.com/ChemaAlonso ). Puedes comprarlo aquí: https://0xword.com/es/libros/233-big-data-tecnologias-para-arquitecturas-data-centric.html
En este documento analizamos ciertos conceptos relacionados con la ficha 1 y 2. Y concluimos, dando el porque es importante desarrollar nuestras habilidades de pensamiento.
Sara Sofia Bedoya Montezuma.
9-1.
Es un diagrama para La asistencia técnica o apoyo técnico es brindada por las compañías para que sus clientes puedan hacer uso de sus productos o servicios de la manera en que fueron puestos a la venta.
2. Síguenos en @apiaddicts
Patrocinadores
¿Qué nos ofrece?
Calle Velasco 13
Tlf: 658 89 75 75
contacta@cloudappi.net
www.cloudappi.net
Gobierno de Apis
➢ Definición de recursos
➢ Política de versionado
➢ Políticas de seguridad
➢ Estándar de definición
➢ Estándares de desarrollo
➢ Documentación
➢ Monitorización
➢ Testing
➢ Billing
➢ Gestión de entornos
Desarrollo de Apis
Desarrollamos Apis en diferentes
tecnologías, como en Java (Spring),
PHP (Zend) o node.js (express).
Integración con terceros
Consumimos apis de terceros,
como las de facebook, twitter,
gmail o de otros tipos de productos,
como el CRM de Zoho, Odoo..
3. Síguenos en @apiaddicts
APIs más populares
Google Maps
Twitter
YouTube
Flickr
Amazon Product
Advertising
Facebook
Datos recogidos de programmable web
Conociendo las Apis
Crecimiento de las Apis
4. Síguenos en @apiaddicts
1) Realizar un documento funcional
2) Realizar el diseño de la API
3) Realizar una implementación fake
4) Implementar la API
5) Validar la API
6) Generar documentación para developers
7) Generar casos de prueba (códigos de ejemplo)
8) Generar los SDks
Desarrollo de Apis
Pasos:
7. Síguenos en @apiaddicts
- Formato de la API (SOAP vs REST)
- Seguridad de la API,métodos de autenticación y autorización. Pj:
Basic, oauth1, aouth2…
- API Manager (wso2, apigee, genoa) vs ESB (Oracle Service Bus..)
Documentación
Consideraciones generales
9. Síguenos en @apiaddicts
- Lenguaje de programación y frameworks a utilizar
(java/springmvc, php/zend framework, node/express,.net/.net asp
Web API)
- Base de datos SQL vs noSQL
- Instalación en Cloud vs in-house
- Utilización de PaaS, IaaS. ¿Se deben utilizar servicios propios de
los Clouds?
- Pruebas de estrés, carga, rendimiento y volumen
Implementación
Consideraciones generales:
10. Síguenos en @apiaddicts
Una vez implementada la API, hay que
validar que la implementación cumple
con las especificaciones.
- Validación manual: Postman
- Validación automática (SOAPUI,
jMETER)
Testing
Validación de la API
11. Síguenos en @apiaddicts
Se debe generar documentación clara y comprensible para los
developers.
Documentación
Generar la documentación para el developer
12. Síguenos en @apiaddicts
Una de las cosas más importantes es generar casos de prueba
para que los developers puedan guiarse en la implementación.
Documentación
Casos de prueba
14. Síguenos en @apiaddicts
1) Realizar un documento funcional SI
2) Realizar el diseño de la API SI
3) Realizar una implementación fake SI
4) Implementar la API SI
5) Validar la API SI
6) Generar documentación SI
7) Generar SDKS SI (por el momento)
RAML
¿Donde aporta Valor?
15. Síguenos en @apiaddicts
Todo los pasos en el desarrollo de una API deben partir de un único
documento, el de definición de la API.
Existen varios lenguaje de definición de APIs que permiten obtener
nuestra meta, de los cuales los tres más importantes son
RAML, SWAGGER y BLUEPRINT
MADA
Objetivo
16. Síguenos en @apiaddicts
La API se define en RAML, un lenguaje de definición de APIs.
#%RAML 0.8
title: World Music API
baseUri: http://example.api.com/{version}
version: v1
traits:
- paged:
queryParameters:
pages:
description: The number of pages to return
type: number
- secured: !include http://raml-example.com/secured.yml
song**
Parámetros generales de la API Permite:
➢ Describir la API
➢ Incluir ficheros externos
➢ Utilizar propiedades
➢ Incluir schemas
➢ Definir la versión
➢ Definir el tipo de mediaAType
(pj:application/json)
➢ Protocolos (HTTP,HTTPS)
➢ Definir la URL base (URL en la que estará
desplegada)
➢ Definir documentación en formato Markdown
[MARKDOWN].
Documento de la API
MADA
17. Síguenos en @apiaddicts
Permite:
➢ Describir los parámetros de entrada, tanto query
parameters como uriParameters, indicando tipo,
descripción, valores por defecto, ejemplos de
valores...
➢ Definir los parámetros de salida (definirlo tanto
como json schema como por xml). Por ejemplo:
/songs:
is: [ paged, secured ]
get:
queryParameters:
genre:
description: filter the songs by genre
delete:
description: |
This method will *delete* an **individual
responses:
200:
body:
application/json:
example: !include examples/instagram-v1-media-popular-
example.json
Definiendo métodos GET y DELETE
Documento de la API
MADA
18. Síguenos en @apiaddicts
Permite:
➢ Describir los valores de entrada mediante
schemas (ya sean json o xsd)
post:
/{songId}:
post:
responses:
200:
body:
application/json:
schema: |
{ "$schema": "http://json-schema.org/schema",
"type": "object",
"description": "A canonical song",
"properties": {
"title": { "type": "string" },
"artist": { "type": "string" }
},
"required": [ "title", "artist" ]
}
application/xml:
Definiendo métodos POST
Documento de la API
MADA
19. Síguenos en @apiaddicts
Los traits permiten definir partes comunes de los recursos
traits:
- paged:
queryParameters:
pages:
description: number of pages
type: number
example: 8
song**
Definición
Traits
RAML
get:
description: obtiene los datos de un usuario
is: [paged]
responses:
200:
body:
application/json:
example: !include samples/users_get_id_200.json
20. Síguenos en @apiaddicts
Permite definir diferentes esquemas de seguridad
securitySchemes:
- oauth_2_0:
type: OAuth 2.0
describedBy:
headers:
Authorization:
type: string
queryParameters:
access_token:
type: string
responses:
401:
403:
settings:
authorizationUri: https://www.dropbox.com/1/oauth2/authorize
accessTokenUri: https://api.dropbox.com/1/oauth2/token
authorizationGrants: [ code, token
Definición
Securización
RAML
get:
description: obtiene todos los usuarios
securedBy: [oauth_2_0]
queryParameters:
sexo:
description: sexo a filtrar. Puede ser H o M
responses:
200:
body:
application/json:
example: !include samples/users_get_200.json
schema: Users
21. Síguenos en @apiaddicts
Permite definir un recurso completo y que otros hereden
resourceTypes:
- base:
get:
responses:
500:
body:
example: !include samples/base_500.json
Definición
Recursos
RAML
/users:
type: base
get:
description: obtiene todos los usuarios
securedBy: [oauth_2_0]
queryParameters:
sexo:
responses:
200:
body:
application/json:
example: !include samples/users_get_200.json
schema: Users
22. Síguenos en @apiaddicts
Permite utilizar schemas para el contenido de las peticiones / respuestas
schemas:
- Users: !include schemas/users_get.json
Definición
Schemas
RAML
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "http://jsonschema.net",
"type": "array",
"items": [
{
"id": "http://jsonschema.net/0",
"type": "object",
"properties": {
"name": {
"id": "http://jsonschema.net/0/name",
"type": "string"
} }
],
"required": [
"0",
"1"
]
}
23. Síguenos en @apiaddicts
Permite utilizar schemas para el contenido de las peticiones / respuestas
documentation:
- title: introducción
content: !include
documentation/introduction.md
Definición
Documentación
RAML
introduction.md
# Requisitos legales
# Soporte
29. Síguenos en @apiaddicts
Permite:
➢ Generar casos de
prueba
➢ Validar los parámetros
de entrada como de
salida
Importando un raml desde SoapUI
Validando la API
RAML
38. Síguenos en @apiaddicts
Existen Herramientas para generación de parte del código automáticamente
Permite:
➢ Generar código en Java
o Node
➢ Coexistir
implementación fake
con
Implementación
MADA
Since two years ago we are speaking about apis under 360 vision. We have done 20 meetups, we have more than 16000 visualizations and we have 716 api addicts