0% encontró este documento útil (0 votos)
441 vistas52 páginas

Internet de Las Cosas IoT

Este documento presenta una revista sobre tecnología y software. Brevemente resume algunos de los temas principales cubiertos en la publicación, incluyendo estrategias para startups, herramientas, columnas sobre fundamentos de programación e IoT, y noticias del sector. El editorial se enfoca en cómo el IoT está transformando los paradigmas del desarrollo de software y la necesidad de que los profesionistas se mantengan al día con estas nuevas tendencias.

Cargado por

XMAN HUNTER
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
441 vistas52 páginas

Internet de Las Cosas IoT

Este documento presenta una revista sobre tecnología y software. Brevemente resume algunos de los temas principales cubiertos en la publicación, incluyendo estrategias para startups, herramientas, columnas sobre fundamentos de programación e IoT, y noticias del sector. El editorial se enfoca en cómo el IoT está transformando los paradigmas del desarrollo de software y la necesidad de que los profesionistas se mantengan al día con estas nuevas tendencias.

Cargado por

XMAN HUNTER
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 52

SG SOFTWARE GURU

NOVEDADES

SQL SERVER
2016
PAG. 13

NO.51 CONOCIMIENTO EN PRÁCTICA


www.sg.com.mx

MPRESA
T EN LA E
TO REAL DEL IO
EL IMPAC
PAG. 18 T S O N LOS DATOS

E
— YOR VALOR DEL IO

E R N E T D EL MA
PAG. 21

IN T A S

HOLA MU
NDO IOT

S CO S PAG. 40

LA
Y SU I M PAC TO EN LAS EM
PRESAS
51 | JULIO 2016
002 SG.51
SG.COM.MX 003
NO.51 CONOCIMIENTO EN PRÁCTICA
www.sg.com.mx

EN PORTADA

INTERNET DE LAS COSAS


016

Preparémonos para la disrupción que gene-


rará el internet de las cosas y su impacto en
las empresas.

004 SG.51
CONTENIDO
O

I INDUSTRIA
Y EMPRESAS
P PRÁCTICAS
C COLUMNAS
O EN CADA
NÚMERO

5 Estrategias Clave para 014 UX También es Pensar 026 Tejiendo Nuestra Red 008 Noticias y eventos 005
Difundir Tu Startup en Productos
Prueba de Software 040 Hardware 046
Los Niveles de 028
Granularidad en Programar es un 042 Humor 047
los Requerimientos Modo de Vida
T HERRAMIENTAS Y
TECNOLOGÍAS Funcionales Biblioteca 048

Radar 012 JavaScript y Herencia 032


Basada en Prototipos
Novedades 013

Zona Maker 040

REPORTAJES
R
V VOCES
F FUNDAMENTOS
Hackathon Cancún 006

¿Estamos Listos en 010 Perdamos el Miedo al 050 Dev Day 4 Women 008
QA para el IoT? RTFM

EMPRENDIENDO
014

SG.COM.MX 005
O EDITORIAL

IoT y el
nuevo paradigma

A través de los años, en estas páginas hemos comentado de En SG estamos conscientes de este cambio de paradigma, y es
forma recurrente sobre cómo las fronteras del software cada vez por eso que hemos rediseñado nuestro congreso previamente
son más difusas. llamado “SG Conference & Expo” como “SG Next”, y estará enfo-
cado en este nuevo paradigma de desarrollo de software, donde
El software ya no es tan solo una herramienta para automatizar dominan temas como el internet de las cosas, bots, DevOps y
procesos departamentales, sino que se ha convertido en un ele- arquitecturas en la nube.
mento central de innovación en empresas de todos los sectores.
Dentro de estas tendencias de innovación, una de las más impor- Esperamos verte en SG Next, para que sigamos juntos en el
tantes es el internet de las cosas. camino de desarrollar mejores productos de software día con día.

El IoT está llevando el software a nuevos usos y fronteras. Así que El equipo de Software Guru
si nos queremos mantener vigentes como profesionistas, necesi-
tamos hacerlo parte de nuestro arsenal.

SG es posible gracias a la colaboración de


Dirección Editorial Pedro Galván | Dirección de Operaciones Mara Ruvalcaba | Dirección Comercial Claudia Perea
Coordinación Editorial Susana Tamayo | Arte y Diseño Oscar Sámano | Suscripciones Mariana Torres
Consejo Editorial: Luis Daniel Soto | Gunnar Wolf | Luis Vinicio León | Hanna Oktaba
Ariel Jatuff | Emilio Osorio | Gloria Quintanilla | Jorge Valdés

COLABORADORES EN ESTA EDICIÓN


Roselyn Piñango, Edith Gómez, Curt Hall, Jorge Alvarado, Esteban Montelongo, Samuel Dos Reis, Eduardo Lugo, José Manuel Berruecos,
Misael León, Guilherme Simoes, Carlos Vázquez, Erik Grueter.
.
EQUIPO SG
Coordinación de servicio Yoloxochitl Juárez | Marketing y Alianzas Wendy Fabela
Developer Relations Luis Sánchez e Hilda Ramírez | Servicios online Ivett Sánchez
Contacto: [email protected]

SG Software Guru es una publicación trimestral editada por Brainworx, S.A. de C.V., San Francisco 238 Altos. Col. Del Valle. Los contenidos de esta publicación son propiedad intelectual de los autores y se hacen
disponibles bajo licencia Creative Commons Attribution-NonCommercial 4.0 International. Todos los artículos son responsabilidad de sus propios autores y no necesariamente reflejan el punto de vista de la editorial.
Reserva de Derechos al Uso Exclusivo: En trámite. ISSN: 1870-0888. Registro Postal: PP15-5106. Distribuido por Sepomex.

006 SG.51
NOTICIAS
O

Noticias SG CTO FORUM


2

SG organizó una edición más de su meetup para


líderes de tecnología empresarial, CTO Forum, en
las instalaciones del Centro de Innovación BBVA
OSCON 2016
1 Bancomer en la Ciudad de México. El evento se
enfocó en “el nuevo paradigma de TI” derivado
de la ola de transformación digital que estamos
viviendo. Entre los conferencistas que compartie-
ron opiniones y perspectivas estuvieron Domingo
Del 16 al 19 de mayo se realizó Suárez, CTO de HolaGus; Nicolas Gallegos,
en Austin, TX la edición 2016 Gerente de Innovación de TI en Bayer de México;
del Open Source Convention Mohamed Hassan, CTO de Segundamano; y
(OSCON) producido por Pedro Galván, Director de SG.
O’Reilly Media. OSCON es uno
de los eventos de mayor tradición en la industria de TI, y es un espacio intere-
sante porque se basa en valores de apertura y diversidad que van más allá de la
tecnología. Hoy en día, hablar de las ventajas del open source ya no es necesa-
rio, porque esa batalla ha terminado y es el claro ganador. Es así que ahora las
discusiones tienen que ver con hacer la industria más abierta hacia personas de
distintos géneros, etnias y capacidades, y OSCON es reflejo de ello. En cuanto a
tópicos técnicos, posiblemente el de mayor recurrencia fue el rol del open source
en el ámbito del internet de las cosas.
Imagen cortesía de O’Reilly Media.

ORACLE CLOUDWORLD
3

Con la participación de más de 2,000 asis-


tentes, se llevó a cabo Oracle CloudWorld
México 2016 en Expo Bancomer Santa Fe.
OPEN STACK DAY
4
En este foro, Oracle dio a conocer casos de
éxito en los que la tecnología jugó un pa-
pel fundamental en el desarrollo e imple- La Fundación OpenStack y KIO Networks llevaron a cabo la tercera edi-
mentación de nuevos negocios. También ción de OpenStack Day México en el World Trade Center de la Ciudad de
en el marco de este evento se anunciaron México. En este espacio se dieron cita desarrolladores, administradores
importantes lanzamientos, tales como la de sistemas de cómputo y usuarios, quienes intercambiaron ideas, cono-
actualización de la familia Oracle Database cimientos y experiencias alrededor de cómo utilizar la tecnología de código
Appliance; así como nuevos sistemas y un abierto OpenStack para administrar infraestructura de cómputo altamente
minicluster basados en el nuevo proce- escalable. En el evento se contó con cuatro escenarios alternos donde po-
sador SPARC S7 con capacidades de alto nentes especializados platicaron sobre los beneficios de OpenStack y las
desempeño en seguridad, eficiencia y sim- ventajas competitivas que pueden brindarle a cada uno de los negocios que
plicidad de administración. sepan y puedan sumarse a esta tecnología.

SG.COM.MX 007
R RESEÑA

SG Organiza Hackathon
en Reunión Ministerial de la OCDE

Gracias a la colaboración entre apoyo de AT&T, Cisco, Disney, Google, •Time Stamps ganó la categoría de he-
Secretaría de Economía de México y el Intel, Microsoft, Oracle, Verisign, y el rencia cultural con una app que utiliza
Comité de Asesoría Empresarial en la Comité de Asesoría Técnica para Internet reconocimiento facial para brindar una ex-
OCDE (BIAC), el pasado 20 y 21 de junio en OCDE (ITAC). periencia inmersiva para estudiar historia.
Software Guru tuvo el honor de organizar • Oil Collection ganó el premio al mejor
en Cancún el hackathon “Connected Lives, GANADORES uso de la API de AT&T con un sistema de
Connected Communities” como parte de En #hackathoncancun se repartió una monitoreo para la recolección de conta-
las actividades de la Reunión Ministerial bolsa de más de 25 mil dólares en pre- minantes del medio ambiente.
sobre Economía Digital de la OCDE. mios, siendo estos los ganadores: • Here & Now ganó el premio a mejor
uso de tecnología Google con una app
El principal objetivo de realizar un hac- • Nisi Vitae se llevó el premio como para comunicar personas en caso de
kathon fue permitir que líderes de gobierno ganador absoluto además de ganar emergencias y desastres naturales.
y organismos industriales pudieran pre- la categoría de ciudad inteligente, • EcoFenix ganó el premio de IEEE con
senciar el proceso creativo de los jóvenes, con una app que provee información un sistema para fomentar el reuso y re-
colaborando para construir soluciones sobre la salud del paciente de forma ciclaje de basura.
tecnológicas para enfrentar retos globales. anticipada al equipo de atención mé- • Easy Lock ganó el premio Intel para ho-
Esta misión se cumplió con gran éxito, y dica antes de que llegue al lugar de gar inteligente con el proyecto Easy Lock
los participantes de la reunión ministerial una emergencia. para una cerradura inteligente.
quedaron impresionados con la energía y • Autonomi ganó la categoría de em- • Sufragia ganó el premio a mejor uso
creatividad de los participantes, quienes a prendimiento construyendo dispositivos de tecnología Microsoft con una plata-
lo largo de 24 horas construyeron solucio- wearable para asistir a personas con forma inteligente y descentralizada de
nes innovadoras alrededor de los temas: problemas de visión. participación ciudadana.
inclusión social, ciudades inteligentes, • VR-ehab ganó la categoría de inclusión • Saverfid ganó el premio Oracle a mejor
herencia cultural y emprendimiento. El ha- social y el premio de Disney para el bien- tecnología para la empresa con un sis-
ckathon contó con la participación de 170 estar infantil con una app que aprovecha tema para reducción de energía eléctrica
jóvenes procedentes de México, Colombia la realidad virtual para hacer la rehabilita- por medio del control automatizado de
y Canadá. Adicionalmente, contó con el ción física más amigable para los niños. luces apoyado por detección RFID.

008 SG.51
RESEÑA
R

Dev Day 4 Women


Más de 200 profesionistas y amantes El evento comenzó con un fireside chat taller “Aprendiendo Java a través de los
del código, se reunieron el pasado jueves en el que Adriana Islas (CIO de Estafeta), videojuegos” presentado por Luxoft. Por
23 de junio, en las instalaciones de la Carolina Tatay (Directora General de Neta otro lado, Luz Gutierrez de Accenture
Escuela Bancaria Comercial en Ciudad de Systems) y Ana Briseño (consultora in- nos compartió experiencias en el taller:
México, para vivir la experiencia de la ter- dependiente), fueron las tres experimen- “Agile: Transformando la cultura de tra-
cera edición del exitoso evento dedicado a tadas “mujeres tech”, que compartieron bajo en la industria de TI”. También tu-
mujeres desarrolladoras de software: Dev experiencias y recomendaciones para las vimos una plática sobre Go a cargo de
Day 4 Women. jóvenes mujeres profesionistas de TI. Verónica López y otra sobre inteligencia
artificial de Karla de la Loza.
Es una iniciativa aliada de todas aque- Posteriormente se realizó un Ignite donde
llas mujeres que quieran compartir su conocimos más sobre distintas iniciati- Para cerrar esta edición de Dev Day 4
conocimiento y experiencia, para apo- vas para mujeres en TI como Digigirlz, Women, Ophelia Pastrana experta en conte-
yar y motivar a las nuevas generacio- Technovation Challenge, C Girls Code, nidos digitales, nos acompañó para presen-
nes en TI. GDG Wonder Coders, Women Who Code, tar “Devotion by SG”, un nuevo videoblog
Laboratoria México, WoMoz, y Código X. para desarrolladores de software con las
El evento fue posible gracias al patrocinio anfitrionas Maru Lango y Verónica López.
de Oracle, Luxoft, Accenture, Magma Labs, El aprendizaje técnico también es parte
ThermoFisher Scientific, Escuela Bancaria de Dev Day 4 Women y en esta ocasión Pronto tendremos otra edición del Dev
Comercial, Praxis, Brainup Systems, GFT se concretó a través de talleres y pláti- Day 4 Women. Para mayor información,
Technologies y Scio Consulting. cas. Anahí Salgado fue la instructora del visita http://devday4w.com

SG.COM.MX 009
C TEJIENDO NUESTRA RED

Dime qué Desayunaste y Te Diré qué tan Productivo Estarás Hoy


Por Hanna Oktaba
Recientemente me topé en la red con un artículo productivo, pero si solo comiste pan dulce con café,
que, primero me llamó la atención por su título: tu concentración en el trabajo va ser muy cortita :( .
“Productividad Ágil: Voluntad con enfoque de neuro-
ciencias” [1], y luego me cautivó por su contenido. El consejo no es solamente desayunar y comer proteí-
nas para ser productivo. La autora nos da unas pistas
El enfoque al tema de productividad en Ingeniería de de cómo ahorrar la lisina para poder trabajar concen-
Software, abordado de manera similar como lo hacen trados por más tiempo durante un día:
las industrias “tangibles”, siempre me ha parecido
inadecuado (con todo respeto para mis colegas “cre- • Crear hábitos.
yentes fervientes” en PSP, TSP y CMMI). • Usar rituales.
La Dra. Hanna Oktaba es • Trabajar en modo fluido.
profesora de la UNAM y La forma en la que las empresas miden la producti-
su objetivo principal es vidad, es a través de un cálculo en el que se realiza Un hábito es algo que sabemos, podemos y queremos
generar conocimiento a una comparación entre los insumos y los productos, hacer. Ir a bañarse después de levantarse es un há-
través de la creación y donde la eficiencia es lo que representa el costo por bito que sabemos cómo hacerlo, si tenemos regadera,
promoción de estándares. unidad de cada producto. [2] podemos hacerlo y si hay agua caliente, queremos
@hannaoktaba hacerlo :) . La gratificación al final también se siente.
El problema que percibo en la industria de software Los hábitos requieren muy poca fuerza de voluntad,
tiene dos aspectos: por un lado, producir software porque nuestro cerebro reconoce rápido que es algo
es un trabajo donde los insumos y la maquinaria se habitual y lo hacemos sin mucho esfuerzo. Lo malo de
encuentran en el cerebro de un humano y los produc- adquirir nuevos hábitos es que para que se nos “pe-
tos son abstractos, por lo tanto es una industria de guen” necesitan repetirse diariamente por lo menos
lo intangible. Por otro lado, no se ha llegado a definir ¡70 días! Con este dato entendí porque mis propósitos
una unidad del tamaño de software de manera uni- de año nuevo se vuelven tan irreales.
versalmente aceptada. En la prehistoria empezamos
con líneas de código (LOCs), luego llegaron puntos Un ritual es una ceremonia o acción realizada como cos-
por función (FPs), siguieron puntos por casos de tumbre. Los rituales nos dotan de energía. Uno de los
uso (que nunca se estandarizaron) y ahora tenemos rituales más bonitos que he encontrado en México es el
puntos COSMIC, que podrían ser buenos candidatos Día de Muertos, aunque cuando por primera vez vi en el
por ser estándar ISO, pero dependerá de la acepta- altar del posgrado de la UNAM una calaverita de azúcar
ción por parte de la industria. Sin la misma medida con mi nombre en la frente, me asusté. Los rituales y los
del tamaño, las definiciones de la productividad son hábitos son como caminos bien trazados en nuestro ce-
incomparables. Para los que gustan de los albures: en rebro, que no cuesta esfuerzo volver a recorrerlos.
la Ingeniería de Software el tamaño sí importa :( .
Un modo fluido de trabajo es cuando estás concen-
¿Y QUÉ TIENE QUE VER LA VOLUNTAD CON trado en una tarea única, interesante, compleja, pero
TODO ESTO? no demasiado, desconectado de tu entorno y en el
En el artículo mencionado al inicio, la autora nos ex- pico de tu concentración. La resistencia (física) y la
plica que la fuerza de voluntad es la que nos permite paciencia (mental) también ayudan. El modo fluido de
tomar decisiones para hacer algo, a veces difícil y no trabajar se dificulta cuando la tarea, que tenemos que
necesariamente muy agradable, pero que al final nos hacer, no es ni interesante ni compleja, en este caso
traerá una gratificación. nos aburrimos rápido y buscamos distracciones para
no hacerla. Otro extremo es cuando la tarea es tal
Díganme, si participar en un proyecto de software no vez interesante, pero tan compleja que no sabemos
es hacer algo a veces difícil y no necesariamente muy ni cómo empezar. En este caso nos angustiamos, las
agradable, pero que finalmente algún día nos paga- cosas no salen y podemos caer en el estrés. El estado
rán. Pero si alguien, como yo, pensaba que la fuerza de estrés (figura 2) nos lleva a perder el foco en el
de voluntad dependía en gran medida de la “zanahoria trabajo, lo que causa la mala calidad de los resulta-
y el látigo”, estaba muy equivocada. Para tener fuerza dos, cuyos defectos tenemos que corregir, lo que nos
de voluntad necesitamos tener suficiente lisina (un causa mayor estrés. Y de la gratificación ni hablar, pu-
aminoácido) que nutre nuestra capa prefrontal del ros regaños. ¿Quién no ha vivido este círculo vicioso?
cerebro (figura 1). Y, ¿de dónde viene la lisina? De las
proteínas que comemos. Así que, si desayunaste hue- ¿Cómo esto se relaciona con el trabajo de desarrollo
vitos con frijolitos quédate tranquilo, vas a ser muy de software?

010 SG.51
TEJIENDO NUESTRA RED
C
HÁBITOS
En el caso de las prácticas SCRUM, las reuniones diarias realizadas siempre
al inicio del día, a la misma hora, en el mismo lugar, con asistencia de todo el
equipo y con las mismas preguntas es un hábito que, bien llevado a cabo, carga
a todos con energía necesaria para empezar con mucha voluntad el trabajo
(suponiendo que todos desayunaron proteínas :) ). Otro ejemplo de hábito es
cuando uno, al terminar una tarea, revisa el resultado antes de entregarlo y
hace todo lo que se pide para que otros se enteren que ya la había terminado
(por ejemplo, mover la tarjeta en el tablero y/o reportar las horas dedicadas).
Avisar que uno había terminado bien una tarea es gratificante ¿verdad?

