Robotic Process Automation Developer

Web-based application

 Ambiente Cliente / Servidor

O modelo cliente-servidor (em inglês client/server model), em computação, é uma estrutura de aplicação distribuída que distribui as tarefas e cargas de trabalho entre os fornecedores de um recurso ou serviço, designados como servidores, e os requerentes dos serviços, designados como clientes.

Fonte: Wikipédia

Modelo Cliente / servidor

Geralmente os clientes e servidores comunicam através de uma rede de computadores em computadores distintos, mas tanto o cliente quanto o servidor podem residir no mesmo computador.

Um servidor é um host que está executando um ou mais serviços ou programas que compartilham recursos com os clientes. Um cliente não compartilha qualquer de seus recursos, mas solicita um conteúdo ou função do servidor. Os clientes iniciam sessões de comunicação com os servidores que aguardam requisições de entrada.


O modelo cliente-servidor foi desenvolvido na Xerox PARC durante os anos 70. Este modelo é atualmente o predominante nos ambientes de TIC.     Email, a World Wide Web e redes de impressão são exemplos comuns deste modelo.

 Características do modelo cliente-servidor:

Descreve a relação de programas numa aplicação. O componente de servidor fornece uma função ou serviço a um ou mais clientes, que iniciam os pedidos de serviço.

Funcionalidades como a troca de e-mail, acesso à internet ou acesso a um banco de dados, são construídos com base no modelo cliente-servidor. Por exemplo, um navegador web é um programa cliente, em execução no computador do usuário, que acede às informações armazenadas num servidor web na internet. Usuários de serviços bancários, acedendo do seu computador, usam um cliente web para enviar uma solicitação para um servidor web num banco. Esse programa pode, por sua vez, encaminhar o pedido para o seu próprio programa de banco de dados do cliente que envia uma solicitação para um servidor de banco de dados noutro computador do banco para recuperar as informações da conta. O saldo é devolvido ao cliente de banco de dados do banco, que por sua vez, serve de volta ao cliente navegador exibindo os resultados para o usuário.

O modelo cliente-servidor, tornou-se uma das ideias centrais de computação de rede. Muitos aplicativos de negócios, escritos hoje, utilizam o modelo cliente-servidor. O termo também tem sido utilizado para distinguir a computação distribuída por computadores dispersos da "computação" monolítica centralizada em mainframe.

Cada instância de software do cliente pode enviar requisições a vários servidores. Por sua vez, os servidores podem aceitar esses pedidos, processá-los e retornar as informações solicitadas para o cliente. Embora este conceito possa ser aplicado por uma variedade de razões e para diversos tipos de aplicações, a arquitetura permanece fundamentalmente a mesma.


Aplicações Web

Em essência, uma aplicação web é um software que é instalado em um servidor web e é projetado para responder a solicitações, processar informações, armazenar informações e dimensionar as respostas de acordo com a demanda e, em muitos casos, é distribuído em vários sistemas ou servidores.

 Diferentes implementações de uma aplicação Web:

Ao contrário de alguns anos atrás, as aplicações web vêm em três variações:

Baseado em Navegador – Incluem código que pode ter sido parcialmente processado no servidor, mas é executado no próprio navegador Web. Tal aplicação tem a capacidade de acessar dados armazenados em um servidor, bem como no sistema local ou ambos, dependendo do design;

Baseados no cliente – São essencialmente semelhantes às aplicações baseadas em navegador, mas em vez de serem executados dentro do navegador, são executados como aplicação própria. Aplicações que exigem que sejam instaladas do lado do cliente se encaixam nesta categoria;

Aplicativos móveis – São, de longe, o tipo mais comum encontrado hoje em dia. Para ser incluído nesta categoria o aplicativo normalmente é executado em um sistema operacional móvel, como aqueles executados em smartphones e tablets, principalmente Android do Google ou iOS da Apple;

Então, o que todos esses tipos têm em comum? Cada um deles, tem alguma capacidade de processar informações em um servidor antes de fornecer as informações para o lado do cliente.

Servidor Web

A função do servidor web é receber uma solicitação (requisição) e devolver (resposta) algo para o cliente. O browser permite ao usuário solicitar um recurso e quando o servidor responde a uma solicitação são encontrados recursos como: páginas HTML, figuras e documento PDF que são exibidas depois para o usuário. Geralmente os servidores enviam instruções para o browser escritas em HTML. O HTML diz ao browser como apresentar conteúdo ao usuário web.

O servidor em si tem alguns recursos, mas por algumas deficiências não consegue processar tudo sozinho como: criações de páginas dinâmicas e o armazenamento de dados em um banco de dados.

Páginas Dinâmicas – Quando a aplicação roda no servidor, este disponibiliza somente páginas estáticas. Porém, para efetuar essa comunicação é necessário o auxílio de uma outra aplicação de ajuda que é passada através de Servlet.

Armazenar dados no servidor – Para efetuar essa ação o servidor precisa de uma aplicação de apoio (Servlet), fazendo com que o servidor envie esses parâmetros para o Servlet. 

O web Client  e o Web Server 

Entender os aplicativos da Web significa que você também deve examinar a interação entre cliente e servidor que ocorre neste ambiente. Um aplicativo de servidor é hospedado em um servidor web e é projetado para ser acessado remotamente por meio de um navegador da Web ou aplicativo habilitado para web. 

Normalmente, esse ambiente permite que vários aplicativos cliente acessem o servidor simultaneamente, para recuperar dados ou para exibir ou modificar dados. O cliente executa processamento mínimo de informações e normalmente é otimizado para apresentar as informações ao usuário. As informações são armazenadas no servidor, com algumas pequenas porções, como metadados residente no cliente. Metadados, para usar a descrição técnica, são dados que descrevem outros dados, que é como dizer que o vermelho é um tipo de cor, o que não ajuda muito. Entretanto, os metadados podem ser facilmente visualizados se você considerar um documento em um disco rígido. Este documento contém dados como o conteúdo desta postagem, que é fácil de entender. Os metadados nessa situação seriam as propriedades do próprio arquivo, que descrevem o arquivo em termos de tamanho, tipo, data, autor e outras informações. 


Porque aplicações Web-based

Então, por que escolher um aplicativo baseado na Web sobre outros modelos cliente-servidor? Muitos benefícios potenciais surgem deste ambiente de hospedagem em relação a outros modelos. Um dos maiores benefícios é que um aplicativo cliente não precisa ser desenvolvido para cada plataforma como nas configurações tradicionais. Uma vez que muitas aplicações web são concebidas para ser executado dentro de um navegador web, a arquitetura subjacente é em grande parte sem importância. O cliente pode estar executando uma ampla gama de sistemas operacionais e ambientes sem penalidade para a aplicação. 

Aplicativos  Móveis ( APPs)

Algumas aplicações Web não são executados em navegadores da Web e são bloqueados em uma plataforma específica, e estes residem em dispositivos móveis. Os clientes de aplicativos Web deste tipo são projetados para um tipo específico e versão de um sistema operacional móvel (como o Android) e só podem ser executados lá. No entanto, o desenvolvedor poderia codificar diferentes versões do cliente que seria capaz de acessar os mesmos dados das plataformas que residem no servidor. 

Informações adicionais.

O Compartilhamento de informações no ambiente Web-based

O compartilhamento de informações descreve a troca de dados entre várias organizações, pessoas e tecnologias. Existem vários tipos de compartilhamento de informações: 

Ler mais ......


Laboratório de Fixação

A evolução no compartilhamento de informações.

Usar a plataforma  " Google  Sites "

 - Link para atividade no classroom.