{"id":20607,"date":"2015-03-17T13:00:26","date_gmt":"2015-03-17T12:00:26","guid":{"rendered":"https:\/\/www.teldat.com\/sin-categorizar\/20607\/ofrecer-servicios-centralizados-usando-tecnologia-existente-rest\/"},"modified":"2022-12-28T12:45:32","modified_gmt":"2022-12-28T10:45:32","slug":"ofrecer-servicios-centralizados-usando-tecnologia-existente-rest","status":"publish","type":"post","link":"https:\/\/www.teldat.com\/es\/blog\/ofrecer-servicios-centralizados-usando-tecnologia-existente-rest\/","title":{"rendered":"Ofrecer servicios centralizados usando tecnolog\u00eda existente: REST"},"content":{"rendered":"<p><img decoding=\"async\" class=\"alignleft size-medium wp-image-4585\" style=\"border: 0px;\" src=\"https:\/\/www.teldat.com\/wp-content\/uploads\/2022\/06\/177402640-scaled.jpg\" alt=\"https:\/\/www.teldat.com\/wp-content\/uploads\/2022\/06\/177402640-scaled.jpg\" width=\"224\" height=\"300\" title=\"\">Desde hace varios a\u00f1os estamos constantemente bombardeados por el concepto de\u00a0<em><strong>nube,<\/strong><\/em>\u00a0donde pr\u00e1cticamente todo tiene cabida, ya se trate de la\u00a0<strong>nube privada\u00a0o la p\u00fablica,<\/strong>\u00a0con servidores instalados en la propia central del cliente o repartidos por el mundo en grandes centros de datos.<\/p>\n<p>Cuando te mueves en este mundo nunca puedes olvidar la importancia de utilizar tecnolog\u00edas\u00a0 est\u00e1ndar, en la medida de lo posible, para evitar configuraciones tediosas a la hora de desplegar tus servicios.<\/p>\n<p>Es por ello que hace varios a\u00f1os nacieron\u00a0<strong>tecnolog\u00edas como REST,<\/strong>\u00a0muy extendida en la actualidad. REST\u00a0<i>(<\/i><em>Representational State Transfer)<\/em>\u00a0es una t\u00e9cnica de arquitectura de\u00a0<i>software<\/i>\u00a0que define una serie de caracter\u00edsticas clave a la hora de\u00a0<b>intercambiar datos con un servicio web,<\/b>\u00a0permitiendo, a grandes rasgos,\u00a0<strong>explotar una serie de protocolos y tecnolog\u00edas ya existentes para conseguirlo.<\/strong>\u00a0Se trata de una de las arquitecturas dominantes en el mercado online, utilizada por miles de grandes compa\u00f1\u00edas. Entre ellas, Amazon, eBay o Microsoft son solo algunos ejemplos destacados.<\/p>\n<p>Sin llegar a constituir un est\u00e1ndar, REST implica la definici\u00f3n de un estilo a seguir para el intercambio de informaci\u00f3n, lo cual llev\u00f3 a esta tecnolog\u00eda a ser acunada por\u00a0<a title=\"Roy Fielding\" href=\"https:\/\/es.wikipedia.org\/wiki\/Roy_Fielding\" target=\"_blank\" rel=\"noopener\">Roy Fielding<\/a>\u00a0en su tesis doctoral.<\/p>\n<p>Este art\u00edculo no pretende impartir una clase magistral sobre\u00a0<strong>qu\u00e9 es una<\/strong>\u00a0arquitectura REST actual, las\u00a0<strong>caracter\u00edsticas<\/strong>\u00a0a cumplir para desarrollar una aplicaci\u00f3n RESTful o si sencillamente nos quedamos en un\u00a0<strong>REST-like\u00a0<\/strong>o algo similar. Se trata de exponer, brevemente, qu\u00e9 implica el uso de esta arquitectura y las\u00a0<strong>ventajas que supone en la implantaci\u00f3n y explotaci\u00f3n<\/strong>\u00a0en un sistema en producci\u00f3n.<\/p>\n<h2>\u00bfQu\u00e9 hace de REST una de las arquitecturas preferidas para el intercambio de informaci\u00f3n cliente-servidor?<\/h2>\n<p>La principal caracter\u00edstica de REST es el\u00a0<strong>intercambio de mensajes entre clientes y servidores sin necesidad de conservar el estado.<\/strong>\u00a0Frente a otros protocolos existentes en el mercado de los servicios web, con REST dentro del propio mensaje ya se encuentra toda la informaci\u00f3n necesaria, para que los intervinientes en la conversaci\u00f3n no precisen conocer de antemano el estado de la misma, eliminando la necesidad de intercambiar mensajes de estado o realizar otras operaciones intermedias.<\/p>\n<p>Las aplicaciones basadas en REST suelen emplear el\u00a0<strong>protocolo HTTP\u00a0<\/strong>para transmitir la informaci\u00f3n. Esto, junto al hecho de no depender de la necesidad de conservar el estado, hace que se estandarice al m\u00e1ximo el intercambio de datos, lo cual supone una ventaja enorme de cara a la\u00a0<strong>implantaci\u00f3n y mantenimiento de este tipo de aplicaciones.<\/strong><\/p>\n<p>Teniendo en cuenta mi experiencia acumulada en estos \u00faltimos a\u00f1os en el mundo de la computaci\u00f3n en la nube, y el tipo de cliente corporativo y pyme existente en el mercado actual, tratar\u00e9 de ordenar las caracter\u00edsticas que me parecen m\u00e1s ventajosas desde mi punto de vista:<b><\/b><\/p>\n<p><strong>Escalabilidad y balanceo de carga:<\/strong>\u00a0en la actualidad, pr\u00e1cticamente todo lo orientamos al modo servicio, aprovechando las ventajas de eso que llamamos nube, que no deja de ser, en el caso de una nube p\u00fablica, y a muy grandes rasgos, contratar a un proveedor de servicios que nos alquila un espacio l\u00f3gico de procesamiento y almacenamiento. Lo habitual es que sea muy complicado conocer de antemano una aproximaci\u00f3n clara a la demanda del servicio que estamos ofreciendo. Es por ello que se implementan mecanismos, ya sean autom\u00e1ticos o manuales, para desplegar nuevas instancias f\u00edsicas o virtuales para prestar el servicio de forma que trabajen paralelamente. REST nos permite en este caso, al no almacenar el estado en el servidor, una total transparencia para los clientes en esta operaci\u00f3n, sin la necesidad de conocer realmente a qu\u00e9 servidor se est\u00e1n conectando en un momento determinado.<\/p>\n<p><strong>Uso de protocolos est\u00e1ndar:\u00a0<\/strong>Se dice r\u00e1pido el que esta arquitectura se base en HTTP, ya que las ventajas que nos aporta son impresionantes. Cuando se realiza un despliegue en casa del cliente, especialmente en el cliente corporativo donde intervienen infinidad de departamentos (sistemas, comunicaciones, perimetrales\u2026), el utilizar algo tan est\u00e1ndar como HTTP (con sus puertos y cabeceras est\u00e1ndar), hace que pr\u00e1cticamente sea innecesario reconfigurar nada en la red para ver la aplicaci\u00f3n en funcionamiento. Cortafuegos, sistemas de detecci\u00f3n de intrusiones, antispam, antivirus, reputaci\u00f3n web&#8230; Todo suele estar preparado para reconocer este tipo de tr\u00e1fico y, en general, el tr\u00e1fico web.<\/p>\n<p><strong>Seguridad:<\/strong>\u00a0Al hablar de HTTP, indirectamente nos referimos a HTTPS. Simplemente a\u00f1adiendo un certificado a nuestro servidor, pasamos al est\u00e1ndar seguro en intercambio de informaci\u00f3n por antonomasia, en la navegaci\u00f3n web.<b><\/b><\/p>\n<p><strong>Agilidad y eficiencia:\u00a0<\/strong>Al basarse en un protocolo est\u00e1ndar, la agilidad aumenta enormemente, tanto de cara a la explotaci\u00f3n como al desarrollo. Cualquier cliente puede conectarse al servidor, programado en cualquier lenguaje, sin necesidad de ninguna configuraci\u00f3n o estructura especial, como sucede con otras arquitecturas. Java, C\/C++, C#, Python, Perl\u2026 Pr\u00e1cticamente todas las barreras del lenguaje de programaci\u00f3n desaparecen cuanto utilizas una tecnolog\u00eda HTTP para transportar algo tan simple como un \u201chipermedio\u201d, como un XML. Adem\u00e1s, la referencia a las diferentes funcionalidades publicadas en el servidor se realiza a trav\u00e9s de la URI de la petici\u00f3n, ahorrando tr\u00e1fico al ser autodescriptiva, y pudiendo incluso a\u00f1adir cabeceras para transmitir alguna informaci\u00f3n sin la necesidad de enviar mensajes adicionales.<\/p>\n<p><strong>Uso de tecnolog\u00edas intermedias de optimizaci\u00f3n de red:<\/strong>\u00a0Todo tr\u00e1fico web HTTP es susceptible de ser procesado por todo tipo de mecanismos intermedios, como servidores proxy (entre ellos, cacheadores), y otros que incluyan pol\u00edticas de seguridad. El hecho de poder encapsular la informaci\u00f3n en HTTP, permite que esta arquitectura interaccione sin demasiados esfuerzos con otros intermediarios, los cuales permiten a\u00f1adir un grado m\u00e1s de optimizaci\u00f3n y seguridad a las ya existentes en esta arquitectura.<\/p>\n<p>Hay documentaci\u00f3n\u00a0 abundante en la web sobre las ventajas del uso de esta arquitectura frente a otras, y aqu\u00ed solo he nombrado de forma somera varias de ellas sin profundizar en detalles t\u00e9cnicos, aunque tambi\u00e9n debemos tener muy en cuenta otros\u00a0<strong>inconvenientes.<\/strong>\u00a0En mi opini\u00f3n, el mayor de todos ellos es, precisamente, una de sus mayores\u00a0 ventajas: el potenciar la utilizaci\u00f3n de protocolos y tecnolog\u00edas est\u00e1ndar.\u00a0<b><\/b><\/p>\n<p><strong>HTTP\/HTTPS es el protocolo de transferencia de informaci\u00f3n por excelencia<\/strong>\u00a0y, por tanto, en ocasiones, el m\u00e1s vulnerable de cara a los\u00a0<i>hackers<\/i>\u00a0cuando utilizas, principalmente, un\u00a0<strong>servicio orientado a la nube.<\/strong>\u00a0Es necesario siempre implementar mecanismos correctos de cifrado de la informaci\u00f3n para evitar situaciones inc\u00f3modas, como suplantaci\u00f3n de identidad, robo de credenciales, etc.<\/p>\n<p>La responsabilidad \u00faltima de garantizar un intercambio seguro de mensajes es del desarrollador, y en parte tambi\u00e9n del cliente, sobre todo cuando se trata de servicios que pueden funcionar en la red de un proveedor externo.<\/p>\n<h2>REST: hacia la convergencia en la gesti\u00f3n centralizada de Teldat<\/h2>\n<p>En Teldat estamos trabajando desde hace varios a\u00f1os en el desarrollo de nuevas tecnolog\u00edas para gestionar, no solamente nuestros equipos f\u00edsicos, sino todas las funcionalidades que estos nos ofrecen, desde la\u00a0<strong>gesti\u00f3n Wi-Fi\u00a0<\/strong>hasta la de\u00a0<strong>aplicaciones en\u00a0<em>routers\u00a0<\/em>corporativos.<\/strong><\/p>\n<p>La idea principal es\u00a0<strong>ofrecer a nuestros clientes este servicio en la nube.<\/strong>\u00a0Y, para ello, hemos decidido basar nuestras\u00a0<strong>comunicaciones de gesti\u00f3n y monitorizaci\u00f3n centralizada, en la arquitectura REST.<\/strong>\u00a0Asimismo, hemos desarrollado toda una pila de seguridad sobre esta arquitectura, transparente para el usuario y el administrador de red, con el fin de evitar posibles ataques de terceros, especialmente cuando se emplea el protocolo HTTP.<\/p>\n<p>As\u00ed, aprovechando gran parte de las ventajas de esta arquitectura, conseguimos crear un ecosistema real donde conviven los aspectos y caracter\u00edsticas m\u00e1s destacables de los equipos,\u00a0<strong>controladores WLAN, puntos de acceso, optimizaci\u00f3n de red, sincronizaci\u00f3n de informaci\u00f3n<\/strong>\u2026 \u00a1Y esto no ha hecho nada m\u00e1s que empezar!<\/p>\n<p>En resumen, el uso de la arquitectura REST nos permite aunar con agilidad nuestras tecnolog\u00edas con respecto a la gesti\u00f3n centralizada y la monitorizaci\u00f3n, siendo pr\u00e1cticamente transparente su implantaci\u00f3n, haciendo un uso eficiente de los datos transmitidos, y aprovechando al m\u00e1ximo posible las ventajas tecnol\u00f3gicas empeladas hoy en d\u00eda para la optimizaci\u00f3n de red.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Desde hace varios a\u00f1os estamos constantemente bombardeados por el concepto de\u00a0nube,\u00a0donde pr\u00e1cticamente todo tiene cabida, ya se trate de la\u00a0nube privada\u00a0o la p\u00fablica,\u00a0con servidores instalados en la propia central del cliente o repartidos por el mundo en grandes centros de datos. Cuando te mueves en este mundo nunca puedes olvidar la importancia de utilizar tecnolog\u00edas\u00a0 [&hellip;]<\/p>\n","protected":false},"author":144,"featured_media":17478,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[1156],"tags":[1039,1057],"class_list":["post-20607","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-servicios-en-la-nube","tag-tecnologia-cloud","tag-tecnologia-wlan"],"acf":[],"wpml_current_locale":"es_ES","wpml_translations":[{"locale":"en_US","id":18585,"slug":"rest-architecture-the-provision-of-centralized-services","post_title":"Rest architecture: The provision of centralized services","href":"https:\/\/www.teldat.com\/rest-architecture-the-provision-of-centralized-services\/"}],"_links":{"self":[{"href":"https:\/\/www.teldat.com\/es\/wp-json\/wp\/v2\/posts\/20607","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.teldat.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.teldat.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.teldat.com\/es\/wp-json\/wp\/v2\/users\/144"}],"replies":[{"embeddable":true,"href":"https:\/\/www.teldat.com\/es\/wp-json\/wp\/v2\/comments?post=20607"}],"version-history":[{"count":0,"href":"https:\/\/www.teldat.com\/es\/wp-json\/wp\/v2\/posts\/20607\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.teldat.com\/es\/wp-json\/wp\/v2\/media\/17478"}],"wp:attachment":[{"href":"https:\/\/www.teldat.com\/es\/wp-json\/wp\/v2\/media?parent=20607"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.teldat.com\/es\/wp-json\/wp\/v2\/categories?post=20607"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.teldat.com\/es\/wp-json\/wp\/v2\/tags?post=20607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}