Mudanças entre as edições de "PJeOffice"

De PJe
Ir para: navegação, pesquisa
(Configurando solicitação de senha de acesso)
(Observações)
Linha 130: Linha 130:
  
 
Pode ser que alguma configuração adicional na infraestrutura de sua rede local esteja impedindo o acesso. Por exemplo, ao tentar assinar um documento, o PJe apresenta um erro de protocolo. Para esses casos, no geral, o proxy de sua rede interna deve estar barrando a comunicação do assinador do PJe com a Internet. Informe sobre esse problema ao setor de infraestrutura para que eles alterem a configuração.
 
Pode ser que alguma configuração adicional na infraestrutura de sua rede local esteja impedindo o acesso. Por exemplo, ao tentar assinar um documento, o PJe apresenta um erro de protocolo. Para esses casos, no geral, o proxy de sua rede interna deve estar barrando a comunicação do assinador do PJe com a Internet. Informe sobre esse problema ao setor de infraestrutura para que eles alterem a configuração.
 +
 +
== Suporte ==
 +
 +
Em caso de dúvidas ou para mais informações, entre em contato com a nossa Central de Atendimento ao Usuário: (61) 2326-5353.
 +
 +
== Tópico voltado para os Desenvolvedores ==
 +
 +
Para realizar uma requisição ao PJeOffice a aplicação cliente devera realizar uma requisição http ao servidor web do PJeOffice
 +
que estará disponível no endereço "http://localhost:8800/pjeOffice/tarefa/"
 +
nesta requisição poderá ser enviado informações ao aplicativo através do método GET do protocolo HTTP.
 +
 +
Para solicitar a execução de tarefas no PJeOffice foi criado um protocolo de comunicação entre o PJeOffice e as aplicações clientes.
 +
O protocolo define que as solicitações dos clientes serão descritas através de um objeto JSON que será enviado através do parâmetro de nome "r"
 +
na requisição http do cliente.
 +
 +
O resultado da requisição ao PJeOffice sempre ira retornar uma imagem de 1px de largura nos casos em que a requisição
 +
foi executada com sucesso e de 2px de largura nos casos de erro.
 +
 +
