¿Qué se necesita para diseñar y ejecutar una API?

Diseñar y ejecutar una API es difí­cil, y va mucho más allá de los aspectos tecnológicos. En esta charla de APIdays Mediterranea, Manfred Bortenschlager ha tratado varios elementos crí­ticos que determinan si una API tiene éxito o no, como por ejemplo: los objetivos de la API, su diseño, la experiencia del desarrollador, los socios, los recursos, su coste o el valor que genera.

También ha mostrado una herramienta interactiva de apoyo al proceso de reflexión sobre el diseño y la ejecución de la API de forma satisfactoria: API Model Canvas.

APIModelCanvasLa charla, dirigida a actuales o futuros proveedores de APIs, ha dado una visión completa de los distintos factores clave de una API y de la estrategia relacionada con ella, así­ como una metodologí­a sencilla de seguir. En su presentación se pueden encontrar ejemplos prácticos de cómo funciona.

Manfred es un entusiasta de las APIs y trabaja para 3scale aportando soluciones para gestionarlas. Su trabajo consiste, entre otras cosas, en concienciar a los mercados sobre el valor de las APIs y enseñarles a implementarlas. Además, escribe y selecciona artí­culos sobre estrategias y tecnologí­as para APIs para API Magazine.

Fotografí­as de Mariano Cuesta.

Un marco de referencia de APIs de grafos que incorpora el panorama de los servicios basados en la nube

captura-5

Actualmente la proliferación de servicios basados en la nube ha revolucionado la manera en que la gente se comunica, conecta entre sí­, comparte sus archivos y, en última instancia, dirige sus negocios. Así­, tanto las grandes como las pequeñas empresas se ven obligadas a proveer su producto principal mediante una API.

_MG_9867El enfoque OPENi presentado por Michael Petychakis en APIdays Mediterranea analiza y clasifica en categorí­as el panorama de los servicios basados en la nube que existen hoy en dí­a, así­ como las APIs que tienen disponibles de forma pública. Mediante una serie de pasos repetitivos, se diseña un mapa de servicios basados en la nube repartidos en varias dimensiones, y se dirige un análisis en profundidad del conjunto de APIs seleccionadas.

Se propone un conjunto de APIs genéricas (junto con los objetos, funcionalidades y relaciones con otros servicios basados en la nube que aquellas llevan asociados), extrapolando la funcionalidad para varias categorí­as en las que entran otros servicios basados en la nube que unen a distintos proveedores de servicios. Para hacer que esos mapeados sean interoperables y extensibles, se propone un modelado de grafo que consiste en mapear las APIs genéricas con el vocabulario de schema.org.
Además, Michael ha presentado la herramienta API Builder, una plataforma que, sirviéndose de una comunidad, facilita a las empresas la adopción de una API grafo que unifica la experiencia de los servicios basados en la nube y los cloudlets personales. Así­, permite a las empresas construir y mantener fácilmente sus propias aplicaciones de software a pesar de los cambios que puedan realizarse en los CBS de las APIs.

En lí­nea con el debate que se presenta en primer lugar, Michael describe un enfoque novedoso que permite enriquecer los estándares actuales de APIs con las reglas de los negocios. El objetivo es aprovechar los principios REST para habilitar la creación de clientes genéricos que puedan operar como máquinas de estado finitas y navegar de forma autónoma por la enorme Web semánticamente enriquecida.

Fotografí­a de Mariano Cuesta.

Matteo Figus nos habla sobre usar los componentes como microservicios en el mundo front-end

Hoy en dí­a escribir código front-end es todo un reto cuando además debes ser resiliente y robusto dentro de una gran corporación. Tras trabajar en una web junto a docenas de ingenieros que viven en tres continentes distintos, Matteo Figus ha aprendido que la complejidad no se manifiesta solo en el propio código. Permitir a la gente desarrollar nuevas caracterí­sticas e implementar el código varias veces al dí­a, sin que dé ningún problema, es muy difí­cil de conseguir: preferimos que los equipos pequeños sean independientes y no interfieran unos con otros, para que sean rápidos y trabajen a gusto; pero a la vez también queremos optimizar la cooperación cuando esta sea necesaria.

En el mundo front-end los componentes son unidades muy pequeñas de código que proveen de funcionalidades a la aplicación, y todas estas unidades están conectadas para ofrecer una página web completa.

