Detalhes bibliográficos
Ano de defesa: |
2013 |
Autor(a) principal: |
SILVA JÚNIOR, Jucimar Maia da |
Orientador(a): |
LINS, Rafael Dueire |
Banca de defesa: |
Não Informado pela instituição |
Tipo de documento: |
Tese
|
Tipo de acesso: |
Acesso aberto |
Idioma: |
por |
Instituição de defesa: |
Universidade Federal de Pernambuco
|
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: |
|
Link de acesso: |
https://repositorio.ufpe.br/handle/123456789/13357
|
Resumo: |
Jogos via Internet, redes sociais e as novas aplicações web demandam acesso simultâneo e interativo de milhares (às vezes milhões) de pessoas. Esses sistemas são quase sempre desenvolvidos usando linguagens de script como PHP ou usando frameworks baseados em linguagens como Java, Ruby ou Pyhton. À proporção que o acesso a esses sistemas cresce, os fornecedores de tais serviços necessitam atender a novas demandas por meio da substituição de hardware por modelos mais potentes, aumentando seus custos operacionais. Quando o nível de acesso cresce drasticamente, o projetista se vê forçado a reprojetar toda a arquitetura do sistema migrando para soluções complexas usando Java Enterprise Edition (JEE) ou Node.js. Essas soluções também demandam mais e mais servidores. O problema possui uma raiz mais profunda: as linguagens de programação usadas para o desenvolvimento de sistemas não foram projetadas para suportar concorrência massiva. Linguagens com suporte a concorrência baseadas no modelo de memória compartilhada não possuem a escalabilidade necessária para atender a demanda. Para resolver os problemas ocasionados pela concorrência massiva, os desenvolvedores estão optando por usar linguagens funcionais como Scala e Erlang na arquitetura do sistema ao contrário de linguagens orientadas a objetos como Java. Mas Erlang não possui uma sintaxe própria para programação orientada a objetos. Este trabalho mostra o desenvolvimento de uma extensão orientada a objetos para a linguagem Erlang, chamada ooErlang, que possui uma melhor expressividade para resolução de problemas “do mundo real” e que não degrade o bom desempenho da linguagem em aplicações que demandam alto tráfego de dados e fina granularidade computacional, tal qual em programas Web 2.0. Assim sendo, o nicho da extensão aqui apresentada é o mesmo de Erlang: desenvolver sistemas backend para grandes aplicações onde a concorrência massiva e tolerância a falhas são requeridas. |