Sofia2 y Google App Inventor: Primeros Pasos y Configuración.

cabezera_sofia_appinventor

IMPORTANTE: Los nombres de las ontologías y de las APIs son únicos por lo que no se deben poner los mismos nombres que aparecen en este tutorial.

Es el momento de empezar a hacer cosas, así que vamos a empezar a preparar todo lo que necesitaremos en los siguientes posts.

Lo primero que hay que tener claro es uno de los conceptos más importantes que intervienen en el desarrollo de esta aplicación: las Ontologías.

Una ontología es la representación de una estructura de datos en la plataforma. Sofia2 funciona por ontologías, uno crea una ontología y entonces puede insertar datos, leerlos… Es como una pequeña fuente de datos de privada. En nuestro caso la ontología definida tiene sólo 3 campos: Medida, Autor y Fecha. Para crear la ontología hay que conectarse a la plataforma Sofia2, crearse un usuario o loguearse:

image001

image002

Tras habernos registrado y accedido a la plataforma lo primero es pedir el rol colaborador pulsando sobre el botón azul que localizado en el centro de la pantalla:

Y en el campo para el motivo ponemos “Taller App Inventor”:

Tras ello deberemos esperar a que el administrador de la plataforma nos otorgue el rol de colaborador. Cuando lo tengamos podremos acceder a todas las funcionalidades de desarrollo que necesitamos, por ejemplo la creación de ontologías.

Para crear una ontología hacemos clic en la pestaña de ontologías y después pulsamos sobre “Crear ontología campo a campo” (que es la manera sencilla para la creación de ontologías).

Ponemos el nombre que queramos a la ontología, en nuestro caso se llamará “prueba_smart” y seleccionamos la propiedad “Activa” y la propiedad “Pública”:

Después vamos incluyendo campos hasta tener algo parecido a esto:

Una vez estamos satisfechos con los campos que hemos creado, pulsamos en el botón “Generar Ontología”:

Una vez incluidos los campos bajamos hasta el final de la página y pulsamos sobre “Crear”. Nos redirigirá a una página donde veremos el resumen de la ontología que vamos a crear. Volvemos a bajar al final de la página y volvemos a pulsar “Crear”.

Me imagino que después de haber creado una ontología os preguntaréis (como nos hemos preguntado todos la primera vez que lo hicimos) ¿Y ahora qué hago con esto? Es bastante complejo y, teniendo en cuenta que la idea de estos posts es la de acercar el uso de Sofia2 a personas con un perfil menos técnico, vamos a omitir toda la teoría y simplemente diremos: API Manager.

API Manager es la herramienta para conectar a Sofia 2 a través de servicios REST/ Mensajes SSAP. Como vamos a desarrollar la aplicación a través del App Inventor, tenemos limitada la forma en la que nos podemos conectar a la plataforma y por eso tenemos que utilizar esta opción. A groso modo utilizar esta opción implica que las conexiones las realizaremos por URL (dirección Web) que es lo único que nos permite el App Inventor. Además al utilizar el API Manager para realizar las conexiones, perdemos una de las funcionalidades más interesantes del sistema que es la suscripción a ontologías y nadie podrá escribir en nuestras ontologías salvo que les proporcionemos acceso de forma explícita. A pesar de ello aún podemos hacer muchas cosas como veremos a continuación. Para empezar hay que entrar en la plataforma de Sofia2 y pulsar sobre API Manager (abajo a la izquierda de la página). Después hay que hacer clic en “Mis APIs”:

Esta página, que en un principio estará vacía, permite crear APIs que sirven para definir una serie de funcionalidades (escribir, leer, actualizar, borrar) sobre nuestras estructuras de datos (ontologías). Además de la definición de funcionalidades también podremos ver cómo utilizarlas.

Lo primero es hacer clic sobre “Crear API” y se abrirá la siguiente pantalla:

Ponemos el nombre que queramos a nuestra API (en este caso “prueba_smartes”), deseleccionamos la opción de API Externa y seleccionamos la opción de Pública. Después seleccionamos en el desplegable de Ontología, la ontología sobre la que queremos crear la API, en el caso de este ejemplo seleccionamos la ontología que hemos creado previamente: Prueba_Smart. Además debemos rellenar los campos “Descripción” y “Meta-Inf”.

Los servicios que nos interesan en este caso son Get(sql) por query y Post. Get es para leer y Post para escribir. Los habilitamos así:

