Los días 9 y 10 de Mayo, miembros de TravelgateX, Daniel Calle, responsable de «Core»; Hector García, jefe de innovación y un equipo de programadores compartieron sus conocimientos sobre GraphQL, creando comunidad, en el marco de #ParcBitInspira.
García explicó a qué se dedica TravelgateX. Conecta compradores y vendedores de servicios turísticos, proporcionándoles APIS que conectan en un solo Hub o concentrador de oferta y de demanda de servicios turísticos proporcionando consultas y reservas en tiempo real. Si eres un vendedor (por ejemplo un hotel) tienes acceso a todos los compradores y si eres un comprador (por ejemplo una agencia de viajes) tienes acceso a todos los vendedores, que hay en el sistema. De hecho esta empresa facilita la comercialización en tiempo real en Internet. García también entró en el tema del ciclo de adopción de la tecnología, desde que la adoptan los innovadores y adaptadores tempranos hasta la mayoría tardía. Y esto se debe de tener en cuenta a la hora de elegir o apostar por una tecnología u otra. Además, el hecho de que haya una comunidad detrás de una tecnología da cierta garantía de continuidad.
Una de las tecnologías, no la única, por las que ha apostado TravelgateX es GraphQL. En la web de TravelgateX se puede leer la siguiente definición: «GraphQL es un lenguaje de consulta para su API. Fue diseñado por primera vez por Facebook. Es una nueva forma de tratar y gestionar los modelos de datos mediante API y es especialmente útil para desacoplar el cliente de la lógica del servidor.»
García matizó que GraphQL y REST son diferentes paradigmas, sirven para cosas similares pero no exactas.
Para decidir qué tecnología adoptar García remarcó que es conveniente primero realizar un proyecto piloto, para ver el alcance, y hay que tener en mente, que una tecnología que va bien a uno puede no funcionar en otro. Lo importante es utilizar lo que a cada uno le va bien.
Una de las cosas interesantes de la forma de organizar el trabajo en TravelgateX es que las personas no técnicas o las que tratan con los clientes también deben saber de tecnología. Teniendo esta premisa en mente esta conferencia y posterior taller fue apto para todos los públicos ya que se hicieron grupos por niveles y por lenguajes de programación. Daniel Calle lo tenía muy presente a la hora de explicar GraphQL. La charla fue amena y comprensiva para todos los niveles de conocimiento. Aquí se puede descargar el guión.
Según Calle una ventaja de GraphQL es que aporta simplificación, es una forma fácil para acceder a la API. Cuando Calle hablaba de programación lo hacía como si se tratara de componer una canción en términos de armonía y ritmo. Por ejemplo, poner los mismos nombres a las cosas, lo que puede parecer obvio, pero se puede aprovechar para unificar la nomenclatura de permisos. La armonía da calidad y consistencia. GraphQL indica cómo se debe desarrollar, es como si te diera pistas. Además facilita mucho todo el tema de la documentación de lo que estás desarrollando.
Los caminos rápidos hace que se tenga que renunciar a alguna funcionalidad o nomenclatura, al mismo tiempo las abundantes librerías y revisar los problemas que ya se ha encontrado la comunidad facilitan mucho el trabajo, explica Calle.
La importancia de la comunidad
Otro tema importante es la comunidad. La comunidad aporta conocimiento y Calle y su equipo lo devuelven a la comunidad con nuevos avances. Liberar a la comunidad requiere tiempo porque el código debe estar bien hecho y bien documentado. Si bien montar el servidor puede ser tedioso, se puede recurrir a la comunidad para obtener ayuda. De hecho, la comunidad es uno de los pilares de GraphQL, y dentro TravelgateX lo tienen muy presente, también, fomentando comunidades transversales dentro de la empresa con personas de diferentes equipos. Es más, dentro de la empresa hay una comunidad para cada tecnología.
Además, Calle y su equipo quieren abrir la comunidad fuera de TravelgateX. Este es uno de los motivos de organizar talleres como éstos, incluso están mirando si hay interés suficiente como para montar un Meetup sobre GraphQL en Mallorca.
Lo más difícil es la resistencia al cambio, sentencia Calle.
La hora del código
Para los no iniciados que quieren empezar a trastear con GraphQL sólo hay que seguir los siguientes pasos, y en menos de 5 minutos tienes un entorno montado para poder empezar a programar y convertir el código en grafos:
- Instalar Node.js
- Instalar Yarn
- Copiar eso [yarn global add graphql-Faker] aquí
- Abrir cmd y pegar [yarn global add graphql-Faker]
- Luego escribir en el cmd [graphql-Faker]
- Copiar en el navegador lo que te devuelva del cmd. Por ejemplo:
- http: // localhost: 9002 / editor /
- http: // localhost: 9002 / graphql
- Y copiando el código creado en https://apis.guru/graphql-voyager/ te convierte el código en grafos o esquemas
En realidad estos sencillos pasos para principiantes es para aprender a pensar como los programadores. Lo que se está haciendo es una especie de maqueta o «Mockup» para que un emprendedor o jefe de proyecto o jefe de producto pueda expresar sus ideas de qué información buscar («queries») y de cómo está estructurada y el desarrollador lo pueda comprender y luego desarrollarlo y ponerlo en marcha. En este estadio no hemos hablado todavía de donde surgirán las fuentes de datos.
Para los grupos más avanzados enseñaron a desarrollar permisos y a integrar GraphQL con lenguajes de programación como python, go, scala o java.
La actitud
Trabajan con ambición, creando red, compartiendo conocimientos y pensar que todo es posible.
Llegas a la web de TravelgateX y lees con tipografía gigante:
«The global marketplace for the travel trade. A single connection provides your gateway to the largest network of buyers and sellers »
(El mercado global para el comercio de viajes. Una única conexión proporciona su puerta de entrada a la red más grande de compradores y vendedores)
Escuchas a Hector García que explica que hace unos meses cambió Alemania por Mallorca para sumarse al proyecto TravelgateX.
Daniel Calle explica que se unió a TravelgateX porque le pareció un proyecto muy ambicioso.
Las personas de «Customer Care» de TravelgateX formadas en filología inglesa, comercio internacional, protocolo, derecho, asisten a los talleres de GraphQL para empaparse y entender la tecnología para poder cuidar mejor a sus clientes.
La organización fomenta de forma formal las comunidades de prácticas entre personas de diferentes equipos y para cada tecnología para que todo el mundo aprenda mientras trabaja.
Los trabajadores invierten tiempo para documentar y publicar lo que están haciendo y compartir sus conocimientos de forma física y altruista (añadiendo el reconocimiento y la buena reputación) con quien le pueda interesar aprender un poco más.
Reúnen en Mallorca jugadores de primer nivel (Expedia, Alibaba, Google, ..) del mundo mundial en el evento Con-x.
Explican sin pelos en la lengua y abiertamente su estrategia de comunicación y cómo dan a conocer de forma comprensible sus productos tecnológicos a sus clientes, medios de comunicación y líderes de opinión.
Realmente visto así es una empresa de manual de la sociedad de la información y aplicando las tesis de The Cluetrain Manifesto.