Durante su charla, Matteo ha hablado sobre cómo intentan enfocar los componentes en OpenTable. Siguiendo los principios SOA, elevan los componentes a la categorí­a de servicios, para hacer que los ingenieros puedan crearlos y consumirlos mediante contratos e interfaces claros y bien definidos. Esta manera de trabajar les permite poner en práctica la infraestructura necesaria para optimizar el testeo y para llevar a cabo cientos de cambios cada dí­a sin generar un solo conflicto.

Fotografí­as de Mariano Cuesta.

Marcos Placona, de twilio, nos habla sobre APIs de comunicación

¿Cuántas veces has tenido que hacer que dos APIs distintas se comuniquen entre ellas y te has preguntado cuál serí­a la mejor manera de conseguir que se hablen? ¿Por XML? ¿JSON? ¿HTTP?

¿Te resulta familiar esta situación?

Has usado arquitectura orientada a servicios, pero resulta que tus proyectos hablan idiomas diferentes. Así­ que te toca la ardua tarea de hacer de traductor entre ellos.

Sin embargo, la vida es muy corta y ¡solo se vive una vez! Ya puedes haber dado con la tecnologí­a más apropiada, un correcto patrón de diseño y unos algoritmos optimizados al máximo, que si no consigues que tus aplicaciones hablen correctamente, harán su trabajo igual que lo harí­a un plato de espaguetis.

_MG_9711En esta presentación de APIdays Mediterranea Marcos Placona de Twilio nos ha enseñado el secreto que muchas compañí­as llevan años guardándose y que les permite ser capaces de escalar y responder más rápido a las peticiones. Por ejemplo, una de las caracterí­sticas que debes procurar que tenga tu API es autonomí­a: que dependa del menor número posible de servicios externos para funcionar.

También ha explicado los factores a tener en cuenta en el momento de elegir cuál será nuestro sistema de mensajerí­a y en el de cómo desarrollarlo.

Fotografí­as de Mariano Cuesta.

Arranca APIdays Mediterranea 2015 de la mano de Mike Amundsen

«De Stacia a Hyperion y de vuelta a casa: la historia del héroe hipermedia» es el tí­tulo de la conferencia inaugural de Mike Amundsen en APIdays Mediterranea, de la que ya os hablamos hace unas semanas. Esta edición de APIdays Mediterranea comienza hoy y en Wwwhatsnew tenemos la oportunidad de contaros en directo estos dos dí­as de qué van algunas de las charlas.

Como os habréis podido imaginar por el tí­tulo, la intervención de Amundsen es más bien una invitación a una aventura, una alegorí­a sobre aprender a crear tecnologí­as que ayuden a las personas.

_MG_9381En esta historia, nuestro héroe cambiará las comodidades del tranquilo pueblo de Stacia por el barullo y la emoción de la mágica ciudad de Hyperion, lo cual implica intentar cruzar la Gran Extensión: un bosque misterioso y en constante cambio, lleno de criaturas encantadas y obstáculos que nadie vive para contar. ¿Qué aprenderá por el camino nuestro protagonista? ¿Conseguirá volver a casa sano y salvo?

Con la fuerza que transmiten los mitos antiguos y el poder de la narración, Mike Amundsen lleva a la audiencia a un viaje que nos introduce de lleno en los retos y las maravillas de la programación en la era de la información, y que, al final, nos alienta a todos a embarcarnos en nuestro propio viaje.

Un Babelfish salido del pantano de POX

Uno de los aspectos fundacionales de la Web es el concepto de que, aunque el cliente (el navegador) y el servidor no se hayan «conocido» nunca, deberí­an ser capaces de entenderse e interactuar sin mayor problema.

Este era uno de los problemas clave que Tim Berners-Lee y Robert Cailliau querí­an resolver cuando definieron el hipertexto como «enlazar y hacer accesible información de distintos tipos, en una red de nodos por la que el usuario pueda navegar según le plazca».

La Web programable de hoy en dí­a quizá haya empezado a alejarse de este pilar universal, y en la sesión que Ross Garrett, de Axway, ha presentado en APIdays Mediterranea hemos reflexionado sobre el lenguaje de las APIs web y por qué los desarrolladores y los clientes deberí­an esforzarse por entenderlo.

