Couchbase Móvil

Soporte de nuevas plataformas y administración avanzada con Couchbase Mobile 3

Nos complace anunciar el lanzamiento de Couchbase Mobile 3, que incluye muchas mejoras en la interfaz de usuario. Couchbase Lite y Pasarela de sincronización para soluciones móviles y de computación periférica. En esta versión principal, seguimos avanzando a pasos agigantados en el área de computación periférica ampliando la compatibilidad de nuestra plataforma de dispositivos periféricos con la introducción del API en C para Couchbase Lite. La nueva API en C facilitará el uso de Couchbase Lite en una amplia gama de plataformas integradas.

Además, estamos introduciendo importantes mejoras arquitectónicas que simplificarán la configuración y administración de la plataforma. Hemos modularizado la configuración de Sync Gateway, la hemos hecho "compatible con clústeres" y ahora ofrecemos un punto final RESTful API seguro para simplificar la administración en tiempo de ejecución. Esto se suma a una serie de actualizaciones relacionadas con la seguridad. Esto es solo la punta del iceberg.

Hemos introducido un montón de características importantes que se discuten en este post. Para conocer las correcciones de errores y las pequeñas mejoras, consulta nuestro Pasarela de sincronización y Couchbase Lite plataformac notas de la versión.

Póngase en marcha

Así es como puedes empezar a evaluar las nuevas características de Couchbase Lite y Sync Gateway 3.0:

Couchbase Lite

Soporte de la plataforma API C

Hace unos años, lanzamos una API en C para Couchbase Lite como un proyecto de laboratorio de ingeniería. Estábamos abrumados por el nivel de interés e impresionados por la variedad de casos de uso. Nos complace anunciar que ahora daremos soporte oficial a la API de C para Couchbase Lite. En el proceso de producción de la API de C, hemos añadido soporte para características de nivel empresarial como el cifrado de bases de datos, hemos asegurado la paridad de características con otras plataformas Couchbase Lite, hemos limpiado la API, hemos optimizado la implementación subyacente y mucho más.

Los promotores se benefician de varias maneras:

  • Los desarrolladores pueden crear aplicaciones IoT en C que pueden ejecutarse en plataformas integradas con una huella de memoria y recursos informáticos relativamente pequeña en comparación con un ordenador de sobremesa estándar o un dispositivo móvil inteligente.
  • C es la lingua franca de los lenguajes de programación. Por tanto, es fácil crear enlaces lingüísticos sobre la API de C utilizando Interfaz de función exterior (FFI)lo que significa que ahora los desarrolladores pueden crear aplicaciones integradas con Couchbase Lite utilizando una amplia gama de lenguajes de programación como Dart, Python, JS, Rust, Go, etc.
  • La API de C es realmente multiplataforma, compatible con una amplia gama de sistemas operativos para móviles, equipos de sobremesa y hardware embebido personalizado. Ahora puede crear aplicaciones multiplataforma que se ejecuten en una gran variedad de hardware.

Más información en Documentación de la API C de Couchbase Lite.

Cifrado a nivel de campo en el lado del cliente

La nueva API C también admite el cifrado a nivel de campo en el lado del cliente. Usando la nueva capacidad de encriptación del lado del cliente, los clientes Couchbase Lite C pueden encriptar campos en documentos antes de replicar los datos a través del cable al Servidor Couchbase. Sólo los clientes con acceso a las claves de cifrado correctas pueden descifrar y leer los datos protegidos. La encriptación del lado del cliente es compatible con la tecnología Formato de cifrado a nivel de campo del SDK del servidor Couchbase.

Estas nuevas ventajas de cifrado incluyen:

  • El auténtico cifrado de extremo a extremo garantiza que los datos confidenciales nunca se filtren a personas que no tengan credenciales o privilegios para acceder a ellos.  
  • Las aplicaciones pueden cifrar/descifrar los campos sensibles de los documentos utilizando cualquier marco de cifrado.

Más información en Documentación sobre cifrado de campos de Couchbase Lite.

Lenguaje de consulta SQL++/ N1QL para móviles

