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 Programação...................................................... 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 Projeto.............................................................................. 32
Bibliografia........................................................................................................ 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:

Figura 2.1 – Logomarca ALS

Logotipo:

Figura 2.2 – Logotipo ALS


Logomarca + Logotipo:

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 da equipe são os alunos do Curso de Redes de


Computadores:
 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

Diretor Geral

Diretor Comercial Diretor Técnico

Gerente de Supervisor
Negócios Técnico

Vendedores Técnicos

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 nível de segurança da informação .
(TANENBAUM, 2003)
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) é uma Linguagem de Marcação


("Markup Language") voltada para:
 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)

Figura 4.4 – tag HTML

A tag <head>

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)

Figura 4.5 – tag HEAD

A tag <body>

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)

Figura 4.6 – tag BODY

A instrução DOCTYPE
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:

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:

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>.
Figura 4.9 - tag STYLE

Arquivo Externo

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 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.

Você também pode gostar