• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 2
  • 2
  • Tagged with
  • 4
  • 4
  • 3
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Monólise: Uma técnica para decomposição de aplicações monolíticas em microsserviços

Rocha, Diego Pereira da 17 September 2018 (has links)
Submitted by JOSIANE SANTOS DE OLIVEIRA (josianeso) on 2018-12-21T15:54:25Z No. of bitstreams: 1 Diego Pereira da Rocha_.pdf: 4394542 bytes, checksum: c92aa948a9a1de248deed850d6c19d5b (MD5) / Made available in DSpace on 2018-12-21T15:54:25Z (GMT). No. of bitstreams: 1 Diego Pereira da Rocha_.pdf: 4394542 bytes, checksum: c92aa948a9a1de248deed850d6c19d5b (MD5) Previous issue date: 2018-09-17 / Nenhuma / A recorrente necessidade de as empresas entregarem seus softwares em curto espaço de tempo e de forma contínua, combinada ao alto nível de exigência dos usuários, está fazendo a indústria, de um modo geral, repensar como devem ser desenvolvidas as aplicações para o mercado atual. Nesse cenário, microsserviços é o estilo arquitetural utilizado para modernizar as aplicações monolíticas. No entanto, o processo para decompor uma aplicação monolítica em microsserviços é ainda um desafio que precisa ser investigado, já que, na indústria, atualmente, não há uma estrutura padronizada para fazer a decomposição das aplicações. Encontrar uma técnica que permita definir o grau de granularidade de um microsserviço também é um tema que desperta discussão na área de Engenharia de Software. Partindo dessas considerações, este trabalho propôs a Monólise, uma técnica que utiliza um algoritmo chamado Monobreak, que possibilita decompor uma aplicação monolítica a partir de funcionalidades e também definir o grau de granularidade dos microsserviços a serem gerados. Nesta pesquisa, a Monólise foi avaliada através de um estudo de caso. Tal avaliação consistiu na comparação da decomposição realizada pela Monólise com a decomposição executada por um especialista na aplicação-alvo utilizada no estudo de caso. Essa comparação permitiu avaliar a efetividade da Monólise através de oito cenários realísticos de decomposição. O resultado dessa avaliação permitiu verificar as semelhanças e diferenças ao decompor uma aplicação monolítica em microsserviços de forma manual e a partir de uma técnica semiautomática. O desenvolvimento deste trabalho demonstrou que a técnica de Monólise apresenta-se com uma grande potencialidade na área de Engenharia de Software referente à decomposição de aplicações. Além disso, as considerações do estudo evidenciaram que essa técnica poderá ser um motivador para encorajar desenvolvedores e arquitetos na jornada de modernização de suas aplicações monolíticas em microsserviços bem como diminuir possíveis erros cometidos nessa atividade por profissionais com pouca experiência em decomposição de aplicações. / The recurring need for companies to deliver their software in a short time and on a continuous basis combined with the high level of demand of users is making the industry in general rethink how to develop the applications for the current market. In this scenario microservice is the architectural style used to modernize monolithic applications. However the process of decomposing a monolithic application into microservices is still a challenge that needs to be investigated since in industry there is currently no standardized framework for decomposing applications. Finding a technique that allows defining the degree of granularity of a microservice is also a topic that arouses discussion in the area of Software Engineering. Based on these considerations this work proposed the Monolise a technique that uses an algorithm called Mono- Break that allows to decompose a monolithic application from functionalities and also to define the degree of granularity of the microservices to be generated. In this research the Monolise was evaluated through a case study. Such evaluation consisted of comparing the decomposition performed by the Monolise with the decomposition performed by a specialist in the target application used in the case study. This comparison allowed to evaluate the effectiveness of the Monolise through eight realistic scenarios of decomposition. The result of this evaluation allowed to verify the similarities and differences in the decomposition of a monolithic application in microservices manually and from a semiautomatic technique. The development of this work demonstrated that the Monolise technique presents with great potentiality in the area of Software Engineering regarding the decomposition of applications. In addition the study’s considerations showed that this technique could be a motivator to encourage developers and architects in the modernization of their monolithic applications in microservices as well as to reduce possible mistakes made in this activity by professionals with little experience in decomposing applications.
2

