Você está na página 1de 34

Table of Contents

 
  • 1. INTRODUÇÃO

3

1.1

Objetivos

3

1.1.1

Geral

3

1.1.2

Específico

3

1.2

Justificativa

4

1.3

Metodologia

4

1.4

Resultados Esperados

5

  • 2. PLANO DE TRABALHO

.................................................................................

6

2.1

Nome da equipe e Logotipo

6

2.2

Histórico

7

2.3

Membros

7

2.4

Missão

8

2.5

Visão

8

2.6

Valores

8

2.7

Ramo de Atividades

8

2.8

Forma de Trabalho

8

2.9

Organograma

9

2.10 Descrição de Departamentos

9

  • 3. PROBLEMÁTICA

11

  • 4. DESENVOLVIMENTO

12

4.1

Tecnologias

12

4.1.1

Asterisk

12

4.1.2

VoIP

13

4.1.2.1

Dispositivos VoIP

13

4.1.3

Protocolos de Redes de Computadores

14

4.1.3.1

Protocolo

SIP

14

4.1.3.2

Protocolo IP

15

4.1.3.2.1

Endereços IP

17

4.1.3.3

Protocolo UDP

18

4.1.4

Linguagens de Programação, Marcação e Pesquisa

19

4.1.4.1

Linguagem de Marcação

19

4.1.4.1.1

HTML

20

4.1.4.1.2

CSS

22

4.1.4.2

Linguagem de

24

4.1.4.2.1

PHP

24

4.1.4.3

SQL - Linguagem de Consulta Estruturada

26

4.1.5

Serviços

26

4.1.5.1

Sistema Operacional

26

4.1.5.1.1

GNU/Linux

27

4.1.5.1.2

Ubuntu

28

4.1.5.1.3

Ubuntu Server

29

4.1.5.2

Asterisk

29

4.1.5.3

Apache

30

4.5.1.4

MySQL

31

4.5.1.5

phpMyAdmin

32

4.1.6

Software de Edição de Imagem Photoshop

32

4.2 Introdução ao

32

33

1. INTRODUÇÃO

A evolução das tecnologias da informação vem promovendo diversas mudanças na sociedade em geral. Entre elas está a disponibilização de uma quantidade cada vez mais crescente de informações, resultado principalmente do aumento da capacidade de processamento e armazenamento. Este fenômeno torna-se cada vez mais evidente e vem sendo observado por diversos estudiosos da área.

Cada um dos três séculos anteriores foi dominado por uma única tecnologia. O século XVIII foi a época dos grandes sistemas mecânicos que acompanharam a Revolução Industrial. O século XIX foi a era das máquinas a vapor. As principais conquistas do século XX se deram no campo da aquisição, do processamento e da distribuição de informações. Entre outros desenvolvimentos vimos a instalação das redes de telefonia em escala mundial.(TANENBAUM, 2003)

1.1 Objetivos

  • 1.1.1 Geral Em tempos que a competitividade faz com que as organizações

preocupem-se cada vez mais com o aproveitamento máximo de seus recursos, a fim de obter ganhos e eficiência, é imprescindível a procura constante de novas soluções. E com o aumento da complexidade de softwares que complementam os recursos encontrados em um PABX convencional, utilizando tecnologia de VoIP, surgiu a necessidade de realizar um gerenciamento de software mais eficiente e abrangente, visando manter a disponibilidade e consistência dos serviços baseados em um software com os recursos de um PABX convencional.

Dentro desta visão, em que o ganho em eficiência é perseguido constantemente, queremos criar uma interface gráfica que nos traz mais eficiência. O objetivo é criar uma interface gráfica que crie métodos alternativos para configurar, utilizar e gerenciar a ferramente Asterisk.

  • 1.1.2 Específico

O objetivo específico deste projeto é que através da ferramenta Asterisk, possamos desenvolver uma plataforma de comunicação de baixo custo com foco em uma interface gráfica para gerenciamento eficiente de um PABX VoIP,

utilizando tecnologia de ponta, em parte agregada e em parte já de posse do contratante (smartphones, desktops, etc).

  • 1.2 Justificativa

Devido a constante evolução dos meios de comunicação e suas facilitações, e a dificuldade na utilização de softwares que implementam os recursos de um PABX convencional, que utilizam a tecnologia VoIP, que funcionam por meio de linha de comando, a solução aqui apresentada tem a finalidade de apresentar uma forma eficiente de um gerenciamento de comunicação PABX VoIp, utilizando uma interface online para gerenciamento de um dos principais softwares desta tecnologia.

  • 1.3 Metodologia

Neste trabalho foram realizadas as pesquisas bibliográfica, documental e pesquisa-ação. A pesquisa bibliográfica serviu como base para a aquisição de conhecimento acerca dos temas envolvidos no projeto, como, por exemplo, funcionamento dos protocolos SIP e UDP no funcionamento da ferramenta Asterisk. A pesquisa envolveu basicamente, consultas a livros de referência, teses científicas e artigos da área de tecnologia de redes de computadores.

Pesquisa-ação é um tipo de pesquisa social com base empírica que é concebida e realizada em estreita associação com uma ação ou com a resolução de um problema coletivo, no qual os pesquisadores e os participantes representativos da situação ou problema estão envolvidos de modo cooperativo ou participativo (THIOLLENT, 1997).

A pesquisa documental é constituída pelo exame de materiais que ainda não receberam um tratamento analítico ou que podem ser reexaminados com vistas a uma interpretação nova ou complementar. Portanto, a pesquisa documental é o levantamento de dados através de estudo minucioso em documentos de fontes primárias encontrados em arquivos públicos, arquivos particulares, fontes estatísticas, fontes não escritas, de forma sistemática com fim de saber um campo qualquer do conhecimento (TRIVIÑOS, 1987).

A pesquisa-ação deste trabalho consistiu em testar uma solução para o problema de disponibilidade de uma interface gráfica para a ferramenta Asterisk que é inteiramente por linha de comando, enquanto a pesquisa documental foi a análise da documentação do projeto, equipamentos utilizados, problemas que geralmente ocorrem, linguagens de programação para a interface, bem como a reunião entre os membros de equipe para coletar informações. Nas seções seguintes, serão apresentadas as tecnologias utilizadas, e as análises que apontam as principais causas desse problema e também todos os procedimentos realizados para testar soluções que visam entregar um projeto de interface para a utilização da ferramenta Asterisk

.

1.4 Resultados Esperados

2. PLANO DE TRABALHO

2.1 Nome da equipe e Logotipo

Projeto Astertel-IP. Equipe ALS Servidor de Telefonia IP. Logomarca:

2. PLANO DE TRABALHO 2.1 Nome da equipe e Logotipo Projeto Astertel-IP . Equipe ALS –

Logotipo:

Figura 2.1 Logomarca ALS

2. PLANO DE TRABALHO 2.1 Nome da equipe e Logotipo Projeto Astertel-IP . Equipe ALS –

Figura 2.2 Logotipo ALS

Logomarca + Logotipo:

Logomarca + Logotipo: Figura 2.3 – Logotipo e Logomarca juntas 2.2 Histórico A equipe é formado

Figura 2.3 Logotipo e Logomarca juntas

  • 2.2 Histórico

A equipe é formado por três membros, que se conheceram na Escola Técnica de Sapopemba, no curso de Redes de Computadores no primeiro semestre do ano de 2017.

A princípio, os três membros se deram bem, pelas ideias parecidas, tanto na área social, quanto na área profissional e estudantil, e levou os três membros da equipe de simples colegas a amigos - que tem também em comum gostarem muito de Redes de Computadores.

  • 2.3 Membros

