Nos complace anunciar el Liberación GA del Couchbase Lite 3.0 y Sync Gateway 3.0 plataformas para soluciones de informática móvil y de borde
Esta importante versión supone un gran avance en materia de computación periférica ampliando nuestro soporte de plataformas de dispositivos de borde con la introducción de la API C para Couchbase Lite. La nueva API de C facilita el uso de Couchbase Lite en una amplia gama de plataformas integradas.
Además, importantes mejoras arquitectónicas simplifican 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. Todo ello, además de una serie de actualizaciones relacionadas con la seguridad. Y todo eso es solo la punta del iceberg.
Este artículo presenta las principales características de la versión beta 3.0. Para obtener más información sobre otras correcciones de errores y mejoras menores, consulte la página Pasarela de sincronización y Couchbase Lite notas de la versión específicas de cada plataforma.
Sumérjase en las versiones beta
Así es como puedes empezar a evaluar las nuevas características de Couchbase Lite y Sync Gateway 3.0 beta:
La versión beta de Couchbase Lite 3.0
Soporte 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.
Hoy nos complace anunciar que a partir de ahora daremos soporte oficial a la API de C para Couchbase Lite. En el proceso de producción de la API de C, hemos incluido soporte para características de nivel empresarial como el cifrado de bases de datos, paridad de características con otras plataformas Couchbase Lite, limpiado la API, optimizado la implementación subyacente y mucho más.
Propuesta de valor
-
- C es la lingua franca de los lenguajes de programación. Por tanto, es fácil crear enlaces de lenguajes sobre la API de C, lo que significa que los desarrolladores pueden crear aplicaciones en dispositivos periféricos utilizando una amplia gama de lenguajes de programación como PythonJavaScript, Óxido, Vaya aetc.
- La API C es compatible con plataformas móviles y de escritorio. Los desarrolladores pueden utilizar Interfaz de funciones externas (FFI) para crear enlaces para lenguajes multiplataforma como Dart. Para aplicaciones multiplataforma con frameworks como AleteoLos desarrolladores pueden crear aplicaciones IoT en C que se ejecuten 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.
Más información: Documentación.
Cifrado de campo del lado del cliente en clientes C de Couchbase Lite
La nueva API C también admite el cifrado de campos del lado del cliente, una capacidad que se introducirá en otras plataformas Couchbase Lite en el futuro.
Con la nueva función de cifrado del lado del cliente, los clientes C de Couchbase Lite C pueden cifrar los campos de los documentos antes de replicar los datos a través de la red. Servidor Couchbase. Sólo los clientes con acceso a las claves de cifrado correctas pueden descifrar y leer los datos protegidos. El cifrado del lado del cliente es compatible con el Formato de cifrado a nivel de campo del SDK de Couchbase Server.
Propuesta de valor
-
- Permitir la transferencia segura de datos confidenciales a servidores backend, garantizando que los datos confidenciales nunca se filtren a actores que no tengan credenciales o privilegios para acceder a los datos.
- Aplicaciones Couchbase Lite para encriptar/desencriptar campos sensibles en documentos usando cualquier marco de encriptación de su elección.
Más información: Documentación.
El lenguaje de consulta SQL++ para móviles
En Couchbase Lite 2.0, introdujimos la interfaz QueryBuilder que te permitía consultar la base de datos de Couchbase Lite usando una API fluida con semántica similar a SQL. En 3.0, estamos expandiendo la API de consulta para soportar SQL-cadenas de consulta formateadas (antes conocidas como N1QL).
SQL++ para móviles es una implementación de Couchbase de un lenguaje de consulta emergente SQL-for-JSON. Los desarrolladores ahora pueden enviar consultas basadas en cadenas en un formato de sintaxis familiar similar a SQL. Esto se suma a la API QueryBuilder que sigue siendo compatible.
Propuesta de valor
-
- Aunque hay algunos diferencias entre las implementaciones de Couchbase Lite y Server SQLEn general, los desarrolladores de aplicaciones pueden reutilizar las mismas consultas en Couchbase Server y Couchbase Lite, reduciendo así el esfuerzo necesario para desarrollar, probar y optimizar sus consultas.
- Una parte importante del esfuerzo en el desarrollo de plugins puente para tecnologías multiplataforma o híbridas como Ionic y React Native es el puente de la API QueryBuilder. Una única API basada en cadenas simplifica enormemente ese esfuerzo. Consulte los ejemplos a continuación que demuestran lo fácil que es puentear las API de consulta de JavaScript a la lengua materna.
- Por supuesto, una API basada en cadenas es la única opción viable con la API C. Con la introducción del soporte de C API, esta mejora era inevitable ya que nos esforzamos por tener paridad de características en todas las plataformas de Couchbase Lite.
Más información: Documentación.
Soporte de Kotlin en Android
Reconocemos que Kotlin es cada vez más popular como el lenguaje preferido para desarrollar aplicaciones Android.
Antes de la beta 3.0, los desarrolladores de aplicaciones para Android aprovechaban el hecho de que Kotlin es totalmente interoperable con Java y por lo tanto podría utilizar el Android Java SDK 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 permite 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. Los desarrolladores de Kotlin ya pueden adoptar patrones comunes de Kotlin dentro de su aplicación móvil para Android.
Más información: Documentación.
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.
Cuando un usuario pierde acceso a un canal y consecuentemente pierde acceso a los documentos en el canal, los clientes de Couchbase Lite auto purgan todos los documentos locales en el dispositivo que pertenecen al canal revocado. Esto es así siempre y cuando el usuario no tenga acceso al documento a través de algún otro canal. Esto es importante para la aplicación de la gobernanza de datos y las políticas de retención de datos.Los usuarios pueden optar por no utilizar esta función.
Propuesta de valor
-
- 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 conservación de datos. He aquí un ejemplo de un flujo de trabajo de este tipo:
- A un vendedor, "Bob", encargado de la "Región_Este" se le concede temporalmente acceso a un canal de la "Región_Oeste". Los canales incluyen documentos sobre clientes potenciales específicos de cada región.
- Cuando se contrata a un nuevo asociado para la región oeste, se revoca a Bob el acceso al canal "región_oeste".
- Todos los documentos previamente sincronizados deben ser eliminados del dispositivo de Bob.
- 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 conservación de datos. He aquí un ejemplo de un flujo de trabajo de este tipo:
Más información: Documentación.
La versión beta de Sync Gateway 3.0
Configuración modular persistente centralizada
En esta versión introducimos mejoras arquitectónicas básicas que simplifican a los administradores la configuración y gestión de Sync Gateway.
Nos estamos alejando de el archivo de configuración JSON monolítico a un enfoque más modular y "consciente del clúster" para configurar los nodos Sync Gateway en un clúster. Los usuarios ahora sólo tienen que especificar la configuración básica de inicio que arranca un nodo Sync Gateway y lo conecta 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 "cluster-aware" de la configuración implica que los cambios realizados en un nodo Sync Gateway se propagan automáticamente a todos los nodos Sync Gateway del clúster o a un subconjunto definido por el usuario. Por defecto, todos los nodos de un clúster heredan la configuración, pero los usuarios pueden extenderla a un subconjunto de nodos. Los cambios de configuración realizados a través del punto final REST se conservan y sobreviven a los reinicios.
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 Sync Gateway, ya sean caídas o reinicios deliberados.
- La posibilidad de actualizar de forma centralizada la configuración de la base de datos en grandes clusters simplifica 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.
- 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. En un único archivo de configuración pueden definirse varias bases de datos de Sync Gateway. Esto tiene consecuencias potencialmente indeseables en aplicaciones multi-tenant donde los cambios de base de datos realizados para un inquilino requeriría un reinicio del nodo que afecta a todos los inquilinos.
Para simplificar el proceso de migración, las configuraciones JSON existentes se se migra automáticamente al actualizar. Aunque se anima a los usuarios a utilizar el nuevo enfoque basado en la configuración persistente, pueden continuar con la configuración anterior de Sync Gateway configurando la bandera disable_persistent_config. Luego, cuando los usuarios estén preparados, podrán migrar al nuevo enfoque.
Más información: Documentación.
Administración remota segura
Una mejora importante en esta versión que va de la mano con la introducción de la 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 beta 3.0, la API de administración impone la autenticación y control de acceso basado en funciones por defecto. El usuario admin API debe estar configurado en el Servidor Couchbase como un usuario RBAC con la adecuada Funciones de Sync Gateway. Por consiguiente, sólo los usuarios autorizados pueden acceder al punto final de administración de Sync Gateway.
Propuesta de valor
-
- Gracias a la autenticación, se puede acceder de forma segura a la API de administración desde clientes externos sin necesidad de mecanismos de control de acceso basados en la infraestructura de red (como 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 Sync Gateway.
- Las restricciones de acceso a nivel de usuario ofrecen más flexibilidad que los cortafuegos a nivel de red.
- Diferentes aplicaciones tienen diferentes propósitos y diferentes usuarios. Con esta mejora, solo los usuarios con un rol específico en 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 más detallados que permitirán un control más granular sobre la funcionalidad de administración. Permanece atento.
Más información: Documentación.
Cifrado TLS activado por defecto
A partir de la versión 3.0, TLS estará 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 los accesos a Couchbase Server a través de esquemas no TLS como couchbase://
o http://
no se permitirán por defecto.
Aunque recomendamos encarecidamente tener siempre activado el cifrado 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: Documentación.
Atributos extendidos definidos por el usuario (XAttrs) para metadatos de control de acceso
Antes de la versión 3.0, Sync Gateway concedía acceso a información como canales y papeles debía incrustarse en el cuerpo del documento. Es habitual especificar la lista de canales a los que pertenece un documento como una propiedad dedicada dentro del documento.
Con esta versión beta, los usuarios tienen la opción de especificar las concesiones de acceso en Atributos extendidos definidos por el usuario (XATTR) fuera del cuerpo del documento. El XAttr del documento es accesible desde dentro de la 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.
Propuesta de valor
-
- La separación de los metadatos de concesión de acceso del cuerpo del documento es lógica y ofrece varias ventajas, entre ellas:
- 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 desencadena una replicación 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 las concesiones de acceso al canal en el cuerpo del documento hace que esa información sea accesible para 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 identificadores de usuario, un usuario que replique un documento sabrá qué otros usuarios 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. Por lo tanto, no es necesario modificar los procesos y aplicaciones existentes para utilizar Sync Gateway en la sincronización de datos.
- La separación de los metadatos de concesión de acceso del cuerpo del documento es lógica y ofrece varias ventajas, entre ellas:
Por supuesto, reconocemos que hay casos en los que derivar la información sobre el canal o la concesión de acceso basándose en el contenido del cuerpo del documento es la mejor opción. Por lo tanto, esta opción sigue estando disponible.
Más información: Documentación.
Purga automática en caso de revocación del acceso al canal en la replicación entre pasarelas de sincronización
Los clústeres de Sync Gateway pueden replicar datos entre sí utilizando la tecnología de replicación inter-Sync Gateway. Durante la replicación, si un usuario pierde el acceso a un canal y, en consecuencia, pierde el acceso a los documentos del canal de replicación, el Sync Gateway del clúster 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 simplifican 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 término de la travesía, se revoca el acceso del buque al canal de travesía.
- Deben purgarse todos los documentos relacionados con el viaje que se encuentren en el buque.
- 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 conservación de datos. He aquí un ejemplo de flujo de trabajo:
Más información: Documentación.
Conclusión
Pero eso no es todo. Hay otras mejoras que se comentan en las notas de la versión. Aquí tienes enlaces directos a algunos recursos útiles. Puede obtener más información en Couchbase Lite y Sync Gateway Novedades páginas.
-
- Productos
- Notas de publicación
- Ayuda
Si tiene alguna pregunta o sugerencia, deje un comentario a continuación o póngase en contacto conmigo a través de Twitter o envíame un correo electrónico.