RITUALES
No se lo digan a nadie, pero todas las buenas prácticas de los modelos, es-
tándares y libros de Ingeniería de Software son rituales. Qué tal el ritual del
Sprint de SCRUM. Ya desde el nombre, carrera corta de atletismo, suena a
misterio. Inicia con la reunión de la planificación a dos tiempos en la que par-
ticipa activamente el equipo de desarrollo y el (igual de misterioso) Product
Owner. El sprint tiene una duración corta de entre 2 a 4 semanas, que para
el desarrollo de proyectos de software es efectivamente una carrera corta, y
termina en la revisión de software con el Product Owner y en la retrospectiva
del equipo. Al final del sprint, si todo salió bien, la satisfacción del equipo de-
bería recargar sus energías para aguantar la siguiente carrera, igual de corta,
que empieza la semana siguiente. Ni toman en cuenta, que en el atletismo
los cuatro sprints de 100 metros se hacen por relevos :) .

Otros ejemplos de rituales son las diferentes técnicas para comprender y es-
pecificar a los requerimientos como los casos de uso o historias de usuario.
Empiezan con el peregrinar para entrevistar a los diferentes representantes
del cliente para comprender qué diablos quieren y qué significa lo que quieren.
Continúan con los intentos de expresarlo de alguna forma, que sea de utilidad
posterior para guiar al desarrollo. Luego sigue la batalla con los involucrados
por la confirmación de que lo que se expresó como requerimiento ellos lo en-
tienden y quieren que sea implementado. Cuando termina este ritual, los desa-
rrolladores se llenan de energía porque, por un rato, piensan que allí terminó la
batalla por comprender los requerimientos. ¡Qué ingenuos!

La mala noticia es que en estos rituales los que ahorran lisina son solo
aquellos que los han repetido muchas veces, es decir, ya se volvieron sus
hábitos. Los que son novatos van a sufrir.

MODO FLUIDO DE TRABAJO


Para trabajar de esta manera en el desarrollo de software, es indispensable
que el reto que tenemos que atacar sea acorde con nuestros conocimientos
y habilidades. Si se deja una tarea habitual como por ejemplo, documentar
un caso de uso o una historia de usuario a un principiante que apenas fue
capacitado (o mintió que sabía como hacerlo), se va a sentir muy angustiado
y no va a poder hacerlo bien. O al contrario, si dejamos a un analista experi-
mentado una tarea de documentar el requerimiento de “iniciar la sesión”, se
va a sentir subutilizado. En ambos casos no van a sentir la satisfacción de su
trabajo y la productividad va estar por los suelos.

El consejo final es: usa rituales (procesos) para iniciar el hábito de traba-
jar con fluidez. Y come proteínas :) .

PD. Esta es mi columna número 50 para la revista Software Guru. Durante más
de 11 años repito un ritual de escribirla, que ya se volvió mi hábito y lo hago de
manera fluida. Cuando la releo ya publicada me siento muy bien :) .

Referencias
[1] A. Obukhova. “Agile Productivity: Willpower and the Neuroscience Approach”. http://swgu.ru/rg
[2] http://definicion.de/productividad

SG.COM.MX 011
V VOCES

¿Estamos listos
en QA para el IoT?
Por Roselyn C. Piñango

Las tendencias tecnológicas son el titular principal • En cuanto a las necesidades del entorno no es
de nuestro día a día, no ha sido suficiente que los siste- suficiente un ambiente de pruebas, no solo de-
mas hayan invadido las industrias de todos los sectores ben contemplarse ambientes para las diferentes
con soluciones para agilizar sus procesos operativos y plataformas donde funcionan los sistemas sino
de gestión; que los profesionales de todos los ámbitos en diferentes condiciones. Un caso extremo
tengan que interactuar con sistemas en su vida laboral será por ejemplo probar el sistema a altas/ba-
y personal, desde hace un tiempo llegó el momento en jas temperaturas. Es requerido incorporar labo-
el cual dispositivos de uso diario (en los automóviles, ratorios de prueba.
para el cuidado de la salud, para el hogar) también son
protagonistas de esta “invasión” que sin duda, promete • En relación a la estrategia de QA toma importan-
tener una envergadura mayor porque se trata de inter- cia la ejecución de pruebas de interoperabilidad,
venir en la vida diaria de todos para seguir adaptándose rendimiento, mantenibilidad, seguridad (ataques
al dinamismo reinante. de pruebas a dispositivos riesgosos, privacidad,
autonomía y control), compatibilidad y usabilidad.

El Internet de las Cosas (IoT) supone la transforma- • Algunas de las herramientas de prueba que se-
ción del rol de Aseguramiento de Calidad (QA) porque rán casi indispensables serían los simuladores,
involucra pruebas del hardware, software, la transmi- generadores de datos, virtualización, monitores,
sión masiva de cantidades de información en tiempo consolas y análisis estático en aras de garantizar
real e incluso “signos de inteligencia” en los disposi- la mantenibilidad del código que ahora debe estar
tivos dado que su enfoque es “no determinista” y que optimizado en virtud a la característica de los dis-
deben ser sometidos a pruebas en diferentes niveles positivos donde operará. Actividades que hoy en
y de diferentes tipos. Ahora bien, ¿estamos listos en día hacemos manualmente ya no será una opción
QA?, ¿qué cambios requiere QA para incorporar en su ante la cantidad de escenarios a probar.
portafolio de servicios las pruebas IoT?, ¿qué nuevas
habilidades requiere un probador IoT?, ¿vamos en la • En particular sobre las pruebas de usabilidad,
dirección correcta? será importante cambiar de paradigma y pasar de
validar requerimientos a asegurar la experiencia
Algunos de los retos a considerar en QA en aras de de usuario, ahora las acciones de usuario se am-
incorporar en un plazo razonable pruebas asociadas plían con la voz del usuario, su movimiento y su
al IoT son: forma de tocar el dispositivo.

Roselyn C. Piñango Díaz es Ingeniero en Computación con especialización en Sistemas de Información. Gerente de QA Factory en Global R,
Venezuela. Cuenta con 10 años de experiencia en desarrollo y pruebas de software; y certificaciones: OCE SQL, OCA PL/SQL Developer, CTFL
ISTQB, ASE HP ALM v11, CAA SAPB1.

012 SG.51
• Con el auge del IoT surge un híbrido entre un par de técnicas de
diseño de casos de prueba (caja negra y blanca): las pruebas caja gris
que consideran que para diseñar es necesario entender la arquitec-
tura orientada a eventos, hardware, protocolos de conectividad, etc.,
además de los requisitos del cliente

• Algunos de los nuevos conocimientos requeridos a los probadores


para convertirlos en profesionales más integrales: ambientes embe-
bidos, entender sobre el hardware, redes, etc.

• Continúa la premisa que no todas las pruebas serán automatizadas,


será valioso llegar al balance de pruebas automáticas y manuales se-
gún se requiera.

Tendencias como los enfoques ágiles, donde el probador pasa de ser


actor de reparto a protagonista del ciclo de vida de desarrollo de soft-
ware y a involucrarse con todas las actividades así como las habilida-
des del cliente y programadores, nos llevan hacia la dirección correcta
en torno al IoT, si bien en algunos países de Latinoamérica parece es-
tar lejos la llegada de IoT desde QA, deben replantearse visiones que
hasta ahora habían funcionado: no es suficiente buscar un sistema
que “funcione”, IoT requiere validaciones robustas en función de rati-
ficar que la “experiencia de usuario” sea la esperada, debemos incor-
porar nuevas herramientas CAST como emuladores, generadores de
datos y de virtualización. Se convierten en indispensables las pruebas
de rendimiento, usabilidad, compatibilidad y seguridad, y definitiva-
mente el probador debe involucrarse aún más con los procesos del
negocio, conceptos de desarrollo, hardware, software, redes y proto-
colos de comunicación que le permita seguir detectando fallas en un
entorno mucho más complejo e interrelacionado, porque IoT sugiere
una visión 360 para QA, es el momento de trabajar en ello.

SG.COM.MX 013
O RADAR

2 FIREBASE SE
CONVIERTE EN
1 PLATAFORMA

YA VIENE SPARK 2.0 A finales del 2014 Google anunció su adquisición de


Firebase, un servicio de Backend as a Service para apps
móviles (MBaaS). El conjunto de funcionalidad de Firebase
era pequeño comparado con otros MBaaS, ya que sólo
Con apenas un par de años de vida, Spark es una de las tecnologías proveía base de datos en la nube, hospedaje (CDN) y au-
más candentes actualmente en el ámbito del análisis de datos. La no- tenticación de usuarios; pero lo hacía bastante bien y se
vedad es que Spark 2.0 ya se encuentra disponible en una versión hizo popular. Durante el Google I/O 2016 se anunciaron
previa, y promete bastante. Entre las mejoras introducidas en Spark nuevas capacidades para Firebase, que lo expanden para
2.0 destaca el amplio soporte para SQL. Esto facilitará significativa- no solo ser un MBaaS, sino una plataforma unificada para
mente migrar datos de bases de datos relacionales hacia Spark. Las aplicaciones móviles y web avanzadas. Entre las nuevas
APIs de Spark 2.0 también incorporan mejoras significativas, orien- capacidades de Firebase destacan: Analytics para fácil-
tadas especialmente a escenarios de machine learning. Otro campo mente dar visibilidad del comportamiento de los usuarios
de mejora importante es el desempeño. Spark 2.0 utilizará el nuevo de tus apps; Cloud Messaging para proveer mensajería
motor Tungsten que implementa varios trucos, tales como emitir y push notifications; Remote Config permite ajustar el
bytecode optimizado en tiempo de ejecución para colapsar queries comportamiento de tus apps (por ejemplo esconder o
completos en una sola función; esto hace que Spark 2.0 tenga me- habilitar funcionalidad específica) inmediatamente en to-
joras de desempeño de alrededor de 10x comparado con Spark 1.6. dos los usuarios sin necesidad de que tengan actualizar
Spark 2.0 todavía es una versión previa y no está listo para produc- la app; Test Lab, un servicio automatizado de testing de
ción, pero te invitamos a descargarlo y experimentar. apps en dispositivos reales.

http://spark.apache.org Conoce más en http://firebase.google.com

3 PROJECT BLETCHLEY
= BLOCKCHAIN
4 FUNDACIÓN ECLIPSE
TOMA PROTAGONISMO
SOBRE AZURE EN IOT

Project Bletchley es un nuevo proyecto de Microsoft para Empresas como Apple, Google y Amazon están iniciando su batalla
incorporar capacidades de blockchain en la plataforma por el dominio del IoT para consumidor. La aspiración de todas ellas
Azure. Ya desde hace meses Microsoft había lanzado es lograr acorralar a los usuarios dentro de su propio ecosistema.
Azure Blockchain as a Service, que permite generar rápi- En el caso de las empresas, dicha estrategia no es efectiva ya que la
damente un ambiente de desarrollo en Azure con capaci- estandarización e interoperabilidad es clave. Es por ello que el grupo
dades de crear y gestionar blockchain. Desde entonces, de trabajo para IoT en la Fundación Eclipse está cobrando especial
la empresa ha estado estudiando los requisitos y capa- importancia. Recientemente el grupo anunció nuevas versiones dis-
cidades deseadas por las empresas que desean usar el ponibles para varios de sus proyectos, entre ellos:
blockchain y Project Bletchley busca soportar dichos es-
cenarios de uso. Project Bletchley se basa en dos concep- • Eclipse Paho 1.2, librerías e implementaciones abiertas de protoco-
tos: blockchain middleware y cryptlets. El middleware es los de comunicación IoT.
un mecanismo de interoperabilidad con otros servicios de • Eclipse Kura 2.0, framework para gateways IoT.
Azure para resolver aspectos como gestión de identidad, • Eclipse SmartHome 0.8, framework para construir soluciones de
reporteo y analítica. Los cryptlets son un mecanismo de automatización del hogar.
interoperación y extensibilidad para implementar servi- • Eclipse OM2M 1.0, plataforma para construir servicios M2M en un
cios basados en blockchain que requieran información ambiente heterogéneo.
adicional o integración con sistemas terceros.
Adicionalmente anunció la creación del proyecto Eclipse Kapua,
Conoce más sobre Project Bletchley en el whitepaper dis- una plataforma de gestión de dispositivos periféricos IoT resol-
ponible en http://swgu.ru/ri viendo aspectos de conectividad y configuración en ambientes
heterogéneos. Te invitamos a conocer más sobre estos proyectos en
http://iot.eclipse.org

014 SG.51
NOVEDADES
O

Novedades de SQL Server 2016



Por Pedro Galván

SQL Server 2016 ya está disponible de forma general, y recien- COMPATIBILIDAD CON HERRAMIENTAS DE BIG DATA
temente participé en un taller a fondo sobre las nuevas caracterís- SQL Server 2016 tiene muy buenas capacidades de interopera-
ticas que incorpora esta nueva versión y puedo decir que quedé ción con herramientas de analytics y big data. Entre ellas:
gratamente sorprendido. A continuación comparto un resumen de
las capacidades que más me han llamado la atención. • Soporte a R - SQL Server 2016 incluye soporte para R,
permitiendo que los científicos de datos puedan realizar
DESEMPEÑO experimentos de datos directamente sobre las bases de
SQL Server 2016 tiene un gran enfoque en mejorar el desempeño, y datos, sin necesidad de exportar hacia archivos de texto.
mucho de esto se logra gracias a mejoras en el soporte de cómputo De la misma manera, los desarrolladores pueden progra-
en memoria. SQL Server 2014 ya soportaba tablas en-memoria, mar stored procedures que incluyan código R para hacer
pero la implementación tenía muchas limitaciones (por ejem- analítica compleja de forma estandarizada y parametri-
plo, no soportaba llaves foráneas y solo se podían tener tablas de zada, lo cual fomenta su reutilización.
máximo 256 GB). Esto ha mejorado drásticamente en SQL Server • Polybase - Un conector para integración con Hadoop.
2016; ya se soportan llaves foráneas, constraints únicos, operacio- Permite interactuar con datos en Hadoop desde SQL Server
nes paralelas, y ahora es posible tener tablas en memoria de hasta de forma sencilla, sin necesidad de entrar en detalles de HDFS
2 TB. La siguiente figura ilustra las mejoras en desempeño. o MapReduce ni usar un ETL. Polybase no es una tecnolo-
gía nueva, ya se ofrecía como parte del Microsoft Analytics
Platform System, y ahora se incluye en SQL Server 2016.
• Soporte a JSON - SQL Server 2016 permite que los resulta-
dos de un query se exporten como JSON, y también permite
tomar un JSON e importarlo como SQL hacia una tabla.

EXTENDER DATOS A LA NUBE


SQL Server 2016 está diseñada para aprovechar las ventajas de la
nube. Un reflejo de esto es la capacidad “stretch”. Esto permite que
podamos elegir qué partes de nuestra base de datos pueden almace-
narse en la nube, en lugar de nuestro data center local. Todo esto se
hace de forma transparente para el usuario y el desarrollador. El ad-
ministrador de base de datos simplemente define las políticas bajo
las cuales los datos se pueden poner en la nube (ej. datos más viejos
o con menor riesgo) y SQL Server gestiona esto de manera transpa-
SEGURIDAD rente. Al realizar un query, SQL Server se encarga de traer los datos
Una de las limitantes en términos de seguridad de versiones ante- donde quiera que estén, ya sea en la base de datos local o en la nube,
riores de SQL Server era que no soportaba seguridad a nivel de ren- y entregarlos como un solo conjunto de resultados. Esto se puede
glones (row-level security) para restringir que ciertos usuarios solo combinar con la capacidad de cifrado de punta a punta, de manera
tuvieran acceso a un determinado rango de datos. Esto es clave en que los datos que se extienden hacia la nube siempre están cifrados.
escenarios multi-tenant. SQL Server 2016 ya soporta esto.
FUTURO Y CONCLUSIONES
Otra capacidad interesante es el cifrado transparente (transpa- Para algunas empresas, el principal problema de SQL Server
rent queryable encryption). Los datos se guardan cifrados en la no es el producto como tal sino el hecho de que solo funcione
base de datos, y se mantienen cifrados a través del canal de co- sobre Windows. La buena noticia es que hace un par de me-
municación, y solo son descifrados hasta que llegan a la aplica- ses Microsoft anunció que se está trabajando para crear una
ción final (el driver se encarga de hacer el cifrado y descifrado). versión de SQL Server para Linux. Ese producto todavía no
Esto tiene dos ventajas: si los datos son extraídos del servidor o está listo y se espera que se lance hasta mediados de 2017.
captados en la red por un atacante, los datos estarán cifrados; Aun así, vemos esto como una señal positiva de hacia dónde
la segunda ventaja es que al hacerse el cifrado y descifrado en van las cosas.
el mismo punto, se pueden utilizar algoritmos de llave simétrica,
que son mucho más rápidos. Este cifrado se puede configurar a En general, podemos decir que SQL Server tiene un conjunto muy
nivel de columnas individuales. atractivo de nuevas capacidades, y tiene un rumbo prometedor.

Pedro Galván Kondo es cofundador y director editorial de SG Software Guru.

SG.COM.MX 015
I EMPRENDIMIENTO

5 Estrategias Clave para dar a Conocer tu Startup



Por Edith Gómez

