Introducción a la lógica del servidor

La lógica del servidor de Power Pages permite a los creadores ejecutar JavaScript de forma segura en el servidor, agregando extensibilidad directamente al entorno de ejecución del sitio.
 
Dado que la lógica del servidor se ejecuta en el servidor, está oculta del explorador y está protegida por roles web y permisos de tabla. Puede agregar lógica en el estudio de diseño de Power Pages y desarrollarla mediante Visual Studio Code, que proporciona IntelliSense y validación en tiempo de compilación.

Dataverse almacena el código y la configuración, por lo que la lógica del servidor se beneficia de las mismas canalizaciones de implementación y administración del ciclo de vida que otros componentes de Power Pages.

Flujo de lógica del servidor

Compatibilidad con idiomas

La lógica del servidor permite a los desarrolladores escribir código JavaScript nativo compatible con el estándar ECMAScript 2023 . El entorno de hospedaje no proporciona acceso a las API o bibliotecas específicas del explorador, como fetch, XMLHttpRequestu otras características relacionadas con DOM disponibles normalmente en JavaScript del lado cliente.

Qué se puede hacer con la lógica del servidor

La lógica del servidor en Power Pages permite a los creadores y desarrolladores mover operaciones críticas desde el explorador al servidor para mejorar el control, la escalabilidad y la seguridad. Permite al sitio realizar tareas e integraciones complejas sin exponer la lógica confidencial ni los datos en el lado cliente.

Mediante la lógica del servidor, puede hacer lo siguiente:

  • Conectarse a servicios y API externos: integre de forma segura con las API REST, Azure Functions u otros sistemas empresariales para intercambiar datos, desencadenar acciones o recuperar información dinámica.
  • Realizar operaciones de datos seguras: ejecute operaciones de Dataverse (como consultar, actualizar o eliminar registros) en el servidor, aplicando lógica de negocios y validación de forma coherente.
  • Ejecutar transformaciones y lógicas personalizadas: procese o manipule los datos antes de devolverlos al cliente. Por ejemplo, calcule los totales, valide las reglas de negocios o enriquezca los datos mediante búsquedas externas.
  • Devolver respuestas procesadas a páginas: envíe solo los datos necesarios y filtrados a las páginas cliente, lo que garantiza una representación más rápida y cargas reducidas.
  • Simplificación de la autenticación segura: administre las credenciales de servicio y las claves de API en el servidor en lugar de en el código de cliente, manteniendo prácticas de integración seguras y compatibles.

Ventajas del uso de la lógica del servidor

La lógica de servidor aporta extensibilidad de nivel empresarial a Power Pages, lo que ayuda a las organizaciones a crear experiencias web más seguras, escalables y fáciles de mantener.

Entre las ventajas clave se incluyen las siguientes:

  • Seguridad mejorada: ejecute y almacene la lógica de negocios, los secretos y las claves de API en el servidor; nunca los exponga en el explorador o a los usuarios finales.
  • Flexibilidad de integración: conecte Power Pages sin problemas con sistemas externos, como Azure Functions, API REST, acciones de Dataverse y servicios empresariales.
  • Rendimiento y eficiencia mejorados: descargue cálculos pesados, validaciones y procesamiento de datos en el servidor, lo que reduce la carga de trabajo del lado cliente y mejora la capacidad de respuesta de la página.
  • Coherencia entre canales: aplique la misma lógica entre páginas web, formularios e integraciones, lo que garantiza la validación y el comportamiento uniformes de los datos en toda la aplicación.
  • Mantenimiento centralizado: actualice o refina la lógica en un solo lugar sin volver a implementar ni editar varios scripts o páginas de cliente.

Protección de la lógica del servidor

Para ejecutar código en la lógica del servidor, los usuarios deben tener los permisos adecuados configurados por el creador. El acceso se rige por roles web y permisos de tabla, que también determinan si la lógica del servidor puede acceder a tablas específicas.

Autenticación de la API lógica del servidor

No es necesario incluir código de autenticación personalizado. La sesión de la aplicación administra la autenticación y la autorización. Todas las llamadas a la API de lógica de servidor web deben incluir un token de falsificación de solicitud entre sitios (CSRF).

Configuración de gobernanza para llamadas de servicio externas

La lógica del servidor puede conectarse a api REST externas, Azure Functions y otros sistemas empresariales para realizar integraciones del lado servidor. Para evitar la filtración de datos, los administradores de inquilinos pueden bloquear las llamadas HTTP salientes que realiza la lógica del servidor por sitio. Cuando se aplica este control de gobernanza, se produce un error en cualquier llamada HTTP saliente que intente la lógica del servidor. Para más información, consulte Deshabilitación de llamadas de servicio externas desde la lógica del servidor.

Valores de configuración de sitio

Use la siguiente configuración de sitio opcional para ayudar a configurar la lógica del servidor:

Nombre Descripción Default
ServerLogic/Habilitado Habilitar o deshabilitar característica true
ServerLogic/DominiosPermitidos Restricción de los dominios externos a los que se puede llamar Todos los dominios permitidos
ServerLogic/TiempoDeEsperaEnSegundos Tiempo máximo de ejecución (en segundos). Se puede aumentar el tiempo de espera hasta 240 segundos 120
ServerLogic/PermitirRedesATodosLosDominios Permitir redes entre dominios Cierto

Dirección URL de la API lógica del servidor

Construya la dirección URL de la API con este formato:

https://<site-url>/_api/serverlogics/<server-logic-name>  
Ejemplo:

https://contoso.powerappsportals.com/_api/serverlogics/exchangerate

 

Métodos HTTP admitidos

La lógica del servidor admite métodos HTTP estándar para realizar operaciones en datos o interactuar con servicios externos. Cada método se asigna a una función que defina en el código lógico del servidor.

Método Firma de función Uso Descripción
OBTENER function get() { } Recuperar datos.  Se usa para capturar datos de Dataverse, API externas o lógica de negocios personalizada. Ideal para las operaciones de solo lectura en las que no se realizan cambios en los datos.
PUBLICAR function post() { } Cree registros o envíe nuevos datos.  Se usa habitualmente para insertar nuevos registros en Dataverse o enviar datos a sistemas externos. Adecuado para envíos de formularios o flujos de trabajo que necesitan crear o desencadenar acciones.
ACTUALIZAR function put() { } Reemplace o actualice los registros.  Actualiza o reemplaza un registro o conjunto de datos completo. Normalmente se usa para escenarios de sincronización o actualizaciones completas.
PARCHE function patch() { } Actualiza parte de un registro (upsert).  Realiza una actualización parcial de los datos existentes sin reemplazar todo el registro. Use este método cuando solo los campos específicos necesiten modificaciones.
ELIMINAR function del() { } Eliminar registros o campos.  Quita registros o datos de Dataverse o de un sistema externo. Debe usarse con precaución para evitar la pérdida de datos no deseada.

Paso siguiente

Lógica del servidor de autor

Objetos de servidor
Interacción con tablas de Dataverse mediante la lógica del servidor