SlideShare a Scribd company logo
1 of 42
Automatic API REST
Simplifica tus consultas
Alejandro Esquiva Rodríguez
(@alex_esquiva)
Automatic API REST: Simplifica tus consultas by Geeky Theory is
licensed under a Creative Commons Reconocimiento-
NoComercial-CompartirIgual 4.0 Internacional License.
¿Quiénes Somos?
• Geeky Theory es comunidad de “geeks para geeks”,
para los amantes de las nuevas tecnologías.
• Misión: Compartir conocimientos. Creamos tutoriales
y artículos sobre diversos temas: Android, Arduino,
Raspberry Pi, Java, PHP, Windows Phone, entre
otros.
¿Quiénes Somos?
Miguel CatalánMario Pérez Jesualdo Ros
Luis Belzunce
Alejandro Esquiva
Osmary Guevara Dachi Gogotchurri
¿Quiénes Somos?
Objetivos:
• Ser una web influyente y de referencia en el ámbito geek.
• Enseñar, inspirar y ayudar a programar.
• Generar conocimientos y debates relacionados con las áreas STEM
(ciencia, tecnología, ingeniería y matemáticas).
• Crecer. Queremos más autores, más publicaciones, más conocimientos.
¿Qué es una API REST?
API
• Una API representa una interfaz de comunicación entre componentes de
software.
¿Qué es una API REST?
REST
• Transferencia de estado Representacional.
• Está orientado a transferencia de recursos.
• Arquitectura cliente/servidor sin estado: ni el cliente ni el servidor necesitan
recordar ningún estado de las comunicaciones entre mensajes.
• Hace uso del protocolo HTTP.
• Cada recurso es únicamente accesible a través de su URI.
• Los datos son generalmente ofrecidos en formato JSON o XML .
• Control de errores.
¿Qué es una API REST?
Cada recurso es accesible a través de una única URI.
URIs
¿Qué es una API REST?
El cliente hace peticiones al
servidor usando el protocolo
HTTP. El servidor le responde a
través del mismo protocolo.
Arquitectura Cliente - Servidor
¿Qué es una API REST?
• GET
Pedir información a un recurso.
• POST
Create: Orden para insertar información.
Update: Modificar información.
• PUT
Create: Orden para insertar información.
Update: Modificar información.
• DELETE
Eliminar información del servidor.
Operadores API REST
¿Qué es una API REST?
JSON
Formatos de salida
XML
¿Qué es una API REST?
Ejemplos de APIs
Android y APIs
Necesidad
• Base de datos externa.
• Interacción de datos entre servidor y cliente.
• Aplicaciones multiplataforma
Automatic API REST
¿Qué es?
• Una herramienta Open Source.
• Crea una completa API de tu base de
datos MySQL o MariaDB.
• Proporciona una red automática de
enlaces que proporcionan la información
en JSON o XML.
• Intercambia información entre distintos
lenguajes de programación.
• Panel de control para gestionar la
privacidad de las tablas o campos de la
base de datos.
http://AutomaticApiRest.info
Automatic API REST
Especificaciones
• Creación de enlaces únicos para cada recurso (URIs)
• Gestión de privacidad de las tablas.
• No altera la estructura de la base de datos.
• Obtener datos (GET) en formato JSON y XML.
• Insertar datos (POST) a través de enlaces únicos.
• Modificar Datos (POST) a través de enlaces únicos.
• Gestión de errores.
Automatic API REST
Modo de empleo
• Aplicación de servidor
1. Instalar Automatic Api Rest en un servidor con soporte para PHP y MySQL.
2. Configurar el archivo config.php con los credenciales del servidor y apuntar a
nuestra base de datos.
3. Entrar en el panel de control con los credenciales que hemos indicado en el archivo
config.php
4. Indicar que tablas y campos son privados, deshabilitando la opción de
obtener/añadir/modificar/eliminar datos.
Automatic API REST
Modo de empleo (GET)
• Aplicación de cliente (java, Python, c++,…)
1. Seleccionar los enlaces que queremos consultar desde el panel de control de
Automatic API Rest.
2. Obtener el json/xml de la petición.
3. Parsear datos obtenidos.
Automatic API REST
Modo de empleo (POST)
• Aplicación de cliente (java, Python, c++,…)
1. Seleccionar el enlace donde queremos enviar la información.
2. Preparamos un json o xml (también se puede insertar desde parámetros POST) con
los datos a insertar o modificar.
3. Enviar la petición
4. Obtenemos la respuesta con los resultados de la consulta
Cuando Usar Automatic API REST
• ¿Tienes una aplicación que necesite obtener datos de
una base de datos externa?
• ¿Tienes una aplicación que sea multiplataforma?
• ¿Quieres ahorrar tiempo en el desarrollo de una API?
Ejemplo de uso: Base de datos
Descarga de la base de datos de prueba.
http://dev.mysql.com/doc/index-other.html
• Base de datos: World
• Número de tablas: 3
• city: 4079 filas
• country: 239 filas
• countrylanguage: 991 filas
city
countrylanguage
country
Ejemplo de uso: Instalación
1. Descargamos Automatic API REST.
2. Extraer el zip y subir todo el directorio a la raíz principal
de vuestro servidor.
3. Abrir el archivo config.php y rellenar todos los campos
con los credenciales de la base de datos.
4. Visitar
http://tudominio.com/AutomaticaApiRest
Ejemplo de uso: Config.php
• SERVER: localhost
• USER: Usuario de la base de datos
• PASS: Contraseña del usuario de la base de datos
• DB: Base de datos a la que queremos apuntar
• USERADMIN: cuenta de administrador de AAR
• PASSADMIN: contraseña de administrador
Ejemplo de uso: Log In
http://tudominio.com/AutomaticaApiRest
Ejemplo de uso: Panel de Control
Ejemplo de uso: Navegación
Home: Enlace al inicio del panel de control.
Documentation: Documentación del proyecto. [En Construcción]
Black List: Gestión de las tablas privadas.
GitHub: Enlace al proyecto en GitHub
Close: Cierre de la sesión.
Ejemplo de uso: Gestión de tablas
Table Name: Nombre de la tabla de la base de datos.
API Link: Dirección única del recurso donde vamos a consultar todos los datos en formato JSON
de la tabla.
Items: Número de Items que tiene la tabla.
Show Table: Mostrar una tabla con los datos de la tabla seleccionada.
Privacity: Esta casilla muestra si la tabla es pública o privada, en caso de que sea privada no se
podrá ni consultar ni gestionar la tabla.
Ejemplo de uso: Gestión de campos
Column: Nombre del campo de la tabla seleccionada.
API Link: Enlace que genera un JSON con toda la información del campo encapsulado.
Show Table: Ver una tabla con los datos del campo seleccionado.
Select: Consulta personalizada (Ver siguiente punto).
Privacity: Privacidad del campo.
Ejemplo de uso: Consulta Personalizada
Observamos que podemos personalizar la consulta de datos, si por ejemplo sólo nos interesa el ID
y el nombre de los últimos 5 registros de la tabla city ordenados por el campo Name generamos
un enlace que exactamente nos ofrezca eso.
Ejemplo de uso: Black List
La Black List muestra todos las tablas y columnas que no permitimos ni obtener ni insertar datos.
Desde esta misma tabla podemos eliminar los registros de la Black List.
Ejemplo de uso: Salida JSON
{"data":[{"0":"u00b4s-Hertogenbosch","Name":"u00b4s-
Hertogenbosch","1":"Noord-Brabant","District":"Noord-
Brabant","2":"129170","Population":"129170"},{"0":"u0160umen
","Name":"u0160umen","1":"Varna","District":"Varna","2":"9468
6","Population":"94686"},{"0":"u0160tu0161olkovo","Name":"u
0160tu0161olkovo","1":"Moskova","District":"Moskova","2":"104
900","Population":"104900"},{"0":"u0160ostka","Name":"u0160
ostka","1":"Sumy","District":"Sumy","2":"90000","Population":"90
000"},{"0":"u0160iauliai","Name":"u0160iauliai","1":"u0160iauli
ai","District":"u0160iauliai","2":"146563","Population":"146563"}]
,"dbInfo":["Name","District","Population"]}
Ejemplo de uso: Aplicación Cliente - Java
Obtener información en JAVA
• Creación de una clase para la
obtención y gestión de datos.
• Creación de métodos
necesarios para parsear JSONs
y obtener los datos a través de
un enlace dado.
Ejemplo de uso: Aplicación Cliente - Java
getJSON
• Obtiene un JSON a través de
un enlace dado
Ejemplo de uso: Aplicación Cliente - Java
getDataStringArray
• Hace uso de la librería json-simple-
1.1.1.jar
• Devuelve un array multidimensional
de Strings con la información del
JSON
Ejemplo de uso: Aplicación Cliente - Java
setData
Ejemplo de uso: Aplicación Cliente - Java
Ejemplo 1: Obtención de un dato
Ejemplo de uso: Aplicación Cliente - Java
Ejemplo 2: Inserción de datos
Ejemplo de uso: Aplicación Cliente - Java
Ejemplo 3: Código de errores [Invalid Parameters]
Ejemplo de uso: Aplicación Cliente - Java
Ejemplo 4: Código de errores [Unauthorized]
Campo privada: CountryCode
Automatic API REST (alpha/beta)
Actualmente Automatic API REST es un projecto alpha, falta implementar mejoras y
crear una documentación para cada tipo de lenguaje.
Líneas Futuras de AAR
• Documentación de cada plataforma
• Creación de librerías para cada plataforma que facilite el uso de AAR
• Implementación de seguridad con OAUTH 2.0
• Dar soporte a consultas complejas, WHERE, INNER, etc.
• Escoger permisos de cada tabla/campo, elegir permisos de cada campo.
• Gestión óptima de URIs
Proyecto Open Source
• Automatic API REST es un proyecto
Open Source, todo el mundo es
bienvenido a colaborar.
• Para colaborar, enviar directamente
vuestros pull request o enviar un correo a
alejandro@geekytheory.com
Gracias
Alejandro Esquiva
Rodriguez
/aesquiva
http://geekytheory.com
@alex_esquiva @GeekyTheory
http://AutomaticApiRest.info
/geekytheory

More Related Content

Viewers also liked

Taller Android Party: Automatic API REST + Notificaciones PUSH
Taller Android Party: Automatic API REST + Notificaciones PUSHTaller Android Party: Automatic API REST + Notificaciones PUSH
Taller Android Party: Automatic API REST + Notificaciones PUSHAlejandro Esquiva Rodriguez
 
Why vREST?
Why vREST?Why vREST?
Why vREST?vrest_io
 
Arquitectura Rest
Arquitectura RestArquitectura Rest
Arquitectura RestIsrael Rey
 
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCParadigma Digital
 
REST, JERSEY & SOAP
REST, JERSEY & SOAPREST, JERSEY & SOAP
REST, JERSEY & SOAPea2014G3
 
Code Smells y SOLID: A qué huele tu código?
Code Smells y SOLID: A qué huele tu código?Code Smells y SOLID: A qué huele tu código?
Code Smells y SOLID: A qué huele tu código?Johnny Ordóñez
 
Building Automated REST APIs with Python
Building Automated REST APIs with PythonBuilding Automated REST APIs with Python
Building Automated REST APIs with PythonJeff Knupp
 
Learn REST API with Python
Learn REST API with PythonLearn REST API with Python
Learn REST API with PythonLarry Cai
 

Viewers also liked (11)

Taller Android Party: Automatic API REST + Notificaciones PUSH
Taller Android Party: Automatic API REST + Notificaciones PUSHTaller Android Party: Automatic API REST + Notificaciones PUSH
Taller Android Party: Automatic API REST + Notificaciones PUSH
 
Arquitectura REST
Arquitectura RESTArquitectura REST
Arquitectura REST
 
Why vREST?
Why vREST?Why vREST?
Why vREST?
 
Arquitectura Rest
Arquitectura RestArquitectura Rest
Arquitectura Rest
 
Services factory
Services factoryServices factory
Services factory
 
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
 
REST, JERSEY & SOAP
REST, JERSEY & SOAPREST, JERSEY & SOAP
REST, JERSEY & SOAP
 
Introducción a REST - SymfonyVLC
Introducción a REST - SymfonyVLCIntroducción a REST - SymfonyVLC
Introducción a REST - SymfonyVLC
 
Code Smells y SOLID: A qué huele tu código?
Code Smells y SOLID: A qué huele tu código?Code Smells y SOLID: A qué huele tu código?
Code Smells y SOLID: A qué huele tu código?
 
Building Automated REST APIs with Python
Building Automated REST APIs with PythonBuilding Automated REST APIs with Python
Building Automated REST APIs with Python
 
Learn REST API with Python
Learn REST API with PythonLearn REST API with Python
Learn REST API with Python
 

Similar to Automatic API REST Droidcon

Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)Iniciativa Barcelona Open Data
 
WORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTWORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTBEEVA_es
 
Taller definición de apis
Taller definición de apisTaller definición de apis
Taller definición de apisCloudAppi
 
Define y desarrolla tu primera api
Define y desarrolla tu primera apiDefine y desarrolla tu primera api
Define y desarrolla tu primera apiCloudAppi
 
Servicios web con Python
Servicios web con PythonServicios web con Python
Servicios web con PythonManuel Pérez
 
S3 2016 taller-javascript-v2
S3 2016 taller-javascript-v2S3 2016 taller-javascript-v2
S3 2016 taller-javascript-v2Manuel Gértrudix
 
Desarrollando un API con REST
Desarrollando un API con RESTDesarrollando un API con REST
Desarrollando un API con RESTAlex Puig
 
MetaShield Protector
MetaShield ProtectorMetaShield Protector
MetaShield ProtectorChema Alonso
 
Revelando los secretos de twitter, Festival de Software Libre 2014
Revelando los secretos de twitter, Festival de Software Libre 2014Revelando los secretos de twitter, Festival de Software Libre 2014
Revelando los secretos de twitter, Festival de Software Libre 2014Abel Alejandro Coronado Iruegas
 
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...SemanticWebBuilder
 
RESTful Para todos by Diego Sapriza
RESTful Para todos by Diego SaprizaRESTful Para todos by Diego Sapriza
RESTful Para todos by Diego Sapriza.NET Conf UY
 
Creacion Apirest Back{4}app
Creacion Apirest Back{4}appCreacion Apirest Back{4}app
Creacion Apirest Back{4}appblackmatt
 
JSDays Desarrolla tu primera API
JSDays Desarrolla tu primera APIJSDays Desarrolla tu primera API
JSDays Desarrolla tu primera APICloudAppi
 
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 ProyectoLuis Fernando Aguas Bucheli
 

Similar to Automatic API REST Droidcon (20)

Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)
 
WORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTWORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API REST
 
Taller definición de apis
Taller definición de apisTaller definición de apis
Taller definición de apis
 
Curso integración Web Semántica
Curso integración Web Semántica Curso integración Web Semántica
Curso integración Web Semántica
 
Define y desarrolla tu primera api
Define y desarrolla tu primera apiDefine y desarrolla tu primera api
Define y desarrolla tu primera api
 
Servicios web con Python
Servicios web con PythonServicios web con Python
Servicios web con Python
 
RAML
RAMLRAML
RAML
 
S3 2016 taller-javascript-v2
S3 2016 taller-javascript-v2S3 2016 taller-javascript-v2
S3 2016 taller-javascript-v2
 
Desarrollando un API con REST
Desarrollando un API con RESTDesarrollando un API con REST
Desarrollando un API con REST
 
Introducción a ASP.NET Web API
Introducción a ASP.NET Web APIIntroducción a ASP.NET Web API
Introducción a ASP.NET Web API
 
MetaShield Protector
MetaShield ProtectorMetaShield Protector
MetaShield Protector
 
Revelando los secretos de twitter, Festival de Software Libre 2014
Revelando los secretos de twitter, Festival de Software Libre 2014Revelando los secretos de twitter, Festival de Software Libre 2014
Revelando los secretos de twitter, Festival de Software Libre 2014
 
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
 