De nada sirve tener la mejor startup, con las mejores ideas y comunicación para dar a conocer nuestra startup, es importante
el mejor talento trabajando en ella si no encontramos la forma que seleccionemos el medio adecuado, ya que si nuestra empresa
adecuada de contárselo al mundo. Como dueño de una startup trata sobre videojuegos, no debemos perder tiempo en contactar
debes ser capaz de explicar de una forma clara, sencilla y rápida a con medios que hablan sobre salud o deporte. Una buena idea
inversionistas y periodistas de qué va tu idea de negocio y captar sería crear una lista de periodistas (de diferentes medios) que
su atención para crear en ellos la necesidad de querer saber más traten sobre los temas que abarca nuestra startup.
sobre tus proyectos y aspiraciones.
INVESTIGAR Y ESTUDIAR EL PERFIL DEL PERIODISTA
Sabemos que crear una startup no es fácil, pero darla a conocer Si piensas que enviar miles de emails a periodistas de diferentes
después de todas las dificultades que hemos atravesado, resulta medios con la ayuda de una plantilla, te ayudará a captar su aten-
pan comido, se los aseguro. El problema es que si lo hacemos ción, estás equivocado. Hay que enviar emails personalizados y
mal, pasaremos desapercibidos y nos sentiremos algo ignora- para ellos debemos conocer un poco más a la persona a la que
dos. Por eso, si queremos captar la atención de un periodista nos dirigimos, conocer sus intereses, seguirla en Twitter y obser-
(que recibe al día cientos de peticiones similares), debemos var sobre qué escribe, cómo es su humor y cómo se relaciona con
centrarnos en elaborar el pitch perfecto para conectar con él y sus seguidores, por ejemplo.
“engancharle”. Así que atiende a estas 5 estrategias efectivas
para conseguirlo: Entonces será cuando le enviemos un email explicándole que
hemos visto que escribe sobre un tema específico y resulta que
CONOCER EL MEDIO AL QUE TE DIRIGES nuestra startup trata también sobre ese tema. Por eso, le propon-
Cuando hemos decidido contactar con algún medio de dremos que escriba sobre nuestra startup, porque es un tema

016 SG.51
interesante para su medio y para él, y le facilitaremos la búsqueda de
información para escribir sobre la noticia.

CONTAR EN POCO TIEMPO LO MÁS IMPORTANTE


Primero, debemos presentarnos, decir cómo nos llamamos, el nombre de
nuestra empresa, y justo después (en no más de 30 segundos) explicar
brevemente qué hacemos. Nuestro objetivo en este paso será transmi-
tirle que hemos detectado un problema o necesidad y que la empresa
tiene la solución y va a satisfacer al cliente. Además de esto, deberemos
señalar en qué nos diferenciamos del resto y cuál es nuestra propuesta
de valor. Esto quizás sea lo más difícil de explicar, pero ese esfuerzo será
recompensado si lo conseguimos.

CONTAR UNA HISTORIA


El periodista sabe que para enganchar a sus lectores debe contar una
historia que emocione, divierta, llene de alguna forma. Por tanto, no de-
bemos aburrirle con datos informativos de nuestra compañía, sino con-
tarle una historia que provoque reacciones en el lector (que motiven) y
para ello no podemos olvidarnos de nombrar al equipo, las dificultades
vividas hasta el momento, los logros y otras curiosidades y anécdotas
entrañables.

ELEGIR EL MEJOR MEDIO


Si contamos con un buen pitch y nuestra historia engancha, el periodista
contactará con nosotros sin pensárselo dos veces. Es habitual que al po-
nernos en contacto con el periodista, este no conteste de inmediato. Lo
ideal es esperar dos o tres días y si no responde, volver a intentarlo.

El medio más recomendable para contactar con el periodista será el co-


rreo electrónico. De esta forma, el periodista lo leerá cuando tenga un
hueco, sin presión, y decidirá qué hacer cuando lo considere. De otra
forma, con una llamada telefónica (aunque la respuesta es inmediata), le
resulta más incómodo. Twitter es otra opción. Puedes captar su atención
con un tuit y conseguir que te siga. De esta forma, podrías enviarle el
pitch por mensaje privado.

Si no recibimos respuesta por ninguno de estos medios, querrá decir que


debemos revisar el pitch y mejorarlo. Algunos, sin embargo, se toman
la molestia de escribir para decir que el tema no les interesa. Podemos
aprovechar esto para preguntarles por qué no les gustó y qué hacer para
mejorarlo. Recibamos esa crítica de forma positiva y guardemos esa in-
formación para aplicarla con otros medios en un futuro.

Edith Gómez (@edigomben) es editora en Gananci, apasionada del marketing digital, especializada en
comunicación online. Se niega a irse a la cama cada noche sin haber aprendido algo nuevo. Le inquietan
las ideas de negocio y, más aún, aportar una mirada creativa al pequeño mundo en el que vivimos.

SG.COM.MX 017
LAS COSAS, EL INTERNET Y
EL INTERNET DE LAS COSAS
En la evolución de la tecnología, y así como también sucede en la industria de la moda,
todo en sí está marcado por tendencias que dictan el cómo, el por qué e incluso el dónde
o el quién. Ante nuestros ojos hemos sido testigos de la llegada de los teléfonos celulares
que hoy son smartphones, hemos visto cómo la generación de datos ha crecido hasta
llegar al big data acompañado de su mundo bizarro: el dark data. Por supuesto sabemos
que lo de hoy es el almacenamiento en la nube, que hay públicas y privadas; esas son
solo algunas de las tendencias que nos han llevado de la mano hasta llegar a un punto
de interconexión tal que ya no solo se trata de dispositivos diseñados y desarrollados
para comunicarse entre sí, por ejemplo, sino de prácticamente cualquier cosa que tenga
potencial para entregar y recibir datos valiosos de los usuarios, así es entonces que lle-
gamos al internet de las cosas, IoT de cariño.

Google lo define como “un desarrollo de internet en el que los objetos cotidianos tienen
una red que les permite conectarse para enviar y recibir datos”. Así pues, a continuación
podrás adentrarte al fantástico mundo de las cosas conectadas, del refrigerador que te
recuerda que hace falta comprar leche, del universo de beacons que sabrán todo de tus
necesidades —o no necesariamente— para satisfacerlas casi al momento sin que tengas
siquiera que preocuparte por ello.

Gartner estima que para finales de 2016 el gasto anual en servicios de IoT rondará
los 235 mil millones de dólares. Prácticamente todas las industrias están explorando
soluciones basadas en IoT para recabar tantos datos sean posibles, que les permitan
entender mejor a sus clientes y obtener ventaja competitiva. En las siguientes páginas
compartimos ideas y reflexiones de expertos sobre lo que implica el internet de las cosas
para la tecnología empresarial.

018 SG.51
EN
PORTADA
P

PREPARÁNDONOS
PARA LA DISRUPCIÓN DEL IOT

Por Curt Hall

El internet de las cosas (IoT) promete


generar disrupción en todas las industrias.
Las empresas requieren examinar cómo
pueden aprovechar el contar con productos
y servicios conectados, y considerar los nue-
vos volúmenes de datos que se generarán
como consecuencia de productos habilita-
dos con sensores. Sin embargo, este auge en
la innovación de productos también implica
que las empresas deben considerar cuida- INNOVACIÓN Y DISRUPCIÓN los automóviles se manejan solos, entonces
dosamente cómo van a lidiar con la posibili- Conforme la adopción de IoT tome iner- ¿cuál será el incentivo para tener uno propio?
dad de nuevos competidores con modelos cia, se espera que generará grandes inno- Especialmente cuando puedes solicitar un
de negocio basados en productos y servicios vaciones en productos, que provocarán automóvil desde tu teléfono para que llegue
de IoT. A continuación comparto algunos disrupción en industrias enteras. La inno- a recogerte a donde te encuentres, y no tie-
puntos que recomiendo considerar. vación acelerada basada en IoT también nes que preocuparte por dónde estacionarte
puede resultar en un aumento en batallas o por el mantenimiento del vehículo. Esto nos
NUEVAS PRÁCTICAS DE GESTIÓN por propiedad intelectual y confrontacio- lleva a otro punto … ¿cómo sería la publicidad
DE DATOS nes entre competidores. de un automóvil deportivo autónomo? La
La disponibilidad de dispositivos conectados publicidad actual tiende a mostrar a conduc-
resultará en un aumento significativo en la El internet de las cosas también afectará tores experimentando felizmente la emoción
cantidad de datos que generamos. Las or- los modelos de servicio al cliente al obli- de manejar rápido a través de algún camino
ganizaciones deben lidiar con la gestión de gar a las empresas a adoptar prácticas de con curvas y un lindo paisaje.
estos datos. Además de su gran volumen, los servicio en tiempo real. Así que las empre-
datos generados por aplicaciones IoT son rá- sas tendrán que implementar capacidades La industria automotriz no está cruzada de
pidos (real-time, streaming) y variados. Esto para el monitoreo remoto de productos en brazos en cuanto a enfrentar las oportuni-
impulsará la demanda para personal experi- tiempo real. En algunas industrias como dades y retos del IoT. Uno de los ejemplos
mentado en el uso de herramientas y técni- las de manufactura y transporte ya se es- más dramáticos es la reciente inversión de
cas modernas de análisis de datos. tán desarrollando productos que soportan General Motors en la empresa Lyft (similar
mantenimiento predictivo en base a los a Uber) por 500 millones de dólares. Como
El IoT ya está teniendo un impacto en la in- datos obtenidos por sus sensores. parte de esta inversión, colaborarán para
dustria de gestión de datos e inteligencia de crear una red de vehículos autónomos dis-
negocios, impulsando el desarrollo y aplica- Algunas industrias experimentarán cambios ponibles bajo demanda. Ambas empresas
ción de nuevas tecnologías para la gestión y dramáticos como la de taxis o la de servicios también están planeando un autoservicio
análisis avanzado de datos. Esto incluye tec- de hospedaje que se han visto impactadas de renta de automóviles.
nologías como Hadoop, Yarn, NoSQL, bases con la llegada de empresas como Uber, Lyft,
de grafos, bases multimodelo, y las denomi- Aribnb, etc. Otras industrias como la auto- Otras industrias y empresas no están
nadas “NewSQL” que combinan capacida- motriz, seguros y transporte de carga ya es- siendo tan proactivas en su adopción de
des de RDBMS tradicionales con Hadoop y tán comenzando a lidiar con el impacto de la IoT o al menos en su análisis de cómo
NoSQL. El IoT está avanzando el desarrollo disponibilidad de automóviles con sensores puede traer disrupción a su industria. Estas
y adopción de analítica en tiempo real como e incluso que se pueden manejar solos. empresas corren el riesgo de ser atacadas
procesamiento de eventos, motores de re- Por ejemplo, consideremos el posible impacto por sorpresa con innovaciones basadas en
glas de negocio, streaming, machine lear- que los vehículos autónomos podrían tener IoT. Incluso la juguetera Mattel se ha co-
ning y sistemas cognitivos (ej. IBM Watson). en la industria de aseguradoras, así como en menzado a reinventar y ya desarrolló una
las tendencias de venta de automóviles. Si muñeca Barbie conectada.

Curt Hall es consultor Senior en Cutter Consortium, especializándose en las prácticas de Data Insight, Social BI y Arquitectura Empresarial.

SG.COM.MX 019
EL IMPACTO REAL
DE IOT EN LAS EMPRESAS —
Por Jorge Alvarado

En el Internet de las Cosas, los objetos En su reporte TechRadar, Forrester revela Mientras los teléfonos móviles, los smart
cotidianos son parte de una red que envía que 23% de las empresas ya utilizan el TVs, electrodomésticos y autos inteligen-
y recibe datos de otras “cosas”. Para los IoT, mientras que 29% planean hacerlo tes pueden seguir captando la imagina-
consumidores esto significa capacidades en los próximos 12 meses. Aprovechan ción de los consumidores, es posible ver
como poder ajustar el termostato de su el IoT para transformar sus modelos de que hay mucho que ganar con las imple-
hogar desde el otro lado del mundo. Pero negocio, optimizar la utilización de acti- mentaciones empresariales. A diferencia
para las empresas, el puede representar vos físicos y financieros, y crear nuevas de los sensores integrados en los disposi-
nuevas oportunidades para conectarse formas de relacionarse con sus clientes. tivos de consumo, aquellos integrados en
con sus clientes y socios, así como reunir, De igual modo, Forrester prevé que el maquinaria, contenedores, trenes, plan-
almacenar y analizar grandes volúmenes IoT creará grandes volúmenes de datos, tas de producción o puntos de venta, por
de datos. La gama de posibilidades que el por lo que la analítica de IoT se conver- ejemplo, están generando la información
IoT ofrece va en aumento y ahora las em- tirá en una categoría y disciplina espe- para crear aplicaciones en logística, redes
presas de todo el mundo comienzan a an- cializada. Por su parte, Gartner calcula inteligentes, servicios públicos, transpor-
dar los caminos destinados a aprovecharlo. que para cuando finalice 2016 el gasto tación, manufactura y retail.
Su impacto, sin duda, revolucionará la ma- en servicios de IoT alcanzará los $235
nera en que las empresas están haciendo mil millones de dólares, y que más de la Pero más allá de los sensores y dispositi-
negocio y elevará la productividad y efi- mitad de los nuevos procesos de nego- vos, el valor real del IoT es determinado
ciencia, similar a lo que sucedió con la lle- cio y sistemas incorporarán algún ele- por los datos y las nuevas aplicaciones
gada de las computadoras. mento del IoT para el año 2020. que los aprovechan. La inteligencia de

Jorge Alvarado es Jefe de Arquitectura en Red Hat México.

020 SG.51
EN
PORTADA
P

estos datos está dando paso a nuevos modelos de negocio y apli- a disminuir, todas las redes podrían colapsar y perderse miles de
caciones que nunca habían existido antes y que abren la puerta a millones de dólares en equipo.
la transformación digital.
De ahí que las empresas deban ser lo más ágiles posible y re-
LOS ALCANCES DEL IOT EMPRESARIAL accionar de inmediato a la información que están recabando en
A continuación listo algunos ejemplos de aplicaciones empresariales: tiempo real. Gartner habla del TI Bimodal, en donde las empre-
sas por un lado tienen sistemas de cómputo tradicionales de alto
Manufactura inteligente. El servicio o función de una máquina o rendimiento (modo 1), y por otro lado aplicaciones escalables y
una parte de ella pueden mejorar antes de que se presente una datos en la nube que requieren de agilidad para adaptarse a un
falla, eliminando así los costosos tiempos de inactividad y even- mundo cambiante (modo 2). Típicamente el código abierto con-
tualidades no previstas. tribuye con éste último modo, ayudando a las empresas a innovar,
ser más productivas y adoptar nuevas tendencias como la nube,
Cadenas inteligentes de suministro. Proporcionando información en la virtualización y el Internet de las Cosas, al tiempo de ahorrar
tiempo real de la oferta, demanda y envíos a los clientes. Las entregas costos y mejorar la seguridad.
pueden ser rastreadas y recuperadas si son extraviadas o robadas.
Estas consideraciones nos permiten ver que una arquitectura
Infraestructuras inteligentes. Las oficinas inteligentes contribu- de dos niveles es muy lenta para los datos importantes, y de-
yen a generar ahorros de energía, mejorar la autosustentabilidad masiado costosa para los que no lo son. En el plano empresa-
y potenciar la colaboración entre los empleados. rial surge una arquitectura de tres niveles creada alrededor de
una nueva capa media (o el controlador). Estos controladores
DECISIONES EN FRACCIÓN DE SEGUNDOS son lo suficientemente inteligentes para actuar rápidamente, al
¿En qué radica la diferencia entre el IoT de consumo y el empresa- tiempo de enviar de vuelta únicamente los datos importantes
rial? Los casos de uso de IoT de consumo se crearon sobre una arqui- el centro de datos. Este concepto, conocido como de Near Field
tectura en la que el dispositivo se conecta a internet aprovechando Processing, permite que las decisiones se tomen más rápida-
la red WiFi del hogar, o puenteando por medio de un teléfono móvil. mente y requiere que una menor cantidad de datos viaje hasta
el centro de datos. Actuar ágilmente al final reduce los costos de
En este modelo, el dispositivo transmite todos los datos a un centro transmisión y el tiempo para tomar decisiones, lo que le permite
de datos en la nube, donde se realiza el análisis y, si se requiere una hacer del Internet de las Cosas una realidad para la empresa.
acción, se envía el mensaje correspondiente al dispositivo para que
dispare la acción necesaria. Fundamentalmente, esta arquitectura En el pasado, solo las compañías con más presupuesto podían
funciona en este modelo por dos razones: la disponibilidad del an- beneficiarse de reunir datos de los dispositivos distribuidos para
cho de banda y a que no hay que tomar decisiones rápidamente. tomar mejores decisiones y obtener valor adicional. Hoy, las eco-
nomías de la arquitectura de IoT: el hardware, la naturaleza ubi-
En una aplicación de consumo en la que el dispositivo se conecta cua de la conectividad, el big data y las soluciones de software
a la nube por medio del WiFi del hogar, el uso de ancho de banda empresarial en todas las capas, acompañan a la experiencia del
no tiene un costo adicional para el cliente, ya que típicamente son usuario para ampliar el IoT, y lo hacen posible para que las empre-
planes con transferencias de datos ilimitadas. Sin embargo, las sas, no solo los consumidores, se beneficien.
conexiones en las empresas tienen más restricciones y cada byte
cuenta. De hecho, reducir un solo byte de un mensaje puede aho-
rrarle a la empresa millones de dólares en costos de transmisión
en los casos de uso del IoT industriales. Por lo tanto, se ha vuelto
crucial para las arquitecturas de IoT considerar el ancho de banda
en sus diseños.

En segundo lugar, para los consumidores típicamente no es crí-


tica la cantidad de tiempo que se necesita para tomar decisio-
nes. En contraste, en un entorno empresarial de misión crítica,
las decisiones se miden en fracciones de segundo. Por ejemplo, si
el sensor de bajo voltaje de una red eléctrica esperara tres minu-
tos para liberar capacidad adicional cuando el voltaje comienza

SG.COM.MX 021
EL SALVAVIDAS DEL IOT EN LA EVOLUCIÓN
DE LA TECNOLOGÍA —
Por Esteban Montelongo

