No contexto da Engenharia de Software para a Computação em Nuvem as pesquisas relacionadas ao tema são cada vez mais crescentes e investiga-se como a Computação em Nuvem influenciará no desenvolvimento de sistemas de uma maneira geral. A atividade de construir sistemas para nuvem é uma tarefa complexa, criar aplicações de múltiplas nuvens, sobretudo, no contexto do modelo de serviço Plataforma-como-um-Serviço(PaaS), é ainda mais agravada devido especificidades de plataformas de nuvem que podem tornar a tarefa de desenvolvimento repetitiva, custosa e dependente de um provedor específico. As abordagens dirigidas por modelos(MDE) resolvem alguns desses problemas, elas propõem que a modelagem e mecanismos de transformação utilizados para gerar código a partir de modelos são uma melhor maneira de desenvolver sistemas de software, ao invés da codificação pura. Portanto, visando investigar como combinar os benefícios da Computação em Nuvem alinhados ao MDE, foi desenvolvida uma abordagem dirigida por modelos para desenvolvimento de aplicações multi-PaaS. Em direção a este objetivo foi realizado um Estudo de Caso em colaboração com uma empresa da indústria. Essa colaboração permitiu a criação de implementações de referencia que possibilitaram o desenvolvimento de uma Linguagem Específica de Domínio (DSL) e metaprogramas que compõem a abordagem. Para avaliar a abordagem desenvolvida foi realizado um Estudo de Caso. Os resultados mostram que MDE pode não só resolver o problema, mas trazer benefícios adicionais em relação a abordagens tradicionais de desenvolvimento de sistemas. Este trabalho explora esses benefícios, apresenta uma maneira de unir recursos heterogêneos de nuvem por meio de uma abordagem dirigida por modelos e aplicações orientadas a serviço. / Cloud computing is a computational paradigm that has increasingly been used in various sectors of industry and academia. Researchers have been studying how cloud technologies can influence several areas of science and research. In the context of Software Engineering, the researches related to cloud are increasingly increasing. Researchers are studying how to develop better cloud services offerings and how to find a strategy for combining existing resources to build improved services and solve problems. Building cloud systems is a complex task, in the context of the Platform-as-a-Service(PaaS) cloud service model; this activity is further aggravated by cloud platform specificities that can make the task of development repetitive, costly,and platform-specific. Model-driven approaches (MDE) solve some of these issues; they propose that the modeling and transformation mechanisms used to generate code from models are a better way to develop software systems, rather than pure coding. Development with MDE is a comprehensive and relevant research area and needs to be better explored in a wide range of contexts. Therefore, in order to investigate how to combine the benefits of multi-cloud appications aligned to the MDE, we developed a model-driven approach to build multi-PaaS applications.Toward this objective, we performed a case study in collaboration with an industry company.This collaboration allowed the creation of reference implementations that enabled the development of a Domain Specific Language (DSL) and metaprograms that constitute the approach. To evaluate the approach, we performed a case study. The results show that MDE cannot only solve the problem, but also bring additional benefits over traditional systems development approaches. This work explores these benefits, presents a way to combine heterogeneous cloud resources through a service-driven model and application-driven approach.
Identifer | oai:union.ndltd.org:usp.br/oai:teses.usp.br:tde-08022018-103528 |
Date | 01 September 2017 |
Creators | Silva, Elias Adriano Nogueira da |
Contributors | Fortes, Renata Pontin de Mattos |
Publisher | Biblioteca Digitais de Teses e Dissertações da USP |
Source Sets | Universidade de São Paulo |
Language | Portuguese |
Detected Language | Portuguese |
Type | Tese de Doutorado |
Format | application/pdf |
Rights | Liberar o conteúdo para acesso público. |
Page generated in 0.0025 seconds