VT Integrada 1-2008 Universo

download VT Integrada 1-2008 Universo

of 44

Transcript of VT Integrada 1-2008 Universo

  • 8/7/2019 VT Integrada 1-2008 Universo

    1/44

    UNIVERSIDADE SALGADO DE OLIVEIRA - CAMPUS GOINIACURSO DE GRADUAO TECNOLGICA EM REDES DE COMPUTADORES

    VT INTEGRADA1 Perodo 2008

    Integrantes

    Bruno Leonardo CostaDiego Fonseca Elcain

    Diogo Manochio V. Silva

    Orientador

    Fabrcio Leonard

    Goinia Gois2008

  • 8/7/2019 VT Integrada 1-2008 Universo

    2/44

    SUMRIO

    1. INTRODUO ________________________________________________________ 4

    2. OBJETIVOS __________________________________________________________ 5 3. FERRAMENTAS PARA COMPUTAO __________________________________ 6 Screen Shots ___________________________________________________________________ 6

    4. APLICAO DE REDES DE COMPUTADORES ___________________________ 8 Um pouco sobre o Apache ________________________________________________________ 8 Instalando o Apache. ____________________________________________________________ 8 Descrio dos parmetros do httpd.conf ____________________________________________ 8 Opes da diretiva. _____________________________________________________________ 9

    Parmetros de cliente detalhados. ________________________________________________ 10 # Dynamic Shared Object (DSO) Support __________________________________________ 12

    5. LINGUAGEM DE PROGRAMAO _____________________________________ 17 Arquitetura Cliente-Servidor ____________________________________________________ 17 As principais caractersticas da arquitetura cliente / servidor: ___________________ 17 Arquitetura TCP/IP___________________________________________________________ 18 Domain Name System ________________________________________________________ 20 Portas IP ____________________________________________________________________ 21

    Cliente Servidor______________________________________________________________ 24 Aplicao Servidora (Servidor.java) ___________________________________________ 25 Aplicao Cliente (cliente.java)________________________________________________ 27

    6. ORGANIZAO DE COMPUTADORES __________________________________ 29 conversor.java _______________________________________________________________ 29

    7. ADMINISTRAO DE SERVIDORES WEB ______________________________ 31 Introduo . __________________________________________________________________ 31 Instalao do Tomcat. ________________________________________________________ 32

    Definindo variveis___________________________________________________________ 39 Inicializando e parando o Tomcat _____________________________________________ 39 Testanto o Tomcat ___________________________________________________________ 39 Integrando Apache com Tomcat _______________________________________________ 40 Configura o local do arquivo works.properties _________________________________ 40 Configura os arquivos de LOGS _______________________________________________ 41 Virtual Host__________________________________________________________________ 41 Criando workers.properties ________________________________________________ 41

    8. INGLES INSTRUMENTAL _____________________________________________ 42 Objetivo_____________________________________________________________________ 42

  • 8/7/2019 VT Integrada 1-2008 Universo

    3/44

    3

    Procedimentos _______________________________________________________________ 42 Texto Original________________________________________________________________ 42 Concluso ___________________________________________________________________ 43

    Resenha _____________________________________________________________________ 43 9. CONCLUSO ________________________________________________________ 44

  • 8/7/2019 VT Integrada 1-2008 Universo

    4/44

    4

    1. INTRODUO

    Esse documento foi elaborado visando documentar e detalhar os passosexecutados na elaborao e desenvolvimento da VT Integrada do 1 Perodo do Anode 2008.

    Foram abrangidas tanto a parte terica quanto a parte prtica envolvidas nasdisciplinas relacionadas.

  • 8/7/2019 VT Integrada 1-2008 Universo

    5/44

    5

    2. OBJETIVOS

    Este documento tem por objetivo descrever as tcnicas e ferramentas

    utilizadas no desenvolvimento da VT Integrada do primeiro perodo de redes decomputadores do ano de 2008.

  • 8/7/2019 VT Integrada 1-2008 Universo

    6/44

    6

    3. FERRAMENTAS PARA COMPUTAO

    Screen Shots

    Titulo de Pginas, Formatao (Negrito, Itlico, Sublinhado), Pargrafos, cor de fundo.

    Alinhamento de Texto, formatao de fontes, tabelas (0 de borda), frames, CSS, imagens,

    Marquee

  • 8/7/2019 VT Integrada 1-2008 Universo

    7/44

    7

  • 8/7/2019 VT Integrada 1-2008 Universo

    8/44

    8

    4. APLICAO DE REDES DE COMPUTADORES

    Um pouco sobre o Apache

    Apache um servidor Web. Em outras palavras, um servio que executado em um sistema operacional, tal como o Linux e responde a solicitaes.

    Quando o usurio digita o endereo de uma pgina web no seu navegador,seu computador busca pelos servidores de DNS para encontrar o endereo IP doservidor Web desejado. Quando o contato estabelecido, o navegador pede pelapgina web, normalmente na porta 80 TCP/IP e por sua vez o Apache responde atais solicitaes, enviando uma pgina web ao computador solicitante.

    Em 1995, o servidor web mais popular era o daemon HTTP, do NationalCenter for Supercomputing Applications (NCSA), da Universidade de Lllinois.Quando os desenvolvedores desse servidor web saram da NCSA, vrioswebmasters de todo o mundo comearam a atualizar e manter mudanas atravs deremendos, que levaram sua descrio como um servidor patchy (remendado).Assim, esse software de servidor web conhecido como Apache.

    De acordo com uma pesquisa da Netcraft (www.netcraft.com/survey), Apache , delonge, o servidor web mais popular da Internet, e tem sido assim desde 1996.

    Instalando o Apache.

    Para se instalar o Apache, basta baixar a verso do instalador da pgina

    oficialhttp://www.apache.org.Inicialmente desenvolvido para plataforma Linux hoje o Apache tambm usado em outros sistemas operacionais do estilo Unix e Microsoft Windows.

    Hoje o Apache encontra-se na verso 2 e com algumas releases jdesenvolvidas.

    Descreveremos mais adiante nesse documento os parmetros mais utilizadosno arquivo de configurao do Apche o httpd.conf.

    Descrio dos parmetros do httpd.conf

  • 8/7/2019 VT Integrada 1-2008 Universo

    9/44

    9

    Abaixo sero detalhados os parmetros mais utilizados na configurao doApache, o arquivo completo com toda a configurao utilizado na atividade da VTIntegrada encontra-se em anexo no material entregue no CD.

    # This is the main Apache server configuration file. It contains the# configuration directives that give the server its instructions.# See for detailed information.# In particular, see# # for a discussion of each configuration directive.

    O cabealho do arquivo httpd.conf inicia dizendo que esse o arquivo deconfigurao do Apache, e informando links que podem ser acessados para se termais detalhes das opes de configuraes possveis.

    Abaixo sero descritas as diretivas usadas mais freqentemente.

    Opes da diretiva.

    ServerTokens OS Essa diretiva fornece aos usurios de seu site algumainformao bsica sobre o seu software.

    ServerTokens Prod Identifica o servidor web como Apache.

    ServerTokens Min Identifica o Apache e seu nmero de verso.

    ServerTokens OS Identifica o Apache, o seu nmero de verso e o tipo de sistemaoperacional.

    ServerTokens Full Identifica o Apache, o seu nmero de verso, o tipo de sistemaoperacional e mdulos compilados.

    ServerTokens OS

  • 8/7/2019 VT Integrada 1-2008 Universo

    10/44

    10

    A diretiva ServerRoot identifica o diretrio com o arquivo de configurao, erroe registro.

    ServerRoot "/etc/httpd"

    A diretiva PidFile, especifica o arquivo onde o Apache grava o identificador deprocesso (PID)

    PidFile run/httpd.pid

    A diretiva Timeout, especifica um valor de interrupo em segundos.

    Timeout 120

    Em geral, mltiplas solicitaes so permitidas atravs de cada conecxo. Ocomando abaixo incapacita esse comportamento.

    KeepAlive Off

    Se a diretiva KeepAlive estiver ativada possvel regular o nmero desolicitaes por conexo utilizando a diretiva abaixo em nosso caso limitados a 10,o valor default desse parmetro 100.

    MaxKeepAliveRequests 10

    Quando feita uma conexo entre o Apache e o navegador web do cliente, adiretiva abaixo especifica o nmero de segundos para esperar pela prximasolicitao de cliente.

    KeepAliveTimeout 15

    Parmetros de cliente detalhados.

  • 8/7/2019 VT Integrada 1-2008 Universo

    11/44

    11

    O Apache inclui uma srie de Multi-Porcessing (MPM). Esses MPMs sedividem em trs categorias Perfork , Worked , Per-child porm, iremos descreverapenas a Prefork MPMs que a mais utilizada e recomendada para servidores webbaseados em processos. O uso deles adequado se voc tiver mdulos de Apacheque no exeigem sequncias separadas, que imitam o comportamento do Apache1.3.x.

    ## Server-Pool Size Regulation (MPM specific)# prefork MPM

    StartServers : o nmero de processos de servidor filho prontos para os usurios quedesejam suas pginas web.

    MinSpareServers: Se a quantidade de processos de servidor no utilizados estiverabaixo do valor definido nessa diretiva, processos http adicionais soautomaticamente iniciados.

    MaxSpareServers: Determina a quantidade mxima de processos httpd que tempermisso de executar ociosos.

    ServerLimit: Define valor mximo para MaxClients

    MaxClients: Regula a quantidade mxima de solicitaes de clientes solicitandoiformaes do servidor web.

    MaxRequestsPerChild: Limita a quantidade de sequncias permitidas a cadaprocesso filho.

    StartServers 8MinSpareServers 5MaxSpareServers 20ServerLimit 256MaxClients 256

  • 8/7/2019 VT Integrada 1-2008 Universo

    12/44

    12

    MaxRequestsPerChild 4000

    Listen 80 - Essa diretiva define a porta que o servidor Apache ira escutar.

    Se voc tiver mais de um adaptador de rede, tambm pode limitar o Apachepara determinadas redes.

    Por exemplo, a seguinte diretiva s ouve ao adaptador de rede com umedereo IP de 192.168.21.1 na porta TCP/IP 80.

    Nota: A diretiva Listen substitui as diretivas BindAddress e Port da verso 1.3

    do Apache

    Listen 192.168.21.1:80

    # Dynamic Shared Object (DSO) Support

    Diretiva que indica o diretrio de onde sero de onde sero lidas asconfiguraes. config directory "/etc/httpd/conf.d".

    Include conf.d/*.conf

    Como determinado pelas diretivas de User e Group, o daemon de Apache ,httpd, designado a um nome de usurio e grupo especificados aqui, e em /etc/passwd e /etc/group

    User apache

    Group apache

    Nome do usurio que recebera as mensagens administrativas geradas peloApache.

    ServerAdmin suporte@localhost

  • 8/7/2019 VT Integrada 1-2008 Universo

    13/44

    13

    Se voc tiver um site web administrativo para o seu servidor web, poder

    ajust-lo com a diretiva ServerName.Caso contrrio se no tiver um nome totalmente qualificado em um servidor

    DNS, use o endereo IP.

    ServerName www.example.com:80Tecnicamente, cada URL deve ter uma barra no final. Mas como quase

    ningum se lembra de coloc-la, essa diretiva que includa por default nohttpd.conf se encarrega de fazer isso automaticamente.

    UseCanonicalName Off

    Esse o diretrio root do seu servidor web.

    DocumentRoot "/var/www/html"

    Em seguida, vemos as permisses padro para usurios dentro de diretriosacessveis atravs dos sites da web de seus servidores. Elas so ajustadas pelocontentor , que define as permisses associadas a DocummentRoot.

    Options FollowSymLinksAllowOverride None

    Em seguida, veremos as permisses padro em httpd.conf para o diretrio /var/www/html.

    A seguinte diretiva Options suporta o redirecionamento atravs de linksimblico e da listagem de arquivos no diretrio atual, se no houver um tipo dearquivo index.html

  • 8/7/2019 VT Integrada 1-2008 Universo

    14/44

    14

    Options Indexes FollowSymLinks

    Essa diretiva habilita os tipos de diretivas no arquivo .htaccess, por default aseguinte opo nem ao menos olha para o .htaccess

    AllowOverride None

    Finalmente, existem diretivas de controle de acesso, as seguintes buscam poruma diretiva Allow e depois por uma Deny para esse diretrio.

    Order allow,denyAllow from all

    possvel ajustar pginas web nos diretrio principais de seus usurios. Porpadro, elas so incapacitadas com o comanda abaixo.

    Caso voc queria pode substituir o comando por UserDir public_html quehabilita o aceeso ao diretrio de um usurio por exemplo.

    UserDir disable

    Quando os usurios navegam pelo seu diretrio, na verdade eles estobuscando em um diretrio. Essa diretiva, informa ao Apache os tipos de pginasweb a enviar para o usurio do site da web

    DirectoryIndex index.html index.html.var

    Como j descrito acima possvel configurar o controle de acesso a arquivosem diretrios individuias. Por padro, ele o arquivo oculto .htaccess.

  • 8/7/2019 VT Integrada 1-2008 Universo

    15/44

    15

    AccessFileName .htaccess

    Essa diretiva garante que qualquer arquivo iniciando com .ht no possa servisto por usurios que esto navegando no seu site web.

    Order allow,denyDeny from all

    Em geral, HostnameLookups ajustado para off, caso contrrio o Apachebuscar pelo nome de domnio de cada usurio solicitante. No faa isso, a menosque voc tenha acesso confivel a um servidor DNS.

    HostnameLookups Off

    Voc pode ajustar as localizaes de diferentes arquivos de registro. A

    diretiva ErrorLog, como seria de se esperar, ajusta a localizao do arquivoerror_log.

    ErrorLog logs/error_log

    Abaixo vemos um exemplo de configurao de Alias, no exemplo abaixo foiconfigurado um Alias para "/var/www/icons/" com o nome de /icons.

    Alias /icons/ "/var/www/icons/"

    Options Indexes MultiViewsAllowOverride NoneOrder allow,denyAllow from all

  • 8/7/2019 VT Integrada 1-2008 Universo

    16/44

    16

    Scripts em httpd.conf referem-se a programas que so executados atravs doservidor web.

    O Apache inicia no arquivo padro httpd.conf com uma diretiva que um Aliasespecializada para Scripts.

    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

    Define as permisses aos scripts associados aos seus sites web.

    AllowOverride NoneOptions NoneOrder allow,denyAllow from all

    Caso voc mude o nome do seu servidor web, a diretiva abaixo pode ser

    usada para redirecionar os usurios.

    Redirect permanent /vt_integrada http://www.vtintegrada.com/vt

    O arquivo de configurao do Apache muito extenso e algumas configuraes sousadas em casos e situaes especficas sendo assim, foram documentadas acima as opes dediretivas usas mais freqentemente, informaes adicionais podem ser encontradas no link

    http://httpd.apache.org/docs/2.2/en

  • 8/7/2019 VT Integrada 1-2008 Universo

    17/44

    17

    5. LINGUAGEM DE PROGRAMAO

    Arquitetura Cliente-Servidor

    uma arquitetura de rede, onde existem dois mdulos bsicos na rede: o Servidor e osClientes. OServidor alguma mquina da rede que responsvel por servidor os Clientes darede com aquilo que solicitado.Clientes so as mquinas que solicitaro informaes queestaro contidas no Servidor.

    no servidor que normalmente ficam os sistemas mais pesados da rede, tais comoo banco de dados. As mquinas clientes so menos poderosas, pois no rodamaplicativos que requerem tantos recursos das mquinas.

    Para que os servios possam ser solicitados, a aplicao cliente deve conhecerquem fornece o servio (o endereo da aplicao servidora) e qual o protocolo pr-estabelecido para realizar a solicitao.O importante em uma mquina em arquiteturaCliente/Servidor no que todas as mquinassejam do mesmo fabricante ou do mesmo tipo. O que realmente importante, o fato detodas as mquinas poderem ser interligar pela rede, com o mesmo tipo de protocolo de acesso(TCP/IP, NetBEUI)

    As principais caractersticas da arquitetura cliente / servidor:

    Oferecer uma estruturao do processamento distribudo baseado noconceito de servios;

    Servidor: provedor de servios; Cliente: consumidor de servios; Permitir o compartilhamento de recursos; Servidor pode atender a vrios clientes simultaneamente; Oferecer transparncia de localizao; Tratamento uniforme independentemente de processos estarem na mesma

    mquina ou em mquinas distintas; Permite a comunicao atravs da troca de mensagens; Cliente no precisa saber como servidor implementa o servio, mas apenas a

    interface para solicitao e resposta

  • 8/7/2019 VT Integrada 1-2008 Universo

    18/44

    18

    FONTES:http://www.dca.fee.unicamp.br/cursos/PooJava/network/cs.html http://hp.br.inter.net/cats/pb/pb1.html

    Arquitetura TCP/IP

    Dentro de uma rede TCP/IP, cada micro recebe um endereo IP nico que oidentifica na rede. Um endereo IP composto de uma seqncia de 32 bits,divididos em 4 grupos de 8 bits cada. Cada grupo de 8 bits recebe o nome de octeto.

    Veja que 8 bits permitem 256 combinaes diferentes. Para facilitar a configurao

    dos endereos, usamos ento nmeros de 0 a 255 para representar cada octeto,formando endereos como 220.45.100.222, 131.175.34.7 etc. Muito mais fcil doque ficar decorando binrios.

    O endereo IP dividido em duas partes. A primeira identifica a rede qual ocomputador est conectado (necessrio, pois numa rede TCP/IP podemos ter vriasredes conectadas entre s, veja o caso da Internet) e a segunda identifica o

    computador (chamado de host) dentro da rede.

    Obrigatoriamente, os primeiros octetos serviro para identificar a rede e os ltimosserviro para identificar o computador em si. Como temos apenas 4 octetos, estadiviso limitaria bastante o nmero de endereos possveis. Se fosse reservadoapenas o primeiro octeto do endereo por exemplo, teramos um grande nmero dehosts, mas em compensao poderamos ter apenas 256 sub-redes. Mesmo se

    reservssemos dois octetos para a identificao da rede e dois para a identificaodo host, os endereos possveis seriam insuficientes.

    SERVIDOR

    REDE DECOMUNICAO

    PC02PC 01

  • 8/7/2019 VT Integrada 1-2008 Universo

    19/44

    19

    Para permitir uma gama maior de endereos, os desenvolvedores do TPC/IPdividiram o endereamento IP em cinco classes, denominadas A, B, C, D, e E,sendo que as classes D e E esto reservadas para expanses futuras. Cada classereserva um nmero diferente de octetos para o endereamento da rede:

    Na classe A, apenas o primeiro octeto identifica a rede, na classe B so usados osdois primeiros octetos e na classe C temos os trs primeiros octetos reservados paraa rede e apenas o ltimo reservado para a identificao dos hosts.

    O que diferencia uma classe de endereos da outra, o valor do primeiro octeto. Sefor um nmero entre 1 e 126 (como em 113.221.34.57) temos um endereo declasse A. Se o valor do primeiro octeto for um nmero entre 128 e 191, ento temosum endereo de classe B (como em 167.27.135.203) e, finalmente, caso o primeiroocteto seja um nmero entre 192 e 223 teremos um endereo de classe C:

    Ao implantar uma rede TCP/IP voc dever analisar qual classe de endereos

    mais adequada, baseado no nmero de ns da rede. Veja que, com um endereoclasse C, possvel enderear apenas 254 ns de rede; com um endereo B j possvel enderear at 65,534 ns, sendo permitidos at 16,777,214 ns usandoendereos classe A. Claro que os endereos de classe C so muito mais comuns.Se voc alugar um backbone para conectar a rede de sua empresa Internet, muitoprovavelmente ir receber um endereo IP classe C, como 203.107.171.x, onde203.107.171 o endereo de sua rede dentro da Internet, e o x a faixa de 254

    endereos que voc pode usar para identificar seus hosts.

    Se voc no pretender conectar sua rede Internet, voc pode utilizar qualquerfaixa de endereos IP vlidos e tudo ir funcionar sem problemas. Mas, a partir domomento em que voc resolver conecta-los Web os endereos da sua redepoder entrar em conflito com endereos j usados na Web.

    Para resolver este problema, basta utilizar uma das faixas de endereos reservados.Estas faixas so reservadas justamente ao uso em redes internas, por isso no soroteadas na Internet.

  • 8/7/2019 VT Integrada 1-2008 Universo

    20/44

    20

    As faixas de endereos reservados mais comuns so 10.x.x.x e 192.168.x.x, onderespectivamente o 10 e o 192.168 so os endereos da rede e o endereo de hostpode ser configurado da forma que desejar.O default em muitos sistemas 192.168.1.x, mas voc pode usar os endereos quequiser. Se voc quiser uma faixa ainda maior de endereos para a sua rede interna, s apelar para a faixa 10.x.x.x, onde voc ter sua disposio mais de 12milhes de endereos diferentes.FONTE: http://www.guiadohardware.net/tutoriais/enderecamento-ip/

    Domain Name System

    O DNS (Domain Name System - Sistema de Nomes de Domnios) um sistema degerenciamento de nomes hierrquico e distribudo operando segundo duasdefinies:

    Examinar e atualizar seu banco de dados. Resolver nomes de servidores em endereos de rede (IPs).

    O sistema de distribuio de nomes de domnio foi introduzido em 1984 e com ele osnomes de hosts residentes em um banco de dados pde ser distribudo entreservidores mltiplos, baixando assim a carga em qualquer servidor que provadministrao no sistema de nomeao de domnios. Ele baseia-se em nomeshierrquicos e permite a inscrio de vrios dados digitados alm do nome do host eseu IP. Em virtude do banco de dados de DNS ser distribudo, seu tamanho ilimitado e o desempenho no degrada tanto quando se adiciona mais servidoresnele.A implementao do DNS-Berkeley, foi desenvolvido originalmente para o sistemaoperacionalBSD UNIX4.3.A implementao do Servidor de DNSMicrosoft se tornou parte do sistemaoperacionalWindows NTna verso Server 4.0. O DNS passou a ser o servio deresoluo de nomes padro a partir do Windows 2000 Server Como a maioria dasimplementaes de DNS teve suas razes nasRFCs 882 e 883, e foi atualizado nasRFCs 1034 e 1035.

  • 8/7/2019 VT Integrada 1-2008 Universo

    21/44

    21

    O servidor DNS traduz nomes para os endereos IP e endereos IP para nomesrespectivos, e permitindo a localizao de hosts em um domnio determinado. Numsistema livre o servio implementado pelo softwareBIND. Esse servio geralmentese encontra localizado no servidor DNS primrio.O servidor DNS secundrio uma espcie de cpia de segurana do servidor DNSprimrio. Quando no possvel encontrar um domnio atravs do servidor primrioo sistema tenta resolver o nome atravs do servidor secundrio.Existem 13 servidores DNS raiz no mundo todo e sem eles a Internet nofuncionaria. Destes, dez esto localizados nos Estados Unidos da Amrica, um nasia e dois na Europa. Para Aumentar a base instalada destes servidores, foram

    criadas Rplicas localizadas por todo o mundo, inclusive no Brasil desde 2003.Ou seja, os servidores de diretrios responsveis por prover informaes comonomes e endereos das mquinas so normalmente chamados servidores denomes. Na Internet, os servios de nomes usado o DNS, que apresenta umaarquitetura cliente/servidor, podendo envolver vrios servidores DNS na resposta auma consulta.

    FONTE:http://pt.wikipedia.org/wiki/Domain_Name_System

    Portas IP

    As portas TCP mais usadas so as portas de 1 a 1024, que so reservadas paraservios mais conhecidos e utilizados, como servidores Web, FTP, servidores de e-mail, compartilhamento de arquivos, etc. A porta 80, por exemplo, reservada parauso de servidores web, enquanto a porta 21 a porta padro para servidores FTP.

    Alm do endereo IP, qualquer pacote que circula na internet precisa conter tambma porta TCP a que se destina. isso que faz com que um pacote chegue at oservidor web e no ao servidor FTP instalado na mesma mquina.

    Alm das 65.536 portas TCP, temos o mesmo nmero de portas UDP, seu protocoloirmo. Embora seja um protocolo menos usado que o TCP, o UDP continua

    presente nas redes atuais pois oferece uma forma alternativa de envio de dados,onde ao invs da confiabilidade privilegiada velocidade e simplicidade. Vale

  • 8/7/2019 VT Integrada 1-2008 Universo

    22/44

    22

    lembrar que, tanto o TCP, quanto o UDP, trabalham na camada 4 do modelo OSI.Ambos trabalham em conjunto com o IP, que cuida do endereamento.No TCP, os dados so transmitidos atravs de conexes. Tudo comea com ocliente enviando o pacote "SYN", que solicita a abertura da conexo. Caso a portaesteja fechada, o servidor responde com um pacote "RST" e a conversa para por a.Caso, por outro lado, exista algum servidor disponvel na porta solicitada (umservidor apache, por exemplo), ento ele responde com outro pacote "SYN", seguidode um pacote "ACK", avisando que a porta est disponvel e prosseguindo com aabertura da conexo.

    O cliente responde ento com outro pacote "ACK", o que abre oficialmente aconexo. Comea ento a transferncia dos dados, que so organizados empacotes com at 1550 bytes cada um. Para cada pacote recebido, a estao enviaum pacote de confirmao e, caso algum pacote se perca, ela solicita aretransmisso. Cada pacote inclui 4 bytes adicionais com um cdigo de CRC, quepermite verificar a integridade do pacote. atravs dele que o cliente sabe quaispacotes chegaram danificados.

    Depois que todos os dados so transmitidos, o servidor envia um pacote "FYN" queavisa que no tem mais nada a transmitir. O cliente responde com outro pacote"FYN" e a conexo oficialmente encerrada.Graas a tudo isso, a confiabilidade muito boa. Quando a conexo est ruim, normal ocorrerem mais perdas de pacotes e retransmisses, mas as corrupes sogeralmente causadas pelo prprio programa que est baixando o arquivo e no pelo

    protocolo. O problema que toda esta formalidade torna as transferncias um poucomais lentas. Imagine que, para transmitir uma mensagem de texto com 300 bytes,via TCP, seria necessrio transmitir um total de 9 pacotes!

    Veja um exemplo de como a transmisso funcionaria:

    Estao: SYN (solicita a abertura da conexo) Servidor: SYN (confirma o recebimento e avisa que a porta est disponvel) Servidor: ACK (inicia a conexo) Estao: ACK (confirma)

  • 8/7/2019 VT Integrada 1-2008 Universo

    23/44

    23

    Estao: DATA ( enviado o pacote com a mensagem de texto) Servidor: OK (a confirmao, depois de verificar a integridade do pacote) Estao: FYN (solicita o fechamento da conexo) Servidor: FYN (confirma) Estao: FYN (confirma que recebeu a confirmao)

    No UDP, as coisas so mais simples. Nele no existe abertura de conexo, ospacotes so transmitidos diretamente. A estao solicita alguma informao e oservidor envia a resposta. Assim como no TCP, so usados pacotes de at 1550bytes, contendo os bits adicionais de verificao. A estao pode verificar aintegridade dos pacotes, mas no tem como perceber se algum pacote se perdeu,ou solicitar a retransmisso de um pacote corrompido. Se um pacote se perde, ficapor isso mesmo.

    Um exemplo tpico do uso do UDP o streaming de vdeo e audio via web, umasituao onde o que vale a velocidade e no a confiabilidade. Voc no gostarianada se o navegador parasse a exibio do vdeo para solicitar uma retransmisso

    cada vez que um pacote se perdesse ou chegasse corrompido. prefervel que elepule o quadro e continue exibindo o restante do vdeo.

    Outra aplicao comum so os servidores DNS. Sempre que voc acessa um site, asolicitao do endereo IP referente ao domnio do site e a resposta do servidor soenviadas via UDP, para ganhar tempo.

    Na prtica, bem raro encontrar algum programa que utilize unicamente pacotesUDP para qualquer coisa alm do envio de mensagens curtas. Mesmo no caso dostreaming de vdeo, quase sempre usada uma porta TCP para estabelecer aconexo e enviar informaes de controle, deixando o UDP apenas para o envio dosdados.FONTE:http://www.guiadohardware.net/dicas/entendendo-as-portas-tcp-udp.html

  • 8/7/2019 VT Integrada 1-2008 Universo

    24/44

    24

    Cliente Servidor

    Da necessidade de dois computadores se comunicarem, surgiram diversos

    protocolos que permitissem tal troca de informao: o protocolo que iremos usaraqui o TCP (Transmission Control Protocol).Atravs do TCP, possvel criar um fluxo entre dois computadores, conectar maisde um cliente ao mesmo servidor, como o caso de diversos bancos de dados,webservers entre outros.

    A vantagem de se usar TCP, em vez de criar nosso prprio protocolo de bytes, que o TCP vai garantir a entrega dos pacotes que transferirmos e criar um protocolobase e para isto algo bem complicado.Todas as aplicaes que esto enviando e recebendo dados fazem isso atravs deuma mesma conexo fsica, porm o computador consegue discernir, durante achegada e a transmisso de novos dados, quais informaes pertencem a qualaplicao.

    Assim como existe o IP para identificar uma mquina, a porta a soluo paraidentificar diversas aplicaes em uma mquina. Esta porta um nmero de 2 bytes,varia de 0 a 65535. Se todas as portas de uma mquina estiverem ocupadas, no possvel se conectar a ela enquanto nenhuma for liberada.Ao configurar um servidor para rodar na porta 80 (padro http), possvel se

    conectar a esse servidor atravs dessa porta que, junto com o ip, vai formar o

  • 8/7/2019 VT Integrada 1-2008 Universo

    25/44

    25

    endereo da aplicao. Por exemplo, o servidor web da caelum.com.br pode serrepresentado por: caelum.com.br:80

    Um cliente se conecta a um programa rodando na porta 80 de um servidor,enquanto ele no se desconectar dessa porta, ser impossvel que outra pessoa seconecte?Acontece que, ao efetuar e aceitar a conexo, o servidor redireciona o cliente deuma porta para outra, liberando novamente sua porta inicial e permitindo que outrosclientes se conectem novamente.

    Iniciando agora um modelo de servidor de chat, o servio do computador quefunciona como base deve, primeiro, abrir uma porta e ficar ouvindo at algum tentarse conectar.

    Aplicao Servidora (Servidor.java)

    package ClienteServidor;import java.io.*;import java.net.*;public class Servidor{

    public static void main (String[] args){ServerSocket servidor;try{

    //Criando a instancia de ServerSocket que reponder porsolicitaes

    // porta 5000.servidor = new ServerSocket(12345);//O servidor aguarda a conexo.//Quando uma cone~xao feita.Socket conexao = servidor.accept();// ... o servidor a processa.System.out.println("Aguardando cliente...");processaConexao(conexao);

    }//Pode ser que a porta 5000 j esteja em uso.catch (BindException e){

    System.out.println("Porta j em uso");}//Pode ser que tenhamos um erro qualquer de entrada ou saida.catch (IOException e){

    System.out.println("Erro de entrada ou saida");}

    }//Fecha Public Main

    //Mtodo para atender a uma conexao feita a este servidor.

    private static void processaConexao(Socket conexao){try {

    //Criando um stream para receber strings, usando a streamde entrada

  • 8/7/2019 VT Integrada 1-2008 Universo

    26/44

    26

    //associado a conexao.BufferedReader entrada = new BufferedReader (new

    InputStreamReader(conexao.getInputStream()));//Criando uma stream para enviar strings, usnado a stream

    de saida

    //associada conexo.BufferedWriter saida = new BufferedWriter(new

    OutputStreamWriter(conexao.getOutputStream()));//Lendo os dados enviados pelo cliente.String dadosCliente = entrada.readLine();//processamento dos dados do cliente.

    String resultadoProcessamento = conversor(dadosCliente);

    saida.write(resultadoProcessamento);saida.newLine();saida.flush();//Ao terminar de atender a requisio, fechamso as stream

    de entrada e sada. entrada.close();entrada.close();//Fechamos tambm a conexo.conexao.close();

    }//se houver algum erro de entada ou sada...catch (IOException e){

    System.out.println("Erro atendendo a uma conexao");}

    }//Fecha Private ProcessaConexao

    private static String conversor(String dados){

    String base="";String numero="";boolean eNumero=true;boolean eBase=true;int qtdCaracter=dados.length();

    for(int i = 0; i < qtdCaracter; ++i){char caracter=dados.charAt(i);

    if(caracter == ':'){eNumero=false;

    }else if(eNumero){numero+=caracter;

    }else if (eBase){base+=caracter;

    }}// FECHA FOR

    int nDecimal=Integer.parseInt(numero);int baseDesejada=Integer.parseInt(base);

    String numeroCon="";

    while(Integer.parseInt(numero>0)){

    baseDesejada=Integer.parseInt(numero)%Integer.parseInt(base);

    numero=Integer.toString(Integer.parseInt(numero)/Integer.parseInt(base));

    if (baseDesejada==0){numeroCon="0"+nDecimal;

    }else if(baseDesejada==1){

  • 8/7/2019 VT Integrada 1-2008 Universo

    27/44

    27

    numeroCon="1"+nDecimal;}else if (baseDesejada==2){

    numeroCon="2"+nDecimal;}else if (baseDesejada==3){

    numeroCon="3"+nDecimal;

    }else if (baseDesejada==4){numeroCon="4"+nDecimal;

    }else if (baseDesejada==5){numeroCon="5"+nDecimal;

    }else if (baseDesejada==6){numeroCon="6"+nDecimal;

    }else if (baseDesejada==7){numeroCon="7"+nDecimal;

    }else if (baseDesejada==8){numeroCon="8"+nDecimal;

    }else if (baseDesejada==9){numeroCon="9"+nDecimal;

    }else if (baseDesejada==10){

    numeroCon="A"+nDecimal;}else if (baseDesejada==11){numeroCon="B"+nDecimal;

    }else if (baseDesejada==12){numeroCon="C"+nDecimal;

    }else if (baseDesejada==13){numeroCon="D"+nDecimal;

    }else if (baseDesejada==14){numeroCon="E"+nDecimal;

    }else if (baseDesejada==15){numeroCon="F"+nDecimal;

    }else if (baseDesejada==16){numeroCon="G"+nDecimal;

    }

    //}

    return numeroCon;

    }//Fecha Private Conversor}//Fecha Class

    }//Fecha Main

    Aplicao Cliente (cliente.java)import java.io.*;

    import java.net.*;import java.util.*;public class cliente{

    public static void main (String[] args){String servidor = "localhost";BufferedReader br = null;BufferedWriter bw = null;Socket conexao = null;//Tentando fazer a conexo e ler uma linha...try{

    conexao = new Socket(servidor, 5000);//A partir do socket podemos obter um InputStream, a partir

    deste um

    //InputStreamReader e a partir deste, um BufferedReader.br = new BufferedReader (new InputStreamReader(conexao.getInputStream()));

  • 8/7/2019 VT Integrada 1-2008 Universo

    28/44

    28

    //A partri do scoket podemos obter um OutputStream, a partirdeste um

    //OutputSteamWriter e a partir deste, um BufferedWriterbw = new BufferedWriter (new

    OutputStreamWriter(conexao.getOutputStream()));

    //Executamos este loop para sempre.//Lendo uma mensamge.Scanner input = new Scanner (System.in);System.out.print("Informe o nmero: " );int numero = input.nextInt();System.out.print("Informe a base [2 ou 8 ou 16]: ");int base = input.nextInt();String dado = numero + ":" + base;bw.write(dado);bw.newLine();bw.flush();String msgRecebida = br.readLine();System.out.println("Resultado: " + msgRecebida);

    }//Se houver problemas com o nome do host...catch (UnknownHostException e){

    System.out.println("O servidor no existe ou est fora doar.");

    }//Se houver problemas genrios de entrada ou saida.catch (IOException e){

    System.out.println("erro de entrada ou saida." +e.getMessage());

    }finally{

    try{ br.close();bw.close();conexao.close();

    }catch (IOException e){System.out.println("erro de entrada ou saida.");

    }}

    }

  • 8/7/2019 VT Integrada 1-2008 Universo

    29/44

    29

    6. ORGANIZAO DE COMPUTADORES

    A atividade relacionada a essa matria refere-se ao conversor de um nmero nabase 10 para qualquer base. Abaixo segue o cdigo java desenvolvido para realizaressa operao.Classe java criada e orientada pelo Prof. Fabrcio em sala de aula, aonde foiutilizada a tcnica de divises sucessivas para encontra o valor convertido conformea base escolhida.conversor.javaimport java.util.Scanner;

    public class conversor_base{

    public static void main(String args []){

    Scanner input=new Scanner(System.in);

    String novoiNumero="";

    int iNumero=0;

    int iBase=0;

    int iResto=0;

    int aux=0;

    System.out.print("Informe um nmero na base 10 para ser convertido: ");

    iNumero=input.nextInt();

    System.out.print("Informe a base para converso: ");

    iBase = input.nextInt();

    aux = iNumero;

    while (iNumero>0){

    iResto=iNumero%iBase;

    iNumero=iNumero/iBase;

    if (iResto==0){

    novoiNumero="0"+novoiNumero;

    }else if(iResto==1){

    novoiNumero="1"+novoiNumero;

    }else if (iResto==2){

    novoiNumero="2"+novoiNumero;

    }else if (iResto==3){

    novoiNumero="3"+novoiNumero;

    }else if (iResto==4){

    novoiNumero="4"+novoiNumero;

    }else if (iResto==5){novoiNumero="5"+novoiNumero;

    }else if (iResto==6){

  • 8/7/2019 VT Integrada 1-2008 Universo

    30/44

    30

    novoiNumero="6"+novoiNumero;

    }else if (iResto==7){

    novoiNumero="7"+novoiNumero;

    }else if (iResto==8){

    novoiNumero="8"+novoiNumero;

    }else if (iResto==9){

    novoiNumero="9"+novoiNumero;

    }else if (iResto==10){

    novoiNumero="A"+novoiNumero;

    }else if (iResto==11){

    novoiNumero="B"+novoiNumero;

    }else if (iResto==12){

    novoiNumero="C"+novoiNumero;}else if (iResto==13){

    novoiNumero="D"+novoiNumero;

    }else if (iResto==14){

    novoiNumero="E"+novoiNumero;

    }else if (iResto==15){

    novoiNumero="F"+novoiNumero;

    }else if (iResto==16){

    novoiNumero="G"+novoiNumero;

    }

    }//Fecha While

    System.out.printf(" O valor %d em decimal convertido para a %d :

    %s", aux, iBase, novoiNumero);

    }

  • 8/7/2019 VT Integrada 1-2008 Universo

    31/44

    31

    7. ADMINISTRAO DE SERVIDORES WEB

    Introduo .

    O Tomcat um servidor de aplicaes Javapara web. software livre e de cdigoaberto, surgido dentro do conceituado projeto Apache Jakarta e que teve apoio eendosso oficial da Sun Microsystems como Implementao de Referncia (RI) paraas tecnologias Java Servlet e JavaServer Pages (JSP). Atualmente, o Tomcat temseu prprio projeto de desenvolvimento independente, dentro da Apache SoftwareFoundation. O Tomcat robusto e eficiente o suficiente para ser utilizado mesmo emum ambiente de produo.

    Tecnicamente, o Tomcat um Continer Web, parte da plataformacorporativa Java Enterprise Edition (Java EE, anteriormente denominada J2EE) queabrange as tecnologias Servlet e JSP, incluindo tecnologias de apoio relacionadascomo Realms e segurana, JNDI Resources e JDBC DataSources. O Tomcat tem acapacidade de atuar tambm como servidor web/HTTP autnomo, ou podefuncionar integrado a um servidor web dedicado, como Apache httpd ou MicrosoftIIS, ou ainda como parte integrante de um servidor de aplicaes mais amplo, comoJBoss AS, provendo os recursos de Java Servlet e JSP.

    O Tomcat inteiramente escrito em Java e, portanto, necessita de uma JavaVirtual Machine (JVM) Mquina Virtual Java para ser executado. Assim, necessrio ter a plataforma Java Padro, Java Platform Standard Edition (Java SE),previamente instalada.

    Na Tecnologia Java, existem duas distribuies do Java SE:

    Java Runtime Engine (JRE) Mecanismo de Execuo Java: inclui a JVM,bibliotecas e outros componentes necessrios para executar aplicaes ouapplets escritas em linguagem Java. o produto adequado para quem apenasusurio da tecnologia Java.

    Software Development Kit (SDK) Kit de Desenvolvimento de Software doJava SE, mais conhecido como Java Development Kit (JDK): inclui todo o JRE,

  • 8/7/2019 VT Integrada 1-2008 Universo

    32/44

  • 8/7/2019 VT Integrada 1-2008 Universo

    33/44

    33

    Na escolha de componentes do software, o padro o tipo de instalao Normal,que inclui, alm do ncleo essencial (core) do Tomcat Servlet container, toda adocumentao, exemplos de Servlet e JSP e os cones no Menu Iniciar. Estaseleo adequada para o uso geral.

    Na verdade, ficam de fora da instalao Normal apenas a ativao automtica doTomcat como servio e o cdigo-fonte do Tomcat. Este ltimo s ser de algumautilidade se voc prentender participar do projeto de desenvolvimento do Tomcat, ouainda quiser conhecer a fundo os mecanismos de funcionamento e a implementao

    do Tomcat inspecionando seus fontes, e no apenas utiliz-lo.

  • 8/7/2019 VT Integrada 1-2008 Universo

    34/44

    34

    A instalao do Tomcat sempre cria um servio do Windows (NT ou superior)para o Tomcat. Na opo Normal, porm, o servio instalado com ativaomanual. Se voc preferir que o servio do Tomcat seja automaticamente ativadosempre que o Windows for iniciado, basta expandir o componente Tomcat eselecionar o componente Service, conforme mostrado a seguir, e o instalador jconfigurar isto por voc. O tipo de instalao mudar para Custom(personalizada). De qualquer forma, o tipo de inicializao do servio do Tomcatpode ser facilmente alterado entre Manual ou Automtico a qualquer tempo aps ainstalao, atravs da ferramenta administrativa de Servios do Windows.

  • 8/7/2019 VT Integrada 1-2008 Universo

    35/44

    35

    A seguir, ser confirmado o local de instalao do software. Confirme a pastaprincipal onde o Tomcat ser instalado e clique Next para prosseguir.

    O dilogo de Configurao permite definir duas opes administrativas doTomcat: o porto de rede pelo qual o Tomcat atender as requisies HTTP,

  • 8/7/2019 VT Integrada 1-2008 Universo

    36/44

  • 8/7/2019 VT Integrada 1-2008 Universo

    37/44

    37

    Diferente do Tomcat 5.0 e 4.1, que necessitavam do Java Development Kit(JDK) para compilar pginas JSP, o Tomcat 5.5 em diante j traz embutido e usa ocomplilador Java Eclipse JDT para compilao de pginas JSP. Isto significa quepara rodar o Tomcat 5.5 em diante, basta o Java Runtime Environment (JRE). Comoajuste posterior avanado, o Tomcat pode ainda ser configurado para utilizar umcompilador alternativo ao compilar JSPs, como o compilador Java do JDK ouqualquer outro suportado pelo Apache Ant.

    Completadas as informaes solicitadas pelo assistente, clique Install eaguarde o trmino da instalao.

  • 8/7/2019 VT Integrada 1-2008 Universo

    38/44

    38

    Ao trmino da instalao, o assistente d a opes de executar o Tomcat pela

    primeira vez e de visualizar o Leia-Me.

  • 8/7/2019 VT Integrada 1-2008 Universo

    39/44

    39

    Definindo variveis

    Complementando a instalao do Java 2 SDK, defina a varivel de ambiente

    JAVA_HOME apontando para seu local de instalao. Esta varivel de ambientepadro usada pelo Tomcat e vrios outros sistemas baseados em Java, paradeterminar a JVM preferencial. Isto muito importante se houver mais de umainstalao de J2SE no computador, mas a varivel JAVA_HOME deve ser definidamesmo se houver apenas uma verso instalada.

    Alm da varivel JAVA_HOME necessrio configurar a varivel JRE_HOMEque o diretrio onde a mquina virtual est instalada.

    Inicializando e parando o Tomcat

    - Entre no diretrio bin do Tomcat:

    [Windows] cd %CATALINA_HOME%\bin

    [Linux] cd $CATALINA_HOME/bin

    - Execute o script:Iniciar:[Windows]startup.bat [Linux]startup.sh Parar:

    [Windows] shutdown.bat

    [Linux] shutdown.sh

    Testanto o Tomcat

    Para testar se o Tomcat est rodando ok aps iniciado, abra o browser e v para oendereo:

    http://localhost:8080/

  • 8/7/2019 VT Integrada 1-2008 Universo

    40/44

    40

    Na home-page padro do Tomcat, o link "Tomcat Documentation" d acessoa toda a documentao necessria, instalada localmente, inclusive a APIServlet/JSP da Sun, inclusa com o Tomcat.

    O Tomcat inclui um contexto chamado Tomcat Manager, que prov umainterface web amigvel para gerenciar as aplicaes (contextos) listar, parar,iniciar, recarregar, instalar (deploy), remover (undeploy) e ver informaes eestado do servidor e de suas conexes/threads. O instalador Windows solicita ologin de usurio (padro admin) e a senha para acesso a este recurso.

    Para acessar o Tomcat Manager, siga o link respectivo no quadro"Administration" da home-page padro do servidor, ou acesse diretamente oendereo http://localhost:8080/manager/html.

    Integrando Apache com Tomcat

    Para realizar a integrao do servidor Apache Front-End com o servidor Tomcat Back-End necessrio realizar os seguintes passos.

    Obs. Nessa tarefa presumi-mos que o servidor Apache j est instalado e configuradoconforme tutorial de instalao do servidor Apache da matria de Arquitetura de redes decomputadores.

    1. Fazer o download do conector Tomcat para Apache no site do Tomcathttp://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.26/

    2. Salvar o arquivo do conector dentro da pasta modules do Apache com observso que omesmo dever ter o seguinte nome: mod_jk.so.

    3. Inserir no final do arquivo httpd.conf do Apache a seguintes instrues para que omesmo possa chamar o tomcat quando solicitado.

    ### Integrao do Apache e TomcatLoadModule jk_module modules/mod_jk.so

    Configura o local do arquivo works.propertiesJkWorkersFile /tomcat/conf/workers.properties

  • 8/7/2019 VT Integrada 1-2008 Universo

    41/44

  • 8/7/2019 VT Integrada 1-2008 Universo

    42/44

    42

    8. INGLES INSTRUMENTAL

    Objetivo

    Esse documento tem por objetivo extrair os dados do seguinte site:http://news.bbc.co.uk/2/hi/business/7384427.stm, e utilizar as tcnicas de skimmingpara realizar a leitura dinmica conforme estudos realizado em sala de aula.

    Procedimentos

    Para o melhor proceder da utilizao das tcnicas, fora selecionadas do textooriginal as palavras mais conhecidas, junto com conjugaes verbais de tempo eassociaes de conhecimentos precedentes de noticias jornalsticas.

    Texto Original

    Oil hits $120 a barrel milestoneThe price of a barrel of oil hs risen above $120 for the first time, driven by concernsabout the situations in Nigeria and northern Iraq.US light sweet crude rose to a record of $120.36 a barrel in morning trading in NewYork before falling back to a record close of $119.97 - up $3.65.Another factor pushing up the oil price has been the US dollar's weakness asinvestors opt to back commodities.Since the beginning of the year, oil has hit a string of new highs.This has led to gas and petrol prices reaching unprecedented levels, in many parts ofthe world.'Lingering hotspot'

    In Northern Iraq, Turkish forces have renewed cross-border raids against Kurdishinsurgents. Meanwhile in Nigeria, rebels have attacked oil wells and pipelines whichfeed an export terminal."Nigeria is the lingering hotspot the markets will be focusing on," said MF Globalanalyst Ed Meir.He added that while some production in the oil-rich African nation, there were"reports of fresh violence, as another pipeline explosion hs shut in more oil

    production".

  • 8/7/2019 VT Integrada 1-2008 Universo

    43/44

    43

    The relationship between currency markets and commodity prices is relatively newphenomenon, Damian Cox from John Hall Associates told the BBC last week."Since about August, commodities appear to have been responding to movements inthe currency markets," he said."As the dollar has weakened, some people have moved into commodities."In the past, a weakening US dollar would have been seen as a sign of weakness inthe US economy, which would have meant that demand for oil was likely to fall andso the oil price would fall.But now, some traders see commodities such as oil as a hedge against decliningcurrencies.

    So, if they were worried about the dollar falling in value, they might sell dollars andbuy oil, for example.

    Concluso

    Atravs da tcnica de skimming conseguimos subtrair do texto diversas palavras,que nos podem levar a formar oraes.

    Resenha

    O texto recentemente mostrado nos diz que tm ocorrido desde o comeo do ano,diversas altas do barril de petrleo comercializado nos EUA.Essas altas so impulsionadas devidas a preocupante situao ocorrida nos paisesda Nigria, norte do Iraque e Africa.Devida a essa alta dos barris de petrleo investidores do marcado de aesresolveram mudar os investimentos para as commodities, que mesmo em momentosde crise, conseguiram manter seus valores estabilizados.

  • 8/7/2019 VT Integrada 1-2008 Universo

    44/44