Portanto o aplicativo cliente do PJeOffice devera realizar a solicitação utilizando o seguinte código:
 +
 +
        var image = new Image();
 +
        image.onload = function() { <font color="#32CD32"> // Função que será executada se houver sucesso ou erro!!!</font> };
 +
        image.onerror = function() { <font color="#32CD32"> // Função que será executada se o aplicativo estiver indisponível!!!</font> };
 +
        image.src = <font color="#006400">"http://localhost:8800/pjeOffice/requisicao/?t={ JSON com a requisição da tarefa que o PJeOffice devera executar}&u=12345678";</font>}
 +
 +
O json que será enviado ao PJeOffice devera possuir a seguinte estrutura:
 +
 +
        {
 +
              aplicacao : <font color="#006400">'PJe'</font>, <font color="#32CD32">// Nome da aplicação cliente </font>
 +
              servidor         : <font color="#006400">'http://www.cnj.jus.br/pje'</font>, <font color="#32CD32">// Endereço da aplicação cliente </font>
 +
              sessao         : <font color="#006400">'JSESSIONID=98FEEE5F38B9DCF0504CC67417CE6A9C'</font>, <font color="#32CD32">// Os dados da sessão do usuário que serão utilizados pelo<br>                                  PJeOffice para enviar os dados do resultado da tarefa ao servidor da aplicação cliente </font>
 +
              codigoSeguranca  : <font color="#006400">'nZlJkluvyqJ1V9RfRCDXa1UnLPpYFkJAYqnH8GA ...'</font>, <font color="#32CD32">// O código de segurança que será gerado pelo CNJ para autorizar a<br>                                  utilização do PJeOffice </font>
 +
              tarefaId : <font color="#006400">'br.jus.cnj.pje.office.tarefa.AssinadorHash'</font> <font color="#32CD32">// O identificador da tarefa que será executada </font>
 +
              tarefa : <font color="#006400"> { ... }</font> <font color="#32CD32">// JSON da tarefa que será executada </font>
 +
        }
 +
 +
=== Criando uma nova tarefa ===
 +
 +
Para estender as funcionalidades do PJeOffice será necessário criar uma nova tarefa.
 +
 +
Durante o desenvolvimento do PJeOffice observou-se que o aplicativo tornava possível o desenvolvimento de uma grande quantidade de novas funcionalidades.
 +
Portanto sua arquitetura base foi planejada para facilitar este crescimento de novas funcionalidades foi criada uma estrutura para que cada funcionalidade (tarefa)
 +
fosse adicionada como um plugin do sistema.
 +
 +
Para criar um novo plugin do PJeOffice o desenvolvedor devera criar o projeto seguindo a estrutura definida pelo PJeOffice
 +
que determina a criação de arquivos de configurações e classes obrigatórias.
 +
 +
Demonstraremos esta estrutura utilizando a criação de um plugin chamado de Teste como exemplo:
 +
 +
==== Classes ====
 +
 +
{| class="wikitable" border="1"
 +
! colspan="1" style="width: 180px;" |Modelo 
 +
! colspan="1" style="width: 180px;" |Exemplo
 +
! colspan="1" style="width: 700px;" |Descrição
 +
|-
 +
| '''Tarefa{NomeDaTarefa}.java'''
 +
|TarefaTeste.java
 +
|Classe que representa os parâmetros que será enviados na requisição, será utilizada para realizar o parse do json
 +
|-
 +
|'''Tarefa{NomeDaTarefa}Manager.java'''
 +
|TarefaTesteManager.java
 +
|Classe que representa as regras de negócios envolvidas na execução desta tarefa
 +
|-
 +
|'''Tarefa{NomeDaTarefa}Executor.java'''
 +
|TarefaTesteExecutor.java
 +
|Classe utilizada para mapear as dependências envolvidas na execução de um tipo de tarefa.
 +
|}
 +
 +
==== Arquivos de configuração ====
 +
 +
    '"/src/main/resources/META-INF/services/br.jus.cnj.pje.office.spi.PJeOfficePlugin"
 +
 +
Este arquivo devera ser criado dentro desta estrutura de diretório, esta estrutura foi definida através da conversão SPI do java.
 +
 +
O conteúdo deste arquivo devera ser o FQN (Fully qualified name, o nome completo da classe, pacote + nome da classe) da classe do projeto que implementa a interface PJeOfficePlugin
 +
 +
Esta interface obrigara o desenvolvedor informar quais saos as classes Executoras de Tarefa que o plugin criou.
 +
 +
==== Metodologias de comunicação  ====
 +
 +
{| class="wikitable" border="1"
 +
! colspan="1" style="width: 180px;" |Definir 
 +
! colspan="1" style="width: 300px;" |Vantagens
 +
! colspan="1" style="width: 636px;" |Desvantagens
 +
|-
 +
| '''CORS'''
 +
|Controle da requisicao e bom ( Error e Sucesso )
 +
|Suporte aos browser antigos e fraco e request ajax de origem https não funciona para outro servidor com self signed certificate somente se o usuário registrar a autorização.
 +
|-
 +
|'''JSONP'''
 +
|Suporte aos browser antigos.
 +
|Controle da requisição e ruim (Somente sucesso).
 +
|-
 +
|'''IMAGE'''
 +
|Suporte aos browsers antigos, Controle da requisição e bom (Erro e Sucesso).
 +
|Não retorna dados somente imagem.
 +
|}
 +
 +
==== Serviços ====
 +
 +
/pjeOffice/ - Retorna uma imagem - Utilizado para testar a disponibilidade
 +
/pjeOffice/versao/ - Retorna um json com a versao do PJeOffice instalada
 +
/pjeOffice/requisicao/ - Retorna uma imagem de um 1px de largura nos casos de sucesso e 2px de largura nos casos de erro.
 +
 +
==== Processo de atualização ====
 +
 +
pjeOffice.jar ou pjeOffice.exe (Windows)
 +
- Verifica se existe uma nova versao do sistema
 +
- Se existir baixa o arquivo zip da nova versao
 +
- Verifica se o arquivo esta integro
 +
- Descomprime o arquivo zipado no diretorio temporario
 +
- Exclui o JAR pjeOfficeAtualizador.jar do diretorio da aplicacao
 +
- Move o JAR pjeOfficeAtualizador.jar do diretorio da nova versao para o diretorio da aplicacao
 +
- Executa o JAR pjeOfficeAtualizador.jar com os parametros '"$dirAplicacao" "$dirNovaVersao"
 +
- Finaliza a execucao do pjeOffice.jar
 +
 +
pjeOfficeAtualizador.jar
 +
- Executa um loop para todos os arquivos encontrados no diretorio da nova versao
 +
- Verifica se existe um arquivo correspondente no diretorio da aplicacao
 +
- Se existir excluir o arquivo correspondente do diretorio da aplicacao
 +
- Copia o arquivo do diretorio da nova versao para o diretorio da aplicacao
 +
- Exclui o arquivo do diretorio da nova versao
 +
- Executa o JAR pjeOffice.jar ou pjeOffice.exe (Windows)
 +
- Finaliza a execucao do JAR pjeOfficeAtualizador.jar
 +
 +
==== Guia para gerar um certificado p12 utilizado para gerar o codigoSeguranca do PJeOffice ====
 +
 +
-- Gerar as chaves publica e privada
 +
openssl genrsa -out ca.key 2048
 +
 +
-- Gerar o certificado
 +
openssl req -new -key ca.key -out ca.crt
 +
 +
-- Gerar o certificado x509 seflsigned
 +
openssl x509 -req -days 3650 -in ca.crt -signkey ca.key -out ca.crt
 +
 +
-- Exportar o certificado para p12
 +
openssl pkcs12 -export -out ca.p12 -inkey ca.key -in ca.crt
 +
 +
==== Modo desenvolvedor ====
 +
 +
Para habilitar e desabilitar o modo desenvolvedor o desenvolvedor devera;
 +
 +
- Clicar com o botão; direito no icone do PJeOffice no SystemTray;
 +
- Clicar no item de menu Sistema;
 +
- No dialogo Sistema, clique 5 vezes no numero da versao do PJeOffice;
  
 
== Suporte ==
 
== Suporte ==
  
 
Em caso de dúvidas ou para mais informações, entre em contato com a nossa Central de Atendimento ao Usuário: (61) 2326-5353.
 
Em caso de dúvidas ou para mais informações, entre em contato com a nossa Central de Atendimento ao Usuário: (61) 2326-5353.

Edição das 12h22min de 15 de agosto de 2016

O PJeOffice é um software disponibilizado pelo CNJ para assinatura eletrônica de documentos para o sistema PJe. O objetivo do aplicativo é garantir a validade jurídica dos documentos e processos, além de substituir a necessidade do plugin Oracle Java Runtime Environment no navegador de internet e gerar maior praticidade na utilização do sistema.

Conteúdo

Aplicativo PJeOffice para instalação

Selecione o arquivo para download do seu sistema operacional.

Sistema Operacional Download
Servidor 1 Servidor 2
Windows pje-office.zip Link alternativo
MacOS 64 Bits pje-office_x64.dmg Link alternativo
Debian 32 bits pje-office_i386.deb Link alternativo
Debian 64 bits pje-office_amd64.deb Link alternativo

Aplicativos para download PJeOffice

Para iniciar o Download do programa, siga os passos abaixo:

Passo 1: Clique ​no arquivo de download acima conforme seu sistema operacional.

Passo 2: Aguarde o download terminar.

Download barra.jpg

Passo 3: Após a conclusão da transferência clicar no arquivo baixado, e extraia o instalador do arquivo zipado, clicando com o botão direito do mouse em cima do nome do arquivo e depois clicando em "Extrair Tudo...".

Download2.png



Download3.png

Passo 4: Depois de finalizada a operação clique duas vezes no instalador.

Download4.png

Passo 5: Agora simplesmente clique em avançar até finalizar a instalação do aplicativo.​

Download6.png



Download7.png



Download8.png



Download9.png

Passo 6: Caso deseje que o programa seja inicializado marque a caixa "Executar PJeOffice".

Download10.png

Configuração modo simples (somente windows)

Passo 1: Entre no PJe normalmente, na tela de autenticação​ clique no botão "Acessar com certificado digital"

Download11.png

Passo 2: Como o aplicativo será utilizado pela primeira vez o próprio irá exibir uma janela pergutando qual certificado utilizar, entretanto esta janela somente irá aparecer para sistemas operacionais Windows e quando existir algum certificado na MsCAPI, caso contrário será exibida a tela de Configuração Avançada.

Download12.png

Passo 3: Selecione o certificado desejado e depois clique em "Concluir".

Download13.png

Configuração modo avançado

Passo 1: Clique com o botão direito do mouse no ícone do PJeOffice localizado no SystemTray (Fica no canto inferior direito ao lado do Relógio, conforme a imagem abaixo).

Download14.png

Passo 2: Clique no item de menu "Configuração de Certificado"

Download15.png

Passo 3: O aplicativo irá​ exibir a janela abaixo, clique no botão "Carregar providers disponíveis"

Download16.png

Passo 4: Após o processamento o aplicativo irá exibir uma lista de providers disponíveis para utilização, selecione dentre as opções o certificado que deseja utilizar e clique em "OK"

Download17.png

Passo 5: Caso não apareca nenhum provider disponível para o seu sistema operacional clique na aba PKCS11.

Download18.png

Configurando solicitação de senha do certificado

Passo 1: Clique com o botão direito do mouse no ícone do PJeOffice localizado no SystemTray (Fica no canto inferior direito ao lado do Relógio, conforme a imagem abaixo).

Download14.png

Passo 2: Clique no item de menu "Configuração de Certificado"

Download15.png

Passo 3: O aplicativo irá​ exibir a janela abaixo, na aba "Preferências", possibilitando assim definir em quais momentos que deseja inserir a senha do PIN no certificado. Na aba "Preferências" apresenta um combo com as seguintes opções:

  • Apenas no primeiro acesso: a senha do PIN será solicitada apenas no momento que logar no sistema, e demais assinaturas internas, não será necessário informar a senha novamente.
  • Apenas no primeiro acesso(com confirmação): a senha do PIN será solicitada apenas no momento que logar no sistema, e demais assinaturas internas, não será necessário informar a senha novamente, após prosseguir dentro do sistema com protocolo de processos ou assinaturas em documentos será apresentado uma mensagem de confirmação.
  • Sempre: a senha do PIN sempre será solicitada.


Download303.png

Passo 4: Selecione o modo desejado e clique no botão "Concluir"

Assinando arquivos fora do sistema em modo (OFFLINE)

No PJeOffice é possível assinar arquivos em modo offline, salvando suas versões assinadas em pastas localmente para, posteriormente, inserir um a um no processo sem precisar assiná-los novamente.

Para realizar a assinatura offline, siga os passos abaixo:

Passo 1: Clique com o botão direito do mouse no ícone do PJeOffice localizado no SystemTray (Fica no canto inferior direito ao lado do Relógio, conforme a imagem abaixo).

Download14.png

Passo 2: Clique no item de menu "Assinador off-line"

Download15.png

Passo 3: O aplicativo irá​ exibir a janela abaixo, permitindo assim que seja selecionado um ou mais arquivos para a assinatura offline. Caso o arquivo desejado não esteja na pasta apresentada, o mesmo poderá ser localizado nas demais pastas da estação de trabalho.

Selecione os arquivos que deseja assinar e clique no botão "Abrir"

Download300.png

Passo 4: O aplicativo irá​ exibir a janela abaixo, permitindo assim que seja selecionado o local de destino dos arquivos assinados em modo offline.

Selecione o local de destino e clique no botão "Abrir"

Download301.png

Passo 5: Será solicitado o PIN de acesso ao certificado, para assinatura dos documentos selecionados. Insira os dados e clique no botão OK.



Download302.png

Após a confirmação dos dados os arquivos serão assinados e gravados com sucesso, no local de destino selecionado no passo anterior.

Observações

Pode ser que alguma configuração adicional na infraestrutura de sua rede local esteja impedindo o acesso. Por exemplo, ao tentar assinar um documento, o PJe apresenta um erro de protocolo. Para esses casos, no geral, o proxy de sua rede interna deve estar barrando a comunicação do assinador do PJe com a Internet. Informe sobre esse problema ao setor de infraestrutura para que eles alterem a configuração.

Suporte

Em caso de dúvidas ou para mais informações, entre em contato com a nossa Central de Atendimento ao Usuário: (61) 2326-5353.

Tópico voltado para os Desenvolvedores

Para realizar uma requisição ao PJeOffice a aplicação cliente devera realizar uma requisição http ao servidor web do PJeOffice que estará disponível no endereço "http://localhost:8800/pjeOffice/tarefa/" nesta requisição poderá ser enviado informações ao aplicativo através do método GET do protocolo HTTP.

Para solicitar a execução de tarefas no PJeOffice foi criado um protocolo de comunicação entre o PJeOffice e as aplicações clientes. O protocolo define que as solicitações dos clientes serão descritas através de um objeto JSON que será enviado através do parâmetro de nome "r" na requisição http do cliente.

O resultado da requisição ao PJeOffice sempre ira retornar uma imagem de 1px de largura nos casos em que a requisição foi executada com sucesso e de 2px de largura nos casos de erro.

Portanto o aplicativo cliente do PJeOffice devera realizar a solicitação utilizando o seguinte código:

       var image = new Image(); 
       image.onload = function() {  // Função que será executada se houver sucesso ou erro!!! }; 
       image.onerror = function() {  // Função que será executada se o aplicativo estiver indisponível!!! }; 
       image.src = "http://localhost:8800/pjeOffice/requisicao/?t={ JSON com a requisição da tarefa que o PJeOffice devera executar}&u=12345678";}

O json que será enviado ao PJeOffice devera possuir a seguinte estrutura:

       { 
              aplicacao		: 'PJe', // Nome da aplicação cliente 
              servidor	        : 'http://www.cnj.jus.br/pje', // Endereço da aplicação cliente 
              sessao	        : 'JSESSIONID=98FEEE5F38B9DCF0504CC67417CE6A9C', // Os dados da sessão do usuário que serão utilizados pelo
PJeOffice para enviar os dados do resultado da tarefa ao servidor da aplicação cliente
codigoSeguranca  : 'nZlJkluvyqJ1V9RfRCDXa1UnLPpYFkJAYqnH8GA ...', // O código de segurança que será gerado pelo CNJ para autorizar a
utilização do PJeOffice
tarefaId : 'br.jus.cnj.pje.office.tarefa.AssinadorHash' // O identificador da tarefa que será executada tarefa : { ... } // JSON da tarefa que será executada }

Criando uma nova tarefa

Para estender as funcionalidades do PJeOffice será necessário criar uma nova tarefa.

Durante o desenvolvimento do PJeOffice observou-se que o aplicativo tornava possível o desenvolvimento de uma grande quantidade de novas funcionalidades. Portanto sua arquitetura base foi planejada para facilitar este crescimento de novas funcionalidades foi criada uma estrutura para que cada funcionalidade (tarefa) fosse adicionada como um plugin do sistema.

Para criar um novo plugin do PJeOffice o desenvolvedor devera criar o projeto seguindo a estrutura definida pelo PJeOffice que determina a criação de arquivos de configurações e classes obrigatórias.

Demonstraremos esta estrutura utilizando a criação de um plugin chamado de Teste como exemplo:

Classes

Modelo Exemplo Descrição
Tarefa{NomeDaTarefa}.java TarefaTeste.java Classe que representa os parâmetros que será enviados na requisição, será utilizada para realizar o parse do json
Tarefa{NomeDaTarefa}Manager.java TarefaTesteManager.java Classe que representa as regras de negócios envolvidas na execução desta tarefa
Tarefa{NomeDaTarefa}Executor.java TarefaTesteExecutor.java Classe utilizada para mapear as dependências envolvidas na execução de um tipo de tarefa.

Arquivos de configuração

    '"/src/main/resources/META-INF/services/br.jus.cnj.pje.office.spi.PJeOfficePlugin"

Este arquivo devera ser criado dentro desta estrutura de diretório, esta estrutura foi definida através da conversão SPI do java.

O conteúdo deste arquivo devera ser o FQN (Fully qualified name, o nome completo da classe, pacote + nome da classe) da classe do projeto que implementa a interface PJeOfficePlugin

Esta interface obrigara o desenvolvedor informar quais saos as classes Executoras de Tarefa que o plugin criou.

Metodologias de comunicação

Definir Vantagens Desvantagens
CORS Controle da requisicao e bom ( Error e Sucesso ) Suporte aos browser antigos e fraco e request ajax de origem https não funciona para outro servidor com self signed certificate somente se o usuário registrar a autorização.
JSONP Suporte aos browser antigos. Controle da requisição e ruim (Somente sucesso).
IMAGE Suporte aos browsers antigos, Controle da requisição e bom (Erro e Sucesso). Não retorna dados somente imagem.

Serviços

/pjeOffice/ - Retorna uma imagem - Utilizado para testar a disponibilidade /pjeOffice/versao/ - Retorna um json com a versao do PJeOffice instalada /pjeOffice/requisicao/ - Retorna uma imagem de um 1px de largura nos casos de sucesso e 2px de largura nos casos de erro.

Processo de atualização

pjeOffice.jar ou pjeOffice.exe (Windows) - Verifica se existe uma nova versao do sistema - Se existir baixa o arquivo zip da nova versao - Verifica se o arquivo esta integro - Descomprime o arquivo zipado no diretorio temporario - Exclui o JAR pjeOfficeAtualizador.jar do diretorio da aplicacao - Move o JAR pjeOfficeAtualizador.jar do diretorio da nova versao para o diretorio da aplicacao - Executa o JAR pjeOfficeAtualizador.jar com os parametros '"$dirAplicacao" "$dirNovaVersao" - Finaliza a execucao do pjeOffice.jar

pjeOfficeAtualizador.jar - Executa um loop para todos os arquivos encontrados no diretorio da nova versao - Verifica se existe um arquivo correspondente no diretorio da aplicacao - Se existir excluir o arquivo correspondente do diretorio da aplicacao - Copia o arquivo do diretorio da nova versao para o diretorio da aplicacao - Exclui o arquivo do diretorio da nova versao - Executa o JAR pjeOffice.jar ou pjeOffice.exe (Windows) - Finaliza a execucao do JAR pjeOfficeAtualizador.jar

Guia para gerar um certificado p12 utilizado para gerar o codigoSeguranca do PJeOffice

-- Gerar as chaves publica e privada openssl genrsa -out ca.key 2048

-- Gerar o certificado openssl req -new -key ca.key -out ca.crt

-- Gerar o certificado x509 seflsigned openssl x509 -req -days 3650 -in ca.crt -signkey ca.key -out ca.crt

-- Exportar o certificado para p12 openssl pkcs12 -export -out ca.p12 -inkey ca.key -in ca.crt

Modo desenvolvedor

Para habilitar e desabilitar o modo desenvolvedor o desenvolvedor devera;

- Clicar com o botão; direito no icone do PJeOffice no SystemTray; - Clicar no item de menu Sistema; - No dialogo Sistema, clique 5 vezes no numero da versao do PJeOffice;

Suporte

Em caso de dúvidas ou para mais informações, entre em contato com a nossa Central de Atendimento ao Usuário: (61) 2326-5353.

Ferramentas pessoais
Espaços nominais

Variantes
Ações
Navegação
Informações Gerais
Aplicativos PJe
Manuais
Suporte
Ferramentas