Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas de Informação Distribuídos para Internet I Itsche Baran Revisada por Itsche Baran APRESENTAÇÃO É com satisfação que a Unisa Digital oferece a você, aluno(a), esta apostila de Sistemas de Informa- ção Distribuídos para Internet I, parte integrante de um conjunto de materiais de pesquisa voltado ao aprendizado dinâmico e autônomo que a educação a distância exige. O principal objetivo desta apostila é propiciar aos(às) alunos(as) uma apresentação do conteúdo básico da disciplina. A Unisa Digital oferece outras formas de solidificar seu aprendizado, por meio de recursos multidis- ciplinares, como chats, fóruns, aulas web, material de apoio e e-mail. Para enriquecer o seu aprendizado, você ainda pode contar com a Biblioteca Virtual: www.unisa.br, a Biblioteca Central da Unisa, juntamente às bibliotecas setoriais, que fornecem acervo digital e impresso, bem como acesso a redes de informação e documentação. Nesse contexto, os recursos disponíveis e necessários para apoiá-lo(a) no seu estudo são o suple- mento que a Unisa Digital oferece, tornando seu aprendizado eficiente e prazeroso, concorrendo para uma formação completa, na qual o conteúdo aprendido influencia sua vida profissional e pessoal. A Unisa Digital é assim para você: Universidade a qualquer hora e em qualquer lugar! Unisa Digital SUMÁRIO INTRODUÇÃO ............................................................................................................................................... 5 1 CONCEITOS INICIAIS ........................................................................................................................... 7 1.1 Sistemas Distribuídos .....................................................................................................................................................7 1.2 Arquitetura .........................................................................................................................................................................7 1.3 Arquiteturas Utilizadas ..................................................................................................................................................8 1.4 Fluxo Conceitual Detalhado .....................................................................................................................................15 1.5 Resumo do Capítulo ....................................................................................................................................................20 1.6 Atividades Propostas ...................................................................................................................................................20 2 DESENVOLVIMENTO ......................................................................................................................... 23 2.1 Ambientes e Linguagens de Programação ........................................................................................................23 2.2 HTML, JavaScript e Navegador (Browser) ............................................................................................................23 2.3 Servidor Web (Web Server) .........................................................................................................................................24 2.4 Fluxo Conceitual Detalhado .....................................................................................................................................26 2.5 Resumo do Capítulo ....................................................................................................................................................30 2.6 Atividades Propostas ...................................................................................................................................................30 3 CONSIDERAÇÕES FINAIS ............................................................................................................... 33 RESPOSTAS COMENTADAS DAS ATIVIDADES PROPOSTAS ..................................... 35 REFERÊNCIAS ............................................................................................................................................. 37 Unisa | Educação a Distância | www.unisa.br 5 INTRODUÇÃO Esta apostila refere-se à disciplina Sistemas de Informação Distribuídos para Internet I do curso de Bacharelado em Sistemas de Informação, na modalidade a distância, da Universidade de Santo Amaro (Unisa). A evolução tecnológica contínua que caracteriza a área de processamento de dados permitiu que, hoje em dia, um usuário solicite de um sistema de informação um resultado desejado e tal resultado seja obtido por meio do processamento coordenado e colaborativo de vários componentes de software. Tais componentes de software são executados em diferentes computadores, ligados em rede, e se comunicam entre si por meio de troca de mensagens. Sistemas de informação com tais características são denominados sistemas distribuídos e atual- mente vêm sendo disponibilizados de forma crescente no ambiente em que a rede que conecta os com- putadores envolvidos é a internet. Tal crescimento se deve aos benefícios obtidos dessa maneira por empresas e outras instituições. Uma das vantagens, por exemplo, se encontra na melhoria da interação delas com seus parceiros, clientes e fornecedores. Neste curso serão abordados conceitos básicos referentes a sistemas de informação distribuídos para internet e aos componentes de software que os constituem. Os conceitos apresentados exporão as características: da arquitetura em camadas, frequentemente usada em projetos dessa espécie; das camadas de apresentação, negócio, dados e comunicação; da arquitetura cliente-servidor, também presente em projetos dessa espécie; da atuação de um programa como cliente ou servidor. Também serão tratados os diferentes tipos de programas que implementam um sistema de infor- mação distribuído para internet de modo a obedecer às arquiteturas mencionadas. Ocorrerá o detalhamento do fluxo de execução coordenada e colaborativa de tais programas. Será apresentado um conjunto de recursos de software que possibilita o aumento da produtivida- de no desenvolvimento de tais sistemas. Itsche Baran Unisa | Educação a Distância | www.unisa.br 7 CONCEITOS INICIAIS1 Cada tipo diferente de resultado desejado corresponde à execução de um serviço. Na execução de cada tipo de serviço, vários programas, em diferentes computadores, traba- lham de forma coordenada e colaborativa para se obter o resultado desejado pelo usuário. Foi a evolução contínua na área de proces- samento de dados que possibilitou o uso crescen- te de sistemas desse tipo. 1.1 Sistemas Distribuídos Tal evolução se manifesta através do au- mento constante da capacidade do hardware em aspectos como: velocidade de processamento; tamanho da memória principal; volume de armazenamento de dados; melhoria dos meios para transmissão de dados. Igual melhoria é notada no software. A expansão da internet constitui outro fator que alavanca a demanda por sistemas de infor- mação distribuídos. AtençãoAtenção Caro(a) aluno(a), entende-se por sistema de in- formação distribuído um sistema no qual vários programas, em diferentes computadores, traba- lham de forma coordenada e colaborativa para se obter os resultados desejados pelo usuário. 1.2 Arquitetura Denomina-se arquitetura de um sistema a descrição: de cada um de seus componentes; de como eles se relacionam entre si. No caso do software de um sistema de infor- mação distribuído: os componentes são programas; tais programas se relacionam entre si por meio de troca de mensagens con- tendo dados e também pela passagem do controle de um programa para ou- tro, em tempo de execução, de modo a garantir um trabalho coordenado e co- laborativo. Itsche Baran Unisa | Educação a Distância | www.unisa.br 8 Caro(a) aluno(a), entre as arquiteturas nas quais se baseiao desenvolvimento do software de sistemas de informação distribuídos, destacam- -se: arquitetura em camadas; arquitetura cliente-servidor. Arquitetura em Camadas As funções geralmente cumpridas por um programa convencional batch são: obtenção de dados de entrada necessá- rios, a partir de arquivos, e seu armaze- namento em variáveis do programa; início do processamento, em que os da- dos de entrada são validados; obtenção de dados previamente arma- zenados em bases de dados; término do processamento; exibição do resultado ao usuário. As funções geralmente cumpridas por um programa convencional on-line são: obtenção de dados de entrada necessá- rios, composta pelo pedido ao usuário do fornecimento dos dados, pelo arma- zenamento de tais dados em variáveis do programa e pela validação deles; início do processamento, em que os da- dos de entrada são validados; obtenção de dados previamente arma- zenados em bases de dados; término do processamento; exibição do resultado ao usuário. Tais funções aparecem no fluxograma a se- guir (Figura 1): 1.3 Arquiteturas Utilizadas Figura 1 – Estrutura de um programa convencional. Diz-se que as funções de “Obtenção de da- dos de entrada necessários” e “Exibição do resul- tado” constituem a camada de apresentação do programa. Da mesma forma, as funções de “Início do processamento” e “Término do processamento” compõem a camada de negócio. De maneira igual, a função “Obtenção de dados previamente armazenados em bases de dados” corresponde à camada de dados. Assim, caro(a) aluno(a), pode-se encarar um programa convencional como sendo formado por três camadas: de apresentação, que interage com o usuário e a camada de negócio; de negócio, que interage com as cama- das de apresentação e de dados; de dados, que interage com a camada de negócio. Sistemas de Informação Distribuídos para Internet I Unisa | Educação a Distância | www.unisa.br 9 Tal composição é destacada na Figura 2. Figura 2 – Arquitetura em camadas. Desse modo, caro(a) aluno(a), verifica-se que o mesmo resultado fornecido por um progra- ma convencional consegue ser alcançado pelo trabalho conjunto de vários programas, que im- plementam as camadas mencionadas. Cada um desses programas pode ser exe- cutado em computadores diferentes e a coorde- nação e colaboração entre eles são mantidas por meio: da troca de mensagens e respostas en- tre eles; da maneira pela qual, durante a execu- ção, acontecerá a passagem de controle entre eles. Para atender a tais características, num sis- tema de informação distribuído, existe uma ca- mada adicional: a camada de comunicação, que intermedeia a troca de mensagens e respostas entre as demais camadas (Figura 3). Itsche Baran Unisa | Educação a Distância | www.unisa.br 10 Figura 3 – Camada de comunicação. Caro(a) aluno(a), a figura mostra que, após solicitar os dados de entrada ao usuário e recebê- -los, por meio da função “Obtenção de dados de entrada necessários”, o programa que implemen- ta a camada de apresentação transfere tais dados para a camada de comunicação através da Men- sagem 1. A camada de comunicação encaminha a Mensagem 1 para a camada de negócio, onde os dados são manuseados na função “Início do pro- cessamento”. Havendo necessidade de dados adicionais para prosseguir a execução, a camada de negó- cio transfere a Mensagem 2 para a camada de co- municação, que a encaminha para a camada de dados. A Mensagem 2 contém os argumentos de pesquisa com os quais a função “Obtenção de dados previamente armazenados em bases de dados” obterá os dados solicitados e os transfe- rirá para a camada de comunicação por meio da Resposta 2. A camada de comunicação encaminha a Resposta 2 para a camada de negócio, onde a função “Término do processamento” os utiliza para elaborar o resultado desejado pelo usuário. Esse resultado, contido na Resposta 1, é transferido pela camada de negócio para a cama- da de comunicação que a encaminha para a ca- mada de apresentação. Nela, a função “Exibição do resultado” apre- senta o resultado desejado para o usuário. Uma das maneiras de estabelecer a camada de comunicação é por meio do uso do programa TCP/IP nos computadores nos quais são executa- dos os programas que implementam as demais camadas. O TCP/IP é um programa que implementa sob a forma de software as especificações do con- junto de protocolos denominado Transmission Control Protocol/Internet Protocol (TCP/IP). Sistemas de Informação Distribuídos para Internet I Unisa | Educação a Distância | www.unisa.br 11 Arquitetura Cliente-Servidor Como foi visto, caro(a) aluno(a), as cama- das de apresentação, de negócio e de dados, que compõem um programa convencional executado num único computador, podem ser distribuídas para executar em diferentes computadores, de maneira colaborativa e coordenada (Figura 4). Figura 4 – Distribuição das camadas. CAMADA DE APRESENTAÇÃO CAMADA DE NEGÓCIOS CAMADA DE DADOS É necessário que as camadas interajam en- tre si por meio de troca de mensagens. Nos sistemas de informação distribuídos para internet, tais mensagens são trocadas atra- vés da web, via camada de comunicação. Isso se torna possível quando, por exemplo, em cada computador onde se encontra um pro- grama que implementa uma das camadas de um sistema de informação distribuído também se es- teja executando o programa TCP/IP. Assim, caro(a) aluno(a), o TCP/IP é um dos softwares que podem ser empregados para com- por a camada de comunicação de um sistema de informação distribuído (Figura 5). Itsche Baran Unisa | Educação a Distância | www.unisa.br 12 Figura 5 – Presença do programa TCP/IP. A Figura 6 mostra o programa que implementa a camada de apresentação recebendo os dados de entrada fornecidos pelo usuário. Figura 6 – Entrada dos dados pelo usuário. O programa da camada de apresentação, caro(a) aluno(a), repassa para o TCP/IP, executado no mesmo computador, mensagens onde constam: os dados recebidos do usuário; endereço IP do computador de destino e da porta usada pelo programa da camada de negócio no TCP/IP de destino (Figura 7). Sistemas de Informação Distribuídos para Internet I Unisa | Educação a Distância | www.unisa.br 13 Figura 7 – Interação entre o programa da camada de apresentação e o TCP/IP. O TCP/IP de origem acrescenta aos dados recebidos da camada de apresentação o endereço IP do computador no qual está executando e a porta correspondente ao programa da camada de apresenta- ção, e os envia, através da web, via mensagem para o TCP/IP de destino (Figura 8). Figura 8 – Uso da web. O TCP/IP de destino, caro(a) aluno(a), recebe a mensagem (Figura 9). Itsche Baran Unisa | Educação a Distância | www.unisa.br 14 Figura 9 – Comunicação entre TCP/IPs. O TCP/IP de destino repassa os dados para o programa que implementa a camada de negócio (Fi- gura 10). Figura 10 – Interação entre TCP/IP e programa da camada de negócio. E assim sucessivamente, caro(a) aluno(a), as mensagens e respostas necessárias vão sendo trocadas entre as diferentes camadas, permitindo seu trabalho coordenado e colaborativo. Como foi visto, o programa que implemen- ta a camada de apresentação passa dados a se- rem processados pelo programa que implementa a camada de negócio. Assim, pode-se considerar que o programa da camada de apresentação é um “cliente” do pro- grama da camada de negócio, pois este lhe pres- tará o serviço de processar os dados. Por esse mesmo motivo, o programa que implementa a camada de negócio pode ser enca- rado como um “servidor” do programa da camada de apresentação; ao mesmo tempo que é “cliente” do programa que implementa a camada de da- dos. Essa é a razão pela qual a arquitetura descri- ta é denominada de cliente-servidor. Sistemas de Informação Distribuídos para Internet I Unisa | Educação a Distância | www.unisa.br 15 Deve-se notar que a internet constitui um ambiente extremamentefavorável ao uso de sis- temas de informação distribuídos. O fluxo conceitual detalhado que será abor- dado a seguir permite consolidar o conhecimen- to a respeito: dos diferentes tipos de programas en- volvidos em tais sistemas; do relacionamento entre eles. Embora frequentemente mencionado na descrição, cabe salientar que o programa TCP/IP não aparece representado nas figuras apresenta- das neste tópico. Desse modo, caro(a) aluno(a), sempre deve ser lembrado que os demais programas não tro- cam mensagens diretamente entre si. 1.4 Fluxo Conceitual Detalhado Passam tais mensagens ao TCP/IP do com- putador em que se encontram e este se encarre- ga de seu encaminhamento ao destino. Outra observação se refere à nomenclatura adotada. Quando um programa atua como cliente, emite mensagens. Ao desempenhar o papel de servidor, emite respostas. O fluxo se inicia na situação de um usuário que ativa um programa cliente para obter um re- sultado desejado. Em consequência, o programa cliente exibe no monitor da estação de trabalho a solicitação dos dados de entrada necessários. O usuário lê a mensagem e fornece ao pro- grama cliente os dados solicitados (Figura 11). Figura 11 – Interação inicial entre usuário e programa cliente. Serviço Dados? Dados USUÁRIO TROCA DE MENSAGENS PROGRAMA CLIENTE Itsche Baran Unisa | Educação a Distância | www.unisa.br 16 Como foi dito, na estação de trabalho onde é executado o programa cliente, também existe o programa TCP/IP. Desse modo, caro(a) aluno(a), o programa cliente, usando as instruções de programação adequadas, pede ao TCP/IP o envio para um pro- grama do tipo servidor, da mensagem 1, a qual contém, basicamente: o endereço IP da estação de trabalho origem da mensagem 1; a porta do TCP/IP da estação de traba- lho usada pelo programa cliente; o endereço IP do computador de des- tino; a porta, no TCP/IP de destino, usada pelo programa do tipo servidor que processará os dados fornecidos pelo usuário; os dados fornecidos pelo usuário. O TCP/IP da estação de trabalho envia, por meio da web, a mensagem 1 para o programa TCP/IP do computador onde executa, permanen- temente, o programa do tipo servidor requerido; tal TCP/IP entrega a mensagem 1 para o progra- ma servidor (Figura 12). Figura 12 – Programas cliente e servidor. O programa servidor recebe a mensagem 1 e começa a processar os dados nela contidos. Ao efetuar essa tarefa, costumeiramente necessita solicitar dados, previamente armaze- nados em bases de dados, para um programa do tipo servidor de dados. Nessa situação, o programa servidor solicita ao TCP/IP do seu computador que envie a mensa- gem 2 contendo: o endereço IP do computador origem da mensagem; a porta do TCP/IP do computador cor- respondente ao programa servidor; o endereço IP do computador onde executa o SGBD; a porta do TCP/IP, no computador de destino, correspondente ao SGBD; AtençãoAtenção Caro(a) aluno(a), o programa servidor de dados corresponde, em geral, a um Sistema Gerencia- dor de Banco de Dados (SGBD) e, muitas vezes, se encontra em outro computador. Sistemas de Informação Distribuídos para Internet I Unisa | Educação a Distância | www.unisa.br 17 os argumentos de pesquisa que o SGBD precisa para obter, na base de dados, as informações que o programa servidor precisa. O TCP/IP do computador do programa ser- vidor envia, por meio da web, a mensagem 2 para o programa TCP/IP do computador onde executa, permanentemente, o SGBD; tal TCP/IP entrega a mensagem 2 para o SGBD (Figura 13). Figura 13 – Programas cliente, servidor e servidor de dados. O SGBD recebe a mensagem 2 e, com base nos argumentos de pesquisa nela contidos, aces- sa a base de dados e obtém as informações de que o programa servidor necessita. Aí, solicita ao TCP/IP do seu computador que envie uma resposta contendo: o endereço IP do seu computador; a porta do TCP/IP do seu computador que o SGBD usa; o endereço IP do computador onde executa o programa servidor; a porta do TCP/IP, no computador de destino, correspondente ao programa servidor; os dados solicitados pelo programa ser- vidor. Caro(a) aluno(a), o TCP/IP do computador do SGBD envia, por meio da web, a resposta 2 para o programa TCP/IP do computador onde executa, permanentemente, o programa servidor; tal TCP/ IP entrega a resposta 2 para o programa servidor (Figura 14). Figura 14 – Resposta 2. O programa servidor, caro(a) aluno(a), rece- be a resposta 2 e, com base nos dados nela con- tidos, completa seu processamento, obtendo o resultado solicitado pelo programa cliente. Aí, solicita ao TCP/IP do seu computador que envie a resposta 1 contendo: o endereço IP do seu computador; a porta do TCP/IP do seu computador que o programa servidor usa; o endereço IP da estação de trabalho onde executa o programa cliente; Itsche Baran Unisa | Educação a Distância | www.unisa.br 18 a porta do TCP/IP, no computador de destino, correspondente ao programa cliente; o resultado solicitado pelo programa cliente. AtençãoAtenção O TCP/IP do computador do programa servidor envia, por meio da web, a resposta 1 para o pro- grama TCP/IP da estação de trabalho onde exe- cuta o programa cliente; tal TCP/IP entrega a res- posta 1 para o programa cliente (Figura 15). Figura 15 – Resposta 1. O programa cliente, caro(a) aluno(a), recebe a resposta 1 contendo o resultado, formata tal resulta- do e o apresenta, no monitor da estação de trabalho, para o usuário (Figura 16). Sistemas de Informação Distribuídos para Internet I Unisa | Educação a Distância | www.unisa.br 19 Figura 16 – Resultado. Como foi visto, caro(a) aluno(a), num siste- ma de informação distribuído no ambiente da in- ternet, um determinado resultado desejado pelo usuário é obtido pelo funcionamento colabora- tivo e coordenado de programas do tipo cliente, de programas do tipo servidor e de programas do tipo servidor de dados, que executam em dife- rentes computadores e implementam as diversas camadas que compõem um programa conven- cional. Com base no que foi descrito, em relação à arquitetura em camadas pode-se concluir, caro(a) aluno(a), que: o programa do tipo cliente implementa a camada de apresentação; o programa do tipo servidor implemen- ta a camada de negócio; o programa do tipo servidor de dados implementa a camada de dados. Ainda com base no que foi descrito em re- lação à arquitetura cliente-servidor, pode-se con- cluir que: o programa cliente é cliente do progra- ma servidor: envia-lhe uma mensagem e espera dele uma resposta; para providenciar a resposta ao progra- ma cliente, o programa servidor envia mensagem ao programa servidor de dados e espera uma resposta dele. Des- se modo, o programa servidor é cliente do programa servidor de dados (SGBD); o programa servidor de dados (SGBD) é servidor do programa servidor. Itsche Baran Unisa | Educação a Distância | www.unisa.br 20 Este capítulo mostrou os seguintes tópicos principais: o conceito de serviço; o conceito de arquitetura; arquitetura em camadas; camada de apresentação; camada de negócio; camada de dados; camada de comunicação; TCP/IP; arquitetura cliente-servidor; o conceito de cliente; o conceito de servidor; processamento colaborativo e coordenado. 1.5 Resumo do Capítulo Vamos, agora, avaliar a sua aprendizagem, efetuando as atividades a seguir. 1. Um conceito importante na especificação de um sistema de informação distribuído é: a) Arquitetura cliente-provedor. b) Arquitetura consumidor-provedor. c) Arquitetura público-servidor. d) Arquitetura consumidor-servidor. e) Arquitetura cliente-servidor. 2. Assinale a opção que completa corretamente a afirmação a seguir: Entende-se por sistema de informação distribuído um sistema no qual vários programas, em diferentes computadores, trabalham, para se obter resultados desejadospelos usuários, de forma... a) Isolada e independente. b) Isolada e coordenada. c) Coordenada e independente. d) Colaborativa e coordenada. e) Competitiva e independente. 1.6 Atividades Propostas Sistemas de Informação Distribuídos para Internet I Unisa | Educação a Distância | www.unisa.br 21 3. Assinale a opção que completa corretamente a afirmação a seguir: Em relação ao uso de sis- temas de informação distribuídos, a internet constitui um ambiente... a) Favorável. b) Nocivo. c) Desfavorável. d) Neutro. e) Incompatível. Unisa | Educação a Distância | www.unisa.br 23 Caro(a) aluno(a), o desenvolvimento de sis- temas de informação distribuídos para internet foi significativamente facilitado pela disponibili- zação de linguagens como: Hyper Text Markup Language (HTML); DESENVOLVIMENTO2 Asynchronous Server Pages (ASP); Java Server Pages (JSP); PHP; JavaScript. O código criado por meio das instruções (tags) da linguagem HTML permite descrever uma janela em termos de: textos que nela aparecem; posicionamento de tais textos; características das letras como tipo, ta- manho e cor; exibição de dados em forma de tabelas; inserção de imagens e figuras; campos para entrada de dados; 2.2 HTML, JavaScript e Navegador (Browser) 2.1 Ambientes e Linguagens de Programação inserção de objetos gráficos como bo- tões de rádio, teclas etc.; encadeamento de janelas; assim por diante. Quando tal código é processado por um programa do tipo browser, como o Internet Ex- plorer ou o Mozilla, executando numa estação de trabalho, a janela descrita no código é exibida no monitor (Figura 17). Figura 17 – Processamento do navegador. Itsche Baran Unisa | Educação a Distância | www.unisa.br 24 Seja, por exemplo, o código escrito em HTML a seguir: Quando esse conjunto de instruções é proces- sado por um browser, caro(a) aluno(a), aparecerá no monitor a janela da Figura 18: Figura 18 – Janela descrita por código HTML. Suponha que, ao visualizar a janela da Figu- ra 18, o usuário digite o valor 4 na caixa que segue o texto “Campo A:”. Ao “clicar” no botão “Enviar”, o valor 4 será recebido pelo browser e este transferirá o valor para o TCP/IP da estação de trabalho, que vai en- caminhá-lo para o programa do tipo servidor web <html><body> <form action=http: // 10 .240 .180 .180 / produto.asp method=“ GET ”> Campo A: <input type=‘text’ name=‘campo1’> <br><input type=‘submit’ value=‘Enviar’> </form></body></html> <form action=http: //10 .240 .180 .180 / produto.asp method=“ GET ”> (web server) que executa no computador de en- dereço IP 10.240.180.180, onde será processado o código contido no arquivo “produto.asp”, confor- me informado na tag: Desse modo, caro(a) aluno(a), a camada de apresentação de um sistema de informação dis- tribuído para internet pode ser implementada usando um browser em cada estação de trabalho para processar o código HTML adequado a cada necessidade de interação entre sistema e usuário. Caso necessite validar os dados recebidos do usuário, pode, por exemplo, fazer isso adicio- nando às tags HTML instruções na linguagem JavaScript, que também serão processadas pelo navegador. Assim, consegue-se um aumento de pro- dutividade no desenvolvimento dos sistemas, tornando-os disponíveis mais rapidamente. Saiba maisSaiba mais O programador, ao invés da tarefa trabalhosa de co- dificar programas do tipo cliente usando uma lingua- gem de programação normal como o Java, executará a atividade mais simples de produzir as tags HTML. 2.3 Servidor Web (Web Server) Para implementar a camada de negócio de um sistema de informação distribuído para inter- net, pode-se usar um programa do tipo servidor web que processará o código desenvolvido na lin- guagem correspondente. Assim, por exemplo, se a linguagem é PHP, deve-se usar o servidor web Apache. A linguagem JSP se encontra associada ao servidor web Apache Tomcat. No caso da linguagem ASP, deve-se empre- gar o servidor web Internet Information Services (IIS). Retomemos o exemplo iniciado no item an- terior. Sistemas de Informação Distribuídos para Internet I Unisa | Educação a Distância | www.unisa.br 25 Caro(a) aluno(a), vimos que o valor 4 digi- tado pelo usuário na estação de trabalho deve ser processado pelo código contido no arquivo “produto.asp”, o que é informado por meio da tag HTML: O conteúdo do arquivo “produto.asp” é: O arquivo se encontra num diretório aces- sado pelo IIS, que processará as instruções da se- guinte maneira: o valor 4 recebido pelo IIS é armaze- nado na variável Valor, em função da execução da instrução: Valor=request. querystring(“campo1”); o conteúdo da variável Valor é multi- plicado por 3 e o produto resultante, 12, é armazenado na variável Produto, em função da execução da instrução: Produto=Valor*3; <form action=http : //10 .240 .180 .180 / produto.asp method=“ GET “> <% Valor=request.querystring(“campo1”) Produto=Valor*3 Response.write(Produto) %> AtençãoAtenção Como o sufixo do arquivo é “.asp”, sabe-se que a linguagem usada foi ASP e o código será proces- sado pelo servidor WEB IIS que executa no com- putador de endereço IP 10.240.180.180. em função da execução da instrução: Response.write(Produto), é gerado um conjunto de tags HTML que descreve uma janela exibindo o valor 12, conteú- do da variável Produto. O conjunto de tags é enviado para o browser da esta- ção de trabalho, que o processa fazen- do com que a janela contendo o resul- tado seja exibida para o usuário (Figura 19). Figura 19 – Resultado exibido ao usuário. Desse modo, caro(a) aluno(a), a camada de negócio de um sistema de informação distribuído para internet pode ser implementada usando um programa servidor web. O programador, ao invés da tarefa traba- lhosa de codificar programas do tipo servidor usando uma linguagem de programação normal como o Java, executará a atividade mais simples de produzir o código na linguagem adequada ao servidor web utilizado. Assim, consegue-se um aumento de pro- dutividade no desenvolvimento dos sistemas, tornando-os disponíveis mais rapidamente. Itsche Baran Unisa | Educação a Distância | www.unisa.br 26 A seguir, será mostrado o fluxo de um siste- ma de informação distribuído para internet usan- do o browser, o servidor web e um SGBD (camada de dados) ao invés de programa cliente específi- co, programa servidor específico e SGBD. No caso deste exemplo, considera-se que, no início do fluxo, o usuário, por meio do coman- do: http://www..., digitado na barra de comando da janela do navegador, faz com que o navegador peça ao TCP/IP que este envie mensagem 1 para o servidor web, que executa no site fornecido no 2.4 Fluxo Conceitual Detalhado comando http://www..., requerendo que o servi- dor web transmita ao navegador arquivo HTML, contendo as tags que descrevem a janela 1 de um serviço desejado (Figura 20). O servidor web, caro(a) aluno(a), ao receber a mensagem 1 do navegador, acessa o diretório onde se encontra o arquivo HTML solicitado, cria resposta 1 contendo cópia do arquivo HTML so- licitado e pede ao TCP/IP que envie a resposta 1 para o navegador (Figura 21). Figura 20 – Comando http:. Figura 21 – Resposta 1 contendo arquivo HTML. Sistemas de Informação Distribuídos para Internet I Unisa | Educação a Distância | www.unisa.br 27 Caro(a) aluno(a), o navegador, ao receber o arquivo HTML contido em resposta 1, efetua a in- terpretação das tags e exibe a janela 1 correspon- dente no monitor da estação de trabalho. Também guarda as informações referentes ao nome do código a ser ativado pelo servidor web associado à porta e endereço IP, menciona- dos na tag <form...> do arquivo HTML. Tal código processará os dados que o usuá- rio fornecerá a partir da janela 1 (Figura 22). Figura 22 – Janela 1. O usuário fornece os dados solicitados em janela 1 para a execução do serviço. O navegador, ao receber tais dados, pede ao TCP/IPque envie, através da mensagem 2, os dados, acompanhados do nome do código que deverá processá-los, para o servidor web que exe- cuta na porta do endereço IP mencionado na tag <form...> do HTML (Figura 23). Figura 23 – Mensagem 2. O servidor web recebe a mensagem 2, que contém os dados e o nome do código que deve processá-los, e executa o código mencionado (Fi- gura 24). Figura 24 – Recepção da mensagem 2 pelo servidor web. Caro(a) aluno(a), o programa servidor de dados em geral corresponde a um SGBD e, muitas vezes, se encontra em outro computador. Nessa situação, o servidor web, ao ser infor- mado e requisitado pelo código, solicita ao TCP/ IP do seu computador que envie a mensagem 3 contendo: o endereço IP do computador origem da mensagem; a porta do TCP/IP do computador cor- respondente ao servidor web; o endereço IP do computador onde executa o SGBD; a porta do TCP/IP, no computador de destino, correspondente ao SGBD; AtençãoAtenção O código executado sob o servidor web come- ça a processar os dados. Ao efetuar essa tarefa, costumeiramente, necessita solicitar dados, pre- viamente armazenados em bases de dados, para um programa do tipo servidor de dados. Itsche Baran Unisa | Educação a Distância | www.unisa.br 28 os argumentos de pesquisa que o SGBD precisa para obter, na base de dados, as informações que o código, no servidor web, precisa (Figura 25). Figura 25 – Mensagem 3. O SGBD recebe a mensagem 3 e, com base nos argumentos de pesquisa nela contidos, aces- sa a base de dados e obtém as informações de que o programa servidor necessita. Aí, caro(a) aluno(a), solicita ao TCP/IP do seu computador que envie uma mensagem conten- do: o endereço IP do seu computador; a porta do TCP/IP do seu computador que o SGBD usa; o endereço IP do computador onde executa o programa servidor web; a porta do TCP/IP, no computador de destino, correspondente ao programa servidor web; os dados solicitados pelo programa ser- vidor web. O TCP/IP do computador do SGBD envia, por meio da web, a resposta 3 para o programa TCP/IP do computador onde executa, permanen- temente, o programa servidor web; tal TCP/IP en- trega a resposta 3 para o programa servidor web (Figura 26). Figura 26 – Recepção da resposta 3. O programa servidor web recebe a resposta 3 e repassa os dados nela contidos para o código, que completa seu processamento, obtendo o re- sultado; o resultado é formatado como um con- junto de tags HTML. Aí, caro(a) aluno(a), solicita ao TCP/IP do seu computador que envie uma mensagem conten- do: o endereço IP do seu computador; a porta do TCP/IP do seu computador que o programa servidor web usa; o endereço IP da estação de trabalho onde executa o programa navegador; a porta do TCP/IP, no computador de destino, correspondente ao programa navegador; o resultado solicitado pelo programa navegador sob a forma de um conjunto de tags HTML. O TCP/IP do computador do programa ser- vidor web envia, por meio da web, a resposta 2 para o programa TCP/IP da estação de trabalho onde executa o programa navegador; tal TCP/IP entrega a resposta 2 para o programa navegador (Figura 27). Sistemas de Informação Distribuídos para Internet I Unisa | Educação a Distância | www.unisa.br 29 Figura 27 – Recepção da resposta 2. Caro(a) aluno(a), o programa navegador re- cebe a resposta 2 contendo o resultado formata- do por meio de um conjunto de tags HTML, pro- cessa as tags HTML e apresenta a janela 2 com o resultado no monitor da estação de trabalho para o usuário (Figura 28). Figura 28 – Janela 2. Como foi visto, num sistema de informação distribuído no ambiente da internet, o resultado desejado pelo usuário pode ser obtido de manei- ra mais fácil pelo funcionamento colaborativo e coordenado de programas do tipo navegador, processando tags HTML, de programas do tipo servidor web, ativando códigos sob seu controle, e de programas do tipo servidor de dados, que executam em diferentes computadores. Com base no que foi descrito, em relação à arquitetura em camadas, pode-se concluir que: o programa do tipo navegador, que processa tags HTML, implementa a ca- mada de apresentação; o programa do tipo servidor web, que ativa códigos sob seu controle, imple- menta a camada de negócio; o programa do tipo servidor de dados implementa a camada de dados. Ainda com base no que foi descrito, em re- lação à arquitetura cliente-servidor, pode-se con- cluir que: o programa navegador é cliente do pro- grama servidor web: envia-lhe mensa- gens e recebe respostas dele; o programa servidor web é servidor do navegador e cliente do programa ser- vidor de dados: envia mensagens ao SGBD e recebe respostas dele; o SGBD é servidor do programa servi- dor web. Itsche Baran Unisa | Educação a Distância | www.unisa.br 30 Este capítulo mostrou que a camada de apresentação pode ser desenvolvida e implementada de forma menos trabalhosa por meio do uso conjunto de softwares, como: linguagem Hyper Text Markup Language (HTML); linguagem JavaScript; navegador (browser). Também foi explicado que a camada de negócio pode ser desenvolvida e implementada de forma menos trabalhosa por meio de diversas alternativas. Uma delas corresponde ao uso conjunto de: linguagem PHP; servidor web Apache. Outra opção é utilizar: linguagem Java Server Page (JSP). servidor web Apache Tomcat. Pode-se ainda empregar: linguagem Asynchronous Server Page (ASP); servidor web Internet Information Service (IIS). Finalizando, foi apresentado o fluxo detalhado de uma solução implementada por meio de tais recursos. 2.5 Resumo do Capítulo 2.6 Atividades Propostas Vamos, agora, avaliar a sua aprendizagem, efetuando as atividades a seguir. 1. Assinale a afirmação incorreta: a) Apache é o nome de um servidor web. b) HTML é o nome de uma linguagem. c) JavaScript é o nome de um browser. Sistemas de Informação Distribuídos para Internet I Unisa | Educação a Distância | www.unisa.br 31 d) ASP é o nome de uma linguagem. e) IIS é o nome de um servidor web. 2. Em relação ao HTML, assinale a afirmação correta: a) HTML é uma linguagem. b) HTML é um comando do Windows. c) HTML é um comando do Linux. d) HTML é um comando do UNIX. e) HTML é o nome de um sistema gerenciador de banco de dados. 3. Assinale a opção que completa corretamente a afirmação a seguir: Uma funcionalidade da camada de apresentação pode ser implementada usando... a) HTML e SGBD. b) HTML e web server. c) HTML e UNIX. d) HTML e Linux. e) HTML e browser. Unisa | Educação a Distância | www.unisa.br 33 Neste curso, caro(a) aluno(a), foram abordados conceitos básicos referentes a sistemas de informa- ção distribuídos para internet e aos componentes de software que os constituem. Os conceitos apresentados envolvem as características: da arquitetura em camadas, frequentemente usada em projetos dessa espécie; das camadas de apresentação, negócio, dados e comunicação; da arquitetura cliente-servidor, também presente em projetos dessa espécie; da atuação de um programa como cliente ou servidor. Também foram tratados os diferentes tipos de programas que implementam um sistema de infor- mação distribuído para internet de modo a obedecer às arquiteturas mencionadas. Foi detalhado o fluxo de execução coordenada e colaborativa de tais programas. Foi apresentado um conjunto de recursos de software que possibilita o aumento da produtividade no desenvolvimento de tais sistemas. CONSIDERAÇÕES FINAIS3 Unisa | Educação a Distância | www.unisa.br 35 CAPíTULO 1 1. A opção correta é a “E”, porque a arquitetura cliente-servidor é a única arquitetura com tal nome mencionada nesta apostila. 2. A opção correta é a “D”, porque o funcionamento dos programas no caso de sistemas distribuí- dos ocorre de maneira colaborativa e coordenada, conforme descrito nesta apostila. 3. A opção correta é a “A”, porque,pelas suas características, a internet possibilita naturalmente a execução colaborativa e coordenada de programas, graças, por exemplo, ao apoio de softwa- res como o browser e a implementação do TCP/IP. CAPíTULO 2 1. A opção certa é a “C”, pois é incorreto afirmar que JavaScript é o nome de um browser, pois se trata de uma linguagem. 2. A opção correta é a “A”, pois HTML é uma linguagem. 3. A opção correta é a “E”, pois o uso combinado do browser e da linguagem HTML permite de- senvolver e implementar uma funcionalidade da camada de apresentação com grande efi- ciência. RESPOSTAS COMENTADAS DAS ATIVIDADES PROPOSTAS Unisa | Educação a Distância | www.unisa.br 37 CARDOSO, M. Desenvolvimento web para o ensino superior. Rio de Janeiro: Axcel Books do Brasil, 2004. MARCELO, M. S. Construindo sites adotando padrões web. Rio de Janeiro: Ciência Moderna, 2004. MARCONDES, C. A. Programando em HTML. 5. ed. São Paulo: Érica, 2004. MURHAMMER, M. W. et al. TCP/IP tutorial and technical overview. USA: IBM, 1998. NETO, O. M. Entendendo e dominando o Java para internet. São Paulo: Digerati Books, 2006. TANENBAUM, A. S. Computer networks. 3. ed. USA: Prentice Hall, 1996. TANENBAUM, A. S.; STEEN, M. V. Sistemas distribuídos. 2. ed. São Paulo: Editora Pearson, 2008. REFERÊNCIAS INTRODUÇÃO 1 CONCEITOS INICIAIS 1.3 Arquiteturas Utilizadas 1.4 Fluxo Conceitual Detalhado 1.5 Resumo do Capítulo 1.6 Atividades Propostas 2 DESENVOLVIMENTO 2.3 Servidor Web (Web Server) 2.4 Fluxo Conceitual Detalhado 2.5 Resumo do Capítulo 2.6 Atividades Propostas 3 CONSIDERAÇÕES FINAIS RESPOSTAS COMENTADAS DAS ATIVIDADES PROPOSTAS REFERÊNCIAS
Compartilhar