Actualmente, cuando hablamos del in- Esta oportunidad de facilitar la información información para mejorar sus operacio-
ternet de las cosas ya no se trata de hablar en tiempo y forma así como la flexibilidad nes. Es simple, ahora podemos saber
de comunicación entre computadoras, eso para crear modelos de predicción, asociación cuándo, dónde y cómo se realizó un de-
solo es parte de redes internas y externas. y clasificación, sin duda alguna está contribu- terminado evento.
El internet de las cosas tiene una palabra yendo al nuevo éxito de las compañías.
clave: things, que básicamente describe las De acuerdo con datos de Gartner, para el año
“trillones de cosas” que no tienen relación Por ejemplo, hoy en día, el monitoreo 2020 se calcula que el valor de la economía
con una computadora como tal, pero que de fletes vía sensores ya no solo otorga dentro del IoT sea de 1.9 trillones de dólares,
emiten datos e información relevante. información sobre el seguimiento del derivada básicamente por las nuevas ofertas
paquete, sino que también puede mo- dirigidas a un usuario final tales como smart
Bajo esta perspectiva, resulta indispen- nitorear las condiciones del transporte watches, wireless lighting entre otros, así
sable tomar en cuenta la evolución de la a través del trayecto, ¿cuánta humedad como las orientadas a la operación y auto-
información que ahora es posible obtener había en el contenedor?, ¿el paquete fue matización de sistemas dentro de una manu-
vía sensores, provenientes por ejemplo de abierto o inspeccionado? Con las res- facturera, en donde el mayor impacto se verá
equipos electrónicos. puestas a la variedad de preguntas, se hasta dentro de algunos años.
tendrá un control preciso de los produc-
En la actualidad, una empresa de retail tos durante el trayecto, con lo que las La oportunidad para generar nuevas fuen-
puede calcular la reposición de sus inven- compañías aseguradoras podrán crear tes de ingresos, ventas y reducción de
tarios, así como distribuir sus productos de nuevos modelos de aseguramiento y costos, entre otros problemas de negocio,
acuerdo a un detector ubicado dentro de los también contar con el detalle de las resulta ser sumamente sencilla y simple,
refrigeradores de los consumidores. Basta características del siniestro ocurrido, incorporando el salvavidas idóneo que
con solo abrir la puerta del refrigerador y evaluando el pago de una póliza. Por su sepa sacar provecho de las “cosas” que la
sacar un determinado producto, para que parte, el área de logística utilizará esta evolución de la tecnología nos brinda.
esto pueda ser identificado por los sensores
como un “faltante” para que así esos datos
se envíen de manera inmediata al proveedor,
garantizando la venta de dichos productos
en tiempo y forma, de acuerdo a los patro-
nes de compra específicos de los consumi-
dores y asegurando, incluso, el envío a la
puerta del hogar… ¡Fascinante! ¿No?

Dentro de estas “things”, podemos mencio-


nar a los equipos, máquinas y dispositivos
que se utilizan dentro de las diferentes indus-
trias tales como los sistemas de medición de
temperatura, irrigación, emisión y/o consumo
de combustible, señalización o bien, equipos
de salud, tanto de uso personal, como equi-
pos más sofisticados, entre muchos otros.

Sin embargo, para no ahogarse con la gran


ola de información, el salvavidas vendrá
marcado por los datos que resulten real-
mente valiosos, filtrados y maniobrados
vía herramientas de analítica avanzada así
como con arquitecturas que la soporten.

Esteban Montelongo es Arquitecto de soluciones para analítica avanzada en Teradata.

022 SG.51
EN
PORTADA
P

EL MAYOR VALOR DE NEGOCIO


EN INTERNET DE LAS COSAS SON
LOS DATOS

Por Samuel dos Reis

Mucho del enfoque al hablar del Internet a tiempo”, antes de que el producto falle. Por Con el fin de comprender plenamente el
de las Cosas se centra en “las cosas” mismas, ejemplo, muchos dueños de vehículos eléc- valor de combinar los datos del IoT con
como los wearables, sensores, beacons, y tricos reciben reportes de diagnósticos remo- otros datos de la empresa de manera
otros equipos conectados a la red. Sin em- tos con información sobre fallas o próximos ágil, las organizaciones deberán apro-
bargo, el mayor valor para las organizaciones servicios a necesitar, basados en interpreta- vechar las modernas herramientas de
proviene de la combinación de datos genera- ción de los datos generados por el vehículo. gestión de datos para acelerar y automa-
dos por estos dispositivos con otros datos del tizar los procesos. Utilizando herramien-
cliente u operacionales para descubrir otras El reto que muchas organizaciones enfren- tas para clasificar los datos, descubrir
ideas y establecer modelos predictivos. Esta tan es cómo entender de forma sistemática su estructura de forma inteligente, para
es la increíble promesa del IoT, pero sin la ca- los datos derivados de “las cosas” y com- luego extraerlos automáticamente y
pacidad de vincular los datos de las cosas binarlos con otros datos relevantes de la combinarlos con otros datos relevantes
“inteligentes” conectadas con otros datos de empresa para crear valor. Los datos del IoT de la empresa de forma continua, hace
negocio, su valor es limitado. generalmente consisten en archivos de bitá- que los datos del IoT sean más accesi-
cora, a veces mal relacionados, y al parecer bles. Esto crea una infraestructura para
En lugar de proyectos de IoT aislados que no no estructurados; de hecho, los datos del una expansión y evolución continua en
están conectados a la infraestructura corpo- IoT tienen estructura, aunque no están en un el uso de los datos del IoT para entender
rativa central de datos, hay una oportunidad formato tradicional relacional o estándar. Las a los clientes y crear modelos predicti-
de usar los datos generados por el IoT para archivos de bitácora se estructuran e inclu- vos para los sistemas operativos.
crear valor real de negocio. Las organizacio- yen puntos de datos de medición que varían
nes pueden combinar datos de los clientes de un fabricante a otro, de un modelo a otro, Las empresas pioneras infraestructura
obtenidos de distintos dispositivos con otros de una versión de software a otra e, incluso para IoT están creando soluciones innova-
datos de los clientes para obtener nuevas de una compañía a otra. Por ejemplo, los te- doras que combinen modelos interactivos,
perspectivas e identificar nuevas señales rabytes de datos procedentes de un motor visuales de los datos con aprendizaje auto-
sobre el potencial de compra o cambios de de reacción de un jet, difieren por aerolínea, matizado, a su vez agilizando la capacidad
comportamiento. Este conocimiento puede así como por fabricante y modelo. Como de obtener valor del negocio a través del
llevar a las empresas a un entendimiento otro ejemplo, productos para la agricultura IoT. Una vez que el modelo de datos para
más profundo y una mayor capacidad de res- automatizada y maquinaria industrial, todos un dispositivo en particular es entendido,
puesta a los clientes. Por ejemplo, las tiendas con ellos con diferentes modelos y variantes, mapeado y preparado, la transformación y
pueden combinar datos obtenidos por bea- tienen cientos o miles de distintos formatos la entrega de datos a los sistemas puede
cons dentro de la tienda con el historial de de archivos de registro procedentes de sus ser automatizado para un uso productivo.
transacciones y almacenar modelos de com- productos usados por clientes alrededor del
portamientos de los clientes para determinar mundo. Esto introduce una complejidad sig- En una era en la que vivimos en una mayor
mejores promociones o diversas acciones a nificativa en cualquier intento de interpretar conectividad de las cosas, es tiempo de
tomar, tales como notificar al personal de la los datos, darles formato, normalizarlos y capitalizar toda la explosión de informa-
tienda que un cliente VIP ha llegado. combinarlos con otros datos relevantes para ción que resulta de ellas, y poner orden a
su análisis o para sistemas operacionales. Sin través de una correcta integración, calidad
También hay enormes oportunidades de po- estas herramientas que ayuden a interpretar y limpieza de datos para que las empre-
ner los datos de IoT a trabajar en modelos y analizar los datos del IoT, el tiempo y es- sas tomen mejores decisiones y generen
predictivos para mejorar horarios de man- fuerzo invertido será costoso, prolongado y productos y servicios específicos acordes
tenimiento o proporcionar un servicio “justo propenso a errores manuales. a cada consumidor.

Samuel Dos Reis es VP para Latinoamérica de Informatica LLC.

SG.COM.MX 023
CINCO MANERAS
EN QUE EL IOT DARÁ LUGAR A UN
MARKETING MÁS INTELIGENTE

Por Eduardo Lugo

El Internet de las Cosas puede sonar El IoT ya se encuentra entre nosotros profesionales en TI manejen y monitoreen
como un “buzz word” más, pero en realidad con Nike Fuelband, Google Glass, Fitbit la interacción, permitirán a las empresas
se trata de una revolución tecnológica que y los iWatch de Apple —todos ejemplos diseñar estrategias de marketing informa-
tendrá un impacto en todo lo que hagamos. populares de nuestras vidas cada vez das y mejorar el ROI de las ventas futuras.
más conectadas—.
El IoT es la interconexión entre las cosas Más importante aún, sus clientes podrán
que utilizan tecnología de comunicación He aquí 5 maneras en que el IoT mejorará el ofrecer retroalimentación útil al instante. Por
inalámbrica (cada una con sus propios ROI (retorno de la inversión) del marketing: lo tanto, si un producto en específico no está
identificadores) para conectar objetos, lu- cumpliendo las expectativas, podrá ente-
gares, animales o personas al Internet, lo 1. INTERCAMBIO SENCILLO DE rarse al momento, lo que significa que podrá
que permite tanto la transmisión directa DATOS DE VENTAS reducir las pérdidas más pronto que tarde.
como el intercambio óptimo de datos. Uno de los activos más valiosos de cual-
quier empresa son sus datos de ventas. La 2. CRM MÁS INTELIGENTE: ANÁLISIS
En esencia, se refiere a los dispositivos de capacidad de acceder a información sobre DEL CLIENTE AL INSTANTE
todos los días que son capaces de intercam- cómo, dónde y por qué se están vendiendo Cuando se utilice en conjunto con una
biar información automáticamente a través sus productos le permitirá dirigir sus es- buena herramienta de administración de
de una red. El IoT también tiene un gran im- fuerzos de marketing a clientes específicos. relaciones con el cliente (CRM, por sus
pacto en nuestras vidas cotidianas, ya que siglas en inglés), el IoT podrá hacer mu-
cambia la manera en que el tráfico, el clima, Los dispositivos inteligentes capaces de cho más que sólo recopilar y organizar los
la contaminación y el ambiente se monito- recopilar esos datos y proporcionarlos datos del cliente; podrá también analizar
rean y la forma en que los datos se recopilan. en tiempo real, sin la necesidad de que de manera eficaz y precisa los datos para

Eduardo Lugo es vicepresidente de Ventas para Latinoamérica de Salesforce.com

024 SG.51
EN
PORTADA
P

brindar resultados accionables sobre su actualización de sus dispositivos por A medida que una cantidad cada vez ma-
base de consumidores. temor a que ésta resulte defectuosa, yor de nuestros dispositivos y objetos an-
tome mucho tiempo en instalarse o tes desconectados se acondicionen con
Para los comerciantes eso será invaluable, simplemente que algo salga mal. Por sensores, y gracias al acceso constante
ya que la cadena de mando del comprador desgracia, dejar de actualizar el soft- al Internet, la cara de la publicidad cam-
es generalmente larga y las decisiones tar- ware deja los dispositivos vulnerables biará tanto para el comerciante como
dan más tiempo en tomarse. Los dispositi- a ataques de seguridad o a cuestiones para el consumidor.
vos del IoT pueden acelerar ese proceso al problemáticas conocidas. Los disposi-
ayudarle a conocer dónde se encuentra el tivos del IoT omitirían la intervención Los comerciantes ya no tendrán que de-
cliente en el proceso de compra y, de esa del usuario y buscarían, descargarían e pender de carteles publicitarios ni anun-
manera, poder aprovechar cada segundo instalarían las nuevas actualizaciones cios emergentes que aparecieron en un
del día para resolver problemas y propor- por sí solos. sitio web que visitaste el martes, pues la
cionar la información correcta que final- mayoría de los dispositivos del IoT no po-
mente ayudará a cerrar la venta. 4. REDES SOCIALES PREDECIBLES drán de ninguna manera procesar, mucho
Cuando Facebook y Twitter aparecieron menos desplegar, tan primitivas tácticas.
3. LOS DISPOSITIVOS QUE ESTÁN por primera vez hace ya varios años,
MURIENDO la mayoría de los comerciantes no es- Como resultado, la era del comercial inin-
Uno de los aspectos más prometedores de taban del todo convencidos de que va- terrumpido finalmente morirá en el lado
los productos con tecnología inteligente liera la pena incursionar en esos nuevos del consumidor. En su lugar surgirá un
es su capacidad de realizar su propio man- sitios de “redes sociales”. Hoy sabemos nuevo mundo donde la publicidad será
tenimiento y diagnóstico periódicos. cuán equivocados estaban. En la actua- útil y relevante, donde nunca aparecerá un
lidad, el 74% de los comerciantes de anuncio que no corresponda al 100% con
Los automóviles se autodiagnostican marcas afirman que el tráfico en sus si- los intereses, los hábitos y las compras an-
desde hace algún tiempo, aunque a través tios ha aumentado considerablemente teriores del usuario.
de un método anticuado que emplea se- después de invertir tan sólo 6 horas a la
ñales imprecisas. Gracias al poder del IoT, semana en esfuerzos de marketing para ¿Cómo será posible? Un ejemplo sería un
cada componente es “más inteligente”, de redes sociales foco que se funde en la casa “inteligente”.
modo que la capacidad de identificar el El hogar conectado no sólo registraría la
problema, así como la solución, será mu- El IoT ya está optimizado para utilizarse necesidad de reemplazar el foco, sino que
cho más rápida que antes. en las redes sociales, ya que permite a los también proporcionaría al dueño de la
dispositivos publicar y compartir de ma- casa un cupón digital para un foco nuevo
En cuanto a los artículos y dispositivos nera automática y preparar el camino para directamente en su smartphone. Aún me-
convencionales, por lo general el primer que las nuevas comunidades en línea se jor, registraría y comunicaría el número
indicio de que algo está mal es cuando el centren alrededor de los usuarios de dis- exacto de horas que el foco se ha utili-
dispositivo repentinamente deja de fun- positivos específicos. zado, lo que permitiría al dueño saber que
cionar. Cuando eso ocurre, no hay mucho el foco está por concluir su ciclo de vida.
que se pueda hacer, además de repararlo o Los comerciantes que sean capaces de
solicitar uno nuevo y esperar a que llegue. predecir el desarrollo de esas comuni- Eso no sólo permitirá al cliente ahorrar
dades sociales y enfocar sus esfuerzos tiempo al recibir únicamente anuncios re-
Los dispositivos del IoT podrían eliminar en ellas podrán llegar a los clientes po- levantes, sino que los comerciantes ya no
ese tiempo de espera, ya que constante- tenciales que quizá antes no estaban tendrán que gastar sumas estratosféricas
mente monitorean sus propias funciones y, disponibles. De la misma manera, los en publicidad irrelevante.
de ser necesario, contactan al soporte téc- dispositivos del IoT, al combinarse con
nico. Y en caso de que detecte un problema las redes sociales, permitirán a los co- Los comerciantes necesitarán entender
grande e irreparable, el dispositivo del IoT merciantes identificar y aprovechar las por completo a sus consumidores para
puede solicitar fácilmente un reemplazo, nuevas tendencias emergentes. poder aprovechar las nuevas oportuni-
de modo que cuando deje de funcionar por dades que surjan, pero aquellos que lo-
completo, el nuevo modelo ya habrá lle- 5. IMAGINE UN CTR (PROPORCIÓN gren realizar esa transición descubrirán
gado y estará listo para utilizarse. DE CLICS) DE 100% que el IoT les brindará la oportunidad
Al unificarse, esos factores apuntan hacia de dejar de ser comerciantes para final-
Lo mismo aplica para las actualiza- un objetivo final: una publicidad más inte- mente convertirse en recursos empresa-
ciones. Muchos usuarios posponen la ligente y más relevante. riales valiosos.

SG.COM.MX 025
LIBERANDO EL POTENCIAL
DEL INTERNET DE LAS COSAS

Por José M. Berruecos

Es posible que el internet de las cosas viñedos rezagados un rendimiento óptimo


(IoT, por sus siglas en inglés) todavía sea usando menos agua en una época en la que
más un deseo que una realidad, rodeada por California se encuentra en una sequía ca-
cierto nivel de escepticismo integrado, pero tastrófica ampliamente conocida. Los servi-
esto va a cambiar, y las empresas deben es- cios de salud son un sector que aprovechó
tar preparadas. Las principales empresas rápidamente los beneficios proporcionados
alemanas de telecomunicaciones, tecnolo- por la IoT. Una de estas soluciones es el
gía y fabricación ya formaron la Alianza del servicio de administración de medicamen-
Internet de las Cosas (IoTA, por sus siglas en tos de Philips [2]. Diseñado para personas
inglés) para adelantarse a la llegada inmi- mayores que a menudo se olvidan de to-
nente del IoT. El objetivo es asegurarse de mar su medicación, el dispositivo le indica
que, cuando los dispositivos empiecen a co- al paciente cuando es la hora de tomar las
municarse entre sí, lo hagan en alemán. Sin píldoras. Cuando el paciente presiona el
embargo, incluso con toda la planificación, botón, se proporcionan vasos llenados pre-
se divisa un bloque molesto en el horizonte: viamente con el medicamento. El dispositivo
la falta de infraestructura adecuada para ad- está sincronizado con la línea de teléfono del
ministrar la enorme cantidad de datos diver- usuario, por lo tanto, los mensajes se ras-
sificados, el tráfico, el almacenamiento y las trean si la persona no toma una dosis, si es
demandas de procesamiento asociadas con momento de reabastecer esta o si hay una
el gigante de la IoT. interrupción en la alimentación, que impide
el funcionamiento del dispositivo.
A medida que el IoT se expande, también
aumentan la cantidad de cosas que se El pronóstico de Gartner [3] es que la can-
conectan a Internet, desde termostatos tidad de dispositivos IoT aumentará a apro-
hasta autos, y la necesidad de tener una ximadamente 25,000 millones de unidades
infraestructura sólida y poder de procesa- en 2020. En comparación, se espera que la
miento requerido para respaldarla. Así es cantidad total de computadoras, tabletas y
como se desencadenaron revoluciones en teléfonos inteligentes en 2020 sea de solo
los centros de datos de todo el mundo. 7,300 millones de unidades. BI Intelligence
[4] espera que este año sea un punto de in-
HERVIDEROS DE INNOVACIÓN flexión en el que la cantidad de dispositivos a la red proyectados para aparecer en los
El hecho de que los controladores de IoT sean de la IoT supere la cantidad total de compu- próximos años a medida que la tendencia
cada vez más pequeños y accesibles hace tadoras, tabletas y teléfonos inteligentes por de la IoT empiece a triunfar, los operadores
que sea relativamente fácil habilitar la conec- primera vez. Para el final de la década, los de centros de datos deberán invertir para
tividad de la IoT en todo tipo de dispositivos. dispositivos IoT producirán 40,000 exab- asegurarse de que sus instalaciones ten-
No obstante, no solo los refrigeradores y las ytes (40 billones de gigabytes) de datos que gan la capacidad de datos suficiente para
lámparas pasan a estar en línea, sino que IoT deben almacenarse y transformarse en inte- adaptarse a la afluencia de información que
se está usando a escala masiva, lo que posibi- ligencia significativa. generarán las terminales de la IoT.
lita una amplia variedad de innovaciones.
RELACIÓN SEÑAL/RUIDO El problema es que, en general, el big data
Por ejemplo, hay científicos que están cola- El índice de adopción de la IoT de- generado por la explosión de la IoT tiene
borando con vinicultores innovadores en el penderá mucho de la facilidad de las una relación ruido/señal muy alta con una
Valle de Napa para modificar las anticuadas empresas para evadir la ley alemana gran proporción de datos irrelevantes,
técnicas de irrigación por medio de senso- Bundesdatenschutzgesetz (BDSG) y des- que provocan una tasa alta de emisión
res inteligentes incorporados en las vides bloquear y usar la información recopilada, de datos. El resultado será un impacto in-
[1]. Con la simple transmisión inalámbrica con el elemento clave, ya sea de dispositi- mediato en el ancho de banda necesario
de las lecturas de los sensores, pueden ana- vos dirigidos a empresas o consumidores, desde el centro de datos y hacia este, y en
lizar los resultados para determinar en nivel con la aplicación y no el sensor. Con los mi- el almacenamiento y el poder de procesa-
de hidratación de la planta, lo que da a los les de millones de dispositivos conectados miento dentro de este.

