Programación del servidor en Azure confidential ledger

Azure confidential ledger proporciona funcionalidades de programación del servidor para ejecutar lógica personalizada dentro del libro de contabilidad. Con estas funcionalidades, puede ampliar la funcionalidad del libro de contabilidad escribiendo código personalizado que se ejecuta en un entorno confidencial e interactúa con los datos del libro de contabilidad.

Puede crear funciones definidas por el usuario (UDF) y puntos de conexión definidos por el usuario (UDE) para realizar diversas operaciones con distintos niveles de personalización. Las UDF y las UDE se denominaron anteriormente funciones sencillas definidas por el usuario y funciones avanzadas definidas por el usuario, respectivamente. Después de definir UDF y UDE, puede invocarlas desde los clientes de Azure Confidential Ledger para que se ejecuten directamente dentro del motor de libro de contabilidad.

UDFs y UDEs

Azure Confidential Ledger ofrece dos características de programación del lado servidor:

  • Funciones definidas por el usuario (UDF): las UDF son funciones personalizadas sencillas que se definen y ejecutan dentro del libro de contabilidad. Permiten realizar operaciones sencillas mediante la API de JavaScript y se pueden integrar con la API de escritura del libro de contabilidad existente. Para obtener más información, consulte Funciones definidas por el usuario en Azure Confidential Ledger.

  • Puntos de conexión definidos por el usuario (UDE): los UDE son puntos de conexión personalizados que se definen y exponen en una aplicación de libro de contabilidad. Utilice estos puntos de conexión para exponer API más sofisticadas con parámetros personalizables, formatos de datos y mecanismos de autenticación. Para obtener más información, consulte Puntos de conexión definidos por el usuario en Azure Confidential Ledger.

Esta es una comparación de las características y funcionalidades principales de las UDF y las UDE:

Capacidad UDFs UDEs
Ejecución de lógica de negocios personalizada Sí Sí
Personalización de argumentos o parámetros en tiempo de ejecución Sí Sí
Exponer nuevas API o puntos de conexión No Sí
Ejecución de funciones individuales Sí No
Ejecución de enlaces antes o después de una operación de escritura de entrada de libro de contabilidad Sí No
Creación y actualización de código personalizado Sí (actualización y eliminación pormenorizadas de cada función) Sí (actualización de agrupación de aplicaciones única para todos los puntos de conexión)
Opciones personalizadas del entorno de ejecución de JavaScript Sí (por cada ejecución) Sí (global)
Ejecución en nodos de copia de seguridad No Sí
Compatibilidad con varios formatos de datos para la entrada y salida No Sí
Autenticación y autorización personalizadas No Sí
Escenarios de destino Ejecución de lógica personalizada sencilla e integración con la API de libro de contabilidad Casos de uso avanzados que requieren API personalizadas y control sobre parámetros avanzados de JavaScript

Cambio entre UDF y UDE

Las UDF y las UDE son características mutuamente excluyentes. No se pueden crear ni ejecutar UDF si se definen UDE y viceversa. Siga estos pasos para cambiar entre las dos funciones.

Importante

Cambiar entre UDF y UDE es una operación destructiva. Todas las UDF o UDE existentes se eliminan al cambiar a la otra característica. Realice una copia de seguridad de los datos importantes antes de continuar.

Desde UDF a UDE

Para cambiar de UDF a UDE, elimine todas las UDF existentes:

  1. Enumere todas las UDF almacenadas en el libro de contabilidad mediante la GET /app/userDefinedFunctions API.

  2. Elimine cada UDF, una por una, mediante la DELETE /app/userDefinedFunctions/{functionId} API.

De UDEs a UDFs

Para cambiar de udE a UDF, defina udEs con módulos vacíos y definiciones de puntos de conexión.

  1. Cree una nueva agrupación de aplicaciones con la siguiente estructura:

    {
        "metadata": {
            "endpoints": {}
        }, 
       "modules": []
    }
    
  2. Implemente la agrupación de aplicaciones con el cuerpo de la solicitud definido en el paso 1 mediante la PUT /app/userDefinedEndpoints API.

Pasos siguientes

Para empezar a trabajar con la programación del lado servidor en Azure Confidential Ledger, consulte los siguientes artículos: