Código sob demanda - Code on demand

Na computação distribuída , o código sob demanda é qualquer tecnologia que envia código de software executável de um computador servidor para um computador cliente mediante solicitação do software do cliente. Alguns exemplos bem conhecidos do paradigma de código sob demanda na web são miniaplicativos Java , linguagem ActionScript da Adobe para o Flash player e JavaScript .

O código do programa fica inativo em um servidor web até que um usuário (cliente) solicite uma página web que contenha um link para o código usando o navegador web do cliente . Mediante essa solicitação, a página da web e o programa são transportados para a máquina do usuário usando HTTP . Quando a página é exibida, o código é iniciado no navegador e executado localmente, dentro do computador do usuário até ser interrompido (por exemplo, pela saída do usuário da página da web).

O código sob demanda é um uso específico do código móvel , dentro do campo da mobilidade do código .

Restrições

Servidor cliente

A primeira restrição é que o sistema deve ser composto de clientes e servidores.

Os servidores possuem recursos que os clientes desejam usar. Por exemplo, um servidor tem uma lista de preços de ações (ou seja, um recurso) e o cliente gostaria de exibir esses preços em alguns gráficos interessantes.

Há uma separação clara de preocupações entre os dois. O servidor cuida do back-end (armazenamento de dados, regras de negócios, etc.) e o cliente cuida do front-end (interfaces de usuário).

Sem estado

Para simplificar ainda mais as interações entre clientes e servidores, a segunda restrição é que a comunicação entre eles deve ser sem estado.

Isso significa que todas as informações sobre a sessão do cliente são mantidas no cliente, e o servidor não sabe nada sobre isso (portanto, não há cookies, variáveis ​​de sessão ou outras coisas impróprias!). A consequência é que cada solicitação deve conter todas as informações necessárias para realizar o solicitação (ou seja, não pode depender de nenhuma informação de contexto).

Cache

A última restrição na comunicação cliente-servidor é que as respostas dos servidores devem ser marcadas como armazenáveis ​​ou não armazenáveis ​​em cache.

Um cache eficaz pode reduzir o número de interações cliente-servidor, o que contribui positivamente para o desempenho do sistema. Pelo menos, do ponto de vista do usuário.

Bacalhau

Code-on-Demand (COD) é a única restrição opcional em REST. Isso permite que os clientes melhorem sua flexibilidade porque na verdade é o servidor que decide como certas coisas serão feitas. Por exemplo, com o Code-On-Demand, um cliente pode baixar um javascript, um miniaplicativo java ou mesmo um aplicativo flash para criptografar a comunicação, de forma que os servidores não estejam cientes de quaisquer rotinas / chaves de criptografia usadas neste processo.

No entanto, o uso de COD reduz a visibilidade, razão pela qual essa restrição é opcional. Além disso, nem toda API precisa desse tipo de flexibilidade.

Veja também

Referências

  1. ^ Carzaniga, Antonio; Gian Pietro Picco; Giovanni Vigna (2007). O código ainda está se movendo? Olhando para trás em uma década de mobilidade do código . ICSE COMPANION '07 Companion to the Proceedings of the 29th International Conference on Software Engineering . Washington, DC, EUA: IEEE Computer Society. pp. 9–20. CiteSeerX  10.1.1.119.5295 . doi : 10.1109 / ICSECOMPANION.2007.44 . ISBN 978-0-7695-2892-2.
  2. ^ Fuggetta, Alfonso; Gian Pietro Picco; Giovanni Vigna (1998). "Compreendendo a mobilidade do código" . IEEE Transactions on Software Engineering . 24 (5): 342–361. CiteSeerX  10.1.1.20.3442 . doi : 10.1109 / 32.685258 . ISSN  0098-5589 . Página visitada em 29 de julho de 2009 .