Os

membros

Computadores:

da

equipe

são

os

alunos

do

Curso

de

Redes

de

Alessandro Caetano da Silva

Luiz Carlos Araujo Silva

Sérgio Ricardo Freitas

2.4

Missão

Nossa missão é a de inovar e entregar soluções de telefonia VoIP utilizando ferramentas que tornem nossas soluções eficientes, e com um custo baixo, agregando qualidade, tecnologia de ponta e baixo custo.

  • 2.5 Visão

Confiabilidade, honestidade, ter foco na prestação de serviços de forma integra.

  • 2.6 Valores

Ser

uma

empresa

responsável

socialmente

visando

sempre

o

comprometimento com as necessidades de nossos parceiros.

  • 2.7 Ramo de Atividades

Empresa especializada em telecomunicações e redes, que unem estas tecnologias a fim de prover a comunicação de outros segmentos empresarias.

  • 2.8 Forma de Trabalho

Através de visitas técnicas para conhecimento de ambiente de trabalho ou solução de problemas buscamos atender as necessidades de infraestrutura ou software.

2.9 Organograma

2.9 Organograma Diretor Geral Diretor Comercial Gerente de Negócios Vendedores Diretor Técnico Supervisor Técnico Técnicos FiguraConselho de Administração, que por sua vez é composto por representantes dos acionistas da empresa. No departamento comercial temos:  Diretor Comercial: " id="pdf-obj-8-4" src="pdf-obj-8-4.jpg">

Diretor Geral

2.9 Organograma Diretor Geral Diretor Comercial Gerente de Negócios Vendedores Diretor Técnico Supervisor Técnico Técnicos FiguraConselho de Administração, que por sua vez é composto por representantes dos acionistas da empresa. No departamento comercial temos:  Diretor Comercial: " id="pdf-obj-8-8" src="pdf-obj-8-8.jpg">

Diretor Comercial

2.9 Organograma Diretor Geral Diretor Comercial Gerente de Negócios Vendedores Diretor Técnico Supervisor Técnico Técnicos FiguraConselho de Administração, que por sua vez é composto por representantes dos acionistas da empresa. No departamento comercial temos:  Diretor Comercial: " id="pdf-obj-8-12" src="pdf-obj-8-12.jpg">

Gerente de

Negócios

2.9 Organograma Diretor Geral Diretor Comercial Gerente de Negócios Vendedores Diretor Técnico Supervisor Técnico Técnicos FiguraConselho de Administração, que por sua vez é composto por representantes dos acionistas da empresa. No departamento comercial temos:  Diretor Comercial: " id="pdf-obj-8-18" src="pdf-obj-8-18.jpg">

Vendedores

2.9 Organograma Diretor Geral Diretor Comercial Gerente de Negócios Vendedores Diretor Técnico Supervisor Técnico Técnicos FiguraConselho de Administração, que por sua vez é composto por representantes dos acionistas da empresa. No departamento comercial temos:  Diretor Comercial: " id="pdf-obj-8-22" src="pdf-obj-8-22.jpg">

Diretor Técnico

2.9 Organograma Diretor Geral Diretor Comercial Gerente de Negócios Vendedores Diretor Técnico Supervisor Técnico Técnicos FiguraConselho de Administração, que por sua vez é composto por representantes dos acionistas da empresa. No departamento comercial temos:  Diretor Comercial: " id="pdf-obj-8-26" src="pdf-obj-8-26.jpg">

Supervisor

Técnico

2.9 Organograma Diretor Geral Diretor Comercial Gerente de Negócios Vendedores Diretor Técnico Supervisor Técnico Técnicos FiguraConselho de Administração, que por sua vez é composto por representantes dos acionistas da empresa. No departamento comercial temos:  Diretor Comercial: " id="pdf-obj-8-32" src="pdf-obj-8-32.jpg">

Técnicos

2.9 Organograma Diretor Geral Diretor Comercial Gerente de Negócios Vendedores Diretor Técnico Supervisor Técnico Técnicos FiguraConselho de Administração, que por sua vez é composto por representantes dos acionistas da empresa. No departamento comercial temos:  Diretor Comercial: " id="pdf-obj-8-36" src="pdf-obj-8-36.jpg">

Figura 2.4 - Organograma

2.10 Descrição de Departamentos

Nesta parte falaremos sobre a descrição de cada um dos departamentos. Basicamente temos três departamentos, o de direção, comercial e técnico. No de direção temos:

Diretor Geral:

É o cargo que está no topo da hierarquia operacional da empresa. Ele possui a responsabilidade de executar as diretrizes propostas pelo Conselho de Administração, que por sua vez é composto por representantes dos acionistas da empresa.

No departamento comercial temos:

Diretor Comercial:

Responsável pela equipe de vendedores para atingir os resultados conforme o estabelicido pelos líderes da empresa, gerar receita de acordo com as previsões e planos estratégicos da empresa, reportar os resultados ao Diretor Geral. Supervisionar o treinamento da equipe de vendas e ser um coach.

Vendedores

Responsáveis por vender o produto.

No departamento técnico temos:

Diretor Técnico:

Responsável pela equipe de técnicos para atingir os resultados conforme o estabelecido pelos líderes da empresa, estudar e apresentar soluções técnicas eficientes para a parte técnica da empresa. Supervisionar o treinamento da equipe técnica e ser um coach.

Técnicos

Responsáveis pela instalação e manutenção do produto.

3. PROBLEMÁTICA

Hoje em dia não é fácil encontrar uma gama de interfaces gráficas para gerenciamento do Asterisk PBX IP, normalmente desenvolvidas para plataforma WEB, sendo algumas já bastante difundidas e utilizadas e que vieram justamente com o intuito de facilitar a vida dos usuários e administradores, evitando a obrigatoriedade de ser um expert em ambiente de linha de comando para poder gerenciar a plataforma. Por detecção o volume de numerário gasto com sistemas complexos de telefônia pode e deve ser substituido por uma ferramenta menos complexa e de extrema importância na redução de custos, por outro lado o quesito segurança deve ter foco prioritário devido ao fator software livre. Vale também observar que tratando-se de voip é impossível não sepreocupar com segurança, pois uma vez um servidor invadido os prejuizos podem ser incalculáveis.

4. DESENVOLVIMENTO

4.1 Tecnologias

Segundo o pequeno dicionário Houaiss da língua portuguesa:

Tecnologia (tec.no.lo.gia) s.f. 1 conjunto dos conhecimentos científicos, dos processos e métodos us. na criação e utilização de bens e serviços 2 técnica ou conjunto de técnicas de um domínio particular.

Neste capítulo mostraremos as tecnologia empregadas neste projeto, passando pela ferramenta Asterisk, Protocolos de Redes, Linguagens de Programação e Software de edição de imagem.

4.1.1 Asterisk

O Asterisk é um software livre, decódigo aberto, que implementa em software os recursos encontrados em um PABX convencional, utilizando tecnologia de VoIP. Ele foi criado por Mark Spencer em 1999. (KELLER, 2014)

O Asterisk é um software de PABX que usa o conceito de software livre (GPL), criado pela Digium Inc. e uma base de usuários em contínuo crescimento. A Digium investe em ambos, o desenvolvimento do código fonte do Asterisk e em hardware de telefonia de baixo custo que funciona com o Asterisk. O Asterisk roda em plataforma Linux e outras plataformas Unix com ou sem hardware conectando a rede pública de telefonia, PSTN (Public Service Telephony Network). (GONÇALVES)