Couchbase Lite admite un Constructor de consultas que permite a las aplicaciones consultar la base de datos de Couchbase Lite usando una API fluida con semántica SQL. En 3.0, estamos expandiendo la API de consulta para soportar N1QL cadenas de consulta formateadas, en particular para el uso de la API de C. N1QL para móviles es una implementación de Couchbase de una especificación emergente de lenguaje de consulta SQL-for-JSON llamada SQL++. Los desarrolladores pueden ahora enviar consultas basadas en cadenas en un formato familiar de sintaxis SQL. Esto se suma a la API QueryBuilder que sigue siendo compatible.

Propuesta de valor:

  • Los desarrolladores de aplicaciones pueden reutilizar las mismas consultas SQL++/N1QL en Couchbase Server y Couchbase Lite, reduciendo así el esfuerzo necesario para desarrollar, probar y optimizar las consultas. Lea sobre algunas de las Diferencias entre Couchbase Lite y Server N1QL.
  • Esta única API basada en cadenas simplifica enormemente el desarrollo de plugins puente a través de la API QueryBuilder para tecnologías multiplataforma o híbridas como Ionic y React Native.

Más información Implementación de la cadena de consulta de Couchbase Lite en la documentación.

Soporte de Kotlin en Android

Reconocemos que Kotlin es creciente popularidad como el lenguaje preferido para desarrollar aplicaciones Android. Antes de la versión 3.0, los desarrolladores de aplicaciones para Android aprovechaban el hecho de que Kotlin es completamente interoperable con Java y, por tanto, podrían utilizar el SDK de Java para Android para Couchbase Lite dentro de aplicaciones Kotlin. La nueva versión de Couchbase Lite para Android ofrece una API idiomática para Kotlin totalmente compatible y lista para usar que permitirá una integración perfecta con aplicaciones Android desarrolladas en Kotlin sin necesidad de extensiones personalizadas.

Propuesta de valor:

  • Los desarrolladores nos lo han pedido y les hemos escuchado. Ahora los desarrolladores de Kotlin pueden adoptar Patrones Kotlin dentro de su aplicación móvil para Android.

Más información en Documentación de Couchbase Mobile Kotlin.

Purga automática de datos del dispositivo al revocarse el acceso al canal

Canales son el mecanismo fundamental para aplicar el control de acceso mediante Sync Gateway. Garantizan que sólo los usuarios con acceso a un canal específico puedan acceder a los documentos de ese canal. Con la nueva característica de revocación de acceso a canales de la versión 3.0, cuando un usuario pierde el acceso a un canal y, en consecuencia, pierde el acceso a los documentos del canal, los clientes de Couchbase Lite purgarán automáticamente todos los documentos locales del dispositivo que pertenezcan al canal revocado. Esto será así mientras el usuario no tenga acceso al documento a través de algún otro canal. Esto es importante para el cumplimiento de las políticas de gobierno y retención de datos.

La purga automática facilita la gestión de las políticas:

  • Las mejoras de la tecnología de sincronización simplifican la implantación de flujos de trabajo complejos relacionados con la aplicación de políticas de gobernanza y retención de datos.
  • He aquí un ejemplo de este tipo de flujo de trabajo:
    •  Un vendedor, "Bob", a cargo de "Región_Este" tiene acceso temporal a un "Región_Oeste". Los canales incluyen documentos principales específicos de cada región.
    •  Cuando se contrata a un nuevo asociado para la región oeste, a Bob se le revoca el acceso al "región_oeste". 
    • Todos los documentos previamente sincronizados deben ser eliminados del dispositivo de Bob.

Más información sobre la purga automática en Documentación sobre replicación de Couchbase Lite.

Pasarela de sincronización

Configuración modular persistente centralizada

En esta versión, introducimos mejoras arquitectónicas básicas que facilitarán a los administradores la configuración y gestión de una puerta de enlace de sincronización. Nos alejamos de la arquitectura monolítica de Fichero de configuración JSON a un enfoque más modular y consciente del clúster para configurar nodos Sync Gateway en un clúster. Los usuarios ahora solo tendrán que especificar la configuración básica de inicio que arrancará un nodo Sync Gateway y lo conectará a un clúster de Couchbase Server.

