Microsserviços

Devido ao grande avanço da tecnologia, as formas de comunicação e conectividade se reinventaram; Assim, a maneira de desenvolver software tem se tornado mais complexa e multidisciplinar; Utilizar a arquitetura monolítica como padrão de desenvolvimento de aplicações corporativas é uma abordagem comumente empregada, no entanto, este padrão gera complicações quando utilizado para desenvolver grandes aplicações, com contratempos na escala e principalmente inconvenientes quando há necessidade de iterações e entregas frequentes. Com isso, a arquitetura de microsserviços surge como uma alternativa para construção de aplicações corporativas complexas.

Microserviços ou Microsserviços?

Para a tradução do termo Microservices, optei por adotar a nova regra da reforma ortográfica da Língua Portuguesa de 2013 (com período de adaptação de 4 anos).

– HÍFEN: “R” e “S”
Nova regra: O hífen não será mais utilizado em prefixos terminados em vogal seguida de palavras iniciadas com “r” ou “s”. Nesse caso, essas letras deverão ser duplicadas.

Neste caso, o correto é utilizar o termo microsserviços.

Um método para desenvolvimento de software baseado em microsserviços

Em fevereiro de 2016 apresentei meu trabalho de conclusão de curso em Engenharia de Software pela Universidade Federal do Ceará, desenvolvido ao longo do ano de 2015 e que foi muito bem aceito pela banca avaliadora composta por dois professores doutores e um doutorando na área da Ciência da Computação.

Minha proposta consistiu em criar um método formal para auxiliar o desenvolvimento de software baseado em microsserviços. Este método fornece um conjunto de passos para a construção de software utilizando o conceito de Microsserviços. E para avaliar este método, foi realizado um estudo de caso envolvendo o desenvolvimento de um software baseado em microsserviços para suplementar o tratamento medicinal com aplicação de fototerapia em conjunto com a startup Bright Photomedicine.

Microsserviços, sintetizadamente são aplicativos que podem ser implantados, dimensionados e testados de maneira independente, seguindo o princípio da responsabilidade única.
O intuito da responsabilidade única é que o aplicativo desenvolvido deve ser planejado para realizar apenas um conjunto mínimo viável de tarefas, devendo ser facilmente compreendido, modificável e substituível.

Geralmente os serviços são construídos em torno das regras de negócio da organização e são independentemente implementáveis por máquinas totalmente automatizadas. Contudo, o gerenciamento pode ser centralizado e escrito por meio de linguagens de programação diferentes e com diferentes mecanismos de persistência de dados.

Nesta proposta de pesquisa, o objetivo geral foi propor um método para o desenvolvimento de software baseado em microserviços. A partir deste objetivo mais geral, foram elencados como objetivos específicos: (i) identificar modelos de desenvolvimento existentes baseados em microserviços; (ii) identificar características e funcionalidades fundamentais em sistemas baseados em microserviços; (iii) definir um método para o desenvolvimento de software baseado em microserviços; e (iv) realizar um estudo de caso utilizando o método proposto.

No estudo de caso, os microsserviços foram desenvolvidos com tecnologia Java 1.8, e utilizando o framework Spring Boot em conjunto com diversas tecnologias open source da Netflix Open Source Software Center. Neste TCC também são elencadas uma lista de tecnologias emergentes e consolidadas no mercado, que auxiliam o desenvolvimento de software baseado em microsserviços.

Abaixo segue os slides das apresentações tanto do projeto de pesquisa quanto do trabalho de conclusão de curso para avaliação da evoluções do estudo.

Slides – Apresentação trabalho de conclusão de curso


http://pt.slideshare.net/kamihouse1/um-mtodo-de-desenvolvimento-de-software-baseado-em-microsservios

Mais detalhes podem ser encontrados no próprio trabalho de conclusão de curso (na íntegra) a seguir:

Thiago Pereira Rosa - Apresentação do TCC
Fundador da Coderi, Thiago Pereira Rosa. Foto da defesa do TCC 2. UFC Quixadá/CE, fevereiro de 2016