Visão geral da lógica do servidor

A lógica do servidor do Power Pages permite que os criadores executem o JavaScript com segurança no servidor, adicionando extensibilidade diretamente ao runtime do site.
 
Como a lógica do servidor é executada no servidor, ela fica oculta do navegador e protegida por funções Web e permissões de tabela. Adicione lógica no estúdio de design do Power Pages e crie-a usando o Visual Studio Code, que fornece o IntelliSense e a validação em tempo de compilação.

O Dataverse armazena código e configuração, então a lógica do servidor se beneficia do mesmo gerenciamento do ciclo de vida e pipelines de implantação que outros componentes do Power Pages.

Fluxo lógico do servidor

Suporte ao idioma

A lógica do servidor permite que os desenvolvedores escrevam código JavaScript nativo em conformidade com o padrão ECMAScript 2023 sem suporte para APIs do navegador (como APIs fetch do DOM ou XMLHttpRequest). Determinados padrões não seguros ou restritos também são bloqueados para garantir a execução segura. Para obter mais informações, consulte Limitações na lógica do servidor de criação.

O que você pode fazer com a lógica do servidor

A lógica do servidor no Power Pages permite que os criadores e desenvolvedores movam operações críticas do navegador para o servidor para melhorar o controle, a escalabilidade e a segurança. Ele permite que seu site execute tarefas e integrações complexas sem expor a lógica ou os dados confidenciais no lado do cliente.

Usando a lógica do servidor, você pode:

  • Conecte-se a serviços externos e APIs: integre-se com segurança às APIs REST, ao Azure Functions ou a outros sistemas de negócios para trocar dados, disparar ações ou recuperar informações dinâmicas.
  • Executar operações de dados seguras: executar operações do Dataverse, como consultar, atualizar ou excluir registros, no servidor, aplicar lógica de negócios e validação consistentemente.
  • Execute transformações e lógicas personalizadas: processe ou manipule dados antes de devolvê-los ao cliente. Por exemplo, calcule totais, valide regras de negócios ou enriqueça dados usando pesquisas externas.
  • Retornar respostas processadas às páginas: envie apenas os dados necessários e filtrados para as páginas do cliente, garantindo uma renderização mais rápida e cargas reduzidas.
  • Simplifique a autenticação segura: gerencie credenciais de serviço e chaves de API no servidor, em vez de no código do cliente, mantendo práticas de integração seguras e compatíveis.

Benefícios de usar a lógica do servidor

A lógica do servidor traz extensibilidade de nível empresarial para o Power Pages, ajudando as organizações a criar experiências da Web mais seguras, escalonáveis e mantenedíveis.

Os principais benefícios incluem:

  • Segurança aprimorada: execute e armazene lógica de negócios, segredos e chaves de API no servidor— nunca os exponha no navegador ou aos usuários finais.
  • Flexibilidade de integração: Conecte o Power Pages de maneira fácil a sistemas externos, incluindo Azure Functions, APIs REST, ações do Dataverse e serviços de negócios.
  • Desempenho e eficiência aprimorados: descarregamento de cálculos pesados, validações e processamento de dados para o servidor, reduzindo a carga de trabalho do lado do cliente e melhorando a capacidade de resposta da página.
  • Consistência entre canais: aplique a mesma lógica em páginas da Web, formulários e integrações, garantindo a validação e o comportamento de dados uniformes em todo o aplicativo.
  • Manutenção centralizada: atualizar ou refinar a lógica em um só lugar sem reimplantar ou editar vários scripts ou páginas do cliente.

Proteger a lógica do servidor

Para executar o código na lógica do servidor, os usuários devem ter as permissões apropriadas configuradas pelo criador. O acesso é regido por funções Web e permissões de tabela, que também determinam se a lógica do servidor pode acessar tabelas específicas.

Autenticar a API lógica do servidor

Você não precisa incluir código de autenticação personalizado. A autenticação e a autorização são gerenciadas pela sessão do aplicativo. Todas as chamadas à API de lógica do servidor devem incluir um token de solicitação intersite forjada (CSRF).

Configuração de governança para chamadas de serviço externo

A lógica do servidor pode se conectar a APIs REST externas, Azure Functions e outros sistemas de negócios para executar integrações do lado do servidor. Para evitar a exfiltração de dados, os administradores de locatários podem bloquear chamadas HTTP de saída que a lógica do servidor faz site a site. Quando esse controle de governança é imposto, qualquer tentativa da lógica do servidor de fazer uma chamada HTTP de saída falha. Para saber mais, consulte a desativação de chamadas de serviço externas na lógica do servidor.

Configurações do site

Use as seguintes configurações de site opcionais para ajudar a configurar a lógica do servidor:

Name Description Default
ServerLogic/Ativado Habilitar/Desabilitar recurso verdadeiro
ServerLogic/AllowedDomains Restringir quais domínios externos podem ser chamados Todos os domínios permitidos
ServerLogic/TimeoutInSeconds Tempo máximo de execução (em segundos). O tempo limite pode ser aumentado para 240 segundos 120
ServerLogic/PermitirConexãoComTodosOsDomínios Permitir rede entre domínios Verdade

URL da API lógica do servidor

Construa a URL da API usando este formato:

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

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

 

Métodos HTTP com suporte

A lógica do servidor dá suporte a métodos HTTP padrão para executar operações em dados ou interagir com serviços externos. Cada método é mapeado para uma função que você define no código lógico do servidor.

Método Assinatura de função Uso Description
GET function get() { } Recuperar dados.  Usado para buscar dados do Dataverse, APIs externas ou lógica de negócios personalizada. Ideal para operações somente leitura em que nenhuma alteração de dados é feita.
POST function post() { } Crie registros ou envie novos dados.  Normalmente usado para inserir novos registros no Dataverse ou enviar dados para sistemas externos. Adequado para envios de formulário ou fluxos de trabalho que precisam criar ou disparar ações.
PÔR function put() { } Substitua ou atualize registros.  Atualiza ou substitui um conjunto de dados ou registro inteiro. Normalmente usado para atualizações completas ou cenários de sincronização.
PATCH function patch() { } Atualiza parte de um registro (upsert).  Executa uma atualização parcial dos dados existentes sem substituir todo o registro. Use esse método quando apenas campos específicos precisarem de modificação.
EXCLUIR function del() { } Excluir registros ou campos.  Remove registros ou dados do Dataverse ou de um sistema externo. Deve ser usado com cuidado para evitar perda de dados não intencional.

Próxima etapa

Lógica do servidor Author

Objetos do servidor
Como interagir com tabelas do Dataverse usando a lógica do servidor