Posteriormente, los usuarios pueden configurar las bases de datos de Sync Gateway de todo el clúster, las políticas de control de acceso, las réplicas entre Sync Gateway, etc., a través de la aplicación admin REST endpoint. Las actualizaciones de la configuración pueden realizarse de forma modular a través del mismo punto final REST. La naturaleza clúster-aware de la configuración implica que los cambios realizados en un nodo Sync Gateway se propagan automáticamente a todos o a un subconjunto definido por el usuario de nodos Sync Gateway en el clúster. 

Propuesta de valor:

  • Los cambios de configuración de la base de datos ad hoc realizados a través de la API REST se mantienen en los buckets de servidor correspondientes y no se pierden durante los reinicios de la pasarela de sincronización, ya sea por fallos o reinicios deliberados.
  • Las actualizaciones centralizadas de la configuración de la base de datos para clústeres grandes simplifican la gestión y la administración. Los cambios realizados en la base de datos de un nodo se aplican automáticamente a todos los nodos de un clúster o pueden aplicarse a un subconjunto de nodos. 
  • En La capacidad de administrar de forma segura el clúster de Sync Gateway mediante el punto final REST admin permite el control programático y simplifica la administración remota en implementaciones en la nube sin depender de opciones como el túnel SSH.
  • Mantener un archivo monolítico es difícil, especialmente si la configuración es compleja. Se pueden definir múltiples bases de datos de puerta de enlace de sincronización en un único archivo de configuración. Esto tiene consecuencias potencialmente indeseables en aplicaciones multi-tenant donde los cambios en la base de datos realizados para un tenant requerirían un reinicio del nodo que afectaría a todos los tenants. 

Para simplificar el proceso de migración, las configuraciones JSON existentes se automáticamente migrado en la actualización. Aunque se recomienda a los usuarios que utilicen el nuevo enfoque basado en la configuración persistente, pueden seguir utilizando el método anterior de configuración de Sync Gateway estableciendo el parámetro bandera disable_persistent_config. Luego, cuando los usuarios estén preparados, podrán migrar al nuevo enfoque. 

Más información en Documentación de configuración de Sync Gateway 3.0.

Administración remota segura

Una mejora importante en esta versión, que va de la mano con la introducción de la función administración centralizada de la configuración persistente, es la administración segura de un clúster a través de la API REST de administración de Sync Gateway. Como novedad en la versión 3.0, la API admin aplica autenticación y control de acceso basado en funciones por defecto. El usuario admin debe estar configurado en el Servidor Couchbase como un Usuario RBAC con la adecuada pasarela de sincronización funciones. En consecuencia, sólo los usuarios autorizados pueden acceder al punto final de administración de Sync Gateway.

Las ventajas de la administración remota segura incluyen:

  • Sync Gateways puede administrarse de forma segura sin necesidad de mecanismos de control de acceso basados en la infraestructura de red (túneles SSH o reglas de cortafuegos). La administración remota es especialmente importante en las implantaciones distribuidas en la nube. Las aplicaciones de servidor backend, como los servidores de identidad, necesitan acceso programático a la API REST de administración para configurar los usuarios de la puerta de enlace de sincronización. 
  • Diferentes aplicaciones tienen diferentes propósitos y diferentes usuarios. A partir de Sync Gateway 3.0, solo los usuarios con una función específica de Sync Gateway podrán administrar Sync Gateway a través del punto final REST admin.
  • Futuras versiones de Couchbase Server incluirán soporte para roles de Sync Gateway de grano más fino que permitirán un control más granular sobre la funcionalidad de administración. Permanece atento.

Más información en Documentación de acceso a la API REST de Sync Gateway 3.0.

Cifrado TLS activado por defecto

A partir de la versión 3.0, TLS está habilitado por defecto en Sync Gateway para la comunicación con Couchbase Server, asegurando que toda la comunicación del lado del servidor esté encriptada por defecto. Esto implica que el acceso a Couchbase Server a través de esquemas no TLS como "couchbase://" o "http://" no será permitido por defecto. Aunque recomendamos encarecidamente tener siempre activado TLS, reconocemos que los usuarios pueden querer desactivarlo para entornos de desarrollo y pruebas. Por ello, los usuarios tienen la opción de desactivar esta función.

Propuesta de valor:

  • Con este nuevo comportamiento por defecto, estamos aplicando y fomentando las mejores prácticas de seguridad.

Más información Aplicación de TLS en la documentación de seguridad de Sync Gateway.

