Giuliana Bezerra é mestre em ciência da computação, atuante no mercado de TI desde 2012 e atualmente trabalha como arquiteta de software. Uma de suas paixões é a criação de conteúdo na área de desenvolvimento de software, com o objetivo de dividir a sua experiência profissional de mais de uma década.
Aprenda sobre desenvolvimento e arquitetura de software em vídeos passo-a-passo e simples de entender, para todos os níveis de experiência!
Giuliana, gostei muito do seu vÍdeo e repliquei para testes, mas o meu fica gerando um erro logo após autenticar no Keycloak onde ele executaria o callback localhost:8000/login/oauth2/code/keycloak. Ele não segue e dá um erro NS_ERROR_REDIRECT_LOOP
Coloquei o projeto no GitHub, dá uma olhada e compara com o teu pra ajustar: github.com/giuliana-bezerra/spa-spring-oauth. Pelo erro deve ser a config do vite.config.js ou do application.yml do gateway que está diferente, então checa esses dois.
Muito boa explicação Giuliana❤. Seria legal uma abordagem com RetryTemplate e quando não desse certo a mensagem armazenar em uma fila, e depois usar um serviço para ler dessa fila e repetir o serviço?
Só uma adição as nomenclaturas de negocios sobre essas operações: - A transferencias entre Wallets é chamada de settlements. - O processo da third party entity que aprova ou não se a transação deve ser concluída é chamada de Escrow. Bonus: Quando a transferencia é feita para o bancão da vida, a target wallet será uma do banco digital que posteriormente vai pegar esses settlements completed que verificar se a instituição é um bancão e começar o processamento de um external settlements, gerando aquele CSV maroto e jogando-o no SFTP do bancão para ele retirar da conta do banco digital e mandar para o cliente final.
Quando cheguei nesse vídeo, estava com muita raiva do tal Clean Architeture, agora continuo com raiva, mas bem menos. Acho que consegui entender mais vantagens e conceitos, muito obrigado.
Tem sim, mas depende do IDP. O Keycloak, por exemplo, permite informar uma url para ser usada após o login, mas se ela não for informada o redirecionamento fica por conta da aplicação. Fiz pela aplicação mesmo pq nem todo IDP permite fazer essa configuração.
Ótimo conteúdo e passagem de conhecimento, atualmente no projeto em que trabalho tem um microsservice que utiliza a maquina de estados, e o video me ajudou a compreender melhor como ele funciona👏
Oi, Giuliana! Mais um vídeo com conteúdo incrível. Só fiquei como uma curiosidade: usando linux 22.04 com java 21, em todos os testes q rodei com 'ab' e com 'hey', a api reativa teve uma performance menor. Não entendi o motivo dessa diferença...
Oioi! Excelente conteúdo! Parabéns!!!! Eu só fiquei com uma dúvida em relação à configuração de injeção... não bastaria somente anotar a classe de serviço com @Service?
E possivel gerar uma configuracao por tipo de pedido? por exemplo eu tenho 2 tipos de pedidos no meu sistema (1 de Material perecivel e outro de nao perecivel, podendo ter mais) e cada 1 ter um fluxo diferente? obrigado
Sim, nesse caso vc poderia ter mais estados e controlar a transição de acordo com o tipo enviando o evento adequado. Teria que dar uma olhada mais a fundo pra entender como projetar essa máquina, mas é viável sim
Opa, eu já tenho, aqui no canal tem uma playlist Fundamentos do Java e Cursos, e tbm no meu site um curso na Udemy com valor promocional, dá uma olhada tem o link na descrição do vídeo 😉
Muito bom o conteúdo. Bem parecido (no conceito) com os Business Process do SAP Commerce. Eu estava um dia desses pensando como poderia implementar algo semelhante em um projeto meu. Já guardei aqui para aprofundar mais.
Achei muito interessante e na minha opinião seria de um grande valor apresentar mais uma ou duas aulas a respeito, uma apresentando mais funcionalidades ou exemplo (caso tenha) e uma outra com testes unitarios e/ou testes integração
Tem muito assunto sobre SSM que de fato não daria pra cobrir num único vídeo. Se vc quiser outros exemplos de código, no repo deles vc encontra uma pasta samples que tem algumas configs de máquinas pra uso, de simples a mais complexas
Excelente video. Seria possível retornar a exceção em caso de erro de usuário ou senha inválidos? Ou por exemplo token expirado? Acho que faltou esse detalhe importante, visto que só é retornado 401 nesses casos.
Como as credenciais pertencem ao idp, depende dele retornar uma mensagem no corpo da resposta. Os códigos são genéricos e de fato não dizem muita coisa, precisaria observar o corpo da resposta para entender o que aconteceu.
Oi Giuliana, desculpa eu não identifiquei quem é o orquestrador (seria o próprio SSM, certo?). No futuro, você poderia trazer esse exemplo com a abordagem de coregrafia?
Interessante salientar que ficou uma SAGA orquestrada bem organizada mas apenas roda Event Driven dentro apenas da JVM da instancia pois nao é EDA distribuido, sendo assim, cada instancia podera controlar sua SAGA interna qunad uma thread para tal chegar. Necessário configurar o pool de thread tbm pta que tudo realmente se torne async. Ficou bem legal essa lib. Parabens pelo conteúdo.
Tem alguns ajustes pra deixar pronto pra prod de fato, mas o framework é bem robusto e suportaria esses ajustes (por exemplo, persistir a SAGA poderia unificá-la para diferentes instâncias utilizando o id do pedido).
Like no vídeo! Uma vez abri uma issue no Teams for Linux e foi aceito a sugestão. Até hoje mantenho contato com os gringos, fiquei muito feliz com isso
Parabéns, Giuliana! Sua didática é excelente! Te conheci na Udemy. Em breve comprarei o curso desenvolvedor Java e depois o de Testes automatizados com Spring Boot. Só estou esperando um valor promocional! kkkkkk Um abraço e sucesso!
@@giulianabezerra Já me inscrevi no Curso de desenvolvimento Java na Udemy. Aliás ganhei de presente da minha mãe! Depois deixarei o meu feedback lá na plataforma. 🌻