Desarrollando con Sofia2: SDK Sofia2 y API Java (I)

Del Blog http://about.sofia2.com

Comenzamos una serie de post que intentarán explicar como desarrollar APPs Sofia2 en píldoras que nos permitan comenzar a trabajar con la plataforma de inmediato.

1.1 Instalar SDK Sofia2

Para descargar el SDK de Sofia2 iré al menú de Desarrolladores de Sofia2: http://sofia2.com/desarrollador.html

En la sección DESCARGAS accederé al SDK para mi Sistema Operativo, para el ejemplo usare el SDK Windows:

El SDK de Windows se suministra en formato ZIP y contiene todo lo necesario para desarrollar APPS Sofia2 sin necesidad de instalar nada en la máquina, esto es:

  • IDE Eclipse configurado
  • JVM Java 7
  • Maven 3
  • Scripts para lanzar todos los

Los pasos para instalarlo son:

  1. Descargar SDK Sofia2 (Windows) en http://sofia2.org/sdk/SOFIA2_SDK_WIN.zip
  2. Una vez descargado el ZIP lo descomprimo en una carpeta, nosotros usaremos c:SOFIA2_SDK_WIN

Tras descomprimirse:

Se habrá generado la carpeta con este contenido:

El fichero LEEME_WINDOWS.txt describe los pasos a seguir para configurar y lanzar el SDK y ejecutar los ejemplos.

  1. Una vez descomprimido voy a la carpeta (c:SOFIA2-SDK_WIN) y ejecuto el script Sofia2_SDK-START.bat. Esto debe abrir una línea de comandos sobre S: con esta información:

1.2 Abrir IDE Sofia2

Una vez instalado el SDK ya puedo lanzar el IDE Eclipse incluido.

Para eso:

  1. Desde la unidad S: ejecuto S:Sofia2_IDE.bat, esto lanzará una ventana de comandos:

Y finalmente se abrirá un Eclipse.

  1. Ahora voy a configurar el repositorio de Maven de Eclipse. Para eso voy a Window>Preferences>Maven>User Settings

y en User Settings selecciono: s:SOFIA2-SDKMAVENconfsettings.xml y selecciono Update Settings. Luego pincho OK.

1.3 Lanzar ejemplo de API Java Sofia2

Ahora vamos a cargar en el IDE un ejemplo Java incluido en el API Java Sofia2.

Para eso

  1. Desde el menú de Desarrollador de la web de Sofia2 http://sofia2.com/desarrollador.html en la sección Descargas selecciono el API Java:

http://sofia2.org/apis/SOFIA2_API_JAVA/SOFIA2_API_JAVA.zip

  1. Descargo el API Java en el directorio donde previamente instalé el SDK (en nuestro caso c:SOFIA2_SDK_WIN)

Y lo descomprimo directamente en esa carpeta. Tendré al final una carpeta c:SOFIA2_SDK_WINSOFIA2_API_JAVA_30102014 :

  1. Si no lo tenía ya lanzado lanzo el IDE que contiene el SDK de Sofia2 con el comando s:Sofia2_IDE.bat.

Al cabo de un tiempo debe lanzarse un Eclipse.

  1. Lo siguiente es cargar en el IDE el ejemplo más básico incluido en el API Java. Para eso selecciono en Eclipse File>Import>General>Existing Projects into Workspace>" “s:SOFIA2_API_JAVA_30102014EjemplosSofia2_KP_Eclipse"

Y pulso Finish.

Veré el proyecto cargado y compilado sin problemas:

  1. En el proyecto tengo 3 clases:

KpGatewayRestFuncional conecta vía REST con la instancia de Sofia2 en la nube.

KpMqttFuncional conecta vía MQTT con la instancia de Sofia2 en la nube.

KpWebSocketFuncional conecta vía MQTT con la instancia de Sofia2 en la nube.

  1. Estas 3 clases están implementadas como Tests JUnit y tienen configuradas los Tokens necesarios para insertar en la instancia de Sofia2 en la nube. Para probarlas seleccionaré botón derecho sobre cualquiera de ellas y Run As>JUnit Test

Al ejecutarlas obtendré:

Revisando el contenido de las clases puedo ver que se están lanzando contra el SIB de Sofia2 operaciones de:

  • JOIN para autenticar
  • Insert en modo nativo (insertando la ontología):

Con

  • Insert a través de SQL

  • Update nativo y SQL
  • Query en SQL, Query a la BDC (Assets)
  • BULK para enviar varios mensajes en un solo mensaje SSAP.

Las 7 primeras Leyes del crecimiento

De nuevo nos acercamos a la web Liderazgo Hoy de Victor Hugo Manzanilla para comentar uno de sus artículos.

De las 7 leyes que se mencionan:

1- Ley de la Intencionalidad: ¿A dónde quieres llegar en tu vida?

2- Ley de la Conciencia: ¿Sabes cuáles son tus puntos fuertes y cuáles son tus puntos débiles?

3- Ley del Espejo: Para trabajar en mejorar necesitas tener una convicción profunda de que eres valioso

4- Ley de la Reflexión: Para crecer, necesitas aprender a hacer una pausa

5- Ley de la Consistencia: Si no eres disciplinado, toda la motivación del mundo no te ayudará a crecer

6- Ley del Entorno: Necesitas crear un entorno que te sustente, no que te limite.

7- La Ley del Diseño: Conviértete en una persona proactiva en las áreas donde quieres crecer y cambiar.

¿Cuál creéis que es la más importante?

Es difícil quedarse con una, pero sin duda la que más descuidamos es la Ley de la Reflexión, ¿a qué sí? 🙂

Charva: Toolkit Java para Terminales de Texto

CHARVAes un framework Java para presenter un interfaz de Usuario “gráfico” compuesto de menús, ventanas, diálogos, botones,… sobre un terminal ASCCI.

Ofrece un API basado en Swing lo que permite que sea muy sencillo programar en CHARVA si conocemos Swing, de hecho se puede construir en Swing con un IDE visual y luego convertirlo a CHARVA sólo cambiando los imports a "charva.awt y "charvax.swing" en lugar de los standard "java.awt" y "javax.swing”.

Así un interfaz AWT con este aspecto:

Con CHARVA se muestra así:

O en un Putty:

Aún no le veis la utilidad?…pues imaginaros un Linux sin entorno gráfico…por ejemplo una Raspberry!

Kite Software Development Kit: Desarrollando aplicaciones en Hadoop de forma sencilla según Cloudera

Kite Software Development Kit es un conjunto de librerías, herramientas, documentación y ejemplos centradas en hacer más sencilla la construcción de sistemas sobre el ecosistema Hadoop.

Todo está liberado bajo licencia Apache 2.0

Se compone de estos módulos:

· Kite Data prove abstracciones sobre sistemas de persistencia lo que permite al desarrollador pensar en records, datasets, repositories,… Kite usa Avro para definir los datasets y ofrece utilidades para usarlos desde Java. Por ejemplo obj-schema crea un esquema Avro desde una clase Java.

· Kite Maven Plugin prove goals Maven para empaquetar, desplegar y corer aplicaciones Hadoop

· Kite Morphlines simplifica la creación de aplicaciones ETL stream que extraern ,transforman y cargan datos en Solr, HDFS, HBase,…

· Kite Tools ofrece herramientas de línea de commandos y APIS para tareas comunes

Para más detalle podéis ir a su Guía de Desarrollador o probar los ejemplos.