🚀 1.1 A Evolução dos Serviços: De SOAP a Microsserviços
A história do desenvolvimento Java corporativo é uma jornada de superação da complexidade. No início do século, a grande revolução foi a capacidade de sistemas conversarem entre si, independentemente de plataforma, através do padrão SOAP (Simple Object Access Protocol).
A Era do XML e SOAP
O SOAP utilizava XML exaustivo para garantir contratos rígidos de comunicação. Embora confiável, o overhead era massivo: cada mensagem carregava metadados pesados, exigindo servidores robustos para processar simples trocas de dados.
sequenceDiagram participant App1 participant SOAP_Service App1->>SOAP_Service: Requisição XML (Envelope + Body) SOAP_Service->>App1: Resposta XML (Complexa/WSDL)
A Revolução REST (Representational State Transfer)
Como alternativa à complexidade do SOAP, surgiu o REST, idealizado por Roy Fielding. O REST revolucionou ao utilizar a própria semântica do protocolo HTTP (GET, POST, PUT, DELETE) para gerenciar estados de recursos.
Níveis de Maturidade de Richardson
Para alcançar a “Glória do REST”, um sistema deve evoluir através de quatro níveis:
graph TD N0[Nível 0: POX - Plain Old XML] --> N1[Nível 1: Recursos] N1 --> N2[Nível 2: Verbos HTTP] N2 --> N3["Nível 3: HATEOAS - Controles Hipermídia"]
O Surgimento dos Microsserviços
Mesmo com o REST, muitas aplicações permaneciam como Monólitos: um único deploy contendo todas as funcionalidades. Se uma parte precisasse crescer, toda a aplicação deveria ser replicada, desperdiçando recursos.
graph LR subgraph mon_lito_escalabilidade_r_gida [Monólito Escalabilidade Rígida] M[App] -- "Escala tudo ou nada" --> M1[App] end subgraph microsservi_os_escalabilidade_granular [Microsserviços Escalabilidade Granular] S1[Serviço A] -- x3 --> S1 S2[Serviço B] -- x10 --> S2 end
Moderno (2024/2026), utilizamos Spring Boot 3.5+ para orquestrar essa nova realidade de forma produtiva.
IMPORTANT
Na Engenharia Premium, não escolhemos microsserviços apenas por “moda”, mas por necessidade de escalabilidade e manutenção independente. O Spring Boot 3.5+ facilita isso ao fornecer starters prontos para esta arquitetura.