Header Ads Widget

Ticker

6/recent/ticker-posts

Construir con estándares abiertos dará como resultado la longevidad de TI


 En los primeros años de la World Wide Web, se innovó mucho a medida que se necesitaba; mientras que los fundamentos eran abiertos y acordados en común, los sistemas que utilizaban estos fundamentos a menudo no lo eran. La innovación condujo a soluciones únicas, que llevaron al desarrollo de enfoques y sistemas patentados.

Sin embargo, a medida que pasaba el tiempo, los sistemas que utilizaban la World Wide Web se movieron cada vez más hacia sus raíces de código abierto . Con cada nueva innovación llegó una amplia documentación, y la era de los protocolos y soluciones de comunicación propietarios pronto fue reemplazada por la era de los estándares abiertos .

Debido a esta casi ubicuidad de los estándares abiertos, los desarrolladores tienden a pensar en ellos como implementaciones "básicas"; es terriblemente tentador para muchos desarrolladores, por ejemplo, optar por un protocolo de seguridad patentado probado y desarrollado independientemente de un estándar abierto más antiguo.

La verdad es que la adopción de estándares abiertos y sistemas de construcción dentro de sus límites puede conducir a una mejor funcionalidad, una mejor interoperabilidad y, lo más importante, una mayor longevidad .

¿Qué son los estándares abiertos?

En el contexto de las API web , los estándares abiertos son especificaciones para protocolos de comunicación web que son creados, mantenidos y distribuidos por la comunidad de desarrollo internacional en general Estos estándares son comúnmente acordados y, a medida que evolucionan, a menudo se incorporan en nuevos estándares y sistemas.

Sin embargo, eso solo rasca la superficie: los estándares abiertos son, por su naturaleza de ser abiertos, algo difíciles de precisar. Si bien hay algunas definiciones específicas, las interpretaciones de estas definiciones pueden resultar en aplicaciones muy variadas. Muchos proveedores de estándares abiertos tienen sus propias estipulaciones de licencia, ideas sobre lo que constituyen "estándares abiertos", etc.

Entonces, lo mejor que podemos hacer es definir las características comunes de un estándar abierto. Si bien no todos los estándares abiertos se incluirán en todos los aspectos que se enumeran a continuación, los que no lo hacen son desviaciones del estándar, no estándares en sí mismos.

Un estándar abierto es (generalmente):

  • Controlado por un  organismo de elaboración de normas o un grupo de organizaciones;
  • Aceptado como una implementación válida por la mayoría de la industria;
  • Disponible para cualquier persona para implementación gratuita , verificación de errores y desarrollo derivado.

Si bien estos estándares son de hecho de libre adopción, a menudo vienen con licencias específicas o requisitos para su implementación. En pocas palabras, estas licencias a menudo se denominan "copyleft" (un juego de derechos de autor). Un ejemplo de licencia es la licencia Creative Commons CC BY 4.0 , que permite el uso gratuito, el intercambio y la adaptación del estándar, siempre que la atribución se incluya en forma de enlace donde se utiliza o implementa el estándar (lo que normalmente se hace incluyendo un enlace en la documentación de la solución).

5 ejemplos de estándares abiertos en el espacio API

Ahora que sabemos qué es un estándar abierto, veamos algunos ejemplos del mundo real.

OAuth

OAuth , que es la abreviatura de Open Authorization, se lanzó inicialmente en 2006 como un método de autenticación para la API de Twitter. Diseñado por el arquitecto de Twitter Blaine Cook , OAuth fue diseñado para ser un estándar abierto para la delegación de acceso a API . Google, Facebook, Microsoft y muchos otros proveedores empresariales ahora utilizan OAuth.

OAuth proporciona esta delegación de acceso al permitir que los clientes de terceros reciban tokens de un servidor de autorización, dándoles acceso delegado a otros sitios que aceptan la validez y la autoridad del servidor de autorización.

Cabe destacar el hecho de que OAuth proporciona no solo un método de acceso delegado, sino que lo hace reduciendo el intercambio de contraseñas entre usuarios y terceros. Además, OAuth incluye un mecanismo para la revocación de autorizaciones, lo que lo convierte en un sistema muy seguro .

Para obtener más información, lea nuestro análisis profundo del uso de OAuth y OpenID Connect

Abrir ID / OpenID Connect

OpenID , a pesar del nombre que suena similar, es muy distinto de OAuth. Diseñado y promovido por la Fundación OpenID , OpenID es funcionalmente una metodología de federación mediante la cual los sitios cooperativos (llamados Partes de Confianza en la nomenclatura de la documentación) pueden acordar un servicio de terceros para la identificación.

