Banco de dados ou Database (DB) tem esse nome por ser
uma recurso na qual é possível armazenar dados de maneira estruturada (armazenamento com base em tabelas), essa estrutura ajuda a diminuir a redundância de dados gerenciando os processos de armazenamento. O banco de dados se comunica pelo relacionamento de entidades (tabelas), que são associações entre uma ou várias entidades, e podem ser divididos entre graus de relacionamento. E existem vários tipos, um exemplo é o auto relacionamento (relacionamento recursivo) as entidades devem ser do mesmo tipo, mas terem pápeis diferentes. UM SISTEMA DE BANCO DE DADOS É UM SISTEMA DE MANUTENÇÃO DE REGISTROS POR COMPUTADOR ENVOLVENDO QUATRO COMPONENTES PRINCIPAIS, SENDO ELES DADOS, HARDWARE, SOFTWARE E USUÁRIO. UM SISTEMA DE BANCO DE DADOS PODE SER CONSIDERADO UMA SALA DE ARQUIVOS ELETRÔNICOS, E EXISTEM VÁRIOS TIPOS DE MÉTODOS, TÉCNICAS E FERRAMENTAS QUE VISAM AJUDAR O MANUSEIO DO BANCO DE DADOS. O BANCO DE DADOS É GERENCIADO PELOS SGBD (SISTEMAS GERENCIADORES DE BANCO DE DADOS) OU EM INGLÊS DBMS (DATABASE MANAGER SYSTEM) QUE É UM CONJUNTO DE SERVIÇOS (APLICAÇÕES SOFTWARE), TEM COMO PRINCIPAL FUNÇÃO RETIRAR DA APLICAÇÃO CLIENTE A RESPONSABILIDADE DE GERIR O ACESSO, A MANIPULAÇÃO E ORGANIZAÇÃO DE DADOS, E ASSIM AJUDANDO A MELHORAR O GERENCIAMENTO DO BANCO DE DADOS, OU SEJA, PERMITE O ACESSO AO BANCO DE DADOS DE MANEIRA SIMPLES, E FACILITA A DEFINIR, CONSTRUIR E MANIPULAR DADOS PRESENTES (INSERÇÃO, MODIFICAÇÃO, DELEÇÃO), E O SGBD É DIVIDIDO EM TRÊS NÍVEIS DE ARQUITETURA: NÍVEL FÍSICO – É COMO OS DADOS ESTÃO ARMAZENADOS E ORGANIZADOS INTERNAMENTE PELO SGBD – SISTEMA DE GESTÃO DE BANCO DE DADOS. NÍVEL CONCEITUAL – É RESPONSÁVEL POR REPRESENTAR A VISÃO DOS DADOS E A RELAÇÃO ENTRE ELES NA VISÃO DO USUÁRIO COMUM, EXEMPLO: NÚMEROS, NÍVEL EXTERNO – CORRESPONDE A FORMA COMO OS DADOS SÃO APRESENTADOS AO UTILIZAR FINAL ATRAVÉS DE INTERFACES GRÁFICAS (FORMULÁRIOS OU TELA COM INFORMAÇÕES). DADOS (SGBD) DEVE OFERECER AOS SEUS USUÁRIOS E ADMINISTRADORES MEIOS DE CRIAR DEFINIÇÕES DE DADOS, BEM COMO MANIPULAR ESSES DADOS ARMAZENADOS EM SUAS BASES. DE MODO QUE, A LINGUAGEM SQL (STRUTURED QUERY LANGUAGE) OU LINGUAGEM DE CONSULTA ESTRUTURADA, QUE É A LINGUAGEM PADRÃO PARA SISTEMAS GERENCIADORES DE BANCO DE DADOS (SGBD), ALGUNS DOS PRINCIPAIS SISTEMAS QUE UTILIZA O SQL SÃO: MYSQL, ORACLE, FIREBIRD, POSTGRESQL (CODIGO ABERTO), JAVA). SQL É UMA LINGUAGEM ESSENCIALMENTE DECLARATIVA. ISSO SIGNIFICA QUE O PROGRAMADOR NECESSITA APENAS DE INDICAR QUAL O OBJETIVO PRETENDIDO PARA QUE SEJA EXECUTADO PELO SGBD. APESAR DA SQL SER CONHECIDA COM UMA “LINGUAGEM DE CONSULTA”, ELA OFERECE TAMBÉM RECURSOS PARA DEFINIR A ESTRUTURA DOS DADOS, POR EXEMPLO – CRUD (INSERÇÃO, CONSULTA, ATUALIZAÇÃO, EXCLUSÃO). OU SEJA, BANCO DE DADOS NÃO É NADA MAIS QUE UMA COLEÇÃO DE DADOS INTER-RELACIONADOS, QUE APRESENTA UM DOMÍNIO ESPECIFICO. O QUE É E COMO USAR O MYSQL? O MYSQL É UM SISTEMA GERENCIADOR DE BANCO DE DADOS RELACIONAL DE CÓDIGO ABERTO USADO NA MAIORIA DAS APLICAÇÕES GRATUITAS PARA GERIR SUAS BASES DE DADOS. O MYSQL UTILIZA A LINGUAGEM SQL (STRUCTURE QUERY LANGUAGE – LINGUAGEM DE CONSULTA ESTRUTURADA), QUE É A LINGUAGEM MAIS POPULAR PARA INSERIR, ACESSAR E GERENCIAR O CONTEÚDO ARMAZENADO NUM BANCO DE DADOS. O MYSQL É UM SISTEMA GERENCIADOR DE BANCO DE DAD RELACIONAL DE CÓDIGO ABERTO USADO NA MAIORIA DAS APLICAÇÕES GRATUITAS PARA GERIR SUAS BASES DE DADO O SERVIÇO UTILIZA A LINGUAGEM SQL (STRUCTURE QUERY LANGUAGE – LINGUAGEM DE CONSULTA ESTRUTURADA), QUE É A LINGUAGEM MAIS POPULAR PARA INSERIR, ACESSAR E GERENCIAR O CONTEÚDO ARMAZENADO NUM BANCO DE DADOS. NA CRIAÇÃO DE APLICAÇÕES WEB ABERTAS E GRATUITAS, O CONJUNTO DE APLICAÇÕES MAIS USADO É O LAMP, UM ACRÔNIMO PARA LINUX, APACHE, MYSQL E PERL/PHP/PYTHON. NESSE CONJUNTO DE APLICAÇÕES, INCLUI- SE, RESPECTIVAMENTE, UM SISTEMA OPERACIONAL, UM SERVIDOR WEB, UM SISTEMA GERENCIADOR DE BANCO DE DADOS E UMA LINGUAGEM DE PROGRAMAÇÃO. ASSIM, O MYSQL É UM DOS COMPONENTES CENTRAIS DA MAIORIA DAS APLICAÇÕES PÚBLICAS DA INTERNET. COMO USAR O MYSQL PARA UTILIZAR O MYSQL, É NECESSÁRIO INSTALAR UM SERVIDOR E UMA APLICAÇÃO CLIENTE. O SERVIDOR É O RESPONSÁVEL POR ARMAZENAR OS DADOS, RESPONDER ÀS REQUISIÇÕES, CONTROLAR A CONSISTÊNCIA DOS DADOS, BEM COMO A EXECUÇÃO DE TRANSAÇÕES CONCOMITANTES ENTRE OUTRAS. O CLIENTE SE COMUNICA COM O SERVIDOR ATRAVÉS DA SQL. A VERSÃO GRATUITA DO MYSQL É CHAMADA DE EDIÇÃO DA COMUNIDADE E POSSUI O SERVIDOR E UMA INTERFACE GRÁFICA CLIENTE. NO MYSQL, O PRINCIPAL CLIENTE É A INTERFACE GRÁFICA CLIENTE FORNECIDA PELA ORACLE, DENOMINADA MYSQL WORKBENCH. ATRAVÉS DO MYSQL WORKBENCH, PODE-SE EXECUTAR CONSULTAS SQL, ADMINISTRAR O SISTEMA E MODELAR, CRIAR E MANTER A BASE DE DADOS ATRAVÉS DE UM AMBIENTE INTEGRADO. O MYSQL WORKBENCH ESTÁ DISPONÍVEL PARA WINDOWS, LINUX E MAC OS. SISTEMAS CLIENTE/SERVIDOR A TECNOLOGIA CLIENTE/SERVIDOR É UMA ARQUITETURA NA QUAL O PROCESSAMENTO DA INFORMAÇÃO É DIVIDIDO EM MÓDULOS OU PROCESSOS DISTINTOS. UM PROCESSO É RESPONSÁVEL PELA MANUTENÇÃO DA INFORMAÇÃO (SERVIDORES) E OUTROS RESPONSÁVEIS PELA OBTENÇÃO DOS DADOS (OS CLIENTES).OS PROCESSOS CLIENTE ENVIAM PEDIDOS PARA O PROCESSO SERVIDOR, E ESTE POR SUA VEZ PROCESSA E ENVIA OS RESULTADOS DOS PEDIDOS. NOS SISTEMAS CLIENTE/SERVIDOR O PROCESSAMENTO TANTO DO SERVIDOR COMO O DO CLIENTE SÃO EQUILIBRADOS, SE FOR GERADO UM PESO MAIOR EM UM DOS DOIS LADOS, PROVAVELMENTE, ESSE NÃO É UM SISTEMA CLIENTE/SERVIDOR. GERALMENTE, OS SERVIÇOS OFERECIDOS PELOS SERVIDORES DEPENDEM DE PROCESSAMENTO ESPECÍFICO QUE SÓ ELES PODEM FAZER. O PROCESSO CLIENTE, POR SUA VEZ, FICA LIVRE PARA REALIZAR OUTROS TRABALHOS. A INTERAÇÃO ENTRE OS PROCESSOS CLIENTE E SERVIDOR É UMA TROCA COOPERATIVA, EM QUE O CLIENTE É O ATIVO E O SERVIDOR REATIVO, OU SEJA O CLIENTE REQUISITA UMA OPERAÇÃO, E NESTE PONTO O SERVIDOR PROCESSA E RESPONDE AO CLIENTE. A MAIOR PARTE DOS SISTEMAS OPERACIONAIS DE MULTITAREFA (UMA CPU COMPARTILHADA POR DIVERSOS PROCESSOS) OU MULTIPROCESSAMENTO (MÚLTIPLAS CPUS DE MULTITAREFA COMPARTILHADA POR VÁRIOS PROCESSOS SIMULTANEAMENTE) OFERECEM FACILIDADES DE COMUNICAÇÃO ENTRE PROCESSOS (IPC). OS PROCESSOS QUE RODAM EM PARALELO E, QUE ATRAVÉS DESTAS FACILIDADES SE COMUNICAM , SÃO PROCESSOS CONCORRENTES, MESMO QUE ESTEJAM RODANDO EM MÁQUINAS DISTINTAS. A COMUNICAÇÃO ENTRE ESTES PROCESSOS PODE SER FEITA ATRAVÉS DE MECANISMOS DINÂMICOS, COMO MEMÓRIA COMPARTILHADA OU FACILIDADES DE IPC (O MELHOR EXEMPLO É O RPC), OU ESTÁTICOS, COMO BLOQUEIOS DE SISTEMA DE ARQUIVOS. RPC - CHAMADA DE PROCEDIMENTO REMOTO (RPC) É UM MECANISMO QUE PERMITE QUE OS PROCESSOS DO WINDOWS SE COMUNIQUEM, ENTRE UM CLIENT E UM SERVIDOR EM UMA REDE OU EM UM ÚNICO COMPUTADOR OS PROCESSOS DISTRIBUÍDOS SÃO PROCESSOS CONCORRENTES QUE SE COMUNICAM ATRAVÉS DE IPC. HÁ 4 TIPOS BÁSICOS DE PROCESSOS DISTRIBUÍDOS: OS FILTROS, CLIENTES, SERVIDORES E PEERS. OS PROCESSOS DE FILTRO REALIZAM UMA OPERAÇÃO FIXA NO FLUXO DE DADOS, PASSANDO PARA O OUTRO PROCESSO O RESULTADO DA OPERAÇÃO. OS PROCESSOS PEER, TAMBÉM CHAMADOS DE NÃO HIERÁRQUICOS SÃO IDÊNTICOS UM AO OUTRO, INTERAGINDO DE FORMA COOPERATIVA PARA REALIZAR UM TRABALHO ÚTIL. OS PROCESSOS CLIENTE/SERVIDOR SÃO DISTINTOS E INTERAGEM ENTRE SI Cliente O processo de cliente é ativo, ou seja são eles que solicitam serviços a outros programas, os servidores.
Normalmente o cliente é dedicado à sessão do
usuário, começando e terminando com a sessão. Um cliente pode interagir com um ou mais servidores, mas pelo menos um processo servidor é necessário. A nível de aplicação, o primeiro ponto a residir no cliente é a interface com o usuário. Algumas tarefas a serem realizadas pelo Cliente: MANIPULAÇÃO DE TELA INTERPRETAÇÃO DE MENUS OU COMANDOS ENTRADA E VALIDAÇÃO DOS DADOS PROCESSAMENTO DE AJUDA RECUPERAÇÃO DE ERRO MANIPULAÇÃO DE JANELAS GERENCIAMENTO DE SOM E VÍDEO (EM APLICAÇÕES MULTIMÍDIA) SERVIDORES SERVIDORES SÃO PROGRAMAS QUE RESPONDEM AS SOLICITAÇÕES POR SERVIÇOS COMPARTILHADOS. ELE É UM PROCESSO REATIVO, DISPARADO PELA CHEGADA DE PEDIDOS DE SEUS CLIENTES.GERALMENTE, O PROCESSO SERVIDOR RODA O TEMPO TODO, OFERECENDO SERVIÇOS A MUITOS CLIENTES.EM ALGUNS SISTEMAS, O PROCESSO SERVIDOR EM VEZ DE RESPONDER DIRETAMENTE, CRIA UM PROCESSO ESCRAVO EXCLUSIVAMENTE PARA CADA PEDIDO DE CLIENTE. O SERVIDOR BANCO DE DADOS ORACLE TRABALHA DESTA FORMA, QUANDO CHEGA UM PEDIDO, ELE CRIA UM PROCESSO ESCRAVO DEDICADO A TRABALHAR NESTE PEDIDO, DEIXANDO ASSIM O PROCESSO MESTRE LIVRE PARA RECEBER OUTROS PEDIDOS O PROCESSAMENTO DO SERVIDOR GERALMENTE INCLUI: ACESSAR, ARMAZENAR, ORGANIZAR OS DADOS COMPARTILHADOS, ATUALIZAR DADOS PREVIAMENTE ARMAZENADOS GERENCIAMENTO DOS RECURSOS COMPARTILHADOS. RECURSOS COMPARTILHADOS PODEM SER: DADOS, CPU, ARMAZENAMENTO EM DISCO , CAPACIDADE DE IMPRESSÃO, COMUNICAÇÃO E ATÉ GERENCIAMENTO DE VÍDEO E MEMÓRIA. AS APLICAÇÕES EM BANCO DE DADOS CLIENTE/SERVIDOR EM SUA MAIORIA SÃO MONTADOS EM CIMA DE BANCO DE DADOS SQL PRONTOS COMO ORACLE, INFORMIX, INGRESS, SYBASE, ETC. POR EXEMPLO, UMA APLICAÇÃO DESENVOLVIDAS COM UMA LINGUAGEM DE 4ª GERAÇÃO (4GL) PROGRESS INTERAGINDO COM DISPOSITIVO DE BANCO DE DADOS ORACLE É UMA APLICAÇÃO CLIENTE/SERVIDOR, ONDE O PROGRESS CONSTITUI O PROCESSO CLIENTE E O DISPOSITIVO ORACLE É O PROCESSO SERVIDOR, AMBOS RODAM EM NÍVEL DE APLICAÇÃO CARACTERIZANDO ASSIM UMA APLICAÇÃO CLIENTE/SERVIDOR. VANTAGENS ESCALABILIDADE- UM SISTEMA CLIENTE/SERVIDOR PODE SER EXPANDIDO VERTICALMENTE PELA ADIÇÃO DE MAIS RECURSOS À MÁQUINA SERVIDORA OU AUMENTO DO NÚMERO DE SERVIDORES - OU HORIZONTALMENTE, PELO AUMENTO DO NÚMERO DE MÁQUINAS SERVIDORAS. INDEPENDÊNCIA DE PLATAFORMAS - OS SISTEMAS CLIENTE/SERVIDOR NÃO FICAM PRESOS A UM AMBIENTE DE SOFTWARE OU HARDWARE. MELHOR PERFORMANCE- COM A FORÇA DE PROCESSAMENTO DISTRIBUÍDA, O TEMPO DE PROCESSAMENTO É MENOR, CONSEQUENTEMENTE O TEMPO DE RESPOSTA TAMBÉM É MENOR. FÁCIL ACESSO AOS DADOS- COMO É O PROCESSO CLIENTE QUE GERENCIA A INTERFACE, DEIXANDO O SERVIDOR LIVRE PARA MANIPULAR OS DADOS, ESTE POR SUA VEZ FICA MAIS DISPONÍVEL. REDUÇÃO DE CUSTOS OPERACIONAIS-COMO OS CUSTOS DE HARDWARE E SOFTWARE ESTÃO CONSTANTEMENTE SENDO REDUZIDOS, A TROCA DOS SISTEMAS GRANDES POR SISTEMAS COM REDES INTEGRADAS PODE SER FEITA COM UM BAIXO CUSTO. PRINCÍPIOS DA ARQUITETURA CLIENTE- SERVIDOR OS SERVIÇOS DE REDE QUE ESTUDAREMOS REFEREM-SE A SOFTWARES IMPLEMENTADOS A PARTIR DAS ESPECIFICAÇÕES DE PROTOCOLOS DA CAMADA DE APLICAÇÃO DO MODELO TCP/IP QUE UTILIZAM A ARQUITETURA CLIENTE/SERVIDOR. NESTA ARQUITETURA TEMOS HOSTS COM FUNÇÕES BEM DEFINIDAS, SEMPRE HAVENDO UM HOST CHAMADO SERVIDOR, QUE ATENDE A REQUISIÇÕES DOS DEMAIS HOSTS DENOMINADOS CLIENTES. A COMUNICAÇÃO ENTRE OS CLIENTES NUNCA É DIRETA, MAS MEDIADA PELO SERVIDOR. ESTE GERALMENTE É IDENTIFICADO POR UM ENDEREÇO IP FIXO, VISTO QUE SE TRATA DE UM HOST QUE É FREQUENTEMENTE REFERENCIADO PELOS DEMAIS CLIENTES DE REDE. O SERVIDOR E CLIENTES DE REDE COMUNICAM-SE ATRAVÉS DE MENSAGENS. PARA FAZER USO DE SERVIÇO, O CLIENTE ENVIA MENSAGENS AO SERVIDOR QUE RESPONDE A ESTAS SOLICITAÇÕES COM NOVAS MENSAGENS. ESSAS SÃO FORMATADAS DE ACORDO COM AS ESPECIFICAÇÕES DO PROTOCOLO DE APLICAÇÃO, CONHECIDAS COMO RFCS (REQUEST FOR COMMENTS) O QUE GARANTE ÀS MESMAS A INDEPENDÊNCIA DA PLATAFORMA UTILIZADA, SEJA DO FABRICANTE DO SOFTWARE PROVEDOR DO SERVIÇO OU DO SISTEMA OPERACIONAL UTILIZADO POR AMBOS. O SERVIDOR WEB É O EXEMPLO MAIS COMUM: ELE UTILIZA O PROTOCOLO HTTP (HYPERTEXT TRANSFER PROTOCOL OU PROTOCOLO DE TRANSFERÊNCIA DE HIPERTEXTO) QUE GARANTE QUE OS ARQUIVOS DE HIPERTEXTO SEJAM TRANSFERIDOS E COMPREENDIDOS PELOS CLIENTES (COMO O FIREFOX OU INTERNET EXPLORER) INDEPENDENTEMENTE DO SOFTWARE SERVIDOR UTILIZADO (APACHE OU IIS). OS PROTOCOLOS DE APLICAÇÃO SÃO ASSOCIADOS A PROTOCOLOS DE TRANSPORTE. SERVIÇOS ORIENTADOS À CONEXÃO, COMO O HTTP, POR EXEMPLO, GERALMENTE SE ENCONTRAM ASSOCIADOS AO PROTOCOLO TCP (TRANSMISSION CONTROL PROTOCOL), JÁ OS SERVIÇOS QUE EXIJAM RAPIDEZ A NA RESPOSTA AS REQUISIÇÕES, COMO O DHCP, ENCONTRAM-SE ASSOCIADOS A PROTOCOLOS NÃO ORIENTADOS À CONEXÃO COMO O UDP (USER DATAGRAM PROTOCOL). A INTERFACE ENTRE OS PROTOCOLOS DE TRANSPORTE DE APLICAÇÃO OCORRE ATRAVÉS DE PORTAS DE COMUNICAÇÃO. TRATA-SE DE UM NÚMERO DE 16 BITS QUE PERMITE REALIZAR O ENCAMINHAMENTO DAS REQUISIÇÕES DE CLIENTES AOS PROTOCOLOS DE APLICAÇÃO CORRESPONDENTES. PARA CADA PROTOCOLO DE TRANSPORTE EXISTEM 65.535 PORTAS DISPONÍVEIS. QUANDO A MENSAGEM CHEGA AO DESTINATÁRIO, O PROTOCOLO TRANSPORTE ENCARREGA-SE DE ENCAMINHÁ-LO À APLICAÇÃO CORRESPONDENTE, QUE É INDICADA POR SUA PORTA DE COMUNICAÇÃO. POR EXEMPLO, SEMPRE QUE UM CLIENTE DE REDE QUISER ACESSAR UMA PAGINA WEB ARMAZENADA EM UM SERVIDOR HTTP, ENVIARÁ UMA REQUISIÇÃO À PORTA 80. AO RECEBER ESSA SOLICITAÇÃO, O SERVIDOR A ENCAMINHARÁ AO SERVIÇO QUE RESPONDE POR ESTA PORTA DE COMUNICAÇÃO. CASO OUTRO CLIENTE SOLICITE O MESMO ACESSO, O PROCESSO SE REPETIRÁ, ENTRETANTO, SERÃO CRIADOS PROCESSOS INDIVIDUAIS NO SERVIDOR, A PARTIR DOS QUAIS SERÁ POSSÍVEL CONTROLAR AS SOLICITAÇÕES DOS DIFERENTES CLIENTES. SE ESTE MESMO SERVIDOR TAMBÉM PROVER ACESSO REMOTO ATRAVÉS DO SERVIÇO SSH (SECURE SHELL), DEVERÁ RECEBER SOLICITAÇÕES PELA PORTA 22 QUE SERÃO ENCAMINHADAS AO SERVIÇO CORRESPONDENTE. DEMANDA DA ELEIÇÃO DE UMA PORTA DE COMUNICAÇÃO LOCAL PELA QUAL RECEBERÁ A RESPOSTA DO SERVIDOR. POR EXEMPLO, PARA REALIZAR O ACESSO REMOTO, O CLIENTE ENVIA UMA MENSAGEM AO SERVIDOR, REQUISITANDO ESSE SERVIÇO POR MEIO DA PORTA 22. PARA REALIZAR O ENVIO DESSA MENSAGEM, O CLIENTE DINAMICAMENTE ABRE UMA PORTA DE COMUNICAÇÃO (1001, POR EXEMPLO) POR MEIO DA QUAL ESPERA RECEBER A RESPOSTA DA SUA REQUISIÇÃO. ESSA INFORMAÇÃO É ADICIONADA AO CABEÇALHO DA MENSAGEM QUE É ENVIADA AO SERVIDOR, QUE TAMBÉM CONTÉM O ENDEREÇO IP DO CLIENTE. APÓS REALIZAR O PROCESSAMENTO DESSA REQUISIÇÃO, O SERVIDOR ENVIA A RESPOSTA PARA O CLIENTE, INDICANDO O SEU ENDEREÇO LÓGICO E A PORTA PELA QUAL RECEBERÁ ESTA MENSAGEM. A FIGURA ABAIXO PROCURA EXEMPLIFICAR ESSE PROCESSO. NESSA FIGURA ENCONTRAMOS TRÊS CLIENTES DE REDE SOLICITANDO SERVIÇOS AO SERVIDOR: DOIS REQUISITAM O SERVIÇO HTTP (PORTA 80) E UM ACESSO REMOTO ATRAVÉS DE SSH (PORTA 22). AO REALIZAR ESSA REQUISIÇÃO CADA UM DESSES CLIENTES ELEGE LOCALMENTE UMA PORTA DE COMUNICAÇÃO (NO EXEMPLO AS PORTAS 1001 A 1003), PELA QUAL DEVE RECEBER AS RESPOSTAS DO SERVIDOR. NA MENSAGEM ENVIADA CONSTAM OS ENDEREÇOS IP DO HOST DE ORIGEM, PORTA DE COMUNICAÇÃO DE ORIGEM, O ENDEREÇO IP DO SERVIDOR E A PORTA DE COMUNICAÇÃO DO SERVIÇO QUE ESTÁ SENDO SOLICITADO. AO RECEBER ESSA REQUISIÇÃO, O SERVIDOR A ENCAMINHA PARA A APLICAÇÃO CORRESPONDENTE QUE A PROCESSA E ENCAMINHA O RESULTADO AO CLIENTE, COM BASE NAS INFORMAÇÕES DE ENDEREÇAMENTO CONTIDAS NA MENSAGEM ENVIADA. TIPOS DE SERVIDORES E SERVIÇOS DE REDE EM UMA REDE DE COMPUTADORES, OS SERVIDORES PODEM AGREGAR DIVERSOS SERVIÇOS, OU SEJA, HOSPEDAR DIFERENTES TIPOS DE SERVIÇOS QUE IRÁ DISPONIBILIZAR AOS CLIENTES DA REDE, COMO PODEM, TAMBÉM, ATENDER A UMA ÚNICA TAREFA – ISSO DEPENDERÁ EXCLUSIVAMENTE DA NECESSIDADE DE CADA REDE DE COMPUTADORES. EXISTE ATUALMENTE UMA AMPLA VARIEDADE DE SERVIDORES, COM OS MAIS VARIADOS FINS. A TABELA ABAIXO APRESENTA ALGUNS DOS PRINCIPAIS SERVIDORES , SUAS CARACTERÍSTICAS E DESCRIÇÕES SERVIDOR FUNÇÃO CARACTERÍSTICAS
SERVIDOR DE ARQUIVOS ARMAZENAR DADOS O SERVIDOR DE ARQUIVOS
COMPARTILHADOS ENTRE MAIS COMUM EM AMBIENTES DIFERENTES USUÁRIOS DE UMA MICROSOFT É DENOMINADO REDE DE COMPUTADORES ACTIVE DIRECTORY.ALÉM DE GERENCIAR O COMPARTILHAMENTO DE ARQUIVOS , PASTAS E SUBPASTAS, CONTROLA TAMBEM USUÁRIOS, GRUPOS E LISTAS DE ACESSO. NO SISTEMA OPERACIONAL LINUX, QUEM REALIZA ESTA TAREFA É O SERVIDOR SAMBA SERVIDOR FUNÇÃO CARACTERÍSTICAS
SERVIDOR DE IMPRESSÃO PROCESSAR OS PEDIDOS DE COTAS DE IMPRESSÃO PODEM
IMPRESSÃO DEMANDADAS SER CONFIGURADAS AOS PELO USUÁRIOS DA REDE DE USUÁRIOS , COMO FORMA DE COMPUTADORES E ORDENAR A LIMITAR E CONTROLAR A IMPRESSÃO (FILA) QUANTIDADE DE IMPRESSÃO
SERVIDOR WEB ARMAZENAR AS PÁGINAS DOS GERALMENTE ESTES
USUÁRIOS (SITES) QUE SERVIDORES FUNCIONAM FICARÃO PÚBLICAS NA JUNTAMENTE COM OUTROS INTERNET(URL ESPECÍFICA) SERVIDORES QUE SE COMUNICAM ENTRE SI, COMO É O CASO DE UM SGBD E UMA LINGUAGEM DE INTERPRETAÇÃO(ASP,PHP,ETC.) SERVIDORES FUNÇAO CARACTERÍSTICAS
SERVIDOR DNS TRADUZIR ENDEREÇOS O SERVIDOR MAISTRADICIONAL
DIGITADOS NAS URLs DOS NESTA CATEGORIA É O NAVEGADORES EM ENDEREÇOS SERVIDOR BIND (LINUX) , ONDE IP É POSSÍVEL CONFIGURAR UMA SÉRIE DE CARACTERÍSTICAS RELACIONADAS E RESOLUÇÕES DE NOMES SERVIDOR FTP PERMITIR A TRANSFERÊNCIA DE É POSSÍVEL ADICIONAR UMA ARQUIVOS ENTRE UMA CAMADA DE SEGURANÇA NESTE MÁQUINA CLIENTE EO SERVIÇO UTILIZANDO O SERVIDOR PROTOCOLO SFTP, GARANTINDO UMA MAIOR CONFIABILIDADE NA TROCA DE DADOS. SERVIDOR DE ACESSO REMOTO PERMITIR O ACESSO COM A IMPLEMENTAÇÃO DO REMOTO(DE FORA DA REDE)A PROTOCOLO SSH, PRESENTE NA UM SERVIDOR DE REDE LOCAL CAMADA DE APLICAÇÃO , É POSSÍVEL PROVER ACESSO SEGURO, MEDIANTE MECANISMOS DE AUTENTICAÇÃO EXTERNAMENTE A REDE TIPOS DE SISTEMAS OPERACIONAIS DE SERVIDORES OS SISTEMAS OPERACIONAIS DE COMPUTADORES SERVIDORES CARACTERIZAM-SE COMO UM TIPO ESPECÍFICO DE SOFTWARE PROJETADO PARA TAL FUNÇÃO, OU SEJA, PROVER SERVIÇOS DE REDE QUE PODEM SER CONFIGURADOS PARA QUE OS DEMAIS CLIENTES DA REDE TENHAM ACESSO E USEM DE TAIS RECURSOS E SERVIÇOS EM UMA REDE DE COMPUTADORES. OS SISTEMAS OPERACIONAIS DE SERVIDORES PODEM SER PAGOS (VERSÕES MICROSOFT WINDOWS, COMO O WINDOWS SERVER 2012, 2016, ETC. ., ONDE AO ADQUIRIR O MESMO GERALMENTE PAGA-SE PELO SISTEMA OPERACIONAL E PELA QUANTIDADE DE CLIENTES QUE PODERÃO SE CONECTAR AO MESMO) OU LIVRES (FREE) COMO AS VERSÕES BASEADAS EM LINUX (UBUNTU SERVER, DEBIAN, OPENSUSE, REDHAT, ENTRE OUTROS, PODENDO ESTAS SEREM ALTERADAS, MODIFICADAS E DISTRIBUÍDAS LIVREMENTE). NESTA CATEGORIA DE SISTEMA OPERACIONAIS PARA COMPUTADORES SERVIDORES, DESTACAM-SE (SÃO MAIS POPULARES) AS VERSÕES WINDOWS, LINUX E MAC OS, CONFORME PODE SER VISUALIZADO NA TABELA DOS PRÓXIMOS SLIDES. WINDOWS LINUX MAC OSx WINDOWS SERVER 2000 SUSE Mac OS X v10.0 Cheetah WINDOWS SERVER 2003 DEBIAN Mac OS X v10.1 Puma WINDOWS SERVER 2008 Ubuntu Mac OS X v10.2 Jaguar WINDOWS SERVER 2012 Red Hat Mac OS X v10.3 Panther WINDOWS SERVER 2016 FEDORA Mac OS X v10.4 Tiger Slackware Mac OS X v10.5 Leopard centOS Mac OS X v10.6 Snow Leopard OpenSuse Mac OS X v10.7 Lion Gentoo Mac OS X v10.8 Mountain Lion CoreOS Mac OS X v10.9 Mavericks MAC OS x Mac OS X v10.10 Yosemite Mac OS X v10.11 El Capitan Mac OS X v10.12 Sierra Mac OS X v10.13 High Sierra CLIENTES E SERVIDORES CONECTADOS NA WEB OS CLIENTES SÃO OS USUÁRIOS DA WEB, CONECTADOS À INTERNET (COMO, POR EXEMPLO, SEU COMPUTADOR CONECTADO À SUA REDE WI-FI EM CASA OU NO TRABALHO, OU ENTÃO SEU SMARTPHONE CONECTADO À REDE DE DADOS MÓVEIS) E SOFTWARES DE ACESSO À WEB INSTALADOS NESSES APARELHOS, EXEMPLO DOS NAVEGADORES GOOGLE CHROME, SAFARI, MOZILLA, ETC. JÁ OS SERVIDORES SÃO COMPUTADORES QUE ARMAZENAM PÁGINAS OU APLICATIVOS. DESTA FORMA, QUANDO O COMPUTADOR DE UM CLIENTE QUER ACESSAR UMA URL (PÁGINA NA INTERNET), UMA CÓPIA DESTA É BAIXADA DO SERVIDOR À MÁQUINA DO CLIENTE PARA SER MOSTRADA NO BROWSER. O HTTP TEM UM PAPEL FUNDAMENTAL NESTA COMUNICAÇÃO, POIS ELE É O PROTOCOLO UTILIZADO PELOS NAVEGADORES E SERVIDORES WEB SE COMUNICAREM. ASSIM, QUANDO O NAVEGADOR SOLICITA UMA PÁGINA WEB, ESTE PROCEDIMENTO É CHAMADO DE REQUISIÇÃO E QUANDO O SERVIDOR WEB ENVIA A PÁGINA SOLICITADA DE VOLTA É CHAMADO DE RESPOSTA. ESTA ABORDAGEM É CONHECIDA COMO ARQUITETURA CLIENTE- SERVIDOR. A FIGURA 81 MOSTRA UM EXEMPLO DE REQUISIÇÃO E RESPOSTA, BEM COMO A TROCA DE MENSAGENS ENTRE CLIENTE E SERVIDOR, ATÉ QUE A PÁGINA SEJA EXIBIDA NO NAVEGADOR DO USUÁRIO. NA FIGURA ANTERIOR, PODEMOS OBSERVAR O SEGUINTE CENÁRIO: 1 E 2 – INICIA-SE A REQUISIÇÃO A UMA PÁGINA WEB ATRAVÉS DA INSERÇÃO DO DOMÍNIO (URL A SER ACESSADA) POR PARTE DO USUÁRIO (NA FIGURA DENOMINADO DE “CLIENTE”). O SERVIDOR RESPONSÁVEL POR ESTE DOMÍNIO, ENVIA UMA RESPOSTA POR MEIO DO PROTOCOLO HTTP, INFORMANDO O ENDEREÇO IP CORRESPONDENTE. A SEGUNDA PARTE NESTA TROCA DE INFORMAÇÕES REFERE-SE AO CLIENTE SOLICITAR ACESSO À PORTA 80 JUNTO AO SERVIDOR. O SERVIDOR EM SEGUIDA RESPONDE “OK” À SOLICITAÇÃO DO CLIENTE, QUE AÍ ENTÃO INICIA A CONEXÃO. 3-– UMA VEZ ESTABELECIDA A CONEXÃO ENTRE CLIENTE E SERVIDOR (USUÁRIO QUE ACESSA UMA PÁGINA E COMPUTADOR/SERVIDOR QUE RESPONDE A ESTA SOLICITAÇÃO) AS MENSAGENS DE ORIGEM E DESTINO (PRODUZIDAS PELO NAVEGADOR E SERVIDOR) SÃO QUEBRADAS EM PACOTES MENORES E TRANSMITIDAS ATRAVÉS DA REDE UTILIZANDO O PROTOCOLO TCP NESTA COMUNICAÇÃO (E, RESPECTIVAMENTE, SUAS REGRAS E CONFIRMAÇÕES DE AMBOS OS LADOS). 4-– POR FIM, O CONTEÚDO DA PÁGINA WEB É GERADO E EXIBIDO AO USUÁRIO FINAL. O ENTENDIMENTO DO FUNCIONAMENTO DA INTERNET E DA WEB É FUNDAMENTAL PARA OS ASSUNTOS DAS SEÇÕES SUBSEQUENTES. A IDEIA DE PROTOCOLOS DE COMUNICAÇÃO, DISPOSITIVOS DE REDE, BEM COMO DEMAIS COMPONENTES QUE SERVEM DE SUPORTE ÀS REDES DE COMPUTADORES, É FUNDAMENTAL PARA O ENTENDIMENTO DAS REDES DE COMPUTADORES, SUA COMUNICAÇÃO, TRANSMISSÃO E FUNCIONAMENTO EM GERAL. OS PROTOCOLOS DA CAMADA DE APLICAÇÃO DETERMINAM PARA QUAL TIPO DE SERVIÇO A REDE SERÁ UTILIZADA, SEJA E-MAIL, NAVEGAÇÃO, TROCA DE ARQUIVOS, ENTRE OUTROS. EM OUTRAS PALAVRAS OS PROTOCOLOS DA CAMADA DE APLICAÇÃO FAZEM A CONEXÃO ENTRE AS REDES E OS APLICATIVOS INSTALADOS EM UM COMPUTADOR. O HTTP (HIPERTEXT TRANSFER PROTOCOL) , O SMTP (SIMPLE MAIL TRANSFER PROTOCOL) , O PROTOCOLO POP3 (POST OFFICE PROTOCOL), FTP (FILE TRANSFER PROTOCOL) E O DNS QUE TEM A FUNÇÃO DE TRADUZIR NOMES DE DOMÍNIOS NA INTERNET EM ENDEREÇOS IP.DNS(DOMAIN NAME SERVER – SERVIDOR DE NOMES DE DOMÍNIO) BENEFÍCIOS DO DIAGRAMA DE REDE UM DIAGRAMA DE REDE É ESSENCIALMENTE UM FLUXOGRAMA QUE INCLUI TODOS OS ELEMENTOS DO PROJETO E COMO ELES SE RELACIONAM UNS COM OS OUTROS. É AMPLAMENTE UTILIZADO PORQUE É FÁCIL DE LER E NÃO SÓ RETRATA A SEQUÊNCIA DE ATIVIDADES DO PROJETO, MAS TAMBÉM MOSTRA ATIVIDADES PARALELAS E OS ELOS ENTRE CADA ATIVIDADE. A LÓGICA DA REDE É A COLETA DE DEPENDÊNCIAS DE ATIVIDADES QUE COMPÕEM UM DIAGRAMA DE REDE PARA UM DETERMINADO PROJETO. EM OUTRAS PALAVRAS, CERTAS TAREFAS DEPENDEM UMAS DAS OUTRAS PARA CONCLUIR O PROJETO. ISSO CRIA UM FLUXO LÓGICO O DIAGRAMA DA REDE PERMITE SABER O SEGUINTE: É FÁCIL IDENTIFICAR O PROBLEMA QUE VEM DA ESTAÇÃO DE TRABALHO, LAN, WAN, SERVIDOR OU SERVIDOR DE APLICATIVOS. UM DIAGRAMA DE REDE DÁ UMA VISÃO DE UM SISTEMA SEM TER QUE ENTRAR EM DETALHES TÉCNICOS. SE BEM FEITO, TAMBÉM MOSTRARÁ QUEM É RESPONSÁVEL POR QUAIS PARTES. NOS AJUDA A ENCONTRAR NOSSAS ATIVIDADES CRÍTICAS/ NÃO CRÍTICAS. PORTANTO, SE CONHECEMOS NOSSAS ATIVIDADES CRÍTICAS, GOSTARÍAMOS DE ALOCAR NOSSAS PESSOAS CRÍTICAS NA TAREFA CRÍTICA E NO MÉDIO DESEMPENHO DAS ISSO TAMBÉM NOS AJUDA A IDENTIFICAR QUAIS ATIVIDADES PODEMOS EXECUTAR EM PARALELO, REDUZINDO ASSIM O TEMPO TOTAL DO PROJETO. POR FIM, DÁ AO GERENTE DE PROJETOS E À EQUIPE UM PONTO DE CONTATO; A PESSOA CAPAZ DE CRIAR O DIAGRAMA DE REDE CERTAMENTE TEM UM SUBESCRITO COMPLETO DO SISTEMA. O diagrama a seguir mostrou a conectividade física entre o dispositivo: PROGRAMA PARA CRIAR DIAGRAMA DE REDE E SIMULAÇÃO DO FUNCIONAMENTO