Panoramica della logica del server

La logica del server Power Pages consente agli autori di eseguire JavaScript in modo sicuro nel server, aggiungendo estendibilità direttamente al runtime del sito.
 
Poiché la logica del server viene eseguita nel server, è nascosta dal browser e protetta da ruoli Web e autorizzazioni di tabella. È possibile aggiungere la logica nello studio di progettazione di Power Pages e crearla usando Visual Studio Code, che fornisce IntelliSense e la convalida in fase di compilazione.

Dataverse archivia codice e configurazione, quindi la logica server trae vantaggio dalle stesse pipeline di gestione del ciclo di vita e distribuzione di altri componenti di Power Pages.

Flusso della logica del server

Supporto linguistico

La logica del server consente agli sviluppatori di scrivere codice JavaScript nativo conforme allo standard ECMAScript 2023 senza supporto per le API del browser (ad esempio LE fetch API DOM o XMLHttpRequest). Alcuni modelli non sicuri o con restrizioni vengono bloccati anche per garantire l'esecuzione sicura. Per altre informazioni, vedere Limitazioni nella logica del server di creazione.

Operazioni che è possibile eseguire con la logica del server

La logica del server in Power Pages consente ai creatori e agli sviluppatori di spostare le operazioni critiche dal browser al server per migliorare il controllo, la scalabilità e la sicurezza. Consente al sito di eseguire attività e integrazioni complesse senza esporre la logica sensibile o i dati sul lato client.

Usando la logica del server, è possibile:

  • Connettersi a servizi e API esterni: eseguire l'integrazione sicura con API REST, Funzioni di Azure o altri sistemi aziendali per scambiare dati, attivare azioni o recuperare informazioni dinamiche.
  • Eseguire operazioni sicure sui dati: eseguire operazioni di Dataverse, ad esempio l'esecuzione di query, l'aggiornamento o l'eliminazione di record, nel server, l'applicazione della logica di business e la convalida in modo coerente.
  • Eseguire la logica e le trasformazioni personalizzate: elaborare o modificare i dati prima di restituirli al client. Ad esempio, calcolare i totali, convalidare le regole business o arricchire i dati usando ricerche esterne.
  • Restituisce risposte elaborate alle pagine: inviare solo i dati richiesti e filtrati alle pagine client, garantendo un rendering più rapido e una riduzione dei payload.
  • Semplificare l'autenticazione sicura: gestire le credenziali del servizio e le chiavi API nel server anziché nel codice client, mantenendo procedure di integrazione sicure e conformi.

Vantaggi dell'uso della logica del server

La logica del server offre estendibilità di livello aziendale per Power Pages, consentendo alle organizzazioni di creare esperienze Web più sicure, scalabili e gestibili.

I vantaggi principali includono:

  • Sicurezza avanzata: eseguire e archiviare la logica di business, i segreti e le chiavi API nel server, non esponerli mai nel browser o agli utenti finali.
  • Flessibilità di integrazione: connettere Power Pages senza problemi con sistemi esterni, tra cui Funzioni di Azure, API REST, azioni di Dataverse e servizi aziendali.
  • Miglioramento delle prestazioni e dell'efficienza: offload di calcoli, convalide ed elaborazione dei dati nel server, riducendo il carico di lavoro sul lato client e migliorando la velocità di risposta delle pagine.
  • Coerenza tra canali: applicare la stessa logica tra pagine Web, moduli e integrazioni, garantendo la convalida e il comportamento uniformi dei dati in tutta l'applicazione.
  • Manutenzione centralizzata: aggiornare o perfezionare la logica in un'unica posizione senza ridistribuire o modificare più script o pagine client.

Proteggere la logica del server

Per eseguire il codice nella logica del server, gli utenti devono disporre delle autorizzazioni appropriate configurate dal creatore. L'accesso è regolato da ruoli Web e autorizzazioni di tabella, che determinano anche se la logica del server può accedere a tabelle specifiche.

Autenticazione dell'API della logica del server

Non è necessario includere codice di autenticazione personalizzato. L'autenticazione e l'autorizzazione vengono gestite dalla sessione dell'applicazione. Tutte le chiamate API per la logica del server devono includere un token CSRF (Cross-Site Request Forgery).

Impostazione di governance per le chiamate al servizio esterno

La logica del server può connettersi a API REST esterne, Funzioni di Azure e altri sistemi aziendali per eseguire integrazioni lato server. Per evitare l'esfiltrazione dei dati, gli amministratori tenant possono bloccare le chiamate HTTP in uscita eseguite dalla logica del server in base al sito. Quando viene applicato questo controllo di governance, qualsiasi chiamata HTTP in uscita tentata dalla logica del server ha esito negativo. Per altre informazioni, vedere Disabilitare le chiamate al servizio esterno dalla logica del server.

Impostazioni sito

Usare le impostazioni facoltative del sito seguenti per configurare la logica del server:

Nome Descrizione Default
ServerLogic/Enabled Abilitare/disabilitare la funzionalità true
ServerLogic/AllowedDomains Limitare i domini esterni che è possibile chiamare Tutti i domini consentiti
ServerLogic/TimeoutInSeconds Tempo massimo di esecuzione (in secondi). Il timeout può essere aumentato fino a 240 secondi 120
ServerLogic/AllowNetworkingToAllDomains Consenti rete tra domini Vero

URL dell'API della logica server

Costruire l'URL dell'API usando questo formato:

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

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

 

Metodi HTTP supportati

La logica del server supporta metodi HTTP standard per eseguire operazioni sui dati o interagire con i servizi esterni. Ogni metodo esegue il mapping a una funzione definita nel codice della logica del server.

Metodo Firma della funzione Uso Descrizione
GET function get() { } Recuperare i dati.  Usato per recuperare dati da Dataverse, API esterne o logica di business personalizzata. Ideale per operazioni di sola lettura in cui non vengono apportate modifiche ai dati.
POST function post() { } Creare record o inviare nuovi dati.  Comunemente usato per inserire nuovi record in Dataverse o inviare dati a sistemi esterni. Adatto per gli invii di moduli o flussi di lavoro che devono creare o attivare azioni.
PUT function put() { } Sostituire o aggiornare i record.  Aggiorna o sostituisce un intero record o un set di dati. In genere usato per gli scenari di sincronizzazione o aggiornamenti completi.
PATCH function patch() { } Aggiorna parte di un record (upsert).  Esegue un aggiornamento parziale dei dati esistenti senza sostituire l'intero record. Utilizzare questo metodo quando sono necessari solo campi specifici per la modifica.
CANCELLARE function del() { } Eliminare record o campi.  Rimuove record o dati da Dataverse o da un sistema esterno. Deve essere usato con cautela per evitare perdite di dati impreviste.

Passo successivo

Crea la logica del server

Oggetti server
Come interagire con le tabelle di Dataverse usando la logica del server