Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Norte do Paraná – Campina Grande/PB Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas SÉRGIO DOS SANTOS LIMA PROJETO INTEGRADO IV Disciplinas Norteadoras: Computação em Nuvem, Sistemas Operacionais e Programação Web Tutor (a) EAD: JOICE SIQUEIRA LIMA Campina Grande – PB 05/11/2022 PROJETO INTEGRADO IV Trabalho de portfólio apresentado como requisito parcial para a obtenção de pontos para a média semestral da disciplina Projeto Integrado. Orientadora: Tutora Joice Lima Campina Grande – PB 05/11/2022 SUMÁRIO 1 INTRODUÇÃO ......................................................................................................... 3 2 ATIVIDADES INTERDISCIPLINARES .................................................................... 4 2.1 Tarefa 1 ................................................................................................................. 4 2.2 Tarefa 2 ................................................................................................................ 5 2.3 Tarefa 3 ................................................................................................................. 6 2.4 Tarefa 4 ................................................................................................................. 7 3 CONCLUSÃO .......................................................................................................... 9 REFERÊNCIAS ......................................................................................................... 10 3 1. INTRODUÇÃO Este trabalho tem como objetivo desenvolver soluções para problemas que foram propostos em material na disciplina de Projeto Integrado IV. Consiste em quatro atividades que envolvem as disciplinas de Computação em Nuvem, Sistemas Operacionais e Programação Web. As respostas aos problemas são concisas, objetivas e foram dadas de acordo com os materiais didáticos disponibilizados pelas próprias disciplinas e também fontes oriundas de sites confiáveis. 4 2. ATIVIDADE INTERDISCIPLINAR A solução para os problemas encontra-se organizada da seguinte maneira: 2.1 TAREFA 1: Vamos supor que você vai iniciar uma jornada empreendedora. Junto com alguns sócios, decidiu criar um negócio a partir da ideia de uma aplicação inovadora. Esta aplicação precisa de um ambiente de TI com recursos computacionais de alto desempenho e ambiente de nuvem devido à redução de cursos e abstração da complexidade da infraestrutura. O próximo passo é determinar qual dos modelos de serviço é mais apropriado para este caso: SaaS, PaaS ou IaaS. Descreve analisando caso a caso. - A proposta mais adequada para este tipo de caso IaaS, visto que o mesmo proporciona ao cliente um maior controle sobre os recursos computacionais disponíveis em paralelo com os demais modelos de serviço, além de possuir um grande número de servidores ligados entre si por uma rede de auto desempenho. A concretização do intento proposto no enunciado não é viabilizado, em sua totalidade pelo menos, pelo PaaS ou SaaS porque o primeiro, além de ter recursos computacionais com desempenho inferior, não permite ao cliente controle sobre a infraestrutura subjacente, o que é necessário no que tange a criação de um negócio sob a égide de uma aplicação inovadora, inédita. Nesse mesmo raciocínio, o SaaS também não é apropriado pela ausência de controle da infraestrutura ou da plataforma, além de ser direcionado sobretudo a disponibilização de aplicações prontas para uso e não de criação de novas aplicações, ainda que haja espaço limitado para customização das mesmas. . 5 2.2 TAREFA 2 Com o desenvolvimento dos sistemas, surgiu a necessidade de, dentro de um mesmo processo, possuir trechos que executassem concorrentemente, e aí temos o conceito de thread. a) Definição de thread; b) Pesquise os estados das threads; c) Os benefícios da programação multithread; d) Operações de thread. - Definição de Thread: As threads, ou processos leves, são fluxos de execução sequencial de processos em ordem encadeada. - Estados das Threads: De forma geral, a execução de uma thread passa por quatro estados: novo, executável, bloqueado e encerrado. - Benefícios da Programação Multithread: A capacidade de resposta mais ágil pode ser um dos benefícios da programação multithread, pois pode haver a capacidade de programas continuarem em execução mesmo parte deles estejam bloqueadas, por exemplo. Outra vantagem pode ser o compartilhamento de recursos, pois, por padrão, as threads compartilham memória e recursos do seu processo de origem, quando comumente processos só fazem este partilhamento entre si quando há passagem de mensagens ou memória compartilhada. Também podemos citar a economia de memória, visto que as threads compartilham da memória do processo ao qual pertencem. Por último e não menos importante destaca-se como vantagem a escalabilidade em relação ao uso de threads em vários processadores. - Operações de Thread: Há pelo menos quatro operações na aplicação de threads: criar, terminar, thread Join e thread yield. Criar diz respeito ao fato de uma thread criar outras e estabelecer uma relação hierárquica de thread-mãe e thread- filha. Terminar tem relação com o término da execução do fluxo encadeado. Thread join tem fins de sincronização entre threads-mãe e threads-filho, fazendo com que elas terminem suas execuções ao mesmo tempo o máximo possível. Thread yield serve para liberar espaço na CPU para outras threads em execução quando uma determinada thread está bloqueada ou esperando um procedimento externo de outro processo. Neste caso quando a thread executa a thread yield, a execução da ́ primeira 6 é suspensa, liberando a CPU para outra thread ser executada. Ao término deste processo, a primeira que executou o thread yield irá ocupar o espaço novamente na CPU. 2.3 TAREFA 3 Descreva detalhadamente todos os métodos HTTP existentes e cite um exemplo de utilização para cada um deles. - Atualmente, o HTTP utiliza oito métodos request: GET, POST, PUT, DELETE, HEAD, TRACE, OPTIONS e CONNECT. Usado sobretudo em formulários, o método GET capta ou simplesmente “pega” as informações que um determinado usuário digita num campo em branco da página web correspondente a um formulário. É usado quando é necessário adquirir dados do usuário para atender a determinado procedimento interno presente no código HTML. Por exemplo, suponha-se que um cliente deseje criar um site de vendas de tênis que requer cadastro de usuário. Nesse caso, o desenvolvedor terá que inserir um formulário captando dados sensíveis por meio do GET. Se o método GET “pega” informações para formulários, o POST “posta” ou exibe essas informações. O POST pode ser usado unicamente em formulários e o usuário não tem acesso a postagem realizada por este método, visto que ela é realizada internamente PUT é o método semelhante ao POST, com a diferença de ser idempotente, isto é, ser repetido diversas vezes com sucesso sem efeitos colaterais e que na verdade ele sobrescreve dados por dados criados ou atualizações destes mesmos dados. Por exemplo, caso um responsável pelo site de vendas de carros numa concessionária deseje corrigir informações sobre um veículo qualquer, deverá usar o PUT esta vez e quantas forem necessárias. O método DELETE, como o próprio nome já propõe, tem a finalidade de deletar ou remover um elemento específico de determinado objeto ou conjunto de 7 recursos. Por exemplo, caso alguém deseje remover do banco de dados de determinada loja de roupas o item 58, deverá digitar a URL para localizar o referidoitem, digitar a URL base e depois alterar as devidas portas para apaga-lo. HEAD tem certa ligação com formulários e o método GET, pois ele requere os dados de determinada requisição ou resposta HTTP inseridos por um usuário através de um cabeçalho. Por exemplo, ao realizar uma requisição HTTP para compra em determinado site pode gerar uma response intermediária de preenchimento de um cabeçalho gerado por um HEAD para, em seguida, a requisição ser processada de forma comum. TRACE é uma espécie de teste para verificar se o HTTP está funcionando devidamente, identificar e corrigir possíveis erros. Já OPTIONS é o método permite ao usuário conhecer quais as requisições ele pode fazer em relação a determinado recurso do servidor. É uma espécie de lista de opções na qual aparecem, por exemplo, que domínios podem ser executar os recursos de uma API ou quais os métodos de uso estão disponíveis (GET, POST, etc.) Por último, tem-se o CONNECT que proporciona maior segurança na relação cliente-servidor pavimentando o caminho entre a pilha de protocolos TCP/IP e o servidor, por meio de, numa comparação simples, um túnel. 2.4 TAREFA 4 Em aplicações Android podemos trabalhar com a persistência de dados locais por meio da criação de bancos de dados utilizando a biblioteca SQLite. Descreva as principais características do SQLite para aplicações Android, bem como as principais vantagens e desvantagens de sua utilização. - O SQLite é um banco de dados relacional simples e ao mesmo tempo poderoso, de código aberto. Tal base de dados aloca seus arquivos dentro de sua própria estrutura e foi formatado para ser executado em plataformas móveis. Suas bibliotecas são escritas em C, isso não impede a operação dos dados com outros programas em outras linguagens e isso devido instruções SQL. Alguns denominam o SQLite de “mini-SGBD” e ele é nativo do Android sem necessidade de instalação, configuração ou administração prévia. 8 De acordo com o site Hostinger Turoriais, porém, o SQLite, assim como qualquer SGBD, possui vantagens e desvantagens. As vantagens são:SQLite é baseada em arquivos e fácil de configurar e usar, é adequada para desenvolvimento e testes básicos, facilmente transportável; usa sintaxe SQL padrão com alterações mínimas e; é fácil de usar. Já as principais desvantagens são: Não possui recursos de segurança ou gerenciamento de usuários, não é facilmente escalável, não é adequada para grandes bases de dados e; não pode ser customizada. 9 3. CONCLUSÃO Verificou-se que, para resolver determinados problemas ligados a computação em nuvem, sistemas operacionais e programação web, é necessário ter domínio mínimo dos assuntos propostos a fim de apresentar-se soluções adequadas. Os problemas propostos no projeto integrado são de grande importância porque visam a preparação do graduando em Análise e Desenvolvimento de Sistemas para o mercado de trabalho que apresenta questões semelhantes e/ou, em muitos casos, superiormente mais complexas do que as apresentadas no presente projeto. Portanto, é fundamental manter uma rotina de estudo constante voltada a área profissional na qual o presente curso se dispõe a abordar, aliada a construção de conhecimento pelo ensino, pesquisa e extensão deste à sociedade, a fim de proporcionar crescimento tecnológico local, regional, estadual, nacional e, em última instância, global. 10 REFERÊNCIAS GARRETT, Filipe. O que são threads e para que servem em um processador?. Disponível em: https://www.techtudo.com.br/noticias/2019/01/o-que- sao-threads-e-para-que-servem-em-um-processador.ghtml. Acesso em 5 de nov. 2022. ACERVO, Lima. BENEFÍCIOS DO MULTITHREADING NO SISTEMA OPERACIONAL. Disponível em: https://acervolima.com/beneficios-do- multithreading-no-sistema-operacional/. Acesso em Acesso em 5 de nov. 2022. THREAD (COMPUTAÇÃO). In: WIKIPÉDIA, a enciclopédia livre. Flórida: Wikimedia Foundation, 2022. Disponível em: <https://pt.wikipedia.org/w/index.php?title=Thread_(computa%C3%A7%C3%A3 o)&oldid=64281791>. Acesso em: 5 de nov. 2022. MELO, Diego. O que é HTTP?. Disponível em: https://tecnoblog.net/responde/o-que-e-http/. Acesso em Acesso em 5 de nov. 2022. MATHEUS, Yuri. HTTP: GET e POST – Conheça as diferenças entre os métodos. Disponível em: https://www.techtudo.com.br/noticias/2019/01/o-que-sao- threads-e-para-que-servem-em-um-processador.ghtml. Acesso em 5 de nov. 2022. PÚBLICA, Utilidade. QUANDO USAR GET OU POST EM HTML E ID E CLASS PARA CSS. Disponível em: https://www.luis.blog.br/diferencas-id-e-class- get-e-post-comparativo-de-atributos-em- html.html#:~:text=Atributo%20POST,pode%20ser%20usado%20em%20formul%C3 %A1rios. Acesso em 5 de nov. 2022 LITTLE, Mark. O que é ser idempotente em REST? O debate continua. Disponível em: https://www.infoq.com/br/news/2013/05/idempotent/#:~:text=Um%20m%C3%A9todo %20%C3%A9%20considerado%20idempotente,de%20vezes%20que%20%C3%A9 %20executada. Acesso em 5 de nov. 2022. LOPES, Sérgio. Método HTTP PUT. Disponível em: https://cursos.alura.com.br/forum/topico-metodo-http-put-36571. Acesso em 5 de nov. 2022. DOCS, MDN Web. PUT. Disponível em: https://developer.mozilla.org/pt- BR/docs/Web/HTTP/Methods/PUT#:~:text=O%20m%C3%A9todo%20de%20requisi https://pt.wikipedia.org/w/index.php?title=Thread_(computa%C3%A7%C3%A3o)&oldid=64281791 https://pt.wikipedia.org/w/index.php?title=Thread_(computa%C3%A7%C3%A3o)&oldid=64281791 11 %C3%A7%C3%A3o%20HTTP,destino%20com%20os%20novos%20dados. Acesso em 5 de nov. 2022. INFORMÁTICA. Método DELETE HTTP. Disponível em: https://docs.informatica.com/pt_pt/data-integration/data-services/10-2/_guia-de- servicos-da-web_data-services_10- 2_ditamap/transformacao_de_consumidor_de_servico_da_web_rest/metodos_http/ metodo_delete_http.html. Acesso em 5 de nov. 2022. DOCS, MDN Web. HEAD. Disponível em: https://developer.mozilla.org/pt- BR/docs/Web/HTTP/Methods/HEAD#:~:text=O%20m%C3%A9todo%20HTTP%20H EAD%20solicita,largura%20de%20banda%2C%20por%20exemplo. Acesso em 5 de nov. 2022. GASPAR, Larissa. Protocolo HTTP: entenda o que é e para que serve!. Disponível em: https://www.hostgator.com.br/blog/o-que-e-protocolo-http/. Acesso em 5 de nov. 2022. SOUZA, Ivan de. O que ´SQLite, porque ele é usado, o que o diferencia do MySQL. Disponível em: https://rockcontent.com/br/blog/sqlite/. Acesso em 5 de nov. 2022. DEVMEDIA. Utlizando SQLite em aplicativos Android. Disponível em: https://www.devmedia.com.br/utilizando-sqlite-em-aplicativos- android/32117#:~:text=Na%20pr%C3%A1tica%2C%20o%20SQLite%20%C3%A9,u m%20banco%20de%20dados%20gratuito. Acesso em 5 de nov. 2022 E., Carlos. SQLite vs MySQL – Qual a Diferença e Qual Usar. Disponível em: https://www.hostinger.com.br/tutoriais/sqlite-vs- mysql#:~:text=Desvantagens%20da%20SQLite%3A,N%C3%A3o%20pode%20ser% 20customizada. Acesso em 5 de nov. 2022
Compartilhar