José Manuel Berruecos es Country Manager de EMC México.

026 SG.51
EN
PORTADA
P

la nube en los próximos cinco años, los


centros de datos son los que sentirán
la presión.

No obstante, las empresas que se esfuer-


cen por analizar y comprender los datos
generados por la gran cantidad de dispo-
sitivos conectados a la red en tiempo real
podrían llegar a la conclusión de que los
antiguos centros de datos tradicionales no
están preparados para esto. En lugar de tra-
tar de cubrir las brechas con la compra de
infraestructura según componente, vere-
mos empresas conectadas y modernas que
pasan a una infraestructura virtual conver-
gente a fin de ofrecer flexibilidad para los
grandes cambios futuros en los datos. Esto
llevará al surgimiento de centros de datos
de hiperescala construidos sobre infraes-
tructuras convergentes e hiperconvergen-
tes para poder adaptarse a las presiones
específicas de la era de la IoT.

CAMBIO DE LAS PERCEPCIONES DE TI


Para permitir que esto suceda, TI debe
cambiar su percepción de un centro de
costo a un activador de ingresos. Solo con
este cambio de mentalidad una organiza-
ción podrá aprovechar las ventajas de la
IoT. Una vez que la tecnología sea central,
las empresas podrán lograr los objetivos
de integración, velocidad, escalabilidad y
resistencia de una organización transfor-
mada digitalmente.
Debido a esto, para que el IoT llegue al tipo capacidad del centro de datos consumida
de crecimiento proyectado por Gartner y por las cargas de trabajo de la IoT aumen- Es posible que haya comenzado con un
otros, las empresas deberán tener una fun- tará aproximadamente un 750 % entre refrigerador conectado a Internet, pero el
cionalidad de centro de datos que pueda 2014 y 2019, lo que presionará a las insta- IoT sin duda se convertirá en el motivador
manejar esta posible afluencia inmensa de laciones desde el punto de vista de redes, principal de la expansión de TI a centros
datos. Las inversiones en servicios de pla- almacenamiento y analítica. de datos más grandes en el futuro, lo que
taforma de IoT que residan en el centro de hará más rápida la transición a infraes-
datos serán esenciales para cumplir con la UN CAMBIO EN LOS REQUISITOS DE tructuras convergentes dirigidas a la nube
promesa de la IoT de conectividad y con- INFRAESTRUCTURA que tienen la capacidad para escalar y a
texto en cualquier momento, en cualquier Debido al número de dispositivos co- arquitecturas de plataforma de datos.
lugar y de cualquier forma. nectados y a la cantidad de datos gene-
rados, las empresas deben concentrarse
Es más, IDC advierte que es posible que en los requisitos de sus plataformas de Referencias
la IoT no pueda proporcionar el potencial servicio de IoT a nivel del centro de da- [1] http://www.wired.com/2012/10/
prometido sin que se realicen inversiones tos, no solo de los servidores individua- mf-fruition-sciences-winemakers
urgentes para actualizar los centros de les o dispositivos de almacenamiento. [2] http://www.managemypills.com/content
datos en su investigación [5] sobre ope- Y, con la proyección de IDC que dice [3] http://www.gartner.com/newsroom/id/2905717
raciones y exigencias del centro de da- que más del 90 % de los datos creados [4] https://intelligence.businessinsider.com
tos. El grupo de analistas predice que la por dispositivos IoT estarán alojados en [5] http://www.idc.com/getdoc.jsp?containerId=255397

SG.COM.MX 027
P UX

UX También es
Pensar en Productos —
Por Misael León

En general cuando pensamos en UX pensamos en hermosas parte fundamental para el éxito de los proyectos de software, porque
interfaces fáciles de utilizar y amigables con los usuarios. Pero si facilita a través de la investigación de usuarios ese descubrimiento
ahondamos un poco más nos daremos cuenta que el diseño de inte- del producto ideal que debemos poner en el mercado.
racción y la interfaz (UI) son solamente representaciones visibles de
features; las cuales a su vez, conforman una pequeña parte de una A menudo se dice que los usuarios no saben lo que quieren hasta
estrategia de producto con objetivos bien específicos de negocio. que lo ven, creo que eso es verdad. Pero ello no significa que un pro-
ducto no exista en función de una necesidad percibida por el usuario.
En los siguientes párrafos trataré de hacer un caso para demostrar que
cuando hablamos de UX en realidad estamos hablando de productos. Integrar actividades de UX dentro de la estrategia de producto mini-
miza el riesgo de construir algo que la gente no utilizará. Ya sea por-
Dado que por más subjetivo que sea su campo de acción, es decir que no lo entiende, porque no refleja su estilo de vida, o simplemente
“el diseño de la experiencia”, no significa que los esfuerzos de UX no porque no resuelve ningún problema real. El tiempo se encarga de
puedan ser medidos en función de resultados y métricas financieras. depurar el mercado de software de productos intrascendentes.

Esto es así porque la estrategia de UX vive dentro de la estra- Un equipo de desarrollo que construye productos sin entender
tegia general de producto y mercadeo. No puede existir de antes el problema siempre producirá soluciones prematuras.
manera aislada. Producirá features robustas que no logran enganchar a las perso-
nas. La caída de esos productos será inminente. Serán esfuerzos
PIENSA EN PROBLEMAS NO EN FEATURES que no rindieron frutos.
Pensemos ahora en ese producto que estamos diseñando, su razón
de existir debe ser siempre la resolución de un problema que los CONOCE A TU AUDIENCIA
usuarios experimentan. Al hacer esto el producto provee valor a las Pensar en productos no es pensar en features, es pensar en el
personas y genera ganancias para el negocio. De ahí que UX sea una problema que estamos resolviendo. Para esto debemos definir

Misael León (@misaello) es UX Design Researcher en Nearsoft, Inc. una empresa de cultura democrática que desarrolla software y produce clientes felices. Le apasiona difundir las
mejores prácticas de UX en comunidades de diseñadores y desarrolladores.

028 SG.51
UX
P

quién es nuestra audiencia. Entender profundamente para qué EL EQUIPO DE PRODUCTO IDEAL
la gente está usando nuestro producto. Saber cómo viven, cómo Un equipo de producto idealmente está compuesto por un product
piensan, comprender su contexto cultural y el entorno en el cual manager, un UX designer, y un equipo de entre seis y ocho desa-
usan nuestro producto. rrolladores, incluyendo un QA tester. Dependiendo del tamaño del
proyecto también puede incluir un visual designer.
Definir UX Personas es siempre una buena idea para alinear el enten-
dimiento del equipo. Hacer entrevistas con usuarios, salir a la calle He aprendido que la mejor manera en la que un UX designer puede
a observar nuestra audiencia, y realizar talleres para generar este influir en las decisiones de negocio relativas a producto, es trabajar
conocimiento son las metodologías que más me han funcionado. directamente con el product manager en cada paso del proceso.
Uno posee las habilidades que el otro carece, juntos completan el
La investigación de usuarios no brinda certeza completa pero es el cúmulo de información sobre lo que es deseable construir.
mejor punto de partida. Es una herramienta efectiva para reducir la
incertidumbre y elegir un camino a seguir. Nos permite descubrir Sin embargo son los desarrolladores los únicos que tienen el cono-
problemas con potencial de generar negocio y la dimensión real cimiento sobre lo que es posible construir en términos del tiempo
de cómo estos se presentan. Lo que buscamos es conocer nuestra disponible. La forma más efectiva de generar ideas de producto es
audiencia para no producir numerosas features sin sentido. exponer a los desarrolladores directamente al problema. Cara a cara
con los usuarios. Esto con el fin de propiciar empatía hacia ellos.
DEFINE LA ESTRATEGIA DE PRODUCTO
Existe una concepción equivocada y generalizada que nos hace Cuando juntamos “lo que se necesita” con lo que “es posible cons-
creer que la responsabilidad de la definición del producto recae truir” es cuando surgen los productos realmente valiosos.
únicamente en el product manager; pero de ninguna manera es así.
Lo ideal es que desarrolladores, diseñadores, mercadólogos tam- CUANDO HABLAMOS DE UX EN EL FONDO HABLAMOS
bién participen. Todos tienen un pedazo del rompecabezas que hay DE PRODUCTOS
que resolver. El clan unido con un solo objetivo: construir las featu- Adoptar un enfoque de producto es pensar en soluciones a proble-
res ideales para la audiencia correcta. mas de gente real. Permite que todo el equipo tenga una visión clara
sobre lo que se está construyendo. También facilita descartar peti-
Una estrategia de producto se construye contestando las siguien- ciones de features nuevas cuando no están alineadas a dicha visión.
tes preguntas [1]:
Todas las actividades de UX van encaminadas en facilitar la interac-
DIMENSIÓN ORIENTADA A USUARIOS: ción del usuario con el producto de software [2]. Si la interacción es
¿Cuál es el problema que tiene que resolver? exitosa significa que el UX designer participó desde su conceptualiza-
ción hasta su implementación, validación y subsecuentes iteraciones.
¿Cuál es la audiencia para la cual se va a resolver el problema?
La responsabilidad de un UX designer no es únicamente la de gene-
DIMENSIÓN ORIENTADA AL TRABAJO A REALIZAR: rar ideas visuales. Es la de lograr que todo el equipo se sensibilice
¿Cuál es la visión detrás del trabajo que haremos? con el problema que se está resolviendo en función de los matices
de comportamiento humano que implica.
¿Cómo lo construiremos?
Esa sensibilización al final del día tomará forma de un producto
DIMENSIÓN ORIENTADA A RESULTADOS: que deberá ser deseable, técnicamente posible y financieramente
¿Qué objetivos nos estamos fijando? ¿Cómo mediremos los resul- sustentable. Es por eso que cuando hablamos de UX en el fondo
tados que lograremos? estamos hablando de productos.

¿Qué features incluye esto que construiremos? ¿Qué vamos a Creo firmemente que identificar problemas sociales reales y brin-
hacer para alcanzar nuestros objetivos? dar una solución centrada en las personas, es una forma honesta
de dejar el mundo en mejores condiciones de como lo encontra-
Con este mapa inicial podemos descartar features innecesarias y mos. Un producto de software a la vez.
comenzar a probar hipótesis sobre lo que creemos es lo idóneo
para nuestro producto. Al final nos permitirá crear mejores produc-
tos guiando cada decisión que tomemos dentro del contexto de la Referencias
resolución del problema que nuestra audiencia experimenta. [1] N. Kellingley. “Product Thinking is Problem Solving.” Interaction Design Foundation.
https://www.interaction-design.org/literature/article/product-thinking-is-problem-solving
Recordemos que este problema que estamos resolviendo es la [2] M. León. “Cómo Iniciar tu Carrera en UX Design”. Software Guru.
razón fundamental por la cual nuestro producto es usado y por el http://sg.com.mx/revista/50/como-iniciar-tu-carrera-ux-design
cual nuestro negocio subsiste.

SG.COM.MX 029
P REQUERIMIENTOS

Los Niveles de Granularidad


del Requerimiento Funcional

Por Guilherme Simões y Carlos Vázquez

Como la mayoría de los lectores de SG saben, todo software 3. Validar la tarjeta y la contraseña del cliente.
posee dos dimensiones de requerimientos: funcional y no fun-
cional. Los requerimientos funcionales (RF) describen el com- 4. Garantizar que la suma de todas las transacciones del
portamiento del software para proporcionar tareas y servicios a cliente en el día no puede ser superior a $5,000.
sus usuarios; estos tipos de requerimientos están relacionados
a lo que el software debe hacer. Los requerimientos no funciona- Aunque estos cuatro ejemplos sean casos válidos de RF, es posi-
les (RNF) están relacionados al cómo las funcionalidades del ble percibir que el nivel de detalle (o granularidad) entre ellos es
software serán entregadas a sus usuarios y pueden incluir distinto. Lo más frecuente es que una especificación presente
aspectos de calidad, técnicos, ambientales y organizacionales. los requerimientos en distintos niveles de granularidad.

Teniendo en cuenta un sistema de cajero automático de un El nivel de granularidad es la mayor o menor amplitud de la des-
banco se podría suponer los siguientes ejemplos para los dos cripción del comportamiento esperado para el software en una
tipos de requerimientos: especificación funcional. Esto está relacionado al tipo de objetivo
asociado al requerimiento. La Figura 1 ilustra la relación entre estos
• RF: Consultar saldo de la cuenta corriente (el qué). objetivos y el nivel de granularidad, utilizando una clasificación
de tres niveles (agregado, usuario, subfunción) propuesta por
• RNF: Toda transacción debe ser completada en un máximo Cockburn (2000) para casos de uso y generalizada por los auto-
de 30 segundos (el cómo). res para requerimientos funcionales. Esta clasificación no significa
que el proceso de la ingeniería de requerimientos deba utilizar una
Aunque no sea una regla, el RF se acostumbra manifestar de estrategia de desarrollo por descomposición funcional.
manera explícita en el software, es un comportamiento que se
puede determinar claramente en qué parte del software está.
El RNF, por lo contrario, se acostumbra manifestar de manera
general, se aplica a todo o casi todo el software.

Para la Ingeniería de Requerimientos los dos tipos son igualmente


relevantes: ambos deben ser identificados, analizados, especifi-
cados, modelados y gestionados. Sin embargo, hay algunas dife-
rencias entre estos dos tipos de requerimientos que valen la pena
comentar por separado. Este artículo se enfocará en los RF, con el
objetivo de presentar sus niveles de granularidad y su importan-
cia en el trabajo de la Ingeniería de Requerimientos.

LOS NIVELES DE GRANULARIDAD


Continuando con el ejemplo del sistema de cajero automático,
las siguientes descripciones podrían estar presentes en su espe-
cificación de requerimientos:

1. Realizar transacciones con la cuenta corriente.


Figura 1.
2. Transferir una cifra de una cuenta corriente para otra Niveles de
cuenta corriente. granularidad de los RF.

Guilherme Siqueira Simões ([email protected]) y Carlos Eduardo Vazquez ([email protected]) son autores de dos libros en portugués: uno sobre el Análisis de
Puntos de Función y otro sobre la Ingeniería de Requerimientos. Ambos tienen más de 20 años de experiencia con desarrollo de software y son socios de Fatto Consultoría y Sistemas
(www.fattocs.com), que oferta servicios de consultoría y entrenamiento en las disciplinas de medición, estimación y requerimientos de software.

030 SG.51
REQUERIMIENTOS
P