A scalable microservice-based open source platform for smart cities / Uma plataforma escalável de código aberto baseada em microsserviços para cidades inteligentes

Esposte, Arthur de Moura Del 18 June 2018 (has links)
Smart City technologies emerge as a potential solution to tackle common problems in large urban centers by using city resources efficiently and providing quality services for citizens. Despite the various advances in middleware technologies to support future smart cities, there are yet no widely accepted platforms. Most of the existing solutions do not provide the required flexibility to be shared across cities. Moreover, the extensive use and development of non-open-source software leads to interoperability issues and limits the collaboration among R&D groups. Our research explores the use of a microservices architecture to address key practical challenges in smart city platforms. More specifically, we are concerned with the impact of microservices on addressing the key non-functional requirements to enable the development of smart cities such as supporting different scalability demands and providing a flexible architecture which can easily evolve over time. To this end, we are developing InterSCity, a microservice-based open source smart city platform that aims at supporting the development of sophisticated, cross- domain applications and services. Our early experience shows that microservices can be properly used as building blocks to achieve a loosely coupled, flexible architecture. Experimental results point towards the applicability of our approach in the context of smart cities since the platform can support multiple scalability demands. We expect to enable collaborative, novel smart city research, development, and deployment initiatives through the InterSCity platform. The full validation of the platform will be conducted using different smart city scenarios and workloads. Future work comprises the ongoing design and development effort on data processing services as well as more comprehensive evaluation of the proposed platform through scalability experiments. / As tecnologias de Cidades Inteligentes surgem como uma potencial solução para lidar com problemas comuns em grandes centros urbanos, utilizando os recursos da cidade de maneira eficiente e fornecendo serviços de qualidade para os cidadãos. Apesar dos vários avanços nas tecnologias de middleware para suporte às cidades inteligentes do futuro, ainda não existem plataformas amplamente aceitas. A maioria das soluções existentes não oferece a flexibilidade necessária para ser compartilhada entre as cidades. Além disso, o vasto uso e desenvolvimento de software proprietário levam a problemas de interoperabilidade e limitam a colaboração entre grupos de P&D. Nesta dissertação, exploramos uso de uma arquitetura de microsserviços para abordar os principais desafios práticos em plataformas de cidades inteligentes. Mais especificamente, estamos preocupados com o impacto dos microsserviços sobre requisitos não-funcionais para permitir o desenvolvimento de cidades inteligentes, tais como o suporte a diferentes demandas de escalabilidade e o fornecimento de uma arquitetura flexível que pode evoluir facilmente. Para esse fim, criamos a InterSCity, uma plataforma para cidades inteligentes de código aberto baseada em microsserviços que visa apoiar o desenvolvimento de aplicativos e serviços sofisticados em múltiplos domínios. Nossa experiência inicial mostra que os microsserviços podem ser usados adequadamente como blocos de construção para obter uma arquitetura flexível e fracamente acoplada. Resultados experimentais apontam para a aplicabilidade de nossa abordagem no contexto de cidades inteligentes, já que a plataforma pode suportar diferentes demandas de escalabilidade. Esperamos permitir pesquisas colaborativas e inovadoras em cidades inteligentes, assim como o desenvolvimento e iniciativas de implantações reais através da plataforma InterSCity. A validação completa da plataforma será realizada usando diferentes cenários de cidades inteligentes e cargas de trabalho. Os trabalhos futuros compreendem o esforço contínuo de projetar e desenvolver novos serviços de processamento de dados, bem como a realização de avaliações mais abrangentes da plataforma proposta por meio de experimentos de escalabilidade.
3

A scalable microservice-based open source platform for smart cities / Uma plataforma escalável de código aberto baseada em microsserviços para cidades inteligentes

