4D v16

Arquitetura de 4D Server

Página Inicial

 
4D v16
Arquitetura de 4D Server

Arquitetura de 4D Server  


 

 

Com sua arquitetura cliente/servidor, 4D Server não só armazena e gerencia a base, também fornece serviços aos clientes. Esses serviços funcionam através de uma rede através de um sistema de solicitações e respostas.

Para pesquisar um conjunto de linhas, por exemplo, um computador cliente envia uma solicitação para o servidor. Uma vez recebido o pedido, o servidor executa a pesquisa no local, ou seja, no computador do servidor, e quando ela termina retorna o resultado (registros encontrados).

A arquitetura de 4D Server se baseia no modelo cliente/servidor. Por muitos anos, prevaleceu a arquitetura cliente/servidor, tornando-se no modelo mais eficiente em bancos de dados de multiusuários.

O tipo de arquitetura cliente/servidor de 4D Server é semelhante à usada no mundo dos minicomputador. No entanto, 4D Server oferece duas importantes inovações:

  • Uma interface intuitiva e gráfica, presente em todos os níveis da base
  • Uma arquitetura integrada que oferece maior eficiência e velocidade

Antes do aparecimento da arquitetura cliente/servidor, os sistemas multiusuários usavam como um modelo de arquitetura de rede o compartilhamento de arquivos. Neste modelo, todos os usuários compartilham os mesmos dados, mas o gerenciamento de dados não é controlado por um motor de base de dados central. Cada máquina cliente deve guardar uma cópia da estrutura do motor da base, enquanto o servidor é responsável pela gestão do software de compartilhamento de arquivos na rede.

No modelo de compartilhamento de arquivos, cada estação de trabalho opera no local todas as ações de modificação de dados. Isso cria um tráfego significativo na rede, uma vez que cada solicitação consiste em várias comunicações através da rede. O diagrama a seguir é um exemplo de tráfego de rede gerado quando um usuário procura por pessoas de sobrenome "Gómez."

Outra desvantagem do modelo do compartilhar de arquivos é a incapacidade de usar um cachê para conservar registros na memória. Se os registros são mantidos na memória, pode haver diferentes versões do mesmo registro armazenados na memória cachê, produzindo inconsistência nos dados. Portanto, cada vez que um usuário acessa um registro, deve ser baixado do servidor de arquivos. Isso produz um tráfego de rede e aumenta o tempo necessário para acessar os dados.

A arquitetura cliente/servidor é amplamente utilizada no mundo dos minicomputador, para o gerenciamento de bancos de dados muito grandes, graças a sua eficiência e rapidez. Nesta arquitetura, o trabalho é dividido entre os clientes e o servidor para aumentar o desempenho.

O servidor contém o motor central da base, que armazena e gerencia os dados. O mecanismo de base é o único software que acessa aos dados armazenados no disco rígido. Quando um cliente envia uma solicitação ao servidor, o servidor envia o resultado. O resultado pode ser de todos os tipos desde um simples registro para alterar até uma lista ordenada de registros.

Geralmente, a maioria das arquiteturas cliente/servidor são chamadas arquiteturas heterogêneas, porque as aplicações frontais executadas nos computadores cliente e o motor do banco de dados executado no computador servidor são dois produtos diferentes. Nessa situação, um driver de banco de dados é necessário para servir de tradutor entre os clientes e o servidor.

Para procurar um registro, por exemplo, um cliente envia uma solicitação para o servidor. Como a base é armazenada no servidor, o servidor executa o comando localmente no computador do servidor e envia o resultado para o cliente. A imagem a seguir mostra um exemplo de tráfego de rede gerado quando um usuário procura cada pessoa de apelido "Smith" e mostra o primeiro registro encontrado.

Este exemplo mostra duas diferenças maiores entre o compartimento de arquivos e a arquitetura cliente/servidor:

  • A arquitetura cliente/servidor autoriza o uso de uma memória cachê: como o motor é o único software que acessa fisicamente aos dados, o servidor pode utilizar um cachê que conserva em memória os registros modificados até que escrevam no disco. Como os dados são enviados desde um lugar central, as máquinas clientes asseguram de receber sempre a última versão de um registro. Adicional ao controle de integridade dos dados assegura, o uso de um mecanismo de cachê central acelera as operações de base de dados substituindo os acessos ao disco por acesso à memória. Sobre o modelo de compartimento de arquivos, todos os acessos são de acesso de disco.
  • As operações de base de dados de baixo nível se realizam no servidor: a arquitetura cliente/servidor oferece um aumento significativo na velocidade de execução, como a navegação de tabelas de índice e direções, localmente se executam no servidor, na velocidade da máquina. Com o compartimento de arquivos, as mesmas operações se tornam lentas pelas transferências de rede e as limitações da máquina cliente.