NIVEL DE USUARIO Sin embargo, algunos RF de este tipo poseen patrones que
El requerimiento a nivel de objetivo de usuario es aquel que: eliminan la necesidad de proporcionar más detalles. Un
ejemplo clásico son los formularios CRUD (Create, Read,
• Abarca una única tarea bajo la responsabilidad de un Update, Delete) para que el usuario pueda mantener datos
único individuo; por medio del software. Es muy común que esto sea expre-
sado como: “El sistema debe mantener productos.”. Hay un
• Es realizado en el momento en que el usuario posee todo conocimiento tácito entre los interesados que el verbo “man-
lo que es necesario para que la tarea sea completada hasta tener” agrega las tareas del CRUD. Por lo tanto queda claro
el límite de su responsabilidad en el flujo operativo donde a todos los lectores que el software debe permitir al usuario
está contenida. realizar las siguientes tareas: agregar, modificar, eliminar y
consultar datos de producto.
Al final de la tarea el usuario alcanza su propósito, está satis-
fecho y no hay nada más que necesite hacer. Una vez que el NIVEL DE SUBFUNCIÓN
requerimiento fue completado, todo lo que debería de realizarse Estos requerimientos son pedazos de requerimientos con obje-
para tratar un evento externo fue realizado. Esta tarea es casi tivo de usuario; están relacionados a un conjunto de pasos o a
siempre parte de un proceso de negocio que puede tener un reglas de una o más tareas de los usuarios.
flujo operativo más amplio y por esto puede aún no estar com-
pleta. Sin embargo, la perspectiva relevante en este caso no es El requerimiento en nivel de subfunción que representa un con-
del proceso de negocio, es de la tarea. junto de pasos describe el cambio de datos en los dos sentidos
entre el usuario y el software; y entre el software y los reque-
En general, si un trabajo involucra más de un individuo es por- rimientos de almacenamiento. Este es el caso del ejemplo 3
que hay más de una tarea presente en el contexto. Hay excep- (“Validar la tarjeta y la contraseña del cliente.”). Cada tipo de
ciones como un retiro en la cuenta corriente en la sucursal del transacción que utiliza la cuenta corriente (ej.: retiro, transfe-
banco donde dos individuos participan: la caja del banco que rencia, pago, etc.) exige el mismo conjunto de pasos descrito
solicita e informa datos para el retiro y el cliente que informa por el ejemplo 3, que se podría suponer como:
la contraseña.
• Verificar si la tarjeta es válida.
Esta es la granularidad del ejemplo 2 (“Transferir una cifra de
una cuenta corriente para otra cuenta corriente.”). Es una única • Verificar si la transacción elegida es compatible con el tipo
tarea (seguramente compuesta por varios pasos y reglas), bajo de tarjeta.
la responsabilidad de un único individuo que al final de todos los
pasos está satisfecho con el objetivo alcanzado: una cifra fue • Verificar si la contraseña informada es correcta.
transferida a otra cuenta corriente.
• Incrementar el control de errores de contraseña en caso
NIVEL AGREGADO que la contraseña informada sea incorrecta.
El requerimiento en este nivel agrega varios requerimientos a
nivel de objetivo de usuario en una única especificación de más • Cambiar a cero el control de errores de contraseña en caso
alto nivel. Tanto más alto sea su nivel, más generales son sus que la contraseña informada sea correcta.
objetivos y para que un objetivo de nivel más alto sea alcanzado,
otros objetivos de nivel más bajo deben ser alcanzados primero. Validar la tarjeta y contraseña del cliente no es el objetivo del
cliente al utilizar el sistema de cajero automático, sin embargo
Este tipo de requerimiento está relacionado a objetivos más son pasos necesarios y intermediarios para alcanzar su objetivo:
generales y su amplitud está asociada a objetivos colaborativos por ejemplo, hacer un retiro.
o asociados a procesos de negocio de alto nivel. No es relativo
a una única tarea, por lo contrario, agrega un conjunto de tareas El requerimiento en el nivel de subfunción que está relacionado a reglas,
de uno o más usuarios. Esta es la granularidad del ejemplo 1 en general se vincula a las leyes que gobiernan el negocio y describen
(“Realizar transacciones con la cuenta corriente.”). de manera que complementan los procesos de negocio. También lla-
madas muchas veces como reglas de negocio. La regla puede describir
¿Cuáles son las tareas asociadas a este tipo de requeri- políticas corporativas, reglamentos gubernamentales o estándares de
miento? Tal vez sean obvias para los lectores de la especi- la industria por los cuales el software debe estar subordinado.
ficación (los interesados) o tal vez aún no sean conocidas.
Sin embargo, es sabido que hay actividades a realizar para Este es el caso del ejemplo 4 (“Garantizar que la suma de todas las
levantar (refinar) este requerimiento. Lo que importa es que transacciones del cliente en el día no puede ser superior a $5,000.”).
ya está claro que este requerimiento está dentro del alcance Las reglas de negocio muchas veces son compartidas entre varios
del software a ser desarrollado. RF, hasta entre distintos productos de software en la empresa.

SG.COM.MX 031
P REQUERIMIENTOS

IMPORTANCIA DE LA GRANULARIDAD La definición de un requerimiento en el nivel de subfunción es


En una visión simplificada se puede decir que hay dos momentos adecuada cuando el comportamiento especificado es común y
clave donde una especificación de requerimientos es necesaria: compartido por varias otras tareas que el software entrega a los
usuarios. Esto hace con que la especificación de requerimientos
A. Proporcionar una visión amplia del software (y tal vez aún sea más fácil de modificar en respuesta a cambios, pues dismi-
no profunda). nuye la redundancia de información al evitar describir el mismo
conjunto de pasos o reglas más de una vez. También ayuda a
B. Proporcionar una visión profunda del software (de una alcanzar una especificación más consistente.
parte o del todo).
CONCLUSIÓN
El caso A es muy común en etapas tempranas de proyectos. El Aunque el concepto de los niveles de granularidad del requeri-
objetivo en este momento es primero obtener una visión amplia miento funcional sea sencillo, en términos prácticos se percibe
del alcance, por ejemplo: para planificar el proyecto, estimar un que muchos ingenieros de requerimientos no están atentos a
orden de magnitud de costo o plazo, o hacer un análisis de fac- esto cuando elaboran las especificaciones. Tener en cuenta los
tibilidad. Un documento de visión es un ejemplo de documento niveles de granularidad ayuda a definir el esfuerzo adecuado para
que cumple este propósito. Especificar los RF en el nivel agre- ser dedicado a la elaboración de la especificación y también a
gado es suficiente y más adecuado a este caso. El costo para alcanzar una especificación de requerimientos de mejor calidad.
obtener información y especificar en un nivel de granularidad
más bajo puede significar desperdicio de esfuerzo para detallar El estándar 830 de la IEEE presenta los siguientes criterios para
lo que no es necesario. evaluar la calidad de una especificación de requerimientos:
correcta, completa, clara (no ambigua), consistente, modifica-
Entonces el documento de requerimientos para el propósito A, ble, priorizada, verificable, trazable.
tendrá la mayoría de los RF especificados en el nivel agregado.
Es posible también que haya especificaciones en el nivel de Siendo el propósito de la especificación proporcionar una visión
usuario o subfunción, esto no es un error. A veces puede ser profunda del alcance, estar atento al nivel de granularidad del
interesante especificar los RF más críticos (no todos o la mayo- RF permite que:
ría) en un nivel más detallado, ya sea para facilitar la compren-
sión del alcance por el interesado o permitir una estimación con • Se descubra que la especificación puede no estar completa
menos incertidumbre. cuando hay RF agregados.

El principal propósito para especificar requerimientos en niveles • Se proporcione la comprensión del alcance sin ninguna
agregados es establecer áreas de proceso objeto de informati- ambigüedad con respeto a las tareas que el software entre-
zación y/o automatización para que las necesidades de negocio gará cuando se enfoca el RF con objetivo de usuario.
queden resueltas.
• Se genere un documento de requerimientos más fácil de
Si el objetivo de la especificación es proporcionar una visión pro- mantener y consecuentemente más consistente al especifi-
funda de parte o de todo el software, por ejemplo para iniciar su car los RF adecuados con objetivo de subfunción.
desarrollo, la existencia de RF en el nivel agregado puede significar
que varias decisiones sobre el alcance todavía siguen pendientes.
Es decir, hay trabajo de levantamiento que debe ser hecho.

Para el propósito B, el nivel de granularidad más adecuado es del


objetivo del usuario pues es el único que proporciona una defini-
ción de alcance del software de manera inequívoca; no hay dudas Referencias
sobre lo que es abarcado. Esto es también el único nivel de des- [1] A. Cockburn. Writing Effective Use Cases. Addison-Wesley, 2000.
cripción de procesos que puede ser estandarizado y consecuen- [2] COSMIC Measurement Manual: 4.0.1. Common Software Measurement International
temente es el nivel utilizado por todos los métodos de medición Consortium, 2015.
de tamaño funcional adherentes a la norma ISO/IEC 14143. [3] IEEE Std. 830–1998: IEEE Recommended Practice for Software Requirements
Specifications. IEEE Computer Society, 1998.
Consecuentemente, para el propósito B, lo más común es que [4] Function Point Counting Practices Manual. Release 4.3.1. IFPUG, 2010.
un documento de requerimientos tenga los RF especificados en [5] C. Vazquez, G. Simões & R. Albert. Análise de Pontos de Função, Medição, Estimativas e
su mayoría con el objetivo de usuario. RF en el nivel agregado Gerenciamento de Projetos de Software. Saraiva, 2013.
puede estar presente sólo cuando es el caso de que esté claro [6] C. Vazquez, G. Simões. Engenharia de Requisitos: Software Orientado ao Negócio.
a todos los interesados que tareas son abarcadas por este RF. Brasport, 2016.

032 SG.51
SG.COM.MX 033
P PROGRAMACIÓN

JavaScript y Herencia
Basada en Prototipos —
Por Erik Grueter

Para los programadores que vienen de lenguajes basados en HERENCIA DE “MÉTODOS”


clases, como Java o Ruby, JavaScript puede ser un poco confuso. En realidad, Javascript no tiene métodos como los de los lengua-
jes de programación basados en clases. En JavaScript, cualquier
A diferencia de estos lenguajes, Javascript es dinámico y no pro- función se puede agregar a un objeto como si fuera una propie-
vee una implementación de clase como tal. Para soportar heren- dad. Estos objetos, y sus respectivas propiedades se asemejan a
cia, JavaScript solo tiene un constructo: Object. Cada objeto tiene los pares llave-valor de un Hash.
una referencia a otro objeto, llamado su prototipo.
El listado 2 muestra un ejemplo de una función como propiedad.
Aunque esto pueda parecer una debilidad, en realidad este mo-
delo de herencia basada en prototipos es muy poderoso. En este
artículo explicaré como funciona la herencia en JavaScript y la
cadena de prototipos.

HERENCIA DE PROPIEDADES
Los objetos en JavaScript no son más que estructuras de datos
con varias propiedades. Cada objeto apunta tiene una referencia
a su objeto padre, o prototipo. Listado 2. Función como propiedad.

Al intentar acceder una propiedad en un objeto, la propiedad Como podemos ver, el objeto o tiene dos propiedades: a con el va-
se busca primero en el objeto, y si no se encuentra se procede lor 2 y m con valor function(b), que regresa el valor de la propiedad
a buscar la propiedad en el prototipo del objeto original, y si no a + 1, que en este caso equivaldría a 3.
se encuentra se busca en el prototipo del prototipo, y así subse-
cuentemente hasta que se encuentre la propiedad o se llegue al Ahora vamos a extender el código anterior para mostrar cómo
final de la cadena. funciona la herencia basada en prototipos cuando la combinamos
con funciones.
El listado 1 muestra un ejemplo de este caso.

Listado 1. Herencia de propiedades. Listado 3. Ejemplo extendido.

034 SG.51
PROGRAMACIÓN
P

Como puedes ver, el valor de ‘this’ apunta al objeto heredado, a


partir de ahí busca las propiedades. Como en el objeto p se en-
cuentra que a = 12, no es necesario seguir recorriendo la cadena
de herencia.

Ahora que entendemos cómo funciona la herencia basada en pro-


totipos, consideremos cómo funcionan los arreglos en JavaScript.
Consideremos el siguiente arreglo:

var a = [“hola”, “qué onda”, “?”]

Todos los arreglos en JavaScript heredan de Array.prototype. Es


a este nivel donde están definidos métodos como indexOf, fo-
rEach, etcétera. La cadena de prototipo es a -> Array.prototype ->
Object.prototype -> null.

CLASES EN ES6
Posiblemente estés enterado de que una de las novedades en
EcmaScript 6 es que soporta clases y te preguntes cómo afecta a
lo que hemos visto aquí. En realidad, lo único que se ha agregado Listado 4. Definición de clases con sintaxis de ES6
en ES6 es que se soporta sintaxis similar a la de otros lenguajes
basados en clases usando keywords como class, extends y super, CONCLUSIÓN
pero internamente el comportamiento es el mismo que ya estu- Entender cómo funciona la herencia basada en prototipos es
diamos en este artículo. El listado 4 muestra el ejemplo de una clave para poder hacer programación avanzada en JavaScript.
clase y una subclase usando sintaxis de ES6. Esperamos que estos ejemplos te hayan sido de ayuda.

Este artículo fue traducido y editado por SG con el permiso del autor a partir de la versión original en inglés disponible en
http://www.masterjavascript.io/blog/2016/05/29/introducing-javascript-classes

Erik Grueter es un desarrollador full stack al que le gusta compartir sus ideas y experiencias sobre programación y el lenguaje JavaScript. Puedes acceder a su curso gratuito de JavaScript
en 7 días en http://www.masterjavascript.io

SG.COM.MX 035
C PRUEBA DE SOFTWARE

Special Purpose Languages


PARTE 3. UN RESULTADO IMPACTANTE

Por Luis Vinicio León Carrillo

En el número anterior definimos lo que es un len- Contestemos ahora las primeras 2 preguntas que
guaje formal de la siguiente manera: planteamos al final del número anterior, en el cual diji-
mos que dado un conjunto A que tiene i elementos, la
1. partimos de la definición del concepto de cantidad de subconjuntos que pueden formarse sobre
alfabeto como un conjunto finito de caracteres B = A es igual a 2i .
{ b1 , b2 , …, bm }, y dijimos que B tiene una cardina-
lidad (cantidad de elementos) igual a m , lo cual Dijimos también que B*, la Cerradura de Kleene sobre
Luis Vinicio León Carrillo escribimos como |B| = m ; el alfabeto B, es un conjunto infinito pero contable,
es Director General y porque tiene la misma cardinalidad que el conjunto
co-fundador de e-Quallity. 2. definimos la operación de concatenación ‘·‘ de los números naturales N. Esto implica en particular
Fue profesor-investigador sobre caracteres (lo que nos permite construir b5 · que, así como ocurre en el conjunto de los números
en la universidad ITESO. b4 · b8 · b8 ) y sobre conjuntos de caracteres (lo que naturales N, dada una de las cadenas de B*, siempre
Realizó estudios de nos permite construir B · A · C ) ; podemos definir cuál es la que le sigue y listar sus ele-
posgrado en Alemania, mentos en orden sin saltarnos alguno (en N , dado un
durante los cuales abordó 3. definimos la exponenciación de la concatena- número natural y, sabemos que el que le sigue es y+1).
temas relacionados con ción Bx sobre un alfabeto B como la aplicación de la
la prueba de software y concatenación x-1 veces sobre el alfabeto ( B · B · … · Del penúltimo párrafo se sigue que la cantidad de len-
los métodos y lenguajes B , donde B aparece x veces) ; guajes sobre cualquier alfabeto B es igual a 2N … El asunto
formales. es que 2N es una cardinalidad estrictamente mayor que la
4. definimos la cerradura de Kleene B* como la de N (siguiendo el Teorema de Cantor), lo que lo vuelve
unión de todas las exponenciaciones sobre el un conjunto no-contable (aquellos conjuntos en los que,
alfabeto B (B* = U∞i=0 Bi ) ; dado un elemento x, no es posible decir cuál elemento
es el que sigue, como en el caso de los números reales
5. definimos que un lenguaje formal sobre un R : si tenemos el número 0.0004 no podemos decir que
alfabeto B es cualquier subconjunto de B* . el que le sigue es 0.0005; tampoco que es 0.00041; en
realidad, entre cualesquiera 2 números reales hay una
De lo anterior se desprende que, dado un código cantidad infinita de números reales).
ASCII extendido que llamaremos AE de cualquier
cantidad de caracteres, podemos ver al lenguaje Java Una consecuencia importantísima de lo anterior es que
como el subconjunto de cadenas de cualquier lon- la cantidad de lenguajes (2N) que pueden definirse sobre
gitud escritas utilizando ese AE que son aceptadas un alfabeto es estrictamente mayor que la cantidad de
como “correctas” por el compilador de Java. Lo mismo cadenas (N) que pueden construirse sobre ese alfabeto,
es cierto si sustituimos “Java” por el nombre de cual- así es que: independientemente del tamaño del alfabeto,
quier lenguaje de computación. siempre tendremos lenguajes sobre ese alfabeto para
los que no podemos definir un compilador, esto es, siem-
Ahora bien, en AE* están incluidos no solo todos los pre habrá lenguajes que no podremos procesar.
lenguajes de programación existentes y por existir,
sino también todos los compiladores (escritos y por Para nuestro propósito de construir lenguajes pro-
escribirse) de todos esos lenguajes. De hecho, en pietarios, esto significa que para poder procesarlos,
AE* se encuentran todas las cadenas de caracteres en principio debemos observar algunas restricciones
que podamos escribir en esa extensión del ASCII, para su diseño. El lado bueno de esto es que, dado
incluyendo los programas “incorrectos” en todos que estamos acostumbrados a utilizar lenguajes
los lenguajes. de programación y sus estructuras obviamente son

036 SG.51
PRUEBA DE SOFTWARE
C

Independientemente del tamaño del alfabeto,


siempre tendremos lenguajes sobre ese alfabeto
para los que no podemos definir un compilador.

procesables, podemos incluir estructuras de ese tipo en nuestro de los sublenguajes incluidos en prácticamente todos los
lenguaje. El lado malo es precisamente eso mismo: como esta- lenguajes de programación, en los que por ejemplo, los
mos acostumbrados a ello, probablemente no incluyamos otras paréntesis y las llaves deben venir por pares (uno de cierre por
estructuras que serian más adecuadas para las actividades que cada uno de apertura) y estar “emparejados adecuadamente”
nuestros programadores automatizarán. (por ejemplo, no se acepta “ ( … {… ( … ) … ) … } ” ) ;

El punto no es para subestimarse: las estructuras que tenemos a • am bn cm dn , para m, n ≥ 0 . Obviando detalles, este lenguaje
nuestra disposición en un lenguaje (sea artificial o natural) pueden que llamaremos L3 (más complejo que L2 ), es una abstracción
imponer límites a lo que podemos expresar (sea programar o pen- de la especificación del mecanismo de paso de parámetros
sar); como ejemplo tenemos el comentario del reconocido científico que utilizan muchos lenguajes de programación para exigir
computacional C.A.R. Hoare sobre su método de ordenamiento que la cantidad de parámetros establecidos en la definición de
Quick-Sort, después de que tomó un curso de Algol-60 (primer len- una subrutina sea la misma que cuando ésta se utiliza.
guaje en ofrecer la posibilidad de escribir subrutinas recursivas):
Gramáticas
“Fue entonces que aprendí por primera vez sobre procedimientos Después de esa primera definición de lenguaje en términos de
recursivos y vi cómo programar el método de ordenamiento que concatenaciones sobre alfabetos, que podríamos llamar alge-
previamente había tenido tanta dificultad para explicar.” braica y que es más bien declarativa, tomaremos ahora un enfo-
que un poco más imperativo utilizando reglas (que pueden verse
Para contestar la tercera pregunta necesitaremos elementos que como una abstracción del concepto de patrones).
revisaremos más adelante; pero antes, veamos algunos ejemplos.
Podemos definir lenguajes utilizando gramáticas, las cuales son
Ejemplos con “especificaciones algebráicas” cuátruplas de la forma
Usando las definiciones arriba mencionadas y tomando como
convención que escribiremos: < T, N, S0 , R > donde

• bibj en lugar de bi · bj (concatenación de caracteres); T es el conjunto de los símbolos terminales del lenguaje
(en adelante “Terminales”), los cuales podemos ver como el
• bin en lugar de bi · … · bi (concatenación en la que bi aparece alfabeto con cuyos elementos finalmente se construyen las
n veces); cadenas de caracteres;

