Olá esse é integration developer bitcamp estamos na etapa de boas práticas de desenvolvimento nesse vídeo falaremos sobre um conector chamado session Management o session Management salva atributos do message na memória de execução do pipeline ele faz o equivalente a salvar variáveis na programação tradicional primeiro ponto para entender Qual a função do session Management é entender o que é a memória de execução do pipeline todo o fluxo possui uma memória de execução que é uma memória disponível fixa para que o fluxo consiga fazer o seu processamento alguns atributos alguns valores eles utilizam dessa memória para fazer
o seu processamento por exemplo o message ele possui ele utiliza da memória de execução para salvar a mensagem que está percorrendo os conectores de maneira volátil o s Management ele salva seus atributos de maneira fixa então desde que não excluímos esses atributos ele permanece ocupando espaço em toda a memória de execução os conectores e arquivos também utilizam essa memória vamos entender os principais casos de uso para entender por devemos utilizar o session Management ele salva atributos do Jon que serão utilizados na execução mas seriam perdidos por conta da volatilidade do message e também é utilizado
na autenticação jwt com variáveis de sessão com escopo global sobre o primeiro tópico o message ou o Dion de entrada ele é volátil Ele se perde ao passar por conectores então desde o início do pipeline até o final essa mensagem ela vai se mudando a passar por conectores de maneira que valores que eram importantes possam ser perdidos no caminho e para evitar esse problema para evitar essa volatilidade em que valores são perdidos nós utilizamos do session Management para salvar esses valores de maneira fixa na execução do pipeline e recuperar esses valores com o s Management
toda vez que quisermos diante disso a gente tem que ter alguns cuidados sabendo que os atributos salvam com session Management são salvos na memória de execução do pipeline vai depender do tamanho do valor a ser salvo a gente precisa cogitar utilizar um banco de dados ou um Object stor no local entendendo que a gente utiliza da memória de execução caso a gente pega algum valor muito grande do nosso mest do nosso Jon de entrada e salvemos no na memória de execução esse valor vai ficar salvo na memória de execução até o momento que decidirmos excluir
e com isso ele vai ficar ocupando memória de maneira contínua que poderia estar sendo utilizada em outros momentos em outros conectores quando a gente tenta utilizar mais memória do que o pipeline possui nós vamos atingir um erro chamado out of Memory que em tradução livre seria falta de memória e esse erro faz com que o pipeline pare sua execução e a gente não quer que isso aconteça então devido a isso utilizando um banco de dados ou um Object Stall para salvar pontualmente esse payload que é grande demais a gente evita de salvar na memória então
não estamos ocupando a memória de execução e quando formos utilizar esse pelod novamente dentro do fluxo a gente vai recuperar por meio do banco de dados ou do do Object stor esse valor assim durante um grande período a gente não utiliza de maneira contínua esse payload eh essa memória de execução né salva no payload diante disso também temos um segundo caso quando o atributo está salvo na sessão por ele não é mais utilizado na execução do pipeline é recomendado efetuar a limpeza desse valor da sessão então considerando tudo que a gente já falou quando a
gente salva um atributo na nossa memória de execução ele vai ficar de maneira contínua preenchendo esse espaço quando a gente não utiliza mais esse valor já utilizamos no conector onde queríamos a gente pode efetuar a limpeza desse valor da sessão por meio de um dos atributos do session Management e fazendo essa limpeza a gente evita que esse que esse essa memória de execução esteja sendo ocupada para um atributo que não será mais utilizado nesse fluxo para fazer essa limpeza nós utilizamos uma das operações do session Ao todo são três a primeira de get que é
para recuperar dados que já foram salvos a segunda para salvar dados que nós queremos utilizar e a terceira é o delete para fazer essa limpeza de dados que nós não usaremos mais nesse fluxo por fim é importante salientar que só conseguimos salvar por meio do S Management atributos que estejam na raiz do nosso Dion tributos filhos desses atributos raiz não serão salvos de maneira pont por meio do Dot notation pensando nisso vamos abrir a plataforma entend Como funciona o conector S Management na prática