O Asterisk permite conectividade em tempo real entre as redes PSTN e redes VoIP. (GONÇALVES)

Com o Asterisk, você não apenas tem uma troca excepcional do seu PABX. O Asterisk é muito mais que um PABX padrão. Com o Asterisk em sua rede, você cria coisas novas em telefonia como:

Conectar empregados trabalhando de casa para o PABX do escritório

sobre conexões de banda larga; Conectar escritórios em vários estados sobre IP. Isto pode ser feito pela

Internet ou por uma rede IP privada. Dar aos funcionários, correio de voz, integrado com a “web” e seu e-mail;

Construir aplicações de resposta automática por voz, que podem conectar

você ao sistema de pedidos, por exemplo, ou ainda outras aplicações internas. Dar acesso ao PABX da companhia para usuários que viajam, conectando sobre VPN de um aeroporto ou hotel;

4.1.2 VoIP

A tecnologia VoIP (voz sobre IP) consiste em utilizar a rede de comutação de pacotes como a internet ou redes baseadas em protocolo IP para a comunicação de voz. Essa tecnologia também oferece a integração das comunicações em uma determinada organização, transportando voz e dados no mesmo tráfego de rede. (TELECO)

É uma tecnologia que gradativamente vem tomando espaço nas organizações em comparação a telefonia tradicional. Há três possibilidades de tráfego que a tecnologia VoIP é capaz de transmitir: voz, vídeo e dados em um mesmo meio físico. (TELECO)

Para a voz ser transmitida através da rede IP é necessário antes ser digitalizada, ou seja, é preciso que a voz passe por uma conversão analógica para digital utilizando alguma técnica de codificação e assim ser quebrada em pacotes para sua transmissão em uma rede IP comutada por pacotes (COLCHER, 2005).

4.1.2.1 Dispositivos VoIP

Alguns dispositivos também conhecidos como terminais, que permitem o uso da tecnologia VoIP estão listados a seguir:

Softphone: conhecido também como net fone é uma aplicação ou software de computador usado para fazer chamadas VoIP, onde é encontrada uma interface igual às teclas dos telefones convencionais. ATA (Adaptador Telefônico Analógico): Usado para converter sinais digitais fornecidos pelo VoIP em redes IP para sinais analógicos, através da porta analógica do ATA é possível utilizar um telefone analógico convencional em uma rede VoIP. VoIP fone: pode também ser chamado de IP fone, foi especialmente desenvolvido para realização de operações em redes VoIP, fornece dentre muitas facilidades com vídeo conferência. Celulares VoIP: esse tipo de celular efetua a autenticação a uma rede VoIP utilizando apenas a conexão wifi. Gateway: equipamento responsável por estabelecer a conexão entre uma rede IP a rede publica de telefonia, este equipamento trabalha com protocolos de sinalização no lado da rede VoIP e protocolos de telefonia convencional no lado da rede publica de telefonia, trabalhando como um roteador de chamadas. Gatekeeper: é um gerenciador de sistemas VoIP, capaz de permitir a autenticação dos componentes da rede IP no caso de uma solicitação de chamadas dos terminais. (TELECO)

4.1.3 Protocolos de Redes de Computadores

Basicamente, um protocolo é um acordo entre as partes que se comunicam, estabelecendo como se dará a comunicação. (TANENBAUM, 2003)

Para reduzir a complexidade do projeto, a maioria das redes é organizada como uma pilha de camadas ou níveis, colocadas umas sobre as outras. O número de camadas, o nome, o conteúdo e a função de cada camada diferem de uma rede para a outra. No entanto, em todas as redes o objetivo de cada camada é oferecer determinados serviçoes às camadas superiores, isolando, essas camadas dos detalhes de implementação desses recursos. Em certo sentido, cada camada é uma espécie de máquina virtual, oferecendo determinados serviços à camada situada acima dela. (TANENBAUM, 2003)

Na realidade, esse conceito é familiar e é utilizado em toda a ciência da computação, na qual é conhecido por nomes diferentes, como ocultação de informações, tipos de dados abstratos, encapsulamento de dados e programação orientada a objetos. A ideia fundamental é que um determinado item de software (ou hardware) fornece um serviço a seus usuários, mas mantém ocultos os detalhes de seu estado interno e de seus algoritmos. (TANENBAUM,

2003)

4.1.3.1 Protocolo SIP

O Protocolo de Inicialização de Sessão, SIP - Session Initiation Protocol, foi definido na RFC 2543 em março de 1999 e revisado em junho de 2002 pelo grupo de trabalho MMUSIC (Multiparty Multimedia Session Protocol) do IETF. Deste grupo destacamos dois pesquisadores J. Rosenberg da Dynamicsoft e H. Schulzrinne da Columbia University como principais colaboradores no desenvolvimento do SIP. (CISCO, 2002)

O objetivo do SIP é criar, modificar parâmetros e terminar sessões entre o(os) usuário(os), onde nestas podem ser unicast (ponto a ponto) e multicast (conferência) contendo qualquer tipo de tráfego multimídia. Para fazer o controle das sessões, o SIP é capaz de iniciar e encerrar uma chamada, incluir ou excluir participantes de uma sessão e ainda oferece transferência/manutenção de ligações e transição entre conexões ponto a ponto e conferência. O SIP é um protocolo de sinalização utilizado para estabelecer endereços IP que os sistemas usarão para transferência dos dados. (CISCO, 2002)

Como o SIP envolve apenas tráfego de sinalização, não incluindo o tráfego de dados, a filosofia atrás do SIP é manter as necessidades das aplicações e prover a interoperabilidade entre computadores no processo de construção de novos serviços multimídia. Utiliza a arquitetura cliente-servidor, onde a máquina que solicita o chamado atua como cliente e a que recebe o chamado atua como servidor. (CISCO, 2002)

Como protocolo de sinalização, o SIP deve possuir:

Localização de usuários, envolve a determinação do sistema final a ser utilizado na ligação. Capacidades do usuário, envolve a determinação da mídia e de seus parâmetros utilizados por um ou mais usuários. Disponibilidade do usuário, serve para avaliar a disponibilidade do usuário a participar de uma sessão. Configuração de chamada, serve para estabelecimento da chamada em ambos os lados da comunicação. Manipulação de chamada, incluir transferência e término do chamado.

Dos atrativos para utilização

do

SIP

destacam-se a possibilidade de

mobilidade do usuário, a flexibilidade e simplicidade do protocolo

4.1.3.2 Protocolo IP

O elemento que mantém a Internet unida é o protocolo da camada de rede, o IP (Internet Protocol). Ao contrário da maioria dos protocolos da camada de rede mais antigos, o Ipfoi projetado desde o início tendo como objetivo a interligação de redes. Uma boa maneira de pensar na cama de rede é essa. A tarefa do IP é fornecer a melhor forma possível (ou seja, sem garantias) de transportar datagramas da origem para o destino, independentemente de essas máquinas estarem na mesma rede ou de haver outras redes entre elas. (TANENBAUM, 2003)

Um datagrama IP consiste em uma parte de cabeçalho e uma parte de texto. O cabeçalho tem uma parte fixa de 20 bytes e uma parte opcional de tamanha variável. (TANENBAUM, 2003)

O formato do cabeçalho é mostrado na Figura 4.1.

Ele é transmitido em uma ordem big endian: da esquerda para a direita, com o bit de mais alta ordem do campo Version aparecendo primeiro. (TANENBAUM, 2003)