Por último, vamos a la parte baja derecha de la página y presionamos “Crear” y en la siguiente pantalla hacemos lo mismo. Después debemos acudir a “Mis APIs” (en el menú del lateral izquierdo de la página) y publicarla. Por último debemos suscribirnos a ella. En el menú izquierdo API Manager > Suscripción a APIs > Buscamos la nuestra y pulsamos en “Suscribir”.

Con esto habríamos terminado con la preparación en la plataforma Sofia2 para trabajar desde nuestras apps.

Como aún no tenemos las aplicaciones preparadas, podemos utilizar nuestra ontología y nuestra API desde la consola web de Sofia2 (la página en la que hemos estado navegando todo este tiempo).

INSERTAR DATOS EN ONTOLOGÍA

Accedemos a Ontologías > Mis suscripciones > Pulsamos en el ojo de la suscripción a nuestra ontología (Prueba_Smart):

En la pantalla que se abrirá seleccionamos el contenido de la caja de texto de “Instancia JSON”:

En nuestro caso sería la línea {“Prueba_Smart”:{ “Autor”:”string”,”Fecha”:{“$date”: “2014-01-30T17:14:00Z”},”Medida”:”string”}}

Después volvemos a API Manager > Mis suscripciones > Buscamos prueba_smartes (el nombre de nuestra API) y pulsamos Test & Doc.

En esta pantalla pulsamos sobre la funcionalidad post y se desplegaran varias opciones que debemos rellenar de la siguiente forma:

Marcaremos las opciones “Accept” y “Content type” como application/json. En el campo par X-SOFIA2-APIKey debemos poner la clave que encontraremos en API Manager > Mi API Key. Por último en el campo “Body object” incluiremos la línea que habíamos copiado en el paso anterior. Finalmente pulsamos “Submit” y deberíamos obtener una respuesta como esta:

En la que podemos ver “ok”: true que nos confirma que la inserción se ha realizado con éxito.

También podemos leer datos que hayamos insertado previamente en nuestra ontología:

LEER DATOS DE ONTOLOGÍA.

Para leer datos de la ontología entramos en API Manager>Mis suscripciones>Test & Doc (en la API que hemos creado) y pulsamos en GET. Aparecerá una pantalla que debemos rellenar de la siguiente manera:

Donde los datos que rellenamos son:

– X-SOFIA2-APIKey: nuestro API Key que hemos metido en el apartado anterior.

– $queryType: SQLLIKE que indica que vamos a hacer una consulta SQL.

– $targetdb: BDTR indicamos que leeremos de la base de datos en tiempo real (donde están los datos de nuestra ontología)

– $filter: select * from prueba_smart (poner aquí el nombre de vuestra ontología) Aquí especificamos la consulta SQL que queremos realizar.

Pulsamos Submit y recibiremos algo parecido a esto:

La línea en la que pone “ok”: true nos confirma que la petición de lectura se ha llevado a cabo correctamente. Y los datos que hemos insertado los podemos encontrar en la línea que empieza con “data”. Está en formato JSON pero si os fijáis podréis encontrar los autores y medidas que habéis introducido previamente.

Con esto ya tendríamos la parte más fea terminada, ¿no ha sido para tanto verdad? En los siguientes posts utilizaremos todo este trabajo de una manera mucho más visual a través del App Inventor y empezaremos a hacer cosas más interesantes.

Si tenéis dudas, poned un comentario y os ayudaremos a resolverlas lo antes posible.

Sofia2 y Google App Inventor: Primeros Pasos y Configuración.

10 comentarios en “Sofia2 y Google App Inventor: Primeros Pasos y Configuración.

  1. Paula dijo:

    Vaaaaaaaaaaaaaaale. Guille, el de la camisa con montañas tenía razón.
    El blog está muy bien explicado.
    Gracias.
    Un saludo.

    Pd: Leganés el 6 de marzo, la chica del centro.

    1. guillecy dijo:

      Que pasa Paula, ya te dije que no hacia falta que tomases apuntes! Me alegro que te parezca que está bien explicado, cualquier duda ya sabes!

      Un saludo!

  2. David dijo:

    ¿Cuánto tarda una API en ser publicada? o ¿Hice algo mal? le di publicar y no me aparece en las listas, le di una categoría para encontrarla más facilmente pero no logro encontrarla

  3. Hola beun dia soy profesor de un instituto secundario en argentina y estoy tratando de entender de que se trata esto de sofia…he leido varios documentos pero aun no entiendo bien de que se trata…lei este archivo y esta muy bien explicado pero no se si me sirva para lo que estoy queriendo hacer…quiero desarrollar una app para mandar alertas a celulares…me sirve…alguien me podria decir por donde empezar?…gracias

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s