Para crear un ecosistema que sea sencillo y fácil de acceder nos recomienda que no solo dividamos nuestro gran sistema en pequeñas unidades fácilmente manejables, sino también usar todos los verbos HTTP para responder a las expectativas y evitar complicaciones innecesarias. Nos recuerda que no estamos atados al XML y que no debemos dudar en utilizar el formato que más nos convenga.

Fotografí­as de Mariano Cuesta.

Las APIs desde la trinchera

Empezamos con las charlas simultáneas en APIdays Mediterranea. Después de la pausa para el café, Simon Wood de Holiday Extras nos ha hablado de herramientas para testear nuestras APIs.

Simon ha observado que la gente pasa mucho tiempo depurando las APIs: los programadores tienen que utilizar algo que ni han diseñado ni han escrito, y cuya documentación no siempre es suficiente.

Para un usuario de APIs puede resultar muy frustrante intentar entender la API que quiere usar para su trabajo, y esa frustración empieza en el momento de la selección. Por ejemplo, al buscar una API para el tiempo atmosférico, la oferta de APIs de este tipo puede ser abrumadora. Puede que elijas una inadecuada y que te genere muchas complicaciones luego en el proceso de desarrollo. O puede que te veas obligado a usar una API determinada, porque tu empresa trabaje con otra empresa que le ha ofrecido una API con la que interactuar, y no puedas ni siquiera conectarte a ella por problemas en la red.

Afortunadamente, gracias a los avances en herramientas disponibles hoy en dí­a contamos con múltiples opciones. Así­, para diagnosticar y resolver problemas de conexión podemos usar herramientas como TraceRoute o MTR.
Continúa leyendo «Las APIs desde la trinchera»

Patrick Heneise nos cuenta cómo hacer las APIs (y su rendimiento) escalables

Patrick Heneise, en su charla en APIdays Mediterranea, ha dado una visión general de los retos y dificultades de una API a pleno rendimiento, cuáles son los componentes que cumplen cada papel y cómo se pueden optimizar y escalar apropiadamente estos componentes.

Nos ha guiado en el proceso de identificar los componentes de bajo rendimiento y ha presentado algunas de las herramientas que pueden hacerle la vida más fácil a un arquitecto de APIs. Ha diferenciado entre lo que una API de hoy en dí­a debe y no debe hacer, presentando nuevos patrones y sistemas de optimizar su funcionamiento y, en última instancia, la experiencia del usuario a través de los dispositivos finales.

_MG_9636Dada la amplia variedad de tecnologí­as, lenguajes y paradigmas distintos con los que puede operar una API, Patrick ha pretendido mantener un punto de vista agnóstico en cuanto a plataformas, y no meterse en demasiados detalles de cada plataforma concreta.

Como arquitecto de software y CEO de blended.io, Patrick diseña y crea APIs escalables de alto rendimiento, y aptas para móviles, para distintas startups y compañí­as que trabajan con tiempos de respuesta de 25 ms. y millones de peticiones. Ha escalado sistemas para centros de datos de todo el mundo, garantizando una experiencia de usuario óptima a los consumidores de las APIs.

Fotografí­as de Mariano Cuesta.

Las APIs en el procesamiento del lenguaje natural

En la tarde de la segunda jornada de APIdays Mediterranea se trató el tema del Procesamiento del Lenguaje Natural (PLN) y cómo las APIs pueden ayudar a desarrollar este área. El campo del Procesamiento del Lenguaje Natural está presente no solo en el proceso de enseñanza-aprendizaje de lenguas, sino también en cualquier ámbito en el que el lenguaje esté involucrado, como motores de búsqueda o páginas web que tengan un catálogo de productos.

En este sentido, las APIs han supuesto una mejora cualitativa para el PLN ya que las sucesivas llamadas a la API permiten que las bases de datos se actualicen constantemente; así­ como una mejora cuantitativa, pues con este sistema la mayorí­a de los usuarios (profesores, desarrolladores web, linguistas o aficionados) pueden crear sus propias herramientas.