O campo Version controla a versão do protocolo à qual o datagrama pertence. (TANENBAUM, 2003)

Como o tamanho do cabeçalho não é constante, existe im campo no cabeçalho, IHL, que informa o tamanho em palavras de 32 bits. (TANENBAUM,

2003)

O campo Type of Services é um dos poucos campos que tiveram seu significado (ligeiramente) modificado ao longo dos anos. Ele foi e ainda é destinado a distinguir entre diferentes classes de serviço. São possíveis várias combinações de confiabilidade e velocidade. Em se tratando de voz digitalizada, a entrega rápida vence a entrega segura. Para a transferência de arquivos, uma transmissão sem erros é mais importante do que uma trasmissão rápida. (TANENBAUM, 2003)

O campo total length inclui tudo o que há no datagrama cabeçalho e dados. (TANENBAUM, 2003)

O campo Identification é necessário para permitir que o host de destino determine a qual datagrama pertence um fragmento recém-chegado. (TANENBAUM, 2003)

Em seguida há um bit não-utilizado e dois campos de 1 bit. DF significa Don’t Fragment (não fragmentar). Trata-se de uma ordem para roteadores não fragmentarem o datagrama, porque a máquina de destino é incapaz de juntar os fragmentos novamente. (TANENBAUM, 2003)

MF significa More Fragments (mais fragmentos). Todos os fragmentos, exceto o último, têm esse conjunto de bits, necessário para se saber quando chegarem todos os fragmentos de um datagrama. (TANENBAUM, 2003)

O campo Fragment offset informa a que ponto do datagrama atual o fragmento pertence. (TANENBAUM, 2003)

O campo Time to live é um contador usado para limitar a vida útil dos pacotes. (TANENBAUM, 2003)

O campo Header checksum confere apenas o cabeçalho. Esse total de verificação é útil para a detecção de erros gerados por palavrasde memória incorretas em um roteador. (TANENBAUM, 2003)

O campo Source address e Destination address indicam o número da rede e o número do host. (TANENBAUM, 2003)

O campo Options foi projetado para permitir que versões posteriores do protocolo incluam informações inexistentes no projeto original, possibilitando a experimentação de novas ideias e evitando a alocação de bits de cabeçalho para informações raramente necessárias. (TANENBAUM, 2003)

A

opção

Security

mostra

o

(TANENBAUM, 2003)

nível

de

segurança da informação .

A opção Strict source routing fornece o caminho complete da origem ao destino como uma sequecia de endereços IP. (TANENBAUM, 2003)

A opção Loose source routing exige que o pacote percorra uma lista de roteadores específicos, na ordem determinada, mas permite que ele passe por outros roteadores durante o percurso. (TANENBAUM, 2003)

A opção Record route informa aos roteadores ao longo do caminho que eles devem anexar seu endereço IP ai campo de opções. Isso permite que administradores de sistema depurem algoritmos de roteamento. (TANENBAUM,

2003)

A opção Timestamp é semlhante à opção Record route, exceto pelo fato de que, além de registrar seu endereço IP de 32 bits, cada roteador também registra um timbre de hora de 32 bits. Essa opção também se destina, principalmente, à depuração de algoritmos de roteamento. (TANENBAUM, 2003)

4.1.3.2.1 Endereços IP

Na Internet, cada host e cada roteador tem um endereço IP que codifica seu número de rede e seu número de host. A combinação é exclusiva: em princípio, duas máquinas na Internet nunca têm o mesmo endereço IP. Todos os endereços IP têm 32 bits e são usados nos campos Source address e Destination address dos pacotes IP. É importante observar que um endereço IP não se refere realmente a um host. Na verdade, ele se refere a uma interface de rede; assim, se um host estiver em duas redes, ele precisará de dois endereços IP. Porém, na prática, a maioria dos hosts está em uma única rede e, portanto, só tem um endereço IP. (TANENBAUM, 2003)

Por várias décadas, os endereços IP foram divididos nas cinco categorias listadas na figura 4.2. Essa alocação chegou a ser chamada de endereçamento de classe completo. Embora não sej amais usada, ainda são comuns referências a essa alocação na literatura. (TANENBAUM, 2003)

Os formatos das classes A, B, C e D permitem até 128 redes com 16 milhões de hosts cada, 16.384 redes com hosts de até 64 K, dois milhões de redes com até 256 hosts cada (embora algumas dessas redes sejam especiais).

Além disso, é admitida a multidifusão, na qual um datagrama é direcionado a vários hosts. (TANENBAUM, 2003)

Os números de

redes são atribuídos por uma corporação sem fins

lucrativos chamada ICANN (Internet Corporation for Assigned Names and Numbers) para evitar conflitos.

4.1.3.3 Protocolo UDP

O conjunto de protocolos da Internet admite um protocolo de transporte sem conexões, o UDP (User Datagram Protocol). O UDP oferece um meio para as aplicações enviarem datagramas IP encapsulados sem que seja necessário estabelecer uma conexão. O UDP é descrito na RFC 768. (TANENBAUM, 2003)

O UDP transmite segmentos que consistem em um cabeçalho de 8 bytes, seguido pela carga útil. (TANENBAUM, 2003). O cabeçalho é mostrado na figura 4.3. As duas portas servem para identificar os pontos extremos nas máquinas de origem e destino. Quando um pacote UDP chega, sua carga útil é entregue ao processo associado à porta de destino. (TANENBAUM, 2003)

De fato, o principal valor de ter o UDP em relação ao uso do IP bruto é a adição das portas de origem e destino. Sem os campos de portas, a camada de transporte não saberia o que fazer com o pacote. Com eles, a camada entrega segmentos corretamente.

IMAGEM

A porta de origem é usada principalmente quando uma resposta deve ser devolvida à origem. (TANENBAUM, 2003)

O campo UDP length inclui o cabeçalho de 8 bytes e os dados. O campo UDO checksum é opcional e armazenado como 0 se não for calculado (um valor 0 verdadeiro calculado é armazenado com todos os bits iguais a 1). É tolice desativá-lo, a menos que a qualidade dos dados não tenha importância (por exemplo, no caso de voz digitalizada). (TANENBAUM, 2003)

Vale a pena mencionar explicitamente algumas ações que o UDP não realiza. Ele não realiza controle de fluxo, controle de erros ou retransmissão após a recepção de um segmento incorreto. Tudo isso cabe aos processos do usuário. O que ele faz é fornecer uma interface para o protocolo IP com o recurso adicional de demultiplexação de vários processos que utilizam portas. Isso é tudo o que ele faz. Para aplicações que precisam ter controle preciso sobre o fluxo de pacotes, o controle de erros ou a sincronização, o UDP fornece apenas aquilo que é determinado. (TANENBAUM, 2003)

Uma área na qual o UDP é especialmente útil é a situação cliente/servidor. Com frequencia, o cliente envia uma pequena solicitação ao servidor e espera uma pequena resposta de volta. Se a solicitação ou a resposta se perder, o cliente simplesmente chegará ao timeout e tentará de novo. Não só o código é simples, mas é necessário um número menor de mensagens (uma em cada sentido) do que no caso de um protocolo que exige uma configuração inicial. (TANENBAUM, 2003)

4.1.4 Linguagens de Programação, Marcação e Pesquisa

4.1.4.1 Linguagem de Marcação