Arthur de Moura Del Esposte 18 June 2018 (has links)
Smart City technologies emerge as a potential solution to tackle common problems in large urban centers by using city resources efficiently and providing quality services for citizens. Despite the various advances in middleware technologies to support future smart cities, there are yet no widely accepted platforms. Most of the existing solutions do not provide the required flexibility to be shared across cities. Moreover, the extensive use and development of non-open-source software leads to interoperability issues and limits the collaboration among R&D groups. Our research explores the use of a microservices architecture to address key practical challenges in smart city platforms. More specifically, we are concerned with the impact of microservices on addressing the key non-functional requirements to enable the development of smart cities such as supporting different scalability demands and providing a flexible architecture which can easily evolve over time. To this end, we are developing InterSCity, a microservice-based open source smart city platform that aims at supporting the development of sophisticated, cross- domain applications and services. Our early experience shows that microservices can be properly used as building blocks to achieve a loosely coupled, flexible architecture. Experimental results point towards the applicability of our approach in the context of smart cities since the platform can support multiple scalability demands. We expect to enable collaborative, novel smart city research, development, and deployment initiatives through the InterSCity platform. The full validation of the platform will be conducted using different smart city scenarios and workloads. Future work comprises the ongoing design and development effort on data processing services as well as more comprehensive evaluation of the proposed platform through scalability experiments. / As tecnologias de Cidades Inteligentes surgem como uma potencial solução para lidar com problemas comuns em grandes centros urbanos, utilizando os recursos da cidade de maneira eficiente e fornecendo serviços de qualidade para os cidadãos. Apesar dos vários avanços nas tecnologias de middleware para suporte às cidades inteligentes do futuro, ainda não existem plataformas amplamente aceitas. A maioria das soluções existentes não oferece a flexibilidade necessária para ser compartilhada entre as cidades. Além disso, o vasto uso e desenvolvimento de software proprietário levam a problemas de interoperabilidade e limitam a colaboração entre grupos de P&D. Nesta dissertação, exploramos uso de uma arquitetura de microsserviços para abordar os principais desafios práticos em plataformas de cidades inteligentes. Mais especificamente, estamos preocupados com o impacto dos microsserviços sobre requisitos não-funcionais para permitir o desenvolvimento de cidades inteligentes, tais como o suporte a diferentes demandas de escalabilidade e o fornecimento de uma arquitetura flexível que pode evoluir facilmente. Para esse fim, criamos a InterSCity, uma plataforma para cidades inteligentes de código aberto baseada em microsserviços que visa apoiar o desenvolvimento de aplicativos e serviços sofisticados em múltiplos domínios. Nossa experiência inicial mostra que os microsserviços podem ser usados adequadamente como blocos de construção para obter uma arquitetura flexível e fracamente acoplada. Resultados experimentais apontam para a aplicabilidade de nossa abordagem no contexto de cidades inteligentes, já que a plataforma pode suportar diferentes demandas de escalabilidade. Esperamos permitir pesquisas colaborativas e inovadoras em cidades inteligentes, assim como o desenvolvimento e iniciativas de implantações reais através da plataforma InterSCity. A validação completa da plataforma será realizada usando diferentes cenários de cidades inteligentes e cargas de trabalho. Os trabalhos futuros compreendem o esforço contínuo de projetar e desenvolver novos serviços de processamento de dados, bem como a realização de avaliações mais abrangentes da plataforma proposta por meio de experimentos de escalabilidade.
4

Uma abordagem dirigida por modelos para distribuição tardia de aplicações

