|
|
Linha 134: |
Linha 134: |
| | | |
| 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. |
− |
| |
− | == 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;
| |
Edição das 13h52min 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.
Aplicativo PJeOffice para instalação
Selecione o arquivo para download do seu sistema operacional.
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.
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...".
Passo 4: Depois de finalizada a operação clique duas vezes no instalador.
Passo 5: Agora simplesmente clique em avançar até finalizar a instalação do aplicativo.
Passo 6: Caso deseje que o programa seja inicializado marque a caixa "Executar PJeOffice".
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"
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.
Passo 3: Selecione o certificado desejado e depois clique em "Concluir".
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).
Passo 2: Clique no item de menu "Configuração de Certificado"
Passo 3: O aplicativo irá exibir a janela abaixo, clique no botão "Carregar providers disponíveis"
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"
Passo 5: Caso não apareca nenhum provider disponível para o seu sistema operacional clique na aba PKCS11.
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).
Passo 2: Clique no item de menu "Configuração de Certificado"
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.
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).
Passo 2: Clique no item de menu "Assinador off-line"
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"
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"
Passo 5: Será solicitado o PIN de acesso ao certificado, para assinatura dos documentos selecionados. Insira os dados e clique no botão OK.
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.