Linguagens de marcação são utilizadas para definir formatos, maneiras de exibição e padrões dentro de um documento qualquer. Normalmente, elas não possuem qualquer estrutura de controle como as linguagens de programação tradicionais (por exemplo, comandos condicionais ou de repetição). Dessa forma, elas servem basicamente para definir como um determinado conteúdo será exibido na tela ou como os dados estarão estruturados ao trafegar entre os diferentes módulos de um sistema. (PORTAL)

As linguagens de marcação se utilizam do conceito de marcador ou tag, que já trazem algum significado e que quando forem visualizados por algum sistema que as reconheça, irão saber como o conteúdo deve ser exibido. Por exemplo, suponha que se queira deixar todas as palavras começadas pela letra

“A” em negrito. Para executar essa operação em HTML, seria necessário colocar

as palavras começadas por esta letra entre os símbolos <b> e </b>, sendo que esses símbolos são um exemplo de marcadores válidos na linguagem. (PORTAL)

Existem diversos tipos e padrões para linguagens de marcação e a linguagem HTML (Hypertext Markup Language) é apenas mais uma delas, mas que se popularizou por causa do advento da internet, já que a maioria dos documentos que trafegam na rede a utiliza para exibir suas informações. Outro exemplo de linguagem de marcação é o chamado XML (Extensible Markup Language), que diferente do HTML, seu foco está na estruturação dos dados que serão enviados entre dois pontos de um mesmo sistema e uma maior rigidez na forma de escrita da sua estrutura. (PORTAL)

A junção do HTML com o XML (até hoje, as regras de escrita de um documento HTML são brandas, sendo que normalmente os navegadores

conseguem “entender” o que o documento desejava fazer) gerou o chamado

XHTML (Extensible Hypertext Markup Language), que possui o mesmo objetivo do HTML, que é o de mostrar conteúdos na tela, só que deve ser escrito de uma forma mais precisa, correndo o risco de não ter o seu conteúdo exibido no navegador. (PORTAL)

4.1.4.1.1 HTML

HTML (Hypertext Markup Language) ("Markup Language") voltada para:

é uma Linguagem de Marcação

estruturação de documentos;

apresentação visual de documentos em um navegador ("browser").

(GUIMARÃES, 2005) HTML é derivada da linguagem pioneira de marcação

SGML (Standard

Generalized Markup Language) e foi criada por Tim Berners Lee (o idealizador da WWW). (GUIMARÃES, 2005)

HTML é um conjunto de tags responsáveis pela marcação do conteúdo de uma página no navegador. (CAELUM)

Um documento HTML válido precisa seguir obrigatoriamente a estrutura composta pelas tags:

Tabela 4.1

<html>

<head>

<body>

<!DOCTYPE>

A tag <html>

Na estrutura do nosso documento, antes de tudo, inserimos uma tag <html>. Dentro dessa tag, é necessário declarar outras duas tags: <head> e <body>. Essas duas tags são "irmãs", pois estão no mesmo nível hierárquico em relação à sua tag "pai", que é <html>. (CAELUM)

4.1.4.1.1 HTML HTML (Hypertext Markup Language) ("Markup Language") voltada para: é uma Linguagem de Marcação 

A tag <head>

Figura 4.4 tag HTML

A tag contém informações sobre nosso documento que são de interesse somente do navegador, e não dos visitantes do nosso site. São informações que não serão exibidas na área do documento no navegador. (CAELUM)

A especificação obriga a presença da tag de conteúdo <title> dentro do nosso <head>, permitindo especificar o título do nosso documento. (CAELUM)

Outra configuração muito utilizada, principalmente em documentos cujo conteúdo é escrito em um idioma como o português, que tem caracteres como acentos e cedilha, é a configuração da codificação de caracteres, chamado de encoding ou charset. (CAELUM)

A especificação obriga a presença da tag de conteúdo <title> dentro do nosso <head>, permitindo especificar

A tag <body>

Figura 4.5 tag HEAD

A tag <body> contém o corpo do nosso documento, que é exibido pelo navegador em sua janela. É necessário que o <body> tenha ao menos um elemento "filho", ou seja, uma ou mais tags HTML dentro dele. (CAELUM)

A especificação obriga a presença da tag de conteúdo <title> dentro do nosso <head>, permitindo especificar

A instrução DOCTYPE

Figura 4.6 tag BODY

O DOCTYPE não é uma tag HTML, mas uma instrução especial. Ela indica para o navegador qual versão HTML deve ser utilizada para renderizar a página. (CAELUM)

4.1.4.1.2 CSS

Antigamente, a customizazação do design das páginas HTML eram feitos no próprio código HTML, mas hoje tags HTML para estilo são má prática. (CAELUM)

Em seu lugar, surgiu o CSS, que é uma outra linguagem, separada do HTML, com objetivo único de cuidar da estilização da página. A vantagem é que o CSS é bem mais robusto que o HTML para estilização. Mas, principalmente, escrever formatação visual misturado com conteúdo de texto no HTML se mostrou algo bem impraticável. O CSS resolve isso separando as coisas; regras de estilo não aparecem mais no HTML, apenas no CSS. (CAELUM)

A

sintaxe

do

CSS

tem

estrutura

simples:

é

uma declaração de

propriedades e valores separados por um

sinal

de dois

pontos ":",

e

cada

propriedade é separada por um sinal de ponto e vírgula ";" da seguinte maneira:

O DOCTYPE não é uma tag HTML, mas uma instrução especial. Ela indica para o navegador

Figura 4.7 Propriedades CSS

As propriedades da Figura 4.4 podem ser declaradas de três maneiras diferentes:

Atributo Style

A primeira delas é com o atributo style no próprio elemento:

O DOCTYPE não é uma tag HTML, mas uma instrução especial. Ela indica para o navegador

Figura 4.8 Atributo Style

Mas uma das grandes vantagens do CSS é manter as regras de estilo fora do HTML.

A tag style

A outra maneira de se utilizar o CSS é declarando suas propriedades dentro de uma tag <style>.

Arquivo Externo Figura 4.9 - tag STYLE A terceira maneira de declararmos os estilos do nosso

Arquivo Externo

Figura 4.9 - tag STYLE

A terceira maneira de declararmos os estilos do nosso documento é com um arquivo externo, geralmente com a extensão .css. Para que seja possível declarar nosso CSS em um arquivo à parte, precisamos indicar em nosso documento HTML uma ligação entre ele e a folha de estilo (arquivo com a extensão .css). (CAELUM)

Além da melhor organização do projeto, a folha de estilo externa traz ainda as vantagens de manter nosso HTML mais limpo e do reaproveitamento de uma mesma folha de estilos para diversos documentos. (CAELUM)

A indicação de uso de uma folha de estilos externa deve ser feita dentro da tag <head> do documento HTML:

Figura 4.10 4.1.4.2 Linguagem de Programação Uma linguagem de programação é um método padronizado para comunicar

Figura 4.10

4.1.4.2 Linguagem de Programação

Uma linguagem

de

programação é

um

método

padronizado

para

comunicar instruções para um computador. (DERSHEM & JIPPING, 1995)

É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. (FISCHER & GROSZINSKY, 1993)

4.1.4.2.1 PHP

O PHP é o mecanismo por trás de milhões de aplicativos dinâmicos da web. Seu amplo conjunto de recursos, sintaxe acessível e suporte para diferentes sistemas operacionais e servidores web, tornou-a uma linguagem ideal para o rápido desenvolvimento da Web e para a metódica construção de sistemas complexos. (SKLAR & TRACHTENBERG, 2014)