Lo que esto significa funcionalmente es que el usuario no tiene que proporcionar una identidad y contraseña separadas para cada servicio, ya que puede acceder a los sitios y servicios con un solo token . Google, Amazon, LiveJournal e incluso Myspace han utilizado o siguen utilizando sistemas OpenID como sus principales métodos de identificación y autorización.

SCIM

SCIM , o el Sistema para la gestión de identidades entre dominios, es un estándar abierto orientado a los negocios que se utiliza para gestionar la identidad de los usuarios en los sistemas de TI . Fue lanzado en 2011 por Open Web Foundation, y luego transferido al Grupo de Trabajo de Ingeniería de Internet ( IETF ) más tarde ese año. El estándar actual es SCIM 2.0, que se lanzó como IETF RFC (Solicitud de comentarios) en 2015.

Un caso de uso de ejemplo sería la contratación y el despido de empleados. Con el sistema SCIM, los empleados pueden agregarse o eliminarse automáticamente del directorio de empleados y de todos los sistemas de terceros relacionados, como los de Office 365 o Google Apps.

SCIM no es solo para agregar y eliminar perfiles de identidad, sino que también se puede utilizar para compartir datos sobre los atributos de identidad, la pertenencia a grupos, la información de contacto y otros datos relacionados. El aspecto más importante de todo esto es que estos datos se pueden compartir en un formato y un sistema que se mantiene en múltiples dominios de TI.

Para obtener más información, lea: SCIM: Creación de la capa de identidad para Internet

U2F


U2F es un estándar de autenticación abierta universal que utiliza autenticación de dos factores en dispositivos USB o Near Field Communication (NFC). En 2012, se formó la Alianza FIDO (Fast Identity Online) con PayPal, Nok Nok Labs, Lenovo, Validity Sensors, Infineon y Agnitio como empresas fundadoras. Inmediatamente comenzaron a trabajar en un método de autenticación que no dependía de la contraseña.

Al mismo tiempo, Google, Yubico y NXP continuaron el trabajo que comenzó en 2011 con el mismo fin. En 2013, los dos grupos fusionaron sus esfuerzos en la Alianza FIDO, lanzando públicamente el protocolo abierto más tarde ese año.

U2F se utiliza como método de autenticación para Dropbox, GitHub, Chrome, Bitbucket, Opera y más. Microsoft está trabajando activamente para incorporar FIDO 2.0 en Windows 10, aunque no hay planes para incorporar el siguiente paso, U2F, en la pila.

JSON

JSON , o JavaScript Object Notation, es un formato de estándar abierto para datos legibles por humanos y un controlador principal en el espacio API. JSON fue especificado inicialmente por Douglas Crockford a principios de la década de 2000, con su definición formal en 2013 como parte de RFC 7159 , y la sintaxis permitida se establece en Ecma International (Asociación Europea de Fabricantes de Computadoras) RFC ECMA-404.

El formato está diseñado específicamente para transmitir objetos de datos en pares atributo-valor, y es el formato de datos más común utilizado en las comunicaciones asincrónicas navegador / servidor. JSON ha aumentado de manera meteórica en popularidad, reemplazando XML en todo, desde el desarrollo web hasta la especificación de configuración de complementos para juegos en línea.

Beneficios de adoptar estándares abiertos

Como puede ver claramente, los estándares abiertos constituyen una gran parte de las metodologías en línea. Por eso es tan sorprendente, entonces, que el poder de incorporar estándares abiertos a menudo se ignore en aras de "reinventar la rueda" y desarrollar soluciones propietarias para autenticación, formatos de datos y más.

Hay muchas razones por las que una empresa debería adoptar estándares abiertos; como mínimo, toda organización que esté considerando el desarrollo de una solución propietaria debe considerar los siguientes beneficios antes de seguir adelante.

Seguridad mejorada

¿Qué hace que un candado sea seguro? ¿Preferiría un candado que haya sido probado, manipulado y evolucionado a partir de esas fallas de seguridad, o preferiría un candado que sea propietario sin datos compartidos y sin pruebas permitidas? Esto es lo que hace que los estándares abiertos sean tan poderosos. Dado que, por diseño, los estándares están abiertos para pruebas e inspecciones, una comunidad de expertos detecta los problemas de forma más rápida e inmediata.

Al permitir esta prueba e iteración constantes , los estándares abiertos implican un código más seguro y, por lo tanto, tienen el efecto de otorgar un mejor control de identidad y servicios más seguros. Además, en términos de longevidad, esto también establece un ecosistema de oferta mucho más profesional, mejorando tanto la apariencia de un integrador como la calidad del producto en el que se integra el estándar abierto.

Costo

Debido a que un estándar abierto por su naturaleza es de implementación gratuita , el uso de estándares abiertos tiene un gran beneficio en términos de costos, no solo a corto plazo, sino a largo plazo. Muchos estándares cerrados y propietarios requieren tarifas de licencia constantes a lo largo del tiempo y por grupos de usuarios o cantidades de llamadas masivas.