• a en lugar de b1 , b en lugar de b2 , c en lugar de b3 , y N es el conjunto de los símbolos no-terminales del


d en lugar de b4 (haciendo concreto el alfabeto abstracto lenguaje (en adelante “no-Terminales”); aquellos símbolos
B = { b1 , b2 , …, b4 } ) ; abstractos que deben definirse en términos de Terminales y
no-Terminales; nota: debe cumplirse que T ∩ N = {} ;
especifiquemos algunos lenguajes formales:
R es el subconjunto del producto cartesiano
• am bn ci , para m, n, i enteros mayores a cero e independien- (T ∪ N)* x (T ∪ N)* que define la relación matemática que
tes entre sí. Este sencillo lenguaje, que llamaremos L1 , especi- denota las reglas de reescritura del lenguaje (en adelante
fica todas las cadenas que tienen una o más a’s seguidas por “Reglas”);
una o más b’s seguidas por una o más c’s.
S0 es el elemento distintivo de los no-Terminales llamado
• am bn cn dm , para m, n ≥ 0 . Obviando detalles, este lenguaje “Símbolo-inicial”, que es con el que inicia el “procesamiento”
que llamaremos L2 (más complejo que L1 ), es una abstracción de R .

SG.COM.MX 037
Escribiremos las Reglas utilizando el “meta-lenguaje” (llamado así • Llamaremos gramáticas sensibles al contexto a aquellas
porque es un lenguaje con el cual definimos lenguajes) llamado cuyas reglas en R sean de la forma β1 A β2 → β1 α β2 (o
BNF (Backus-Naur Form). En él, para cada regla se coloca el pri- menos compleja), donde α ≠ λ ; y lenguajes sensibles al
mer elemento del producto cartesiano, seguido del símbolo “→” contexto (o de Tipo 1, o Lgs1) a aquellos que puedan definirse
seguido del segundo elemento del producto cartesiano. utilizando gramáticas sensibles al contexto. Decimos que β1
y β2 representan el contexto en el que A se puede transfor-
Ahora bien, cuando tengamos un conjunto de reglas como mar en α .Ahora bien, como α ≠ λ , entonces la suma de la
cantidad de Terminales y de no-Terminales en α es mayor o
α → β1 igual a uno; a esta cantidad la llamaremos la longitud de α y la
α → β2 denotaremos con |α|. Ahora podemos generar otra definición
… menos restrictiva (aunque una que no deja ver el atributo de
α → βn , donde α y todas las βi son elementos de (T ∪ N)* “sensible al contexto”): llamaremos gramáticas sensibles al
(o sea, elementos de la cerradura de Kleene de la unión de contexto a aquellas cuyas reglas en R sean de la forma
los Terminales y no-Terminales; es decir, combinaciones de θ → α (o menos compleja), donde θ ∈ (T ∪ N)* , θ ≠ λ y |θ| ≤
uno o Terminales y no-Terminales), |α| ; y llamaremos lenguajes sensibles al contexto a aquellos
que puedan definirse utilizando este tipo de gramáticas
lo escribiremos como
• Por último, llamaremos gramáticas estructuradas por frases
α → β1 | β2 | … | βn a aquellas cuyas reglas en R sean de la forma θ → α (o
menos compleja), donde θ ∈ (T ∪ N)* y θ ≠ λ ; y llamaremos
Si alguna βi contiene cero Terminales y cero no-Terminales, la lenguajes estructurados por frases (o Tipo 0, o Lgs0) a aque-
escribiremos como λ (la letra griega lambda), que representará llos que puedan definirse utilizando gramáticas estructuradas
la cadena vacía. por frases.

Además, escribiremos los Terminales con minúsculas, los no-Termi- Lo anterior define lo que es conocido como la Jerarquía de
nales con MAYÚSCULAS, y S0 será el no-Terminal que aparece a la Chomsky, en la cual ocurre, como se puede observar, que Lgs3 ⊂≠
izquierda de “→” en la primer Regla. Con ello R define la gramá- Lgs2 ⊂≠ Lgs1 ⊂≠ Lgs0 (esto es, los Lgsi son subconjuntos pro-
tica por sí sola, porque con las convenciones queda explícito cuáles pios de los Lgsi-1). Para el caso particular de Lgs3 ⊂≠ Lgs2 , esto
son los Terminales, los no-Terminales y S0 . Entonces, en adelante significa que todos los lenguajes regulares (todas las gramáticas
podremos definir un lenguaje listando únicamente las reglas de R . regulares) son libres de contexto, pero que hay lenguajes libres de
contexto que no son regulares (para los que no existen gramáticas
Una jerarquía de lenguajes regulares que los definan).
Tenemos la siguiente categorización de lenguajes, que se hace
considerando la complejidad de la estructura de las reglas en la R La Jerarquía de Chomsky muestra con claridad un crecimiento
particular que los define (por cuestiones de espacio, obviaremos significativo en la complejidad de la estructura de las reglas, o
algunos detalles): dicho de otra manera, una disminución significativa en las res-
tricciones sobre esa estructura. Esto obviamente impacta en la
• Llamaremos gramáticas regulares a aquellas cuyas reglas complejidad (incluso en la posibilidad) de procesar todos esos
en R sean de la forma A→ B d | d (o menos compleja); y tipos de lenguajes. Retomaremos el tema con más profundidad
llamaremos lenguajes regulares (o de Tipo 3, o Lgs3 de manera más adelante.
corta) a aquellos que puedan definirse utilizando gramáticas
regulares. Nota: las reglas pueden ser de la forma A→ d B | d ,
pero no se deben mezclar ambas formas.)

• Llamaremos gramáticas libres de contexto a aquellas Referencias


cuyas reglas en R sean de la forma A→ α (o menos [1] L. León. “Los Special Purpose Languages, parte 1”. Revista Software Guru #48.
compleja), y lenguajes libres de contexto (o de Tipo 2, o Lgs2) http://sg.com.mx/revista/48/los-special-purpose-languages
a aquellos que puedan definirse utilizando gramáticas libres [2] L. León. “Los Special Purpose Languages, parte 2”. Revista Software Guru #50.
de contexto. http://sg.com.mx/revista/50/los-special-purpose-languages-2

038 SG.51
SG.COM.MX 039
C PROGRAMAR ES UN MODO DE VIDA

ARM como Pivote del IoT


Por Gunnar Wolf

A lo largo de los años, fuimos testigos de cómo las desde su debut en 2001, pero en la práctica y ante
arquitecturas rivales de cómputo pasaron de una gran el abandono de prácticamente todos los fabricantes
gama de implementaciones luchando por la suprema- y proveedores de software, es una arquitectura cada
cía durante los 80 y 90 a una aparente monocultura. vez más anecdótica.
La primera década del milenio vio sucumbir a podero-
sas y prometedoras plataformas como Alpha, ARM: JAQUE AL REY
m680x0 y HPPA-RISC. Sparc y PowerPC redujeron su Parecería que en este recuento de la gradual homo-
Gunnar Wolf es adminis- participación en el mercado a únicamente casos muy geneización de las plataformas de cómputo no hay
trador de sistemas para el especializados. MIPS pasó de ser el último grito en lo mucho más que decir. Pero en los últimos años, se
Instituto de Investigaciones relativo a hardware de alto rendimiento a ser una ha dejado sentir fuertemente un cambio drástico, y
Económicas de la UNAM y arquitectura para dispositivos de bajo consumo y bajo desde el segmento bajo del mercado.
desarrollador del proyecto precio, como la mayor parte de los switches y puntos
Debian GNU/Linux. de acceso inalámbrico disponibles en el mercado. La plataforma de hardware ARM no es bajo ningún
http://gwolf.org concepto un nuevo jugador en el mundo del cóm-
CONSOLIDACIÓN DE UNA ARQUITECTURA puto: su diseño original se produjo durante los años
REINANTE 1983 a 1985, al interior de la empresa Acorn, que bus-
Por varios años, parecía que la plataforma x86, defi- caba desarrollar un sucesor para el popular CPU de
nida por Intel como una serie de “parches” sucesivos 8 bits 6502 empleado en muchas computadoras de
al procesador 8086 de 1978, reinaría sin rivalidad en la época y, en particular, en la BBC Micro, plataforma
prácticamente todos los mercados. Computadoras de de gran éxito en el Reino Unido. De hecho, ARM se
escritorio, portátiles, servidores. Hacia 2005, la pla- manejó originalmente como acrónimo de “Acorn RISC
taforma x86 se erigía como clarísimo dominante. Y Machine”, y una vez que la Acorn dejó de ser un hito
esto no por ser más potente o eficiente que su com- reconocible en la mente de los usuarios británicos,
petencia, sino por tener una muchísima mayor base para 1990 se independizó de la marca padre para
de usuarios ya instalada, por mantener una gran com- denominarse “Advanced RISC Machines”.
patibilidad hacia atrás, y porque prácticamente todo
el software de consumo masivo aparecía únicamente Los procesadores ARM son un ejemplo para libro de
para éste. texto de las diferencias y ventajas de RISC: si bien su
conjunto reducido de instrucciones significa que, a
Es muy sabido que esta compatibilidad hacia atrás una misma velocidad, pueden realizar mucho menos
no siempre es lo más conveniente técnicamente. En trabajo real que su competencia CISC, el número de
la década de 1980 nació RISC (Reduced Instruction Set transistores requerido para implementarlo resulta
Computing, cómputo con un conjunto reducido de ins- decenas de veces menor que el equivalente CISC de
trucciones), primero como concepto teórico y poco su época. Por ejemplo, cuando en 2007 se introdujo
más tarde implementado en varias arquitecturas de el ARM Cortex-A9, de 26 millones de transistores, los
hardware (algunas de ellas mencionadas en el primer CPUs i7 de Intel excedían los 730 millones.
párrafo). Ya en esos años se veía que las principales
arquitecturas disponibles tenían conjuntos de ins- Menos transistores se traduce en muy distintas ven-
trucciones demasiado complejos (recibiendo la deno- tajas, todas ellas importantes para el cambio que hoy
minación CISC, Complex Instruction Set Computing, estamos observando:
cómputo con un conjunto de instrucciones complejo,
en contraposición con la nueva tendencia). • Fabricar CPUs ARM resulta más barato, dado
que pueden usar procesos que requieren menor
Intel mismo intentó en dos ocasiones diseñar una miniaturización y hay más fabricantes en condi-
nueva familia de procesadores que reemplazara a ciones de hacerlo (ARM no tiene ninguna fábrica,
x86. La arquitectura RISC i860, lanzada en 1989 y es dueño únicamente del diseño de los chips).
abandonada unos cinco años más tarde, y la Itanium
o IA-64, que se ha mantenido viva de manera formal • La disipación de calor es menor. Un procesador

040 SG.51
PROGRAMAR ES UN MODO DE VIDA
C

CISC actual requiere de enfriamiento activo, empleando licencia a terceros sus diseños como propiedad intelectual; los
masivos disipadores y ventiladores. La operación normal de chip ARM son en realidad fabricados, entre muchas otras empre-
un procesador ARM resulta mucho más aceptable para un sas, por AMD, Broadcom, Freescale, Texas Instruments, e incluso
equipo de perfil delgado, y más aún cuando está diseñado el mismo Intel.
para llevarse en contacto con el cuerpo de su usuario.
En el mundo ARM, es muy común que los chips encapsulen no
• El consumo eléctrico es menor, permitiendo mucho mayor únicamente al CPU, controlador de memoria, controlador gráfico,
tiempo de operación a baterías. Naturalmente, el tamaño de y otros componentes esenciales, sino que prácticamente a todo
los chips resultantes es menor. Mientras que un CPU Intel el sistema de cómputo, inclusive la RAM y los controladores de
para equipos de escritorio mide unos 4cm. por lado, los proce- dispositivos. A esta práctica se le conoce como “SoC” (System on
sadores ARM apenas y sobrepasan un centímetro cuadrado. a Chip); de hecho, si ven cualquiera de las computadoras basadas
en ARM que han surgido en años recientes, uno de los prime-
Los procesadores ARM siempre estuvieron presentes en nuestros ros puntos que llama la atención es su relativa simplicidad. Y si
dispositivos “menores”, pero dado que nuestra relación con estos acostumbran abrir, en claro ejercicio de un espíritu científico, sus
nunca fue tan intensa y personal como en los últimos años, rara teléfonos o tabletas, notarán precisamente lo mismo.
vez nos resultó claro. Al haber dado el gran salto cualitativo el
mercado de los dispositivos móviles, la plataforma ha dado un Las computadoras ARM, pues, no están normalmente concebi-
salto tal que se volvió la primera respuesta al considerar cada vez das para su expansión. Por sus características físicas, y por su
más casos de uso, incluso ya en algunos casos entrando al seg- bajo costo, es más bien un enfoque de un sistema para cada tipo
mento tradicionalmente fuerte de x86. de necesidad; desde el punto de vista en pro de la ecología suena
nefasto, pero si requieren mayor poder de cómputo, la respuesta
ARM es una arquitectura muy versátil; tienen tres perfiles de es cambiar de computadora. Además, la mayor parte de los fabri-
CPUs definidos. De más sencillo a más poderoso, “M” (para cantes buscan ubicar sus equipos como “cajas cerradas”. ¡No es
microcontroladores), “R” (para aplicaciones de tiempo real) y “A” de su interés que yo pueda ejecutar mi software favorito en sus
(para aplicación). teléfonos en vez del “oficial”!

COMPLICACIONES DE LA PLATAFORMA Ahora, dado que la computadora no requiere de la enumeración


La plataforma x86 tiene, sin embargo, una gran ventaja: la aper- y prueba que realiza el BIOS, se ha optado por prescindir de este
tura y estandarización de las principales interfaces entre ésta y su elemento. Es, pues, responsabilidad del sistema operativo saber
sistema operativo. Para bien o para mal, desde la aparición de la qué dispositivos tiene y dónde se ubican. En el caso de Linux, el
IBM PC en 1981, todos los sistemas compatibles cuentan con un sistema operativo más común para entornos ARM, significa que
BIOS que se adhiere a una interfaz clara y pública; si bien esta ha debe construirse un núcleo ligeramente distinto para cada modelo
sido extendida, mejorada y finalmente reemplazada — por UEFI, de computadora. Este conocimiento del entorno se plasma en
que a pesar de los puntos negativos que tenga, era una actualiza- una estructura conocida como Device Tree (árbol de dispositivos).
ción largamente esperada — a lo largo de sus 35 años.
Las plataformas Arduino y Raspberry Pi han resultado fundamen-
El BIOS funge de intermediario entre el hardware y el sistema tales, no por ser únicas o por ser las más económicas, sino por
operativo en sus primeras etapas (sobre todo en los primeros masificar el acceso a esta tecnología llevándolo al mercado edu-
años de la PC; hoy en día la funcionalidad se limita casi en exclu- cativo, y servir así como base para cientos de productos tangibles.
siva a la inicialización del sistema). Al arrancar la computadora,
se encarga de enumerar y realizar pruebas básicas de funcionali- Adecuar Linux para su funcionamiento en una nueva sub-arqui-
dad al hardware del sistema (el POST). Tras este paso, el sistema tectura no es una tarea trivial. Hay un fuerte empuje hoy en día
operativo puede lanzarse con conocimiento básico del hardware para que los desarrolladores de hardware realicen este trabajo
con el que operará. de adecuación con mayor colaboración y en consonancia con la
comunidad desarrolladora primaria. Tengo plena esperanza en
En la arquitectura ARM, el BIOS sencillamente no existe. La razón que, conforme se construye el ambiente de desarrollo para el afa-
para esto es que la compañía ARM funciona de forma distinta mado IoT, irá resultando claro a los fabricantes el valor de mante-
de Intel. La compañía no vende chips, no posee fábricas, sino que ner la apertura ante los usuarios entusiastas.

SG.COM.MX 041
T MAKER ZONE

Hola Mundo IoT



Por Pedro Galván

En el mundo maker, lo más cercano a un “hola mundo” es hacer • Broker: el broker es el servidor que acepta mensajes publicados
que un microcontrolador prenda y apague un diodo emisor de luz por clientes y los difunde entre los clientes suscritos.
(LED). Si llevamos esto a un contexto de Internet de las Cosas, el • Publicar: cuando un cliente envía un mensaje al broker.
“hola mundo” sería lograr que dicho microcontrolador prenda y apa- • Tópico: los mensajes deben estar etiquetados con algún tópico
gue el LED en base a mensajes enviados por un dispositivo remoto. o tema. Los clientes se suscriben a tópicos específicos, de manera
que solo reciben los mensajes publicados con dichos tópicos. Un
tópico puede a su vez contener subtópicos.
Así que eso es justamente lo que haremos en este tutorial.
Tendremos un microcontrolador que prenderá y apagará un LED en MAPEANDO LOS COMPONENTES
base a mensajes generados remotamente desde un Raspberry Pi. Para este tutorial tendremos 3 elementos:
• Una computadora personal, que operará como servidor (broker).
ELIGIENDO EL PROTOCOLO DE COMUNICACIÓN • Un Raspberry Pi que por medio de un programa en Python en-
Lo primero que tenemos que decidir es cómo haremos para que viará mensajes al broker pidiendo que se prenda o apague el LED.
nuestros dispositivos puedan enviar y recibir mensajes. • Un módulo ESP8266 que recibe los mensajes y realiza la acción
deseada con el LED.
Quienes vienen del desarrollo web probablemente consideren
que lo más sencillo sería implementar un servidor web que ma- MOSQUITTO
neje peticiones REST sobre HTTP. Cuando se trata de dispositivos Ya comentamos que MQTT es el protocolo que utilizaremos, pero
con alto poder de cómputo y un canal de comunicación con buen ahora hay que escoger un servidor o implementación específica
ancho de banda, esto tiene sentido. Pero en la mayoría de los ca- de broker MQTT. Existen diversas opciones instalables como
sos de IoT, esto no sería ideal ya que HTTP es un protocolo relati- Mosquitto, HiveMQ y VernMQ por mencionar algunas. También
vamente pesado, además de que no es eficiente para escenarios hay servicios de broker MQTT en la nube —por ejemplo AWS IoT
de comunicación uno a muchos (se necesitaría hacer un POST a e IBM Bluemix— listos para usarse.
cada cliente).
En este caso utilizaremos Mosquitto, que es un servidor MQTT
Es aquí cuando nos encontramos con MQTT, un protocolo de open source bastante popular. En http://mosquitto.org puedes
comunicación M2M (machine-to-machine) donde dispositivos descargar el instalador para Windows. En Mac puedes instalarlo
se comunican entre sí utilizando un patrón publicar/suscribir. con Homebrew, y en Linux encontrarás el paquete mosquitto o
Es muy ligero, por lo que es de especial utilidad en casos donde mosquitto-mqtt en los repositorios de tu sistema operativo.
se requiere un muy bajo consumo de energía y ancho de banda.
MQTT es un estándar ISO, así que tiene un gran respaldo. Una vez que tengamos Mosquitto instalado, podemos arrancar el
Por sus características, MQTT es un protocolo ideal para solucio- broker simplemente con el comando mosquitto, aunque es buena
nes de Internet de las Cosas, así que es lo que utilizaremos para idea agregarle la bandera -v de “verbosidad” para que nos mues-
nuestro “hola IoT”. tre el detalle de lo que esté sucediendo.