O PHP é uma das linguagens mais utilizadas na web. Milhões de sites no mundo inteiro utilizam PHP. A principal diferença em relação às outras linguagens é a capacidade que o PHP tem de interagir com o mundo web, transformando totalmente os websites que possuem páginas estáticas. (NIEDERAUER, 2011)

As grandes vantagens do PHP são que ele é gratuito, é um software de código aberto e é embutido no HTML. Podemos executar o PHP no Linux, no Unix ou no Windows. (NIEDERAUER, 2011)

História do PHP

O PHP como é conhecido hoje, é na verdade o sucessor para um produto chamado PHP/FI. Criado em 1994 por Rasmus Lerdof, a primeira encarnação do PHP foi um simples conjunto de binários Common Gateway Interface (CGI) escrito em linguagem de programação C. Originalmente usado para

acompanhamento de visitas para seu currículo online, ele nomeou o conjunto de scripts de "Personal Home Page Tools" mais frequentemente referenciado como "PHP Tools." Ao longo do tempo, mais funcionalidades foram desejadas, e Rasmus reescreveu o PHP Tools, produzindo uma maior e rica implementação. Este novo modelo foi capaz de interações com Banco de Dados e mais, fornecendo uma estrutura no qual os usuários poderiam desenvolver simples e dinâmicas aplicações web, como um livros de visitas. Em Junho de 1995, Rasmus liberou o código fonte do PHP Tools para o público, o que permitiu que desenvolvedores usassem da forma como desejassem. Isso permitiu - e encorajou - usuários a fornecerem correções para bugs no código, e em geral, aperfeiçoá-lo. (PHP)

Em Setembro do mesmo ano, Rasmus expandiu o PHP e - por um breve período - mudou o nome PHP. Agora referindo-se a ferramenta como FI, abreviação para "Forms Interpreter", a nova implementação incluiu algumas funcionalidades básicas do PHP como bem conhecemos hoje. Tinha variáveis no estilo Perl, interpretação automática de variáveis de formulários, e sintaxe HTML embutida. A sintaxe em si era muito similar com a do Perl, porém muito mais limitada, simples, e um pouco inconsistente. De fato, para embutir o código em um arquivo HTML, desenvolvedores tinham que usar comentários HTML. Embora este método não sido inteiramente bem-recebido, FI continuou a desfrutar um crescimento e aceitação como uma ferramente CGI --- mas ainda não como uma linguagem. Contudo, isso começou a mudar no mês seguinte; em Outubro, 1995 Rasmus liberou um completa reescrita do código. Trazendo de volta o nome PHP, estava agora (brevemente) nomeado "Personal Home Page Contruction Kit" e foi o primeiro lançamento a vangloriar-se que era, na época, considerado um avançado script de interface. A linguagem foi desenvolvida para, deliberadamente, ser parecida com C, tornando-a fácil para ser adotada por desenvolvedores habituados com C, Perl e linguagens similares. Tendo sido até este momento exclusiva para sistemas UNIX e sistemas compatíveis com POSIX, o potencial para uma implementação em um Windows NT começava a ser explorada. (PHP)

O código tem outra reforma completa, e em Abril de 1996, combinando os nomes dos últimos lançamentos, Rasmus introduziu o PHP/FI. Esta segunda geração da implementação começou a realmente evoluir o PHP de um conjunto de ferramentas para sua própria linguagem de programação. Ele incluía suporte embutido dos banco de dados DBM, mSQL, e Postgres95, cookies, funções de apoio definidas pelo usuário, e muito mais. Em Junho, PHP/FI ganhou o status de versão 2.0. Um interessante fato sobre isso, porém, é que existia apenas um única completa versão do PHP 2.0. Quando finalmente se tornou um status beta em Novembro, 1997, o mecanismo de análise suvbjacente já estava interiramente reescrito. (PHP)

Apesar de ter tido um curto período de desenvolvimento, ele continuava defrutar uma crescente popularidade em um ainda jovem mundo web desenvolvimento, Em 1997 e 1998, PHP/FI teve o apoio de milhares de usuários ao redor do mundo. Uma pesquisa Netcraft de Maio de 1998, indicou que cerca

de 60.000 domínios relataram ter cabeçalhos contendo "PHP", indicando que o servidor de hospedagem de fato tinha o PHP instalado. Este número pode ser equiparado com aproximadamente 1% de todos os domínios da Internet da época. Apesar destes números impressionantes, o amadurecimento do PHP/FI foi condenado a limitações; enquanto haviam vários contribuintes menores, ainda era desenvolvido principalmente por uma única pessoa. (PHP)

  • 4.1.4.3 SQL - Linguagem de Consulta Estruturada

Em 1970 E. F. Codd, na época membro do Laboratório de Pesquisa da IBM, em São José, Califórnia, publicou um artigo em que propunha um modelo para manutenção de banco de dados, o modelo de banco de dados relacional, hoje conhecido por RDBMS, ou simplesmente por DBMS. A partir disto as pesquisas avançaram no meio acadêmico e comercial, culminando na idéia de uma linguagem que tratasse a abstração do modelo de Codd. A IBM trabalhou no projeto e desenvolveu a SEQUEL (Structured English Query Language), mas outras empresas trabalhando em paralelo, entre elas a ORACLE, desenvolveram suas próprias versões de linguagem. (UFGRS)

A expansão deste conceito foi significativa, ocupando vários nichos de mercado, desde computadores pessoais a mainframes, o que levou o ANSI (American National Standarts Institute) a padronizar a linguagem em 1986. Hoje conhecida por SQL (pronuncia-se “ess-cue-ell''), não representando conceitualmente uma linguagem como tal, mas um conjunto de facilidades, definições, recursos de acesso e manutenção de dados SQL. (UFGRS)

4.1.5 Serviços

Nesta sessão falaremos um pouco sobre os serviços que utilizaremos, como Sistema Operacional e servidores.

  • 4.1.5.1 Sistema Operacional

É o conjunto de programas que gerenciam recursos, processadores, armazenamento, dispositivos de entrada e saída e dados da máquina e seus periféricos. O sistema que faz comunicação entre o hardware e os demais softwares. O Sistema Operacional cria uma plataforma comum a todos os programas utilizados. Exemplos: Dos, Unix, Linux, Mac OS, OS-2, Windows NT. (BARRETO, 2000)

Funções Básicas:

Dentre as funções básicas de computadores de uso geral, pode-se citar:

definição da interface com o usuário;

compartilhamento de hardware entre usuários;

compartilhamento de dados entre usuários;

gerenciamento dos dispositivos de entrada e saída;

tratamento e recuperação de erros

Em suma, o sistema operacional, tem as funções básicas de interpretar os comandos do usuário; controlar os periféricos (teclado, vídeo, discos, impressora, mouse, plotter, etc) e organizar arquivos em disco.

O sistema operacional "se comunica" com:

usuários: pessoas que utilizam o computador como uma ferramenta

dentro da sua área de atuação; hardware, equipamentos conectados, memória;

programas, softwares aplicativos, utilitários e compiladores;

operadores de computador, responsáveis pela monitoração do

sistema operacional, normalmente em máquinas de grande porte, como funções de controle de discos, fitas, impressora, etc.; programadores de aplicação, profissionais que desenvolvem software

aplicativo para um determinado tipo de máquina e determinado sistema operacional; programadores de sistema; responsáveis pela manutenção do

sistema operacional; administrador do sistema, responsável pelo controle da utilização da máquina, seus recursos e softwares, cadastramento de usuários, oferecer ou retirar direitos a determinadas operações, a utilização de recursos (ex. impresssora), etc.

