# Como customizar usando server-side

## Visão geral

Customizações são pedaços de códigos de programação que amplificam as capacidades do Zeev, agregando lógicas, cálculos e algoritmos específicos e especiais em aplicativos de processo.

Exemplos comuns de customizações são:

* Realizar operações matemáticas entre campos do formulário. Por exemplo, tenho um campo que armazena a quantidade e outro campo que armazena o valor unitário. Desejo que um terceiro campo, valor total, seja calculado com a multiplicação dos dois.<br>
* Realizar operações de datas entre campos do formulário. Por exemplo, tenho um campo que armazena a data de vencimento de contrato e desejo em outro campo calcular e armazenar automaticamente outra data 15 dias antes da data de vencimento;<br>
* Realizar operações em textos. Por exemplo, tenho um campo de formulário que armazena o nome completo e desejo armazenar em outro campo, automaticamente, o primeiro nome, somente;<br>
* Realizar validações especiais. Por exemplo, tenho um campo que armazena o número do pedido e desejo validar, em dado momento do processo, se o valor desse campo é válido conforme as regras de negócio da minha organização;

## O que são customizações server-side

Customizações *server-side, também conhecidas como back-end,* são aquelas executadas no lado do computador servidor, em contraponto as customizações *client-side*, que são executadas no lado do computador cliente, geralmente através de códigos *javascript* executados no navegador da pessoa que está usando  Zeev.

No Zeev, customizações *server-side* **são sempre preferíveis** à customizações *client-side*, pelos  seguintes motivos:

* São mais **estáveis** do que customizações *client-side*, pois a execução do código é garantida e executada sempre da mesma maneira, independente do ambiente operacional (sistema operacional, navegador, dispositivo) da pessoa;<br>
* São mais **seguras** do que customizações *client-side*, susceptíveis a interferências técnicas do usuário, como o uso de bloqueadores de códigos ou a interferência em códigos via consoles de desenvolvedores;<br>
* São mais **poderosas** do que customizações *client-side*, pois dependem do poder computacional de um servidor especificamente dedicado a isso, em contraponto à máquina ou dispositivo do usuário;

## Como criar customizações server-side

**No Zeev, por questões de segurança, você não tem acesso ao servidor onde está instalado o programa. Tampouco ao banco de dados, ou mesmo o diretório de arquivos.**&#x20;

*Como, então, executar códigos server-side?*&#x20;

O segredo está em desenvolver suas customizações em outro servidor, na nuvem, e integrá-lo através de APIs simplificadas ao Zeev, usando o módulo de integrações.

![](/files/7Uy0QQRZQIIspx7RInbO)

Pode parecer trabalhoso, mas não precisa ser. Uma vez que você tenha um *roadmap* e uma arquitetura pronta, poderá criar novos métodos e funções rapidamente.&#x20;

O **Azure Functions,** por exemplo,  é um serviço de nuvem da Microsoft disponível sob demanda que fornece  a infraestrutura e os recursos continuamente atualizados necessários para executar customizações.

Se você não quiser utilizar Azure Functions, você tem uma série de outras opções, tais como:

* Amazon AWS Lambd&#x61;*;*
* Google Cloud Functions;
* Desenvolver uma API simplificada em seus próprios servidores;<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kb.stoque.com.br/zeev/customizacoes/como-customizar-usando-server-side.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