Esto significa menos costo en el inmediato para desarrollar soluciones propietarias, menos costo en el intermedio debido a una menor sobrecarga de mantenimiento y corrección de errores, y menos costo a largo plazo ya que el estándar abierto siempre estará bajo la misma licencia gratuita .

Interoperabilidad

Los estándares abiertos están diseñados para aceptarse entre sí, o al menos jugar bien. El uso de sistemas propietarios requiere que, en algún momento, cree una capa de traducción para poder operar con otros servicios y sistemas. Saltarse este paso y diseñar desde cero para utilizar estándares comúnmente aceptados puede resultar en una sinergia masiva entre sistemas dispares .

Atemporalidad

Hay una inclinación por parte de los desarrolladores a trabajar dentro del "sabor del mes", adoptando nuevas soluciones con nombres brillantes y llamativos de la web 2.0 (¿o 3.0?). Sin embargo, el hecho es que las API y los sistemas de TI deben desarrollarse con miras a la longevidad , no solo al marketing.

Los estándares abiertos en cualquier industria conducen a la longevidad . Por ejemplo, durante una charla reciente de Henrik Segesten en la Cumbre de la Plataforma de 2016, Segesten hizo un seguimiento del aumento y la caída de los protocolos y formatos de datos de 30 años. Descubrió que los estándares de protocolo de comunicación abierta duraban más y se adoptaban más ampliamente que las soluciones patentadas.

Advertencias: 3 consejos para tener en cuenta

Sin embargo, como con todo, hay algunas advertencias. No seguir estos consejos básicos puede hacer que todos los beneficios de los estándares abiertos sean nulos.

1. Actualice cuando se le solicite

Necesita actualizar cuando se le solicite. Esto es de vital importancia. estándares abiertos significa auditables , y con esta auditoría viene una exposición de vulnerabilidades . Si bien esto conduce a una mayor seguridad a largo plazo, también significa que la necesidad de mantenerse actualizado y moderno es incluso más importante que en los sistemas propietarios.

Si no actualiza sus sistemas cuando se expone una dependencia o un problema, se queda igual de expuesto. No actualizar significa que no solo está usando soluciones vulnerables, sino que está usando soluciones vulnerables que los piratas informáticos  saben que son vulnerables; esa es una buena manera de pintar un objetivo gigante en su espalda.

2. Lea las RFC, sea educado

Los organismos que establecen los estándares son burocráticos por naturaleza y, como parte de esto, los organismos que establecen los estándares a menudo emiten RFC o Solicitudes de comentarios. Léalos y léalos con frecuencia. Comprender y participar en la conversación sobre la evolución de un estándar no solo ayuda a convertir al desarrollador en un participante dispuesto y beneficioso , sino que también ayuda a guiar el desarrollo del estándar en una dirección aún mejor.

3. Siga las licencias

Parece haber una idea errónea, especialmente en el espacio empresarial, de que "estándar abierto" significa "código abierto" y que "código abierto" significa "gratis para todos".

Esto no es verdad. Los estándares abiertos pueden tener sus propios conjuntos de licencias de uso, y deben seguirse. Esto no es solo una cuestión de sentirse bien o de un proceso: no seguir las licencias incluidas en las soluciones de estándares abiertos puede matar a la industria al pintar las soluciones bastardas como implementaciones vanilla, desacreditando la escena de los estándares.

Eso sin mencionar el hecho de que, a menudo, esto es una cuestión de ley en algunas licencias y puede resultar, en el mejor de los casos, en un juicio por violación de derechos de autor y, en el peor, en una demanda masiva cuando su variación patentada sin licencia en un estándar expone a millones de usuarios a una falla que se corrigió en la implementación de vainilla real.

Conclusión

En pocas palabras, usar y participar activamente en estándares abiertos tiene sentido.

Desde el punto de vista económico, la adopción de un estándar abierto puede resultar en una reducción de los costos en el plazo inmediato, intermedio y largo. Cuando se trata de seguridad, los estándares abiertos pueden resultar en un ecosistema más seguro y menos vulnerable.

La adopción de estándares abiertos significa una mayor longevidad. Considere algunas de las “redes” anteriores a Internet más populares, especialmente aquellas con ecosistemas cerrados y módems de acceso telefónico. La mayoría de los lectores se verían presionados a dar un nombre o ejemplo de uno de estos servicios de Internet patentados. La World Wide Web, el mejor ejemplo de un estándar abierto que el mundo haya visto jamás, es testimonio suficiente del poder de permanencia de un estándar abierto.

Publicar un comentario

0 Comentarios