Baixe o app para aproveitar ainda mais
Prévia do material em texto
Elissandra Machado Neves R.A: C58BEF-8 Isabela Sousa de Souza R.A: C65865-0 Gabriel Carvalho de Souza R.A: D070BE-3 FERRAMENTA PARA COMUNICAÇÃO EM REDE MANAUS/AMAZONAS 2018 Elissandra Machado Neves R.A: C58BEF-8 Isabela Sousa de Souza R.A: C65865-0 Gabriel Carvalho de Souza R.A: D070BE-3 FERRAMENTA PARA COMUNICAÇÃO EM REDE MANAUS/AMAZONAS 2018 SUMÁRIO SUMÁRIO 2 1. OBJETIVO 3 2. INTRODUÇÃO 4 3. FUNDAMENTOS DA COMUNICAÇÃO DE DADOS EM REDE 5 3.1. Topologia da Rede 6 4. PLANO DE DESENVOLVIMENTO DO CHAT 7 5. PROJETO 8 5.1. Nome do Projeto 8 5.2. Objetivo Geral 8 5.3. Objetivo Específico 8 5.4. Contexto 8 5.5. Justificativa 9 6. CONCLUSÃO 10 7. RELATÓRIO COM AS LINHAS DO CÓDIGO 11 7.1. Classe/Controller: chat.js 11 7.2. Classe/routes: routes.js 12 8. REFERÊNCIAS BIBLIOGRÁFICAS 13 1. OBJETIVO A Comunicação em rede refere-se à transferência eletrônica de informações, comunicação mediada por um computador ou periférico. Para isso é necessário o desenvolvimento de um software para a comunicação em si, para que haja a troca de informação entre os dois (ou mais) dispositivos, com o surgimento das novas tecnologias, muito tem facilitado à informação circular livremente, emitida de diversas maneiras. Um ponto importante no que se diz respeito à rede de comunicação é a definição da maneira como os diferentes dispositivos são interligados. Estes dispositivos podem ser interconectados sob várias formas, tanto do ponto de vista físico quanto do ponto de vista lógico. Essa nova tecnologia, modifica profundamente o conceito de tempo e espaço, a mesma faz com que encurtemos muito o caminho que leva a determinadas atividades. No passado, a comunicação era feita através de cartas, mas que com o advento da tecnologia, trouxe mais comodidade. É possível morar em um lugar isolado e estar sempre ligado a grandes centros de pesquisa, bibliotecas, colegas de trabalho e a inúmeros serviços. Já existem funcionários que trabalham sem sair de casa, já que é possível realizar o acesso de qualquer lugar do mundo, dependendo do acesso. O Software desenvolvido mostra como a troca de informações entre dois dispositivos acontece de forma instantânea. Para isso foi necessário a criação de um pequeno servidor em um dos dispositivos para que a comunicação seja executada; tudo através de um código simples em NodeJS. A topologia mais simples é representada por dois computadores conectados entre si, utilizando um meio de transmissão qualquer, sendo chamada então de ligação ponto-a-ponto. Na medida em que a transmissão de informação passou contar com novos modos de geração, interconexão e compartilhamento. Aumentaram o crescimento de vários recursos interessantes de comunicação e absorção do conhecimento. Que muitas vezes era de difícil acesso e muito caros agora se tornou completamente disponível no mundo virtual. A interface apresentada aos usuários é simples, porém apresenta agilidade, mesmo em conexões mais lentas, tornando-se ideal em locais com conexão mais limitadas. Atualmente, as pessoas estão cada vez mais conectadas ao redor do mundo, tudo através de acesso a internet. Isso permite a troca de mensagens em tempo real, videos-chamadas, entre outros benefícios. Por isso, estaremos construindo um “chat” em NodeJS utilizando WebSocket para que as pessoas possam se conectar e conversar com um parente distante, por exemplo. Este chat será espelhado em grandes projetos que existem no mundo, podendo enviar áudio, foto, arquivos, entre outros. Muitas pessoas utilizam o “whatsapp”, por exemplo, para trocar mensagens instantãnea com várias pessoas ao redor do mundo, com isso a ideia é utilizar esse chat em nível acadêmico, com um modelo mais simples e funcional para que façamos a troca de mensagens entre dois computadores conectados na mesma rede, no caso o “WIFI”. Utilizando recursos da Linguagem de Programação NodeJS para levar esse projeto ao nosso objetivo. O público alvo é praticamente jovem na faixa etária de 14 anos acima, com permissão dos pais até aos mais idosos, queiram utilizar esse projeto para que se comunicar, adaptamos esse projeto com uma interface bastante diferente e simples, que pode até ser utilizado como projeto de estudo em escolas de programação na criação de um programa que se comunica em rede. 2. INTRODUÇÃO Onde a tecnologia vai parar? Então... Ela não vai parar, devido diversas formas de conectarmos que facilitam nossas vidas. Com o avanço da comunicação, a forma com que os sistemas computacionais operavam foi totalmente modificada, a visão que os usuários tinham sobre os grandes centros de computação, em que os trabalhos eram levados para serem processados, tornou-se obsoleta, sendo substituídos pelas redes de computadores. Agora, os trabalhos são processados por um grande número de computadores separados fisicamente e totalmente interligados. Quem diria que chegaríamos onde estamos hoje? Nos primórdios tecnológicos era muito difícil alguém ter acesso a um computador, nas universidades, e empresas havia um ou dois, no máximo, mas sem nenhuma ligação entre eles, totalmente desconectados. Na maioria dos casos em que as empresas implantam em sua estrutura uma rede de computadores, elas sempre obtêm economia com o compartilhamento de recursos. Como exemplo, imagine a situação em que existem várias impressoras individuais, sendo estas substituídas por uma única impressora de grande porte, com essa troca, a manutenção é facilitada, permite o acesso de um número maior de usuários, além de possibilitar o controle do número de impressões. Antigamente, a conexão entre os computadores compartilhados era muito curta, conhecidas como rede local, observou-se então que era necessário aumentar a distância entre eles devido a necessidade de compartilhamento de dados, então foram desenvolvidas diversas formas de conectarem essas máquinas entre si. A internet também é um meio de comunicação em massa, e pode conectar muitas redes de computadores sem que seja necessário um fio ou cabo, assim, possibilitando uma acessibilidade melhor, e uma locomoção ampla aos usuários que compartilham desse recurso. E ao que tudo indica a tecnologia só tem a evoluir. Hoje, não é preciso estar em casa para enviar e-mails, basta ter um smartphone ou um tablet com acesso à internet. Facilitando ainda mais a conexão com o mundo. .3. FUNDAMENTOS DA COMUNICAÇÃO DE DADOS EM REDE Atualmente, as empresas possuem um grande número de computadores para desempenhar os mais diversos tipos de aplicações, como monitoramento, controle de produção e estoque, geração de planilhas e etc. Inicialmente, cada processo era feito de modo isolado, não existia nenhuma forma de ligação e troca de informações e compartilhamento de recursos. Foi observado então, que com a interligação desses computadores espalhados pelas empresas, era possível comunicar os mais diversos sistemas, além de compartilhar recursos como impressoras, arquivos e drives, o que permite que todos os usuários da rede utilizem esses recursos. Tão importante quanto o compartilhamento de recursos é o compartilhamento de informações. As grandes instituições possuem filiais espalhadas por regiões diferentes e precisam acessar informações que são comuns a todas, como registro de clientes, estoque de produtos, pedidos, etc. O fato de os usuários estarem em países diferentes, não impede que eles acessem esses dados como se eles estivessem armazenados em seu computador local. Para permitir esta facilidade de acesso, são utilizados servidores de grande porte para o armazenamento de informações e os usuários, com suas estações de trabalho, acessam esses dados remotamente. Essa comunicação entre computadores clientes e servidores é feita através das redes de computadores. Outra categoria de utilização de redes de computadores é a comunicação entre os usuários, comandada principalmente pelo e-mail que já faz parte do dia-a-dia das pessoas e é utilizado por milhões de pessoas em todo o mundo. A troca de mensagens instantâneas como Facebook Messenger, WhatsApp, Telegram virou uma febre entre os jovens, as salas de bate-papo são muito visitadas por pessoas que desejam discutir assuntos em comum. Essa interatividade entre os usuários, proporcionada pela grande rede de computadores é que faz da internet um sucesso. As redes de computadores tornaram-se extremamente importantes para as pessoas que se encontram em regiões distantes, pois propiciam a elas serviços que são oferecidos às pessoas das grandes cidades, e sem dúvida a diversidade do uso das redes de computadores crescerá rapidamente no futuro, e chegará onde ninguém é capaz de prever agora. 3.1. Topologia da Rede A maneira com que as redes de computadores são interligadas é um ponto importante, pois dispositivos podem ser interconectados de várias formas envolvendo tanto o ponto de vista físico, como o lógico. A topologia física refere-se ao layout físico e ao meio de conexão dos dispositivos de redes. A topologia lógica é a forma com que os computadores se comunicam através dos meios de transmissão. Ponto a Ponto: é a mais simples, conexão de dois computadores através de um meio de transmissão qualquer. Barramento: Vários computadores interligados ao mesmo tempo, podendo ser compartilhados arquivos, informações e dados entre eles. Podendo assim todos terem acesso aos outros computadores. Estrela: É a conexão de diversos dispositivos monitorados por um servidor central, onde essa unidade determina a velocidade de transmissão entre um e outro, qualquer falha ocorrida nesse servidor central acarretara na falha de todos os computadores ligados a ele. Na topologia estrela, tudo vai depender da unidade central. Árvore: É equivalente a várias redes estrelas interligada entre si, essa ligação é feita através dos seus computadores centrais. É utilizada principalmente na ligação de “Hub`s” e repetidores, conhecida também como cascateamento. Nas topologias logicas a Ethernet é a tecnologia mais utilizada em redes locais, ela pode ser encontrada em topologias do tipo estrela que é composta por ligações utilizando cabeamento par trançado e uma unidade central e em topologias do tipo barramento com a utilização de cabo coaxial (possui maior velocidade, e pode atingir maiores distancias). Nesse tipo de rede, a estação que deseja transmitir “ouve” o tráfego na rede, se não “ouvir” nada, ela transmite a informação. Se duas estações transmitirem informações ao mesmo tempo, ocorrerá uma colisão de pacotes, cada estação será alertada sobre a colisão e elas esperarão um período aleatório para transmitirem novamente. 4. PLANO DE DESENVOLVIMENTO DO CHAT O plano de desenvolvimento deste projeto se iniciou por volta de 30/03/2018, com a ideia de criação de um chat com o tema ênfase em comunicação em rede (para fazer com que troquem mensagens em momentos vagos). Os primeiros passos foram dados, discutindo sobre quais classes o chat deveria ter. O que abordaríamos? Qual o “layout” usar? Quais funções? E se funcionaria para ser usado para comunicação e o público alvo desta aplicação. Assim chegamos ao consenso de readaptar os já famosos “chat” e por fim iniciamos o nosso planejamento. As ferramentas usadas foram: UML (Unified Modeling Language) para modelar as classes do chat, organizando as ideias no padrão de classe de uso e a IDE Visual Studio Code que foi usada para transcrever as classes modeladas com UML em códigos NodeJS e assim sendo, conseguimos construir todas as classes do jogo e corrigindo devidos erros no processo de desenvolvimento. 5. PROJETO 5.1. Nome do Projeto “Chat usando WebSocket”, voltado para comunicação em rede. 5.2. Objetivo Geral O mundo atualmente está cada vez mais moderno. Muitos utilizam a internet para todos os tipos de serviço, sejam para hospedar site, sejam para salvar arquivos em nuvens até mesmo trocar mensagens, com videos-chamadas em tempo real. Sendo assim, o projeto deste chat é desenvolvido com ênfase na comunicação em rede, tendo uma perspectiva de atingir grande números de usuários em curto prazo de tempo. 5.3. Objetivo Específico Tendo como objetivo principal a comunicação em rede, o projeto foi desenvolvido simplesmente para mostrar uma maneira simplificada sobre o tema, enquanto o usuário está se divertindo colocando conversas em dia, enviando arquivos, áudios, ainda aprendem sobre a importância de um mundo conectado na internet. O aprendizado será adquirido gradualmente, a mensagem será captada aos poucos, com ajuda da internet para que seja possível enviar mensagens, os arquivos, os áudios e podendo ser adaptado para aprendizagem de alunos de cursos de tecnologia quando chegarem à fase de fazer aplicação que utilize sockets. 5.4. Contexto O projeto tem como meta ser realizado em escolas, em computadores pessoais, utilizados para o entretenimento (Passa-Tempo). Com os avanços na tecnologia ajudaram as pessoas a conversarem nos confortos de suas casas, com oalto índice de pessoas que utilizam a internet para os mais variados serviços e usos do que anos anteriores. Com isso, o intuito é alcançar o máximo de pessoas possível, para que as pessoas se comuniquem de forma sem necessitar de locomover de um cidade para outra, por exemplo. Políticas relacionadas para ao desenvolvimento de sistema voltado para a comunicação também ajudam em campanhas publicitárias, escolar, centros de convivência, praças públicas, palestras em auditórios dos bairros e até em propagandas na TV, podendo gerar uma forma para que empreendedores adotem cada vez mais a praticidade de criação de chat para que os crescimentos de seus negócios sejam exponencial. O chat foi desenvolvido em linguagem NodeJS o que pode ser utilizados futuramente em smartphones, tablets, entre outros dispositivos móveis. 5.5. Justificativa Como os avanços tecnológicos são de forma muito rápida e cada vez mais as pessoas não necessitam utilizar mecanismos antigos de terem que resolver problemas indo na sede da empresa, tendo em vista, o objetivo é tentar ajudar por meio da computação, da tecnologia em si, a criação de meios que utilizem a comunicação em rede para aperfeiçoar ainda mais as formas de usuários se comunicarem, empresas facilitarem o atendimento no que diz respeito a solução de problemas e utilização de serviços. A tecnologia está ao lado de cada indivíduo e com isso pode ser facilmente alcançado por meio de programas desenvolvido para computadores, smartphone, tablets, entre outros. A Internet é bastante utilizadas por todos e em todos os lugares e assim com o tema proposto para criação de um chat focado na comunicação, levamos em consideração a criação de um chat que são muitos utilizados e famoso pelo redor do mundo e criamos a nossa própria interface em nível não muito avançado mais acadêmico que mesmo sendo simples permite a comunicação em dois computadores ou mais que poderá ainda mais ser melhorado. 6. CONCLUSÃO Podemos pensar em rede de computadores como diversas máquinas interligadas fisicamente entre si onde os seus utilizadores promovem a troca de informação de seus interesses, já que uma rede não pode ser bem estabelecida considerando apenas o hardware como preocupação principal como nas primeiras redes, já que o software é considerado uma das partes mais importantes na concepção de novas tecnologias de redes de comunicação entre computadores. A própria aplicação desenvolvida e apresentada mostra a importância desse tipo de software e que com eles, novos são desenvolvidos e aperfeiçoados, apresentando novas soluções para o homem moderno, tornando sua vida mais prática. Quando uma rede de computadores qualquer é construída, existem alguns objetivos a serem alcançados. Quando interconectamos computadores eles podem processar mais e melhor as informações e, quando as pessoas trabalham em rede, concretizam tarefas em um menor espaço de tempo e com menos esforço, ou seja, com mais eficiência. Utilizar corretamente uma topologia de rede significa proporcionar aos usuários uma estrutura com confiabilidade e segurança, necessários para que o intercâmbio de informações ocorra satisfatoriamente e que atenda as necessidades de comunicação de todos. 7. RELATÓRIO COM AS LINHAS DO CÓDIGO 7.1. Classe/Controller: chat.js module.exports.iniciaChat = function(application, req, res) { let dadosForm = req.body; req.assert('apelido', 'Nome ou Apelido é obrigatório').notEmpty(); req.assert('apelido', 'Nome ou Apelido deve conter entre 3 e 15 caracteres').len(3, 15); let errors = req.validationErrors(); if (errors) { //res.send('Existem erros no formulário'); res.render('index', {validacao: errors} ); return; } // faz pedido para executar alguma ação application.get('io').emit('enviaMsgCliente', { apelido: dadosForm.apelido, mensagem: ' acabou de entrar no chat'}); res.render('chat', { dadosForm: dadosForm }); } 7.2. Classe/routes: routes.js module.exports = function(application) { application.post('/chat', function(req, res) { //res.render('chat'); application.app.controllers.chat.iniciaChat(application, req, res); }); application.get('/chat', function(req, res) { //res.render('chat'); application.app.controllers.chat.iniciaChat(application, req, res); }); } 8. REFERÊNCIAS BIBLIOGRÁFICAS [1] DEITEL, H. M. Java: como programar. 6. ed. Trad. Edson Furmankiewicz. São Paulo: Pearson Prentice Hall, 2005. [2] History of IRC (Internet Relay Chat) [3] pub/academic/communications/logs/Gulf-War [4]http://www.devmedia.com.br/como-criar-um-chat-multithread-com-socket-em-java/ 33639 .
Compartilhar