- Marcelo SampaioConvidado
Arquitetura do sistema de geração de XML e envio
Qui Fev 22, 2018 12:46 pm
Olá Pessoal, alguém iniciou os trabalhos para definir uma arquitetura de geração dos XMLs e envio?
- Ricardo Stumpf
- Mensagens : 4
Data de inscrição : 22/02/2018
Localização : Brasília
Re: Arquitetura do sistema de geração de XML e envio
Seg Fev 26, 2018 10:07 am
Marcelo, você se importaria de compartilhar a sua experiência (ou parte dela) com o uso do ambiente de produção restrita do eSocial? O que deu certo, o que não deu, de forma que as TIs tenham um ponto de partida para contrapor/colaborar na questão da arquitetura?
Re: Arquitetura do sistema de geração de XML e envio
Seg Fev 26, 2018 10:33 am
É um prazer!Ricardo Stumpf escreveu:Marcelo, você se importaria de compartilhar a sua experiência (ou parte dela) com o uso do ambiente de produção restrita do eSocial? O que deu certo, o que não deu, de forma que as TIs tenham um ponto de partida para contrapor/colaborar na questão da arquitetura?
Aqui implementamos o sistema utilizando um sistema de filas que permite o envio de grande quantidade de dados. O sistema já é padrão de mercado e tem interface para as linguagens mais utilizadas (no nosso caso fizemos tudo em java)
O programa recebe um arquivo em que cada linha é um XML completo de um evento, assina cada evento, monta os lotes tentando aproveitar o máximo possível cada lote e envia para o ambiente do eSocial.
Depois gravo em banco os dados de retorno (protocolo e demais informações de retorno como as ocorrências)
Temos outro programa que busca, de tempos em tempos, respostas para os lotes enviados.
Todos os programas estão bastante genéricos e configuráveis.
Os principais problemas que enfrentamos foram:
As respostas do eSocial nem sempre são claras quando há erro no lote. Em alguns casos eu recebi mensagens diretamente da exceção levantada.
Para quem utilizar JAXB (API Java que permite serializar dados de XML para objetos java e vice versa) os eventos devem ser gerados depois de estarem no objeto. Isso ocorre pois o JAXB inclui alguns namespaces que podem invalidar a assinatura. Esse foi o erro que mais me tomou tempo (quase uma semana resolvendo isso )
A quem precisar, estou à disposição para ajudar.
- mario.monteiro.TSE
- Mensagens : 3
Data de inscrição : 26/02/2018
Localização : Brasília
Re: Arquitetura do sistema de geração de XML e envio
Seg Fev 26, 2018 11:08 am
Prezados,
Meu nome é Mário, sou servidor do TSE e coordenador técnico do eSocial na Justiça Eleitoral.
Nossa solução é Java, e utilizamos Oracle como banco de dados. Estamos utilizando recursos específicos do Oracle para gerenciamento dos XMLs gerados.
Temos duas soluções em desenvolvimento:
1. Gerencial.
2. Conectividade.
O gerencial tem como responsabilidades a geração dos XMLs a partir de views nos sistemas externos que detêm as informações para um evento. Além disso, temos várias funcionalidades de gerenciamento e configurações. O sistema de RH é desenvolvimento pelo TSE (chama-se SGRH), no entanto, há regionais que tem alguns módulos próprios. Por conta disso, fizermos uma solução que permita que módulos não-SGRH possam se integrar à nossa solução.
Já o conectividade é responsável pela geração dos lotes, envio, recepção do resultado, e tratamento dos resultados. O conectividade está praticamente pronto, bastando algumas evoluções para se tornar mais parametrizável.
Atenciosamente,
Mário Pinto Monteiro
Tribunal Superior Eleitoral
Meu nome é Mário, sou servidor do TSE e coordenador técnico do eSocial na Justiça Eleitoral.
Nossa solução é Java, e utilizamos Oracle como banco de dados. Estamos utilizando recursos específicos do Oracle para gerenciamento dos XMLs gerados.
Temos duas soluções em desenvolvimento:
1. Gerencial.
2. Conectividade.
O gerencial tem como responsabilidades a geração dos XMLs a partir de views nos sistemas externos que detêm as informações para um evento. Além disso, temos várias funcionalidades de gerenciamento e configurações. O sistema de RH é desenvolvimento pelo TSE (chama-se SGRH), no entanto, há regionais que tem alguns módulos próprios. Por conta disso, fizermos uma solução que permita que módulos não-SGRH possam se integrar à nossa solução.
Já o conectividade é responsável pela geração dos lotes, envio, recepção do resultado, e tratamento dos resultados. O conectividade está praticamente pronto, bastando algumas evoluções para se tornar mais parametrizável.
Atenciosamente,
Mário Pinto Monteiro
Tribunal Superior Eleitoral
Re: Arquitetura do sistema de geração de XML e envio
Seg Fev 26, 2018 11:11 am
mario.monteiro escreveu:Prezados,
Meu nome é Mário, sou servidor do TSE e coordenador técnico do eSocial na Justiça Eleitoral.
Nossa solução é Java, e utilizamos Oracle como banco de dados. Estamos utilizando recursos específicos do Oracle para gerenciamento dos XMLs gerados.
Temos duas soluções em desenvolvimento:
1. Gerencial.
2. Conectividade.
O gerencial tem como responsabilidades a geração dos XMLs a partir de views nos sistemas externos que detêm as informações para um evento. Além disso, temos várias funcionalidades de gerenciamento e configurações. O sistema de RH é desenvolvimento pelo TSE (chama-se SGRH), no entanto, há regionais que tem alguns módulos próprios. Por conta disso, fizermos uma solução que permita que módulos não-SGRH possam se integrar à nossa solução.
Já o conectividade é responsável pela geração dos lotes, envio, recepção do resultado, e tratamento dos resultados. O conectividade está praticamente pronto, bastando algumas evoluções para se tornar mais parametrizável.
Atenciosamente,
Mário Pinto Monteiro
Tribunal Superior Eleitoral
Ótimo Mário! A parte do conectividade é escrita em qual linguagem? Se for Java, qual tecnologia usam?
- mario.monteiro.TSE
- Mensagens : 3
Data de inscrição : 26/02/2018
Localização : Brasília
Re: Arquitetura do sistema de geração de XML e envio
Seg Fev 26, 2018 11:21 am
O conectividade é Java. A arquitetura é simples. Basicamente o padrão do TSE. Fico te devendo mostrar os detalhes. Quando eu chegar no TSE eu consulto o documento de arquitetura e te informo.Inicialmente pensamos em utilizar o Camel para parte de integração, mas depois fizemos em Java de forma mais simples.
Atenciosamente,
Mário Pinto Monteiro
Atenciosamente,
Mário Pinto Monteiro
Permissões neste sub-fórum
Não podes responder a tópicos