Na maiorias das arquiteturas cliente/servidor, a aplicação cliente e a aplicação de servidor são dois produtos distintos, que precisam de uma camada de comunicação para entender uns aos outros. Com 4D Server, a arquitetura cliente/servidor é totalmente integrada. 4D Server e 4D são dois aplicativos que compartilham a mesma estrutura e se comunicam diretamente.

Como 4D Server e 4D falam a mesma língua, não é necessário traduzir as solicitações. A divisão do trabalho entre o cliente e o servidor é transparente e automaticamente é gerenciada pelo 4D Server.

A divisão do trabalho está organizada de tal maneira que um pedido está associado a uma resposta. Como você pode ver no diagrama anterior, o cliente é responsável de:

  • Pedidos: o cliente 4D envia solicitações ao 4D Server. Essas solicitações podem ser construídas com a ajuda dos editores integrados, tais como o editor de pesquisas e o editor de tipos, usando a linguagem integrada de 4D ou através de SQL. 4D oferece editores em que os métodos podem ser criados e alterados. Também lida com os elementos dos métodos tais como as variáveis e arrays.
  • Recepção de respostas: o cliente 4D recebe as respostas de 4D Server e atualiza o usuário através da interface de usuário (os diferentes registros são exibidos em um formulário, etc.). Por exemplo, se o cliente busca todos os registros com o sobrenome "Gomez", 4D recebe os registros de 4D Server e os mostra em um formulário.

O servidor é responsável das seguintes tarefas:

  • Gestão de acesso: 4D Server utiliza todas as conexões simultâneas e os processos criados pelos clientes. Esta gestão aproveita a arquitetura múltiplas tarefas de 4D Server.
  • Objeto de estrutura e de dados: 4D Server guarda e administra todos os objetos de estrutura e de dados, incluindo campos, registros, formulários, métodos, barras de menus e listas.
  • Cachê: 4D Server mantém uma cachê com os registros também com os objetos de dados criados pelas máquinas clientes, tais como seleções e conjuntos.
  • Operações de base de dados de nível baixo: 4D Server realiza operações de base de dados de nível baixo, tais como pesquisas e ordens, que implicam o uso de tabelas de índices e direções.

Esta divisão do trabalho é extremamente eficaz graças à integração de 4D Server e 4D. A integração da arquitetura de 4D Server está presente em cada nível:

  • A nível da petição: quando 4D envia a 4D Server uma petição, tal como uma pesquisa ou uma ordem, 4D envia uma descrição da operação de procura ou ordenação utilizando a mesma estrutura interna que 4D Server.
  • A nível da estrutura e dos dados: quando 4D e 4D Server trocaram uma estrutura de objeto ou de dados, ambos os aplicativos usam o mesmo formato interno. Por exemplo, quando 4D necessita de um registro, 4D Server envia diretamente os dados em formato que estão no cachê de disco ou de memória. Da mesma forma, quando 4D deseja atualizar um registro e envia os dados a 4D Server, o qual armazenam dados diretamente na cachê tal como é recebido.
  • A nível da interface de usuário: quando 4D mostra uma lista de registros, o formulário utilizado exibe os registros que desempenham um papel na arquitetura cliente/servidor. Por exemplo, a seguinte imagem mostra o resultado de um pedido na tabela [Clientes].

Como o tamanho da janela só permite exibir 12 registros e 5 campos ao mesmo tempo. 4D Server envia exatamente 12 registros. Em vez de enviar todos os registros, 4D Server envia apenas o número de registros de campos que podem ser exibidos na janela. Se o usuário se desloca pelo formulário, 4D Server envia os registros adicionais ou campos necessários. Essa otimização reduz o tráfego de rede, garantindo que os registros e campos sejam enviados somente quando necessário.

 
PROPRIEDADES 

Produto: 4D
Tema: Introdução

 
HISTÓRIA 

 
ARTICLE USAGE

Manual de 4D Server ( 4D v16)