UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT,...
Transcript of UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT,...
![Page 1: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/1.jpg)
Thiago Pereira Rosa Engenharia de Software
Orientadora: Msc. Ticiana Linhares Coelho da SilvaCoorientador: Dr. Flávio Rubens de Carvalho Souza
UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE BASEADO EM MICROSERVIÇOS
Trabalho de Conclusão de Curso
![Page 2: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/2.jpg)
Roteiro da apresentação
• Justificativa
• Trabalhos Relacionados
• Objetivos
• Fundamentação Teórica
• Procedimentos Metodológicos
• Cronograma
• Referências Bibliográficas
![Page 3: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/3.jpg)
A utilização dos microserviços melhora o desenvolvimento de sistemas de software mais complexo, confiáveis e com maior qualidade?
![Page 4: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/4.jpg)
Trabalhos Relacionados
• NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal of Open Information Technologies, v. 2, n. 9, p. 24-27, 2014.
• VIENNOT, Nicolas et al. Synapse: a microservices architecture for heterogeneous-database web applications. In: Proceedings of the Tenth European Conference on Computer Systems. ACM, 2015. p. 21.
![Page 5: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/5.jpg)
Propor um método para o desenvolvimento de software baseado em microserviços
![Page 6: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/6.jpg)
Objetivos Específicos
• Identificar modelos de desenvolvimento existentes baseados em microserviços
• Identificar características e funcionalidades fundamentais em sistemas baseados em microserviços
• Definir um método para o desenvolvimento de software baseado em microserviços
• Realizar um estudo de caso utilizando o método proposto
![Page 7: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/7.jpg)
Fundamentação Teórica
• Microserviços
Expedição
Inventário
Serviço ao cliente
Contas
Faturas
Devoluções
@samnewman
Pequenos serviços Autônomos que trabalham em conjunto
![Page 8: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/8.jpg)
Fundamentação Teórica
• Microserviços
Uma arquitetura orientada a serviços fracamente acoplada com contextos limitados
Se cada serviço deve ser atualizado ao mesmo tempo não é fracamente acoplado
Se precisa saber muito sobre serviços circundantes não há um contexto limitado
![Page 9: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/9.jpg)
Fundamentação Teórica
• Microserviços - Preocupações
Ferramental Configuração Descoberta Encaminhamento Observalidade
Datastores
Operacional: Orquestração e Implantação da infraestrutura
Desenvolvimento: Linguagens de programação e Tecnologias de Contêiner
![Page 10: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/10.jpg)
Fundamentação Teórica
• Princípios dos Microserviços
• Modelo de arquitetura web tradicional
• Modelo de arquitetura baseada em microserviços
![Page 11: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/11.jpg)
Fundamentação Teórica
• Princípios dos Microserviços
• Pequenos
• Cada um executando em seu processo
• Comunicação via HTTP • Construído em torno da capacidade de negócio • Independentemente implementáveis
• Gerenciamento centralizado
• Escritos em diferentes linguagens de programação
• Diferentes tecnologias de armazenamento de dados
http://martinfowler.com/articles/microservices.html
![Page 12: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/12.jpg)
Fundamentação Teórica
• REST como modelo arquitetural.
![Page 13: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/13.jpg)
Fundamentação Teórica
• Componentização dos Microserviços • Design orientado ao domínio
![Page 14: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/14.jpg)
Fundamentação Teórica
• Computação em Nuvem
![Page 15: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/15.jpg)
Fundamentação Teórica
• Arquitetura de Software
![Page 16: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/16.jpg)
Procedimentos Metodológicos
• Revisão bibliográfica para identificação dos modelos de desenvolvimento baseados em microserviços existentes
• Identificar características e funcionalidades fundamentais em sistemas baseados em microserviços
• Estruturar logicamente os artefatos da solução • Definir tecnologias para auxiliar na construção de microserviços • Planejar a comunicação dos microserviços • Definir método para construir microserviços • Implantar os microserviços construídos • Realizar um estudo de caso
![Page 17: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/17.jpg)
http://12factor.net
![Page 18: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/18.jpg)
Cronograma
ATIVIDADES2015
Mai Jun Jul Ago Set Out Nov Dez
Aprofundamento da revisão bibliográfica X X
Definir o método proposto X X X X
Definir tecnologias de desenvolvimento X X
Desenvolvimento do estudo de caso X X X
Testes X X X X X
Análise dos resultados X
Criação e revisão da monografia X X X
Defesa X
![Page 19: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/19.jpg)
Referências Bibliográficas
• FIELDING, Roy Thomas. Architectural styles and the design of network-based software architectures. 2000. Tese de Doutorado. University of California, Irvine.
• FOWLER, Martin. Patterns of enterprise application architecture. Addison-Wesley Longman Publishing Co., Inc., 2002.
• LEWIS, James; FLOWER, Martin. Microservices. Disponível em: <http://martinfowler.com/articles/microservices.html> Acesso em: 18 jun. 2015.
• MARINESCU, Dan C. Cloud computing: Theory and practice. 1.ed. Waltham: Newnes, 2013.
![Page 20: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/20.jpg)
Referências Bibliográficas
• NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal of Open Information Technologies, v. 2, n. 9, p. 24-27, 2014.
• NEWMAN, Sam. Building Microservices. 1 ed. O'Reilly Media, Inc., 2015.
• RICHARDSON, Chris. Microservices architecture. Disponível em <http://microservices.io/patterns/microservices.html> Acesso em: 20 mai. 2015.
• The twelve-factor app. Disponível em <http://12factor.net> Acesso em: 13 mai. 2015.
• THONES, Johannes. Microservices. Software, IEEE, v. 32, n. 1, p. 116-116, 2015.
![Page 21: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/21.jpg)
Obrigado!
https://kamihouse.wordpress.com/2015/06/20/um-metodo-para-o-desenvolvimento-de-software-baseado-em-microservices
![Page 22: UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE … · Referências Bibliográficas • NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On Micro-services Architecture. International Journal](https://reader034.fdocument.pub/reader034/viewer/2022042910/5f3fe7e8384e5642990046e0/html5/thumbnails/22.jpg)
UM MÉTODO PARA O DESENVOLVIMENTO DE SOFTWARE BASEADO EM MICROSERVIÇOS
Thiago Pereira RosaOrientadora:Msc. Ticiana Linhares Coelho da Silva Coorientador:Dr. Flávio Rubens de Carvalho Souza