FUNCIONAMIENTO DE MQTT
Conozcamos los componentes y acciones clave de MQTT.

• Cliente: un dispositivo que puede publicar mensajes, suscribirse


para recibir mensajes, o ambos. Figura 1. Arrancando el servidor de mosquitto.

042 SG.51
MAKER ZONE
T

La configuración default de mosquitto opera en el puerto 1883 Por último, en la figura 4 podemos apreciar que el cliente que está
prácticamente con ninguna seguridad. Esto es válido para pro- escuchando el tópico prueba recibe el mensaje publicado.
pósitos de nuestro tutorial, pero una vez que nos dispongamos
hacer un proyecto real, es altamente recomendable cambiar la
configuración y restringir el acceso.
Una vez que está corriendo nuestro servidor, podemos suscribir-
nos para recibir mensajes sobre algún tópico. Antes de hacer la Figura 3. Servidor recibe conexión para publicar.
conexión desde dispositivos remotos, vamos a probar desde la
misma computadora donde tenemos el servidor. Abrimos una
nueva terminal y ejecutamos el comando mosquitto_sub:

$ mosquitto_sub -h 127.0.0.1 -t prueba -i testSub Figura 3. Suscriptor recibiendo el mensaje publicado.

En este caso estamos indicando que deseamos conectarnos al PUBLICAR DESDE LA RASPBERRY PI
servidor en la ip 127.0.0.1 al tópico prueba y que nuestro iden- Para publicar mensajes desde la Raspberry Pi podríamos simple-
tificador es testSub (este último parámetro es opcional, sino lo mente instalar mosquitto y utilizar el comando mosquitto_pub
usamos, el servidor nos asigna algún identificador). Al ejecutar tal y como lo hicimos en la prueba anterior. Sin embargo, para
este comando, veremos en nuestra consola del servidor que ha hacerlo de forma programática es mejor utilizar una librería para
recibido la petición de suscripción (ver figura 2). el lenguaje de programación de nuestra preferencia. En este caso
mostraremos como hacerlo desde Python.

El proyecto Eclipse Paho provee clientes y librerías open source


para MQTT en una gran variedad de lenguajes de programación.
Podemos visitar https://eclipse.org/paho/ y descargar el cliente
para nuestro lenguaje, o en el caso de Python podemos hacerlo
Figura 2. Servidor mostrando suscripción. todavía más sencillo usando pip:

Noten que el tópico “prueba” no se había definido previamente en $ pip install paho-mqtt
el servidor, sino que se crea automáticamente cuando un cliente
pública o se suscribe a él. Una vez que tengamos instalado Paho, podemos utilizar la libre-
ría en nuestro programa. El listado 1 muestra el código en python
Ahora haremos la prueba de publicar un mensaje al tópico para publicar un mensaje.
prueba. Así que desde otra terminal de comando ejecutamos el
comando mosquitto_pub:

$ mosquitto_pub -h 127.0.0.1 -i testPub -t prueba -m ‘Hola IoT’

Como podemos ver en la figura 3, el servidor recibe la conexión


de testPub que publica un mensaje en el tópico prueba. Dado que
testSub está suscrito a este tópico, el servidor le envía el mensaje. Listado 1. Programa para publicar mensaje con Python.

SG.COM.MX 043
T MAKER ZONE

Como podemos ver, es muy sencillo. Simplemente importamos


la librería publish de Paho y utilizamos la operación single para
publicar un mensaje. Como parámetro enviamos el nombre del
tópico (ledStatus), el mensaje (0 ó 1), y el servidor.

RECIBIR EL MENSAJE EN MICROCONTROLADOR


Una vez que hicimos el programa en nuestra Raspberry Pi para
enviar mensajes, vamos a hacer el programa en nuestro micro-
controlador para recibir los mensajes y prender o apagar el LED.
En este caso usamos un ESP8266 ya que es un módulo muy eco-
nómico con conectividad WiFi, pero podríamos usar cualquier
Arduino con un shell Ethernet o WiFi.

Así como en la Raspberry Pi nos apoyamos en una librería, ha-


remos lo propio del lado del microcontrolador. Utilizaremos
PubSubClient, un cliente MQTT para Arduino. Puedes descargar
PubSubClient desde http://pubsubclient.knolleary.net o instalarlo
desde el administrador de paquetes del Arduino IDE.

El listado 2 muestra el código para el microcontrolador Arduino


que se conecta al servidor de MQTT, se suscribe al tópico y en
base al mensaje recibido, prende o apaga el LED. Vale la pena re-
calcar que hicimos la prueba con un ESP8266 Huzzah de Adafruit
que tiene invertida la acción de los LED, cuando mandas HIGH se
apaga y cuando mandas LOW se prende. Esto puede ser distinto
en el microcontrolador específico que utilices.

CONCLUSIÓN
En este tutorial he mostrado un ejemplo muy sencillo de cómo
dispositivos remotos pueden enviarse mensajes entre sí por me-
dio de un servidor MQTT. Te recomiendo que conozcas más sobre
MQTT ya que es un protocolo muy útil.

Si no deseas instalar tu propio servidor MQTT, te recuerdo que


también hay servicios en la nube. De hecho, por el momento
Eclipse ofrece un sandbox de MQTT abierto disponible en “iot.
eclipse.org” con el puerto 1883 así que podrías intentar los ejer-
cicios de este tutorial utilizando “iot.eclipse.org” como servidor
MQTT y deberían funcionar.

Referencias
[1] J. Lewis. “MQTT Tutorial for Raspberry Pi, Arduino and ESP8266”. http://swgu.ru/rh Listado 2. Código para ESP8226

Pedro Galván Kondo es cofundador y director editorial de SG Software Guru.

044 SG.51
SG.COM.MX 045
F FUNDAMENTOS

Perdamos el Miedo al RTFM



Por Pedro Galván

Recuerdo muy bien la primera vez que alguien me contestó Me quedé en shock. Mi ídolo me estaba mandando al carajo sim-
“RTFM”, y a la fecha le estoy agradecido. plemente por preguntarle algo. O andaba muy enojado por otra
cosa, o no era tan buena persona como yo creía. Después de unos
Era yo un estudiante universitario, y en mis tiempos libres jugaba momentos de respiración profunda, retomé la conversación.
y programaba como voluntario en un MUD (multi-user dungeon).
Este era un MUD 100% amateur, el servidor estaba hospedado en - Yo: “Hey, ¿qué te pasa? No es mi culpa si tuviste un mal día”.
un ISP en Noruega, y los desarrolladores éramos voluntarios de - Taniwha: ¿De qué estás hablando?”
todo el mundo. Había cuatro niveles de voluntarios: constructor, - Yo: “A tu RTFM”.
alquimista, lord y semi-dios. Los programadores eran los novatos, - Taniwha: “Ah, ¿eso? No lo tomes personal, es una expresión común.”
que hacían cuestiones básicas como cuartos y monstruos; los al- - Yo: “Pues no estoy de acuerdo. Se supone que me deberías en-
quimistas hacían cosas más avanzadas como armas y hechizos; señar, no mandarme al cuerno”.
los lords eran como los gerentes, coordinaban a varios construc- - Taniwha: “Te estoy enseñando. Cálmate y lee el manual.”
tores para construir pueblos y regiones; los semidioses ocasional-
mente mejoraban la plataforma base, pero más que nada fungían Desde entonces, antes de preguntar, primero busco el manual. Es
como mentores técnicos para los constructores y alquimistas. una práctica muy sana. De la misma forma, cuando alguien de mi
equipo me pregunta algo, lo refiero al manual. Y si no hay manual,
Uno de los semidioses más activos y queridos se llamaba Taniwha trato de crearlo.
(bueno, en el mundo real se llamaba Peter, pero en el MUD se ha-
cía llamar Taniwha así que eso es lo que importa). Taniwha era un HACIENDO MÁS RTFM EN LAS EMPRESAS
ingeniero de software que había trabajado en varias empresas de En ambientes de software libre o proyectos de voluntariado, es
tecnología y luego fundó una empresa que fue comprada por IBM, de lo más natural aplicarle a alguien un RTFM, especialmente
así que ya solo trabajaba de medio tiempo como asesor, y el resto en países sajones.
de su tiempo lo dedicaba a su familia y al MUD. Como se podrán
imaginar, Taniwha era mi ídolo. En Latinoamérica no he visto que se aplique tanto. Pensamos que
enseñarle a alguien es sentarnos con la persona y resolver todas
Después de algunas semanas como constructor haciendo cosas sus dudas, el número de veces que sea necesario. Siendo de san-
aburridas, decidí que era tiempo de hacer algo más divertido, así gre caliente, también acostumbramos tomarnos las cosas más
que opté por crear un látigo para sacerdotisas drow (elfa oscura). personales (“es un hijo de $%&@, le pregunté algo y me dijo que
Los aficionados del tema recordarán que un látigo de estos tiene lea el manual, que se vaya al cuerno yo ya no quiero trabajar con
varias cabezas de serpiente (dependiendo del nivel de la sacerdo- él.”). Y en ambientes corporativos las cosas se complican todavía
tisa) y puede generar efectos secundarios (ej. envenenar, parali- más, ya que sin la cultura adecuada un RTFM resultará en desmo-
zar) a la víctima. Así que no era un arma sencilla de programar. tivación, renuncias e incluso peleas.

- Yo (chat público de desarrolladores): “¿Alguien sabe como Esto es una lástima porque creo que es una práctica muy sana. En
puedo paralizar a una víctima?”. esencia, la práctica de RTFM se enfoca en dos cosas: por un lado
- Taniwha: “Revisa el hechizo de paralización, está en x directorio”. que la gente senior busque que el conocimiento de la empresa
- Yo (mensaje directo a Taniwha): “¿Me puedes explicar como sea documentado, y por otro que la gente novata aprenda a auto-
funciona?”. capacitarse y entender cómo funcionan las cosas.
- Taniwha: “RTFM”.
- Yo: “¿Qué es eso?”. Así que si alguna vez te aplican un RTFM, no lo tomes a mal, lo
- Taniwha: “Read the Fucking Manual”. están haciendo por tu bien.

Pedro Galván Kondo es cofundador y director editorial de SG Software Guru.

046 SG.51
SG.COM.MX 047
O HARDWARE

KNOCKI

Imagina el siguiente escenario: te sientas en el sillón frente al tele-


visor y no encuentras el control remoto, así que extiendes tu brazo
y das un par de golpes en la mesa del sillón, y de pronto se prende.
¡Wow! Ese es un ejemplo sencillo del tipo de cosas que podrás hacer
con Knocki. Es un pequeño dispositivo programable que se adhiere
a superficies como paredes o mesas y detecta los golpes que das
en éstas, y en base a ello dispara acciones en otros dispositivos a
los cuales se conecta por medio de la red WiFi. Recientemente juntó
más de 1 millón de dólares en Kickstarter y se espera que entregue
sus primeras unidades en el primer trimestre de 2017.

PINBOX 3000

Pon en práctica eso que le has dicho a tus hi-


jos de que “en mis tiempos hacíamos nuestros
propios juegos” con este kit para construir tu
propio juego de pinball de cartón. El kit incluye
12 hojas de cartón precortado, canicas, palan-
cas, e instrucciones de armado. Para decorarlo
puedes utilizar algunas de las ideas incluidas o
hacer tu propio diseño y decoración. Si com-
pras dos kits, puedes unirlos para que dos
personas jueguen al mismo tiempo en modo
de batalla. También puedes adquirir el kit de
expansión Arduino, el cual incluye un mi-
crocontrolador Arduino Nano, LEDs, bocina,
servomotor e instrucciones para agregar un 3

mayor elemento de interacción a tu juego de


pinball. El microcontrolador ya viene prepro- SAMSUNG GEAR 360
gramado con una rutina default, pero puedes
modificarla al gusto.

Como podrás derivarlo de su nombre, la Gear 360 es una cámara para tomar
fotografías y video de 360 grados. Cuenta con dos lentes de ojo de pescado,
uno en cada lado, equipados con sensores de 15 MP que se combinan para cap-
turar video 3D a una resolución de 2840 x 1920 e imágenes estáticas a 7776 x
3888. Entre las ventajas de la Gear 360 está su diseño futurista, la calidad de sus
imágenes y su facilidad de uso. El inconveniente principal es que para aprove-
char al máximo sus capacidades, como por ejemplo ver en tiempo real el video
que se está capturando, requieres un smartphone Samsung “moderno” (Galaxy
S6 o posterior). La Gear 360 se lanzó en Asia en abril de este año, se espera
que en Estados Unidos esté disponible antes de que termine el verano y llegue a
Latinoamérica para la temporada navideña.

048 SG.51
HARDWARE
O

SEGWAY ROBOT
@geek_mx

El Segway Robot es un pequeño asistente a control remoto que se mueve como un


Segway regular, pero puede responder y obedecer comandos enviados desde un
smartphone compatible. Utiliza un scooter Mini Pro para moverse y puede transformarse
fácilmente entre robot autónomo y un vehículo que lleve a su dueño a diferentes lugares.
Captura imágenes usando Intel RealSense y mapea una zona con todos sus obstáculos,
navegando a través de complicados entornos. También puede hablar, seguir a las perso-
nas, reconocer el rostro de su dueño y mucho más. Para todos aquellos interesados en
desarrollar para Segway Robot, se pueden unir al programa de SDK para conocer todo el
potencial del proyecto, extendiendo la funcionalidad del robot a través de sus diferentes
interfaces y extensiones de hardware. El programa de desarrollo dará inicio con la fase
Alpha que se lanzará en octubre, seguido de la Beta en enero de 2017. Se espera un
lanzamiento general en la primera mitad del próximo año; el precio se dará a conocer
conforme se acerque esa fecha.

Humor

JOHNNY-FIVE INVENTOR’S KIT

El Johnny-Five Inventor’s Kit (J5IK) es un kit para desarrollo de


soluciones de robótica e internet de las cosas que combina dos
plataformas: Johnny-Five, un framework de programación con
JavaScript para IoT; y Tessel 2, una plataforma de hardware abierto
para robótica e IoT basada en una computadora single-board. El
J5IK está diseñado principalmente para principiantes que buscan
hacer sus primeros proyectos. No requiere experiencia previa de
programación ni soldadura. El kit incluye una gran variedad de
componentes electrónicos de manera que tienes todo lo que ne-
cesitas para completar 14 proyectos distintos que te enseñarán a
leer sensores, controlar motores, y aprender JavaScript. Después
de realizar los proyectos tendrás el conocimiento necesario para
diseñar y construir tus propios proyectos de IoT.

SG.COM.MX 049
O BIBLIOTECA

ARDUINO PROJECT HANDBOOK


Mark Geddes. No Starch Press, junio 2016
1

El Arduino Project Handbook es una colección de proyectos usando la tableta


Arduino. Con una computadora, un microcontrolador Arduino y algunos
componentes electrónicos, aprenderás a construir varios proyectos diverti-
dos. El autor, Mark Geddes, originalmente escribió este libro para enseñar
electrónica y microcontroladores a su hijo de 10 años sin tener que pasar
primero por cientos de páginas de teoría.

Son 25 proyectos y cada uno cuenta con instrucciones detalladas, fotogra-


fías, diagramas de circuitos y código completo, de tal manera que hasta los
más novatos no tengan ningún problema para arrancar. El libro comienza
desde lo más básico, una introducción a Arduino y consejos sobre herramien-
tas y componentes electrónicos. A partir de eso ya puedes escoger si seguir los
proyectos en orden o escoger aquellos que más te interesen.

Algunos de los proyectos incluidos son: una estación de monitoreo del clima,
un juego de memoria basado en luces de colores, un sistema de alarma por
detección de movimiento, un estroboscopio, un show de luces de colores, y
una chapa que detecta claves para tocar la puerta , entre otros.

Arduino Project Handbook está disponible en versión impresa y digital.


Adicionalmente, en https://www.nostarch.com/arduinohandbook puedes
descargar un capítulo con el proyecto del juego de memoria.

SCALING LEAN
Ash Maurya. Lean Stack, junio 2016
2

Scaling Lean es el libro más reciente de de negocio, cómo balancear el aprendizaje


Ash Maurya, uno de nuestros autores y interno del startup y la entrega de resultados
consultores favoritos sobre emprendi- a inversionistas, qué es lo que sucede des-
miento tecnológico. Scaling Lean brinda pués de lanzar un MVP y cómo mantenerse
una valiosa guía para modelar el camino enfocado en los principales riesgos.
de tu startup hacia el éxito. Aprenderás
cómo obtener métricas esenciales que te El libro también incluye guías para hacer
permitirán medir la ejecución de tu mo- cosas como:
delo de negocio, obtener el pulso de tu • Evaluar la viabilidad de un modelo de
startup, comunicarte con tus inversionis- negocio en unos cuantos minutos.
tas y saber cuando es necesario intervenir • Establecer metas progresivas orien-
para corregir el rumbo. tadas a crecimientos exponenciales al
largo plazo.
El autor, Ash Maurya, comenta que aunque • Planear y ejecutar sprints lean de dos
su libro anterior, Running Lean, plantea un semanas para rápidamente obtener,
mapa de ruta táctico de cómo llevar una idea priorizar y probar ideas de negocio.
a la realidad, se dio cuenta que al aplicarlo
en escenarios reales quedaban muchas du- Si planeas adquirir este libro, te recomen-
das de implementación. Scaling Lean busca damos hacerlo desde https://leanstack.
brindar una guía para contestar estas dudas. com/scaling-lean-book ya que obtendrás
Entre los aspectos que se enfoca Scaling Lean beneficios adicionales de acceso a conte-
están: cómo medir o cuantificar un modelo nido y herramientas de soporte.

050 SG.51
SG.COM.MX 051
052 SG.51

También podría gustarte