Atributos ampliados definidos por el usuario (XAttrs) para metadatos de control de acceso

En la actualidad, el acceso a la información canales y papeles suelen incrustarse en el cuerpo del documento como una propiedad específica. Con esta versión, los usuarios tienen la posibilidad de adicional para especificar concesiones de acceso definidas por el usuario Atributos ampliados (XATTR) fuera del cuerpo del documento. Se puede acceder a la XAttr del documento desde el archivo función de sincronización y puede utilizarse para tomar decisiones dinámicas de enrutamiento de datos y concesión de acceso como de costumbre.

La separación de los metadatos de concesión de acceso del cuerpo del documento ofrece varias ventajas:

  • La incrustación de metadatos de concesión de acceso en el cuerpo del documento implica que los cambios en las concesiones de acceso asociadas a un documento darán lugar a la correspondiente actualización del cuerpo del documento. A su vez, la actualización del documento provocará una réplica del documento a los clientes. Los cambios en las concesiones de acceso son irrelevantes para los clientes, lo que provoca "ruido". Y lo que es más importante, si la lista de canales es grande, las réplicas de documentos podrían dar lugar a un uso significativo del ancho de banda.
  • La incrustación de concesiones de acceso a canales dentro del cuerpo del documento hará que esa información sea accesible a todos los usuarios que estén sincronizando ese documento. Esto puede plantear ciertos problemas de privacidad. Por ejemplo, si los nombres de los canales corresponden a ID de usuario, entonces un usuario que replique un documento tendría conocimiento de otros usuarios que tienen acceso al documento.
  • No es necesario modificar el modelo de datos de los documentos existentes para adaptar los datos de concesión de acceso con una propiedad dedicada. Los procesos y aplicaciones existentes no tienen que modificarse para utilizar Sync Gateway para la sincronización de datos.

Hay casos en los que derivar la información del canal o de la concesión de acceso basándose en el contenido del cuerpo del documento es la mejor opción, esa opción seguirá siendo apoyada.

Más información Control de acceso XAttr en la documentación.

Purga automática de datos de clúster en caso de revocación del acceso al canal 

Los clústeres de Sync Gateway pueden replicar datos entre sí utilizando Replicación inter-Sync Gateway tecnología. Durante la replicación, si un usuario pierde el acceso a un canal y, en consecuencia, pierde el acceso a los documentos en el canal de replicación, el Sync Gateway en el canal activo grupo en el que se inicia la replicación puede configurarse para autopurgar los documentos del canal revocado. 

Se trata de una función opcional.

Propuesta de valor:

  • Las mejoras de la tecnología de sincronización simplificarán la implantación de flujos de trabajo complejos relacionados con la aplicación de políticas de gobernanza y conservación de datos.

He aquí un ejemplo de flujo de trabajo:

    •  Un crucero está sincronizando datos específicos del viaje desde los sistemas backend en la nube. Los canales incluyen documentos específicos del viaje.
    • Al finalizar la travesía, se revoca el acceso del buque al canal de travesía
    • Todos los documentos relacionados con el viaje en el barco deben ser purgados. 

Más información en documentación sobre la purga de la replicación.

Recursos

Pero eso no es todo. Hay otras mejoras que se comentan en las notas de la versión específicas de cada producto. Aquí tiene enlaces directos a algunos recursos útiles. Puede obtener más información en Couchbase Lite y Pasarela de sincronización Novedades páginas enlazadas a continuación.

Si tiene alguna pregunta o comentario, el Foros para desarrolladores de Couchbase es una forma estupenda de colaborar con nosotros. Deja un comentario a continuación o ponte en contacto conmigo a través de Twitter o envíame un correo electrónico

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Priya Rajagopal, Directora de Gestión de Productos

Priya Rajagopal es directora sénior de gestión de productos en Couchbase y responsable de las plataformas de desarrollo para la nube y el perímetro. Lleva más de 20 años dedicándose profesionalmente al desarrollo de software en varios puestos de liderazgo técnico y de producto, con más de 10 años centrados en tecnologías móviles. Como delegada de estándares IPTV de TISPAN, fue una colaboradora clave en las especificaciones de estándares IPTV. Tiene 22 patentes en las áreas de redes y seguridad de plataformas.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.