(BARRETO, 2000)

4.1.5.1.1 GNU/Linux

Em 1983, Richard Stallman começou o projeto GNU, cuja ideia era criar um sistema operativo compatível com UNIX (UNIX-Like), mas que pudesse ser distribuído livremente, já que este último era um produto comercial e fechado. A ideia era que pudesse desenvolver-se em base às contribuições do público em geral, e assim foi como cresceu rapidamente. Contudo, apesar de dispor de um enorme número de ferramentas, após vários anos ainda lhe faltava a parte essencial, o núcleo ou Kernel. Na arquitectura de GNU era muito importante a sua existência, já que é o que gere os recursos e facilita aos programas o acesso ao hardware. (MYBQ)

Este problema resolveu-se em 1991 com Linus Torvalds, um estudante de Ciências da Computação em Helsinki. Ele criou um software que realizava ditas funções. Foi chamado Linux devido ao nome do seu autor e à referencia a Unix. (MYBQ)

Desta forma tinha-se criado um sistema operativo completo e funcional, denominado como GNU/Linux (mesmo que conhecido também como simplesmente Linux), e que permitia o seu livre uso, modificação e distribuição. (MYBQ)

Isto dava-lhe algumas vantagens em relação aos outros sistemas existentes, e pouco a pouco começaram a criar-se diferentes distribuições deste (também denominadas distros). Estas são apenas diferentes combinações do Kernel com algumas ferramentas de software livre existentes, destinadas a satisfazer as necessidades de determinados grupos de utilizadores. Com o tempo chegou a existir um grande ecossistema de distribuições de GNU/Linux. (MYBQ)

4.1.5.1.2 Ubuntu

No dia 20 de Outubro de 2004 apareceu a primeira versão de Ubuntu. O seu patrocinador é Canonical Ltd., uma empresa de venda de suporte comercial e serviços relacionados com Ubuntu, fundada e financiada pelo empresario Mark Shuttleworth. O sistema operativo em si não tem fins lucrativos, pelo que a sua aquisição é completamente gratuita. (MYBQ)

Ubuntu consiste numa bifurcação de Debian, uma das maiores distribuições de GNU/Linux. Sempre formou parte da crença popular de que os sistemas Linux são difíceis de usar e requerem uma grande aprendizagem. O objetivo de Ubuntu era tornar o sistema de Linux mais simples de utilizar e entender ao utilizador final, e por isso é que o seu slogan foi: “Linux for human beings” (Linux para seres humanos). Existem alguns dados que indicam que

dentro de todas as distribuições de Linux, Ubuntu abarca cerca de 49%, e continua em aumento. (MYBQ)

Pertence às línguas Zulú e Xhos, a palavra Ubuntu provém da ética sul- africana do mesmo nome, que fala das pessoas e as suas relações, de alta lealdade e solidariedade. É uma atitude pela qual as pessoas estão sempre abertas e disponíveis à colaboração. Descreve-se como “Eu sou porque nós somos”. É sem dúvida alguma, uma palavra que define a filosofia por detrás do sistema operativo de software livre e a sua comunidade. (MYBQ)

Fundamentalmente Ubuntu utiliza software livre, exceto em alguns casos de controladores que permanecem privados, como acontece com muitos controladores de componentes Hardware não liberados pelos seus fabricantes. Mas é importante resaltar que Ubuntu é um código aberto, o que significa que os seus utilizadores podem analizar e modificar o seu código, já que tem acesso ao

seu código fonte. Isto significa que, se não gostas de alguma coisa, e sabes como fazê-lo, podes modifica-lo. (MYBQ)

Mas Ubuntu não consiste em um único produto, se não que são vários que com o tempo se diferenciaram. Por uma parte existe Ubuntu Desktop, a versão popular de escritório de uso geral. Com ela podes dispor de todas as ferramentas necessárias para o utilizador final, para um uso domestico ou laboral. (MYBQ)

Por outra parte encontramos Ubuntu Server, uma versão mais especializada para aqueles casos nos que se necessita um servidor, um PC que ofereça alguns serviços de rede, e que requira ferramentas as diferentes à versã de escritório. (MYBQ)

Por último podemos encontrar Ubuntu Cloud, que consiste numa configuração especial para criar serviços de computação na núvem. (MYBQ)

4.1.5.1.3 Ubuntu Server

Essa versão do Ubuntu possui ferramentas muito defendidas pelos seus usuários. Ele conta com uma instalação sem interface gráfica, como a maioria dos servidores em Linux, mas também pode apresentar uma interface gráfica caso você queira instalar. (AUGUSTO, 2016)

Entre as suas ferramentas e vantagens estão:

Integração nativa com autenticação Active Directory, ótima para quem está usando o Samba ou criando um servidor de impressão. UFW, uma ferramenta nativa do Ubuntu que funciona como uma firewall potente, segura e descomplicada, sendo mais intuitiva e tão segura quanto o iptables. Suporte a inúmeros Hardwares. Atualizações frequentes. Automatização de rotinas comuns. Suporte e treinamentos oficiais.

Essas ferramentas garantem que o Ubuntu Server seja uma opção segura e estável para ser usado por pessoas com diferentes níveis de conhecimento. (AUGUSTO, 2016)

4.1.5.2 Asterisk

O Asterisk utiliza protocolos abertos tais como SIP, MGCP e IAX para realizar a sinalização das chamadas telefônicas na rede TCP/IP.

É possível utilizar o Asterisk como:

Media gateway- Entre a RTPC e a rede IP (fazendo uso de hardware especial). URA ou Media server - Tocando mensagens pré-programadas ou com interatividade via DTMF, como música de espera ou menu de atendimento. Correio de voz - Permitindo gravar recados PABX IP - Fazendo controle de encaminhamento de chamadas intra e inter-terminais.

4.1.5.3 Apache

Criado em 1995 por Rob McCool, na época funcionário da NCSA (National Center for Supercomputing Applications), o servidor Apache ou Servidor HTTP Apache é o mais bem sucedido servidor web livre que existe. Trata-se de um servidor web muito popular, utilizado principalmente no Linux. (CANALTECH)

Assim como qualquer servidor do tipo, o Apache é responsável por disponibilizar páginas e todos os recursos que podem ser acessados pelo internauta. Envio de e-mails, mensagens, compras online e diversas outras funções podem ser executadas graças a servidores como o Apache. O que vale destacar no Apache é que, apesar de tudo, ele é distribuído sob a licença GNU, ou seja, é gratuito e pode ser estudado e modificado através de seu código fonte por qualquer pessoa. (CANALTECH)

Uma pesquisa realizada em dezembro de 2007 revelou que o servidor Apache representa cerca de 47,20% dos servidores ativos no mundo. Esse número aumentou em maio de 2012, quando foi constatado que o Apache servia aproximadamente 54,68% de todos os sites e 66% dos milhões de sites mais movimentados do mundo. (CANALTECH)

A Apache Software Foundation é a responsável pelo projeto, além de desenvolver e trabalhar com outras tecnologias de transmissão via web, processamento de dados e execução de aplicativos distribuídos. Aliás, o termo que nomeia o servidor e a empresa responsável por ele faz referência à nação Apache, uma tribo de nativos americanos que possuía grande resistência e estratégias superiores em combate. O significado do nome seria uma alusão à resistência da comunidade do software livre aos ataques de interesses privados de alguns setores e corporações. O significado do nome também discorre sobre a estabilidade do servidor e a sua diversidade de ferramentas e recursos que são capazes de lidar com qualquer tipo de solicitação executada na web. (CANALTECH)