Antonio Matarranz, de Daedalus presentó sus APIs para el desarrollo de tecnologí­a basada en la semántica, más en concreto, cómo una API semántica puede mejorar nuestro negocio. En este sentido, Antonio explicó cómo la tecnologí­a semántica puede ayudar al posicionamiento en buscadores o a analizar el sentido positivo o negativo de lo que se comenta en las redes sociales sobre nuestra empresa. Aunque son conscientes de que la implementación de esta tecnologí­a no será tan sencilla, desde Daedalus han trabajado en diferentes experimentos para mejorar esta tecnologí­a que aportará ventajas tanto a vendedores como a clientes. Como ya hicieron otros ponentes a lo largo de APIdays Mediterranea, Antonio Matarranz destacó la facilidad de uso de las APIs, incluso para desarrolladores no experimentados. Por último, se presentó la API Textalitycs, una API que permitirá extraer el significado de diferentes contenidos. Entre el público se interesaron por cómo conseguí­an convencer a nuevos clientes a romper la barrera del miedo a probar nuevos productos, a lo que Antonio contestó que merecí­a la pena invertir en estas tecnologí­a porque los resultados eran beneficiosos.

Elena ílvarez, de Apicultur explicó por qué es necesario que existan APIs linguí­sticas. La idea que se tiene de la lengua es de un sistema ordenado en varias ramas, pero esto no es realmente así­ en el uso práctico, sino que la lengua se presenta como algo interconectado. La lengua es algo creativo y, según Elena, algo difí­cil de atrapar en un sistema. Elena remarcó que cuando los seres humanos necesitan comunicar conocimiento lo hacen a través de la lengua, pero las máquinas con las que tratamos no siempre están preparadas para esta riqueza y variedad. Así­, Elena advirtió de la barrera con el que se encuentra un desarrollador cuando tiene que resolver un problema linguí­stico, ya que muchos desconocen los rudimentos de la ciencia linguí­stica. La plataforma Apicultur intenta ayudar a los desarrolladores ofreciendo APIs que solucionarán problemas linguí­sticos. La conjunción de las APIs que proporciona Apicultur puede crear un traductor, diccionarios o plataformas de ejercicios para enseñar la lengua, por ejemplo.

Más información:

Sigue APIdays Mediterranea por streaming

Las APIs y los medios sociales

En la última sesión de APIdays Mediterranea los ponentes presentaron diferentes proyectos donde las APIs y los medios sociales se han encontrado. En el contexto actual, podrí­amos decir que las redes sociales tienen un papel esencial en la manera que tenemos de acceder a la información. El paso siguiente a la web social ha sido la web programable, donde los usuarios no solo comparten contenidos, sino sus propias aplicaciones y herramientas. De esta conjunción de medios sociales y APIs nos hablaron los ponentes

Xabi Sáez, de Karmacracy, presentó su herramienta basada en un acortador de links para compartir en redes sociales. Con su plataforma, los usuarios pueden compartir contenidos y seguir el interés que genera ese link a través de un conteo de clicks generados por él. Los usuarios de Karmacracy poseen un perfil donde van subiendo en el ranking si los contenidos que han compartido también interesan a otros. Posteriormente, Xabi presentó las diferentes APIs que permiten Karmacracy realice todas las tareas anteriormente comentadas. Xabi invitó a los asistentes a usar sus APIs públicas y a compartir con ellos los resultados.

Guillermo Barbero nos presentaron Spotbros, una aplicacion móvil que nació como chat donde se podrí­an mandar mensajes a contactos, pero también asistir a charlas públicas llamadas spots . En su ponencia en APIdays Mediterranea, explicaron cómo la API de Spotbros  permitirá a las empresas crear aplicaciones para comunicarse con cualquier usuario de Spotbros, creando así­ una nueva ví­a de comunicación empresa-cliente. Los ingenieros de Spotbros explicaron a continuación cómo los desarrolladores podrán crear aplicaciones para Spotbros. La sencillez de su API ha permitido que desarrolladores de todo el mundo puedan implementar nuevas aplicaciones enriqueciendo Spotbros cada dí­a con nuevos servicios. Al tratarse de una API abierta, cualquier desarrollador puede contribuir con su aplicación. En la actualidad ya cuentan con numerosos servicios  entre los que podemos destacar los de información como las de transporte público o la que nos da  resultados deportivos. También dentro de Spotbros encontramos aplicaciones de ocio como juegos de mesa, horóscopos, cartelera de cine o la programación de la televisión. Además, poseen herramientas linguí­sticas como un traductor o aquella que permite consultar el diccionario de la lengua española de una manera sencilla, simplemente introduciendo la palabra que queremos consultar. Y todo ello con un formato chat intuitivo y agradable para el usuario.

Más información:

Sigue APIdays Mediterranea por streaming