En este sitio web utilizamos cookies para mejorar tu experiencia de navegación y entender mejor tua preferencias. Eso nos ayuda a entenderte mejor y a centrarnos en aquellos tópicos que son de tu interés. Por favor, acepta nuestro uso de cookies.
Dentro del mundo de la computación distribuida, la orientación a servicios ha sido el paradigma arquitectónico de mayor aplicación recurrente. En efecto, hoy por hoy cualquier solución desarrolla y despliega su parte back de acuerdo a una colección de servicios que expone el modelo de información requerido. En ese sentido, se ha alcanzado un alto grado de madurez a través de un recorrido evolutivo que abarca los últimos 20 años, llegando a un consenso aceptado de usar REST como la aproximación arquitectónica más conveniente y habitual. Sin embargo a la hora de diseñar servicios aplicamos recurrentemente los mismos esquemas sin pararnos a pensar la adecuación con respecto al espacio del problema. Lo cierto es que dentro de las aproximaciones orientadas a recursos existen distintos modeloso estilos arquitectónicos que pueden utilizarse a la hora de diseñar el protocolo de interacción con losservicios. En esta charla haremos un recorrido de los fundamentales modelos de diseño de APIs de servicios que pueden desarrollarse para cada tipo de problema. Además ofreceremos técnicas y patrones de diseño aplicables para cada uno de estos modelos.
El desarrollo de soluciones digitales se ha enfocado, de manera convencional, como un proceso que nacedel diseño formal y sistemático de modelos de información que se desarrollan y despliegan en el lado del servidor. Solo entonces son consumidos por clientes específicos que elaboran solucionesvisuales a medida para los modelos de información así diseñados. Esta aproximación implica grandes ventajas con respecto a los desarrolladores de back que gozan de libertad absoluta en cuanto a la toma de decisiones refería a cómo diseñar los modelos de información subyacentes y cómo exponerlos en base a un espacio de recursos de acuerdo a los principios de las arquitecturas REST. Sin embargo, esta aproximación es penalizante en relación a los esfuerzos ímprobos que tienen que hacer los equiposde front para adaptarse de manera recurrente y sistemática a la demanda cambiante de la parte del back.Se impone, en este sentido, una inversión de control relacionada con la forma en la que deben ser enfocados los esfuerzos de desarrollo. Dado que los modelos de interacción en la parte del front son recurrentes y limitados, tiene sentido permitir que sean los desarrolladores de esta parte los que dirijan los procesos constructivos demandando a los desarrolladores de back que expongan un modelo de interrogación y respuesta adaptado a las necesidades visuales y interactivas que demanda la interfaz.
De manera convencional, la manera en la que se ha enfrentado el desarrollo de soluciones digitales ha sido mediante la exposición de una colección de capacidades y servicios enumerados de manera explícita y extensiva para ser consumidos por el usuario final. Desde el lado del front, el éxito de cada productoresidía en la manera en la que dichos servicios se ponían a disposición del usuario de forma cómoda y sencilla de acceder. En el lado del back, este mismo enfoque de enumeración extensiva se convirtió en una realidad al crear arquitecturas de servicios que exponían en un espacio de recursos cada una de las entidades características del negocio. Pero lo cierto, es que los modelos de interacción que demandael gran público están cambiando. En pocos años hemos pasado de la metáfora experiencial exploratoria a modelos dialógicos caracterizados por un enfoque fuertemente abierto e interactivo. Este hecho, nos debehacer reflexionar acerca de cómo debemos reconducir el enfoque de la construcción de los sistemas back para orientarlos hacia una orientación basada en el diálogo. Si los usuarios interactúan con el producto digital a través del diálogo lo lógico es que las arquitecturas de recursos subyacentes también admitan procesos de consumición y consulta basadas en el mismo principio donde el objetivo ya no sea tanto exponer modelos de información estática sino, más bien, espacios dinámicamente cambiantes que puedan ser explorables a través de una interacción recurrente y sistemática.
En los últimos 20 años la web se ha reinventado recurrentemente a si misma pasando de ser un mero expositor de contenidos estáticos a ser una verdadera plataforma de ejecución que da soporte a toda la interacción colaborativa entre los usuarios. Y es que ciertamente, el cambio no ha sido meramente tecnológico, que también, sino que se advierte una transformación igualmente relevantede carácter cultural referida a la forma en la que los usuarios perciben y consumen este medio digital. En particular, en todo este tiempo los usuarios han pasado de tener un rol eminentemente pasivo como meros consumidores observantes a mostrar una verdadera participación activa como contribuidoresde contenido. Me gusta pensar que toda esta evolución se ha producido a lo largo de tres grandestransformaciones que dan lugar a sendas webs bien diferenciadas: la web nomádica, la web feudal y la web consumista, aquella que los usuarios vivimos hoy en dia. Y es que lo cierto es que cada etapade este recorrido histórico tiene sus condiciones y sus principios fundacionales. Ser conocedores deestos aspectos es especialmente relevante para los técnicos y profesionales que creamos solucionessobre las arquitecturas de canales digitales que proporciona la web y, si queremos ser buenos asesoresde nuestros clientes, tendremos que conocer bien este relato y los principios asociados. Porque losusuarios siempre estarán donde quieran estar y no donde les pidamos que estén.