A respeito do nome ainda existem duas outras razões do servidor ser chamado de Apache. A primeira delas, refutada pela Fundação, é de que o nome estaria relacionado a "patchy server", que em inglês significa algo como servidor remendado ou melhoria do software. A outra explicação diz respeito ao lançamento do Tomcat, que é um sistema auxiliar ao Apache. Tomcat, na

verdade, é o nome de uma aeronave norte-americana e Apache é o nome de um helicóptero de ataque estadunidense. (CANALTECH)

O servidor Apache é compatível com o protocolo HTTP versão 1.13. (FIELDING, 1999). Suas funcionalidades são mantidas através de uma estrutura de módulos, o que permite que os usuários escrevam seus próprios módulos por meio da API do software. Ele está disponibilizado para Windows, Novell Netware, OS/2 e outros sistemas do padrão POSIX, como o Unix e o Linux, onde é amplamente utilizado. (CANALTECH)

Com relação ao hardware para suporte ao servidor, tudo depende de sua aplicação. Contudo, um computador com processador Pentium e 64 MB de memória RAM já é capaz de executá-lo sem grandes problemas em um ambiente corporativo pequeno. Os computadores disponíveis no mercado, então, são mais do que capazes de colocar um servidor Apache em funcionamento, lembrando, logicamente, que depende-se de sua utilização. (CANALTECH)

O Apache dispõe de um módulo denominado de mod_ssl, o qual adiciona a capacidade do servidor de atender solicitações usando o protocolo HTTPS. Este protocolo faz uso da camada SSL para a criptografia de todos os dados transferidos, proporcionando maior segurança entre o tráfego de dados entre cliente e servidor. (CANALTECH)

4.5.1.4 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 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. (PISA,

2012)

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. (PISA,

2012)

O sistema foi desenvolvido pela empresa sueca MySQL AB e publicado, originalmente, em maio de 1995. Após, a empresa foi comprada pela Sun Microsystems e, em janeiro de 2010, integrou a transação bilionária da compra da Sun pela Oracle Corporation. Atualmente, a Oracle, embora tenha mantido a versão para a comunidade, tornou seu uso mais restrito e os desenvolvedores criaram, então, o projeto MariaDB para continuar desenvolvendo o código da versão 5.1 do MySQL, de forma totalmente aberta e gratuita. O MariaDB

pretende manter compatibilidade com as versões lançadas pela Oracle. (PISA,

2012)

4.5.1.5 phpMyAdmin

phpMyAdmin é um aplicativo web livre e de código aberto desenvolvido em PHP para administração do MySQL pela Internet. A partir deste sistema é possível criar e remover base de dados, criar, remover e alterar tabelas, inserir, remover e editar campos, executar códigos SQL e manipular campos chaves. O phpMyAdmin é muito utilizado por programadores web que muitas vezes necessitam manipular bases de dados. Normalmente, o phpMyAdmin é tratado como uma ferramenta obrigatória em quase todas as hospedagens da web, além de pacotes off-line, como o WAMPServer, XAMPP, EasyPHP e PHP Triad.

4.1.6 Software de Edição de Imagem Photoshop

Adobe Photoshop é um software caracterizado como editor de imagens bidimensionais do tipo raster (possuindo ainda algumas capacidades de edição típicas dos editores vectoriais) desenvolvido pela Adobe Systems. É considerado o líder no mercado dos editores de imagem profissionais, assim como o programa de factopara edição profissional de imagens digitais e trabalhos de pré-impressão. (ZEMEL, 2013)

4.2 Introdução ao Projeto

Bibliografia

AUGUSTO, Cassio. Conhecendo o Ubuntu Server. Dezembro de 2016. Disponível em: <http://ninjadolinux.com.br/ubuntu-server/> Acesso em: 18 de junho de 2016. BARRETO, Jorge M. Sistema Operacional. UFSC. Santa Catarina, 2000. Disponível em:

<http://www.inf.ufsc.br/~j.barreto/cca/sisop/sisoperac.html> Acesso em: 18 de junho de 2018. CAELUM ENSINO E INOVAÇÃO. Desenvolvimento Web com HTML, CSS e JavaScript. s.n.t. 286p. CANALTECH. O que é servidor Apache?. Disponível em:

<https://canaltech.com.br/internet/O-que-e-servidor-Apache/> Acesso em 18 de junho de 2018. CISCO SYSTEMS. Security in SIP-Based Networks.2002 COLCHER, Sergio. VoIP Voz sobre IP. Editora Campus. São Paulo, 2005. DERSHEM, Herbert L.; JIPPING, Michael J. Programming Languages. Structures and models. 2 ed. PWS Publishing Company. Boston, 1995. FIELDING, et al. RFC 2616. s.n.t. junho de 2009. FISCHER, Alice E.; GRODZINSKY, France. The Anatomy of Programming Languages. 1 ed. Englewood. New Jersey, 1993. GONÇALVES, Flávio E. de Andrade. Asterisk PBX Guia de Configuração:

Como construir e configurar um PABX com Software Livre. s.n.t. 269p. GUIMARÃES, Célio. Introdução a Linguagens de Marcação: HTML, XHTML, SGML, XML. Disponível em:

< http://www.ic.unicamp.br/~celio/inf533/docs/markup.html> Acesso em 18 de junho de 2018. HERSENT, Oliver. Telefonia IP Comunicação baseada em pacotes. Addison Waley. 2002. MYBQ. A história do sistema operativo Ubuntu. Disponível em:

<http://www.mibqyyo.com/pt-artigos/2015/03/02/historia-ubuntu-

ubuntuphone/#/vanilla/discussion/embed/?vanilla_discussion_id=0> Acesso em:

18 de junho de 2018.

NIEDERAUER, Juliano. Desenvolvendo Websites com PHP. 2 ed. Novatec, São Paulo, 2011.

PHP. História do PHP Disponível em:

<https://secure.php.net/manual/pt_BR/history.php.php> Acesso em: 15 de junho de 2018. PISA, Pedro. O que é e como usar o MySQL?. 2012. Disponível em:

<http://www.techtudo.com.br/artigos/noticia/2012/04/o-que-e-e-como-usar-o-

mysql.html> Acesso em: 18 de junho de 2018.

SKLAR, David; TRACHTENBERG, Adam. PHP Cookbook: Solutions & examples for PHP programmers. 3 ed. O’Reilly. Sepastopol, 2014.

TANENBAUM, Andrew S. Redes de Computadores. Elsevier, Rio de Janeiro,

2013.

TELECO. VoIP I: Telefonia VoIP. Disponível em:

<http://www.teleco.com.br/tutoriais/tutorialvoipcp1/pagina_3.asp> Acesso em:

17 de junho de 2018.

THIOLLENT, Michel. Pesquisa-Ação nas Organizações. Atlas, São Paulo,

1997.

TRIVIÑOS, Augusto Nibaldo Silva. Introdução à Pesquisa em Ciências Sociais: a Pesquisa Qualitativa em Educação O Positivismo, A Fenomenologia, O Marxismo. 5 ed. Altlas, São Paulo, 2009.

UFGRS Universidade Federal do Rio Grande do Sul. SLQ Um pouco de história. Disponível em:

< http://pcleon.if.ufrgs.br/~leon/Livro_3_ed/node116.html> Acesso em: 17 de junho de 2018.

ZEMEL, Tárcio. Conhecendo o Adobe Photoshop CS6. 1 ed. Casa do Código. São Paulo, 2013.