Pular para o conteúdo principal

Serviço PJeLegacy

Trata-se do projeto monlítico e legado do PJe. Neste projeto encontram-se diversos contextos negociais emaranhados.

Início rápido

Instruções para a inicialização de maneira rápida da aplicação. Nesta seção não se deve entrar nos detalhamentos técnicos da aplicação. O Objetivo desta seção é apenas descrever como a aplicação pode ser inicializada da maneira mais simples possível.

Tecnologias empregadas

O pje-legacy possui um arcabouço de tecnologias legadas, em sua maioria já descontinuadas pela comunidade. Diante desse cenário tem-se uma das motivações da remodelagem arquitetural, com intuito de renovação do parque tecnológico do ecossistema PJe.

Linguagem de programação

  • Java versão 8;
  • Javascript.

Frameworks

  • JBoss SEAM 2.2.2;
  • JSF 1.2;

Armazenamento dos dados

  • PostgreSQL 9.4 ou superior;
  • JCR-Storage.

Outros temas

  • Quartz
  • EhCache
  • Elasticsearch

Visão arquitetural

Imagem da visão arquitetural do PJeLegacy

Configuração da aplicação

Profiles do Maven

ProfileDescrição
producaoConfigura aplicação com logs menos verbosos e mocks desativados.
UseEhCacheConfigura a aplicação para utiliza cache de segundo nível do Hibernate.
db-storage-postgresConfigura a aplicação para armazenar dados binário em filesystem utilizando PostgreSQL.
jcr-storageConfigura a aplicação para armazenar dados binário em filesystem utilizando JCR.

Variáveis de ambiente

VariávelValor padrãoDescrição
ENV_PJE2_CLIENTE_URLhttp://localhost:4200Endereço do frontend Angular.
ENV_EUREKA_CLIENT_HOSTNAMEnullPermite definir o hostname da instancia registrada no eureka.
ENV_EUREKA_CLIENT_SECURE_PORT443Permite definir a porta para o protocolo https.
ENV_EUREKA_CLIENT_SECURE_PORT_ENABLEDfalsePermite definir se a aplicação será registrada com o protocolo https.
ENV_EUREKA_CLIENT_NONSECURE_PORTtruePermite definir a porta para o protocolo http.
ENV_EUREKA_CLIENT_NONSECURE_PORT_ENABLED8080Permite definir se a aplicação será registrada com o protocolo http.
ENV_PJE2_CLOUD_APP_NAMEpje-legacyNome do serviço pje-legacy. Cada instalação do pje terá um nome de serviço único. Ex.: pje-tjxy-1g.
ENV_PJE2_CLOUD_URL_GATEWAYvazioEndereço do API Gateway. Este valor é facultativo. Caso não informado o pje-legacy irá descobrir através do discovery.
ENV_PJE2_CLOUD_REGISTRARtrueIndica que a aplicação deve se registrar no discovery.
ENV_EUREKA_SERVER_URLhttp://localhost:8761/eurekaURL do serviço de descoberta eureka server.
ENV_PJE2_CLOUD_RABBIT_PUBLISH_MESSAGEStrueIndica que a aplicação de publicar mensagens no broker RabbitMQ.
ENV_PJE2_CLOUD_RABBIT_HOSTlocalhostHost do broker de mensagens, sem protocolo e sem porta.
ENV_PJE2_CLOUD_RABBIT_VIRTUALHOST/Path do virtual host do broker de mensagens.
ENV_PJE2_CLOUD_RABBIT_USERNAMEguestNome de usuário da aplicação no broker de mensagens.
ENV_PJE2_CLOUD_RABBIT_PASSWORDguestSenha de usuário da aplicação no broker de mensagens.
ENV_PJE2_CLOUD_RABBIT_EXCHANGENAMEpje.exchangeNome da exchange para onde a aplicação publicará as mensagens.
ENV_PJE2_CLOUD_RABBIT_QUEUENAMEpje.legacyNome da fila que a aplicação receberá as mensagens do broker de mensagens.
ENV_SSO_AUTHENTICATION_ENABLEDtrueIndica se a autenticação será realizada pelo serviço de SSO.
ENV_SSO_AUTHORIZATION_ENABLEDfalseIndica se a autorização será realizada pelo serviço de SSO.
ENV_SSO_AUTHSERVER_URLhttp://localhost:8280/authEndpoint de autorização do keycloak.
ENV_SSO_CLIENT_IDpje-tjxy-1gNome do client-id do pje-legacy. Cada instalação do pje terá um client_id único. Ex.: pje-tjxy-1g.
ENV_SSO_CLIENT_SECRETe96f91f6-873d-4fd6-c6fe-318d6913fe5fNome do client_secret do pje-legacy. Cada instalação do pje terá um client_secret único.
ENV_SSO_CONFIDENTIAL_PORT443Porta da conexão segura com o serviço do SSO.
ENV_SSO_REALMpjeRealm do serviço do SSO.
ENV_SSO_SSL_REQUIREDnoneIndica se requer uso de certificado SSL para o serviço do SSO.
ENV_SSO_URLhttp://localhost:8280URL do serviço de SSO.

Papeis e/ou recursos

Em construção...

Interações com o barramento de mensagens

O pje-legacy realiza publicação de mensagens no broker.

Filas que escuta

O pje-legacy ainda não escuta nenhuma fila do broker.

Mensagens que produz

Movimentações processuais

Lançar mensagem ao broker sempre que uma movimentação processual for registrada para um processo.

Classe e método
LancadorMovimentoService.lancarMovimento(ProcessoEvento movimentoProcesso, boolean autoFlush);
Payload da mensagem
{
idProcessoEvento : "",
idProcesso : "",
idProcessoDocumento : "",
idUsuario : "",
dataAtualizacao : "",
descricaoEvento : "",
idJbpmTask : "",
idProcessInstance : "",
idTarefa : "",
nomeUsuario : "",
cpfUsuario : "",
cnpjUsuario : "",
processado : "",
verificadoProcessado : "",
idProcessoEventoExcludente : "",
visibilidadeExterna : "",
observacao : "",
textoFinalInterno : "",
textoFinalExterno : "",
textoParametrizado : ""
}

Retificação de partes

Enviar mensagem ao broker sempre que uma parte for incluída, excluída ou inativada de um processo através da retificação de autuação.

Classe e método
ProcessoParteHome.inativarParticipante();
ProcessoParteHome.inserir();
Payload da mensagem
{
numeroProcesso : "",
idProcessoPje: "",
idProcessoPartePje: "",
idPessoaPje: "",
rji: "",
situacaoParte: ""
}

Interações com outros serviços

ServiçoTipo de interaçãoDescrição
criminalSíncronaAo protocolar um processo com classe em agrupamento do tipo CRI. A aplicação realiza POST no serviço criminal para cadastramento do processo criminal. Caso o processo não seja cadastrado o protocolo não é realizado no pje-legacy.

Eventos de webhook

Não disponível.

Release notes

Notas da versão