Esperança, Vinicius Nordi 07 March 2016 (has links)
Submitted by Caroline Periotto (carol@ufscar.br) on 2016-09-26T20:19:11Z No. of bitstreams: 1 DissVNE.pdf: 1613517 bytes, checksum: bd44342cd60c7332f4ed2a360b407235 (MD5) / Approved for entry into archive by Marina Freitas (marinapf@ufscar.br) on 2016-09-27T20:14:41Z (GMT) No. of bitstreams: 1 DissVNE.pdf: 1613517 bytes, checksum: bd44342cd60c7332f4ed2a360b407235 (MD5) / Approved for entry into archive by Marina Freitas (marinapf@ufscar.br) on 2016-09-27T20:14:47Z (GMT) No. of bitstreams: 1 DissVNE.pdf: 1613517 bytes, checksum: bd44342cd60c7332f4ed2a360b407235 (MD5) / Made available in DSpace on 2016-09-27T20:14:53Z (GMT). No. of bitstreams: 1 DissVNE.pdf: 1613517 bytes, checksum: bd44342cd60c7332f4ed2a360b407235 (MD5) Previous issue date: 2016-03-07 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES) / The need to improve software systems to adapt to the new technologies is a constant topic of research. As computing evolves, new challenges emerge and new solutions must be created. The increasing use of various types of devices for access to sites and software and the ease that the Internet provides the information access, force researchers to keep great efforts improving already developed applications, or even thinking of ways to facilitate the development of software to run on multiple devices. The general purpose of this master’s research was focused on this problem, distribute software systems initially designed to run on a single computer in order to eliminate many tasks that the developer thoroughly repeat this process. The approach allows developers to use the source code of any application and distribution models, perform the division of its software quickly in order to test different distributions without time cost. Using concepts of MDD (Model-Driven Development), analyzers and code generators, and concepts of microservices, it developed a partitioner that distributes the source code of an application on multiple servers, creating small services for each, making these services exchange information with each other while maintaining the functionality of the application intact. The partitioner gives flexibility to the programmer to choose the arrangement of classes among the services that will be created. Developers can then easily test different ways to distribute the code of the application without the need of having to develop services and communication between the new services. This approach was called late distribution. Experimental studies were performed to ensure the validity of the project. In total, five different tests were conducted in order to verify the creation of services would be performed as defined by the programmer. In all cases the result was satisfactory, allowing distribution of software code used between the designated servers. / A necessidade de melhoria de sistemas de software para adequarem-se às novas tecnologias é tema constante de pesquisas. Conforme a computação evolui, novos desafios surgem, e novas soluções devem ser criadas. A crescente utilização de diversos tipos de aparelhos para acesso a sites e software, além da facilidade que a Internet proporciona ao acesso de informações, força pesquisadores da área a manterem grandes esforços melhorando aplicações já desenvolvidas, ou mesmo pensando em formas de facilitar o desenvolvimento de software de forma a rodar em vários dispositivos. O intuito geral desta pesquisa de mestrado foi com foco nesse problema, de distribuir sistemas de software inicialmente projetados para rodar em um único computador de maneira a eliminar muitas tarefas que o desenvolvedor repetiria exaustivamente nesse processo. A abordagem permite que programadores possam, a partir do código fonte de alguma aplicação e modelos de distribuição, realizar a divisão do seu software de maneira rápida, a fim de testar diversas distribuições sem custo de tempo. Utilizando conceitos de DSDM (Desenvolvimento de Software Dirigido a Modelos), analisadores e geradores de código, e conceitos de microsserviços, foi desenvolvido um particionador que distribui o código fonte de uma aplicação em diversos servidores, criando pequenos serviços para cada, fazendo esses serviços trocarem informações entre si, mantendo as funcionalidades da aplicação intactas. O particionador dá flexibilidade ao programador de escolher a disposição das classes entre os serviços que serão criados. Desenvolvedores podem então, facilmente, testar diversas maneiras de distribuir o código de sua aplicação, sem a necessidade de ter que desenvolver os serviços e a comunicação entre eles. Essa abordagem foi denominada distribuição tardia. Estudos experimentais foram realizados para garantir a validade do projeto. No total, cinco testes diferentes foram conduzidos, a fim de verificar se a criação dos serviços seria realizada como definida pelo programador. Em todos os casos o resultado foi satisfatório, permitindo a distribuição do código do software utilizado entre os servidores designados.

Page generated in 0.0497 seconds