RESTful Para todos by Diego Sapriza
RESTful Para todos by Diego SaprizaRESTful Para todos by Diego Sapriza
RESTful Para todos by Diego Sapriza
 
16 Alternativas XML
16 Alternativas XML16 Alternativas XML
16 Alternativas XML
 
Creacion Apirest Back{4}app
Creacion Apirest Back{4}appCreacion Apirest Back{4}app
Creacion Apirest Back{4}app
 
Servicios web
Servicios webServicios web
Servicios web
 
JSDays Desarrolla tu primera API
JSDays Desarrolla tu primera APIJSDays Desarrolla tu primera API
JSDays Desarrolla tu primera API
 
GLUE (1).pdf
GLUE (1).pdfGLUE (1).pdf
GLUE (1).pdf
 
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
 

Automatic API REST Droidcon

  • 1. Automatic API REST Simplifica tus consultas Alejandro Esquiva Rodríguez (@alex_esquiva) Automatic API REST: Simplifica tus consultas by Geeky Theory is licensed under a Creative Commons Reconocimiento- NoComercial-CompartirIgual 4.0 Internacional License.
  • 2. ¿Quiénes Somos? • Geeky Theory es comunidad de “geeks para geeks”, para los amantes de las nuevas tecnologías. • Misión: Compartir conocimientos. Creamos tutoriales y artículos sobre diversos temas: Android, Arduino, Raspberry Pi, Java, PHP, Windows Phone, entre otros.
  • 3. ¿Quiénes Somos? Miguel CatalánMario Pérez Jesualdo Ros Luis Belzunce Alejandro Esquiva Osmary Guevara Dachi Gogotchurri
  • 4. ¿Quiénes Somos? Objetivos: • Ser una web influyente y de referencia en el ámbito geek. • Enseñar, inspirar y ayudar a programar. • Generar conocimientos y debates relacionados con las áreas STEM (ciencia, tecnología, ingeniería y matemáticas). • Crecer. Queremos más autores, más publicaciones, más conocimientos.
  • 5. ¿Qué es una API REST? API • Una API representa una interfaz de comunicación entre componentes de software.
  • 6. ¿Qué es una API REST? REST • Transferencia de estado Representacional. • Está orientado a transferencia de recursos. • Arquitectura cliente/servidor sin estado: ni el cliente ni el servidor necesitan recordar ningún estado de las comunicaciones entre mensajes. • Hace uso del protocolo HTTP. • Cada recurso es únicamente accesible a través de su URI. • Los datos son generalmente ofrecidos en formato JSON o XML . • Control de errores.
  • 7. ¿Qué es una API REST? Cada recurso es accesible a través de una única URI. URIs
  • 8. ¿Qué es una API REST? El cliente hace peticiones al servidor usando el protocolo HTTP. El servidor le responde a través del mismo protocolo. Arquitectura Cliente - Servidor
  • 9. ¿Qué es una API REST? • GET Pedir información a un recurso. • POST Create: Orden para insertar información. Update: Modificar información. • PUT Create: Orden para insertar información. Update: Modificar información. • DELETE Eliminar información del servidor. Operadores API REST
  • 10. ¿Qué es una API REST? JSON Formatos de salida XML
  • 11. ¿Qué es una API REST? Ejemplos de APIs
  • 12. Android y APIs Necesidad • Base de datos externa. • Interacción de datos entre servidor y cliente. • Aplicaciones multiplataforma
  • 13. Automatic API REST ¿Qué es? • Una herramienta Open Source. • Crea una completa API de tu base de datos MySQL o MariaDB. • Proporciona una red automática de enlaces que proporcionan la información en JSON o XML. • Intercambia información entre distintos lenguajes de programación. • Panel de control para gestionar la privacidad de las tablas o campos de la base de datos. http://AutomaticApiRest.info
  • 14. Automatic API REST Especificaciones • Creación de enlaces únicos para cada recurso (URIs) • Gestión de privacidad de las tablas. • No altera la estructura de la base de datos. • Obtener datos (GET) en formato JSON y XML. • Insertar datos (POST) a través de enlaces únicos. • Modificar Datos (POST) a través de enlaces únicos. • Gestión de errores.
  • 15. Automatic API REST Modo de empleo • Aplicación de servidor 1. Instalar Automatic Api Rest en un servidor con soporte para PHP y MySQL. 2. Configurar el archivo config.php con los credenciales del servidor y apuntar a nuestra base de datos. 3. Entrar en el panel de control con los credenciales que hemos indicado en el archivo config.php 4. Indicar que tablas y campos son privados, deshabilitando la opción de obtener/añadir/modificar/eliminar datos.
  • 16. Automatic API REST Modo de empleo (GET) • Aplicación de cliente (java, Python, c++,…) 1. Seleccionar los enlaces que queremos consultar desde el panel de control de Automatic API Rest. 2. Obtener el json/xml de la petición. 3. Parsear datos obtenidos.
  • 17. Automatic API REST Modo de empleo (POST) • Aplicación de cliente (java, Python, c++,…) 1. Seleccionar el enlace donde queremos enviar la información. 2. Preparamos un json o xml (también se puede insertar desde parámetros POST) con los datos a insertar o modificar. 3. Enviar la petición 4. Obtenemos la respuesta con los resultados de la consulta
  • 18. Cuando Usar Automatic API REST • ¿Tienes una aplicación que necesite obtener datos de una base de datos externa? • ¿Tienes una aplicación que sea multiplataforma? • ¿Quieres ahorrar tiempo en el desarrollo de una API?
  • 19. Ejemplo de uso: Base de datos Descarga de la base de datos de prueba. http://dev.mysql.com/doc/index-other.html • Base de datos: World • Número de tablas: 3 • city: 4079 filas • country: 239 filas • countrylanguage: 991 filas city countrylanguage country
  • 20. Ejemplo de uso: Instalación 1. Descargamos Automatic API REST. 2. Extraer el zip y subir todo el directorio a la raíz principal de vuestro servidor. 3. Abrir el archivo config.php y rellenar todos los campos con los credenciales de la base de datos. 4. Visitar http://tudominio.com/AutomaticaApiRest
  • 21. Ejemplo de uso: Config.php • SERVER: localhost • USER: Usuario de la base de datos • PASS: Contraseña del usuario de la base de datos • DB: Base de datos a la que queremos apuntar • USERADMIN: cuenta de administrador de AAR • PASSADMIN: contraseña de administrador
  • 22. Ejemplo de uso: Log In http://tudominio.com/AutomaticaApiRest
  • 23. Ejemplo de uso: Panel de Control
  • 24. Ejemplo de uso: Navegación Home: Enlace al inicio del panel de control. Documentation: Documentación del proyecto. [En Construcción] Black List: Gestión de las tablas privadas. GitHub: Enlace al proyecto en GitHub Close: Cierre de la sesión.
  • 25. Ejemplo de uso: Gestión de tablas Table Name: Nombre de la tabla de la base de datos. API Link: Dirección única del recurso donde vamos a consultar todos los datos en formato JSON de la tabla. Items: Número de Items que tiene la tabla. Show Table: Mostrar una tabla con los datos de la tabla seleccionada. Privacity: Esta casilla muestra si la tabla es pública o privada, en caso de que sea privada no se podrá ni consultar ni gestionar la tabla.
  • 26. Ejemplo de uso: Gestión de campos Column: Nombre del campo de la tabla seleccionada. API Link: Enlace que genera un JSON con toda la información del campo encapsulado. Show Table: Ver una tabla con los datos del campo seleccionado. Select: Consulta personalizada (Ver siguiente punto). Privacity: Privacidad del campo.
  • 27. Ejemplo de uso: Consulta Personalizada Observamos que podemos personalizar la consulta de datos, si por ejemplo sólo nos interesa el ID y el nombre de los últimos 5 registros de la tabla city ordenados por el campo Name generamos un enlace que exactamente nos ofrezca eso.
  • 28. Ejemplo de uso: Black List La Black List muestra todos las tablas y columnas que no permitimos ni obtener ni insertar datos. Desde esta misma tabla podemos eliminar los registros de la Black List.
  • 29. Ejemplo de uso: Salida JSON {"data":[{"0":"u00b4s-Hertogenbosch","Name":"u00b4s- Hertogenbosch","1":"Noord-Brabant","District":"Noord- Brabant","2":"129170","Population":"129170"},{"0":"u0160umen ","Name":"u0160umen","1":"Varna","District":"Varna","2":"9468 6","Population":"94686"},{"0":"u0160tu0161olkovo","Name":"u 0160tu0161olkovo","1":"Moskova","District":"Moskova","2":"104 900","Population":"104900"},{"0":"u0160ostka","Name":"u0160 ostka","1":"Sumy","District":"Sumy","2":"90000","Population":"90 000"},{"0":"u0160iauliai","Name":"u0160iauliai","1":"u0160iauli ai","District":"u0160iauliai","2":"146563","Population":"146563"}] ,"dbInfo":["Name","District","Population"]}
  • 30. Ejemplo de uso: Aplicación Cliente - Java Obtener información en JAVA • Creación de una clase para la obtención y gestión de datos. • Creación de métodos necesarios para parsear JSONs y obtener los datos a través de un enlace dado.
  • 31. Ejemplo de uso: Aplicación Cliente - Java getJSON • Obtiene un JSON a través de un enlace dado
  • 32. Ejemplo de uso: Aplicación Cliente - Java getDataStringArray • Hace uso de la librería json-simple- 1.1.1.jar • Devuelve un array multidimensional de Strings con la información del JSON
  • 33. Ejemplo de uso: Aplicación Cliente - Java setData
  • 34. Ejemplo de uso: Aplicación Cliente - Java Ejemplo 1: Obtención de un dato
  • 35. Ejemplo de uso: Aplicación Cliente - Java Ejemplo 2: Inserción de datos
  • 36. Ejemplo de uso: Aplicación Cliente - Java Ejemplo 3: Código de errores [Invalid Parameters]
  • 37. Ejemplo de uso: Aplicación Cliente - Java Ejemplo 4: Código de errores [Unauthorized] Campo privada: CountryCode
  • 38. Automatic API REST (alpha/beta) Actualmente Automatic API REST es un projecto alpha, falta implementar mejoras y crear una documentación para cada tipo de lenguaje.
  • 39. Líneas Futuras de AAR • Documentación de cada plataforma • Creación de librerías para cada plataforma que facilite el uso de AAR • Implementación de seguridad con OAUTH 2.0 • Dar soporte a consultas complejas, WHERE, INNER, etc. • Escoger permisos de cada tabla/campo, elegir permisos de cada campo. • Gestión óptima de URIs
  • 40. Proyecto Open Source • Automatic API REST es un proyecto Open Source, todo el mundo es bienvenido a colaborar. • Para colaborar, enviar directamente vuestros pull request o enviar un correo a alejandro@geekytheory.com