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

De PJe
Ir para: navegação, pesquisa
(Serviços disponíveis via Modelo Nacional de Interoperabilidade - MNI)
(Serviços disponíveis via Modelo Nacional de Interoperabilidade - MNI)
Linha 509: Linha 509:
 
escritório de advocacia. Conhecidos no PJe como Procuradorias) o cliente pode utilizar  
 
escritório de advocacia. Conhecidos no PJe como Procuradorias) o cliente pode utilizar  
 
o Certificado Institucional ou Pessoal (procuradores, defensores, advogados) desde que,
 
o Certificado Institucional ou Pessoal (procuradores, defensores, advogados) desde que,
no caso de Certificado Institucional, o CPF do responsável informado no Certificado seja o mesmo CPF associado  
+
caso Institucional, o CPF do responsável informado no Certificado seja o mesmo CPF associado  
 
à Procuradoria cadastrada no PJe.
 
à Procuradoria cadastrada no PJe.
  

Edição das 17h52min de 26 de novembro de 2013

O documento de arquitetura orienta o desenvolvimento no padrão do PJe: Acessar

O documento de gerenciamento de configuração traz orientações para a produção e guarda de artefatos e liberação de versões: Acessar

Alguns procedimentos necessários para o desenvolvimento no PJe:

Conteúdo

Pré-requisitos para ser desenvolvedor no PJe

Os pré-requisitos exigidos são:

  • Conhecimento da linguagem de programação Java (nível de conhecimento mínimo: de intermediário a avançado).
  • Conhecimento de persistência com JPA e Hibernate (nível de conhecimento mínimo: básico).
  • Conhecimento da linguagem SQL do banco de dados PostgreSQL (nível de conhecimento mínimo: básico).
  • Conhecimento de JSF (nível de conhecimento mínimo: básico).
  • Conhecimento de JBoss Seam 2.2 (nível de conhecimento mínimo: básico).
  • Habilidade de uso com a ferramenta Eclipse (nível de conhecimento mínimo: nível básico).

Os pré-requisitos desejáveis são:

  • Habilidade de uso com a ferramenta Maven (nível de conhecimento mínimo: nível básico).
  • Habilidade de uso com as ferramentas Git e GitLab (nível de conhecimento mínimo: noções gerais).
  • Conhecimento do servidor de aplicação JBoss 5.1 (nível de conhecimento mínimo: básico).
  • Conhecimento de padrões de projeto (design patterns) (nível de conhecimento mínimo: básico).
  • Conhecimento de jBPM (nível de conhecimento mínimo: noções gerais).
  • Habilidade de uso com a ferramenta de controle de demandas JIRA (nível de conhecimento mínimo: noções gerais).
  • Ter tido algum contato de uso com o sistema PJe.

Configurando o ambiente de desenvolvimento

A seguir, algumas instruções para instalação do ambiente de desenvolvimento.

Instalação do JBoss 5.1

Baixar e instalar (descompactar) o JBoss 5.1.0.GA (download em http://www.jboss.org/jbossas/downloads/).

Instalação do Eclipse e seus plugins

  • Baixar e instalar (descompactar) o Eclipse Juno (download em http://www.eclipse.org/downloads/).
  • Através do item de menu “Help > Eclipse Marketplace” instalar os seguintes plug-ins, nesta ordem:
    • EGit;
    • JBoss Tools (atenção: apenas o JBoss AS);
    • Maven Integration for Eclipse WTP (Incubation);
    • FileSync.
  • Configurar o arquivo eclipse.ini (localizado no diretório do eclipse):

Eclipseini.jpg

Preferências do Eclipse

  • Ir ao menu “Window > Preferences” e configurar as seguintes preferências do Eclipse:

Prefer.jpg

Prefer1.jpg

Prefer2.jpg

Prefer3.jpg

Prefer4.jpg

  • Adicionar o JDK e remover as JREs existentes

A JDK pode ser obtida através do site da Oracle]. Antes de clicar no botão "Add" da imagem acima, faça o download e instale a JDK. Depois, adicione através do botão "Add", apontando para a pasta bin contida na estrutura de pastas onde o JDK foi instalado.

Obtendo a cópia do repositório do PJe

  • Verificar instruções do EGit;
  • No Eclipse (Window > Preferences), em "General > Network Connections > SSH2" é necessário criar as chaves necessárias ao acesso do repositório;
  • Para isso, clique no botão "Generate RSA Key...” localizado na aba “Key Management”; preencha o campo “Comment” com o email usado na conta do GIT e informe uma senha no campo “Passphrase”;
  • Salve a chave clicando no botão “Save Private Key”;

Salvarchave.jpg

  • Copie o conteúdo da chave (Cuidado para não copiar a quebra de linha) e acesse o seu perfil do GitLab;

Gitlab.jpg

  • Clique no link SSH Keys e adicione uma nova chave (Add new);
  • Cole o conteúdo da chave no campo “Key”. Observe que o email deve aparecer no campo “Title”. Caso não apareça, deve ser o problema da quebra de linha no momento da cópia do conteúdo da chave;

Addssh.jpg

  • Após a criação das chaves, a partir da perspectiva GIT Repository Exploring, acessar a funcionalidade “Clone Git Repository”, informar os dados do repositório e clicar em “Next”:

Clonar.jpg

  • Deixar todos os branchs selecionados e clicar em “Next”:

Branches.png

  • Escolher a pasta onde o repositório será clonado e clicar em “Next”:

Destino.jpg

Criando o projeto a partir do repositório clonado

  • Verificar instruções do EGit;
  • Ir para a perspectiva Java EE e clicar com o botão direito no Project Explorer:

Import.jpg

Importar.jpg

Mavenpros.jpg

  • Selecionar todos os pom’s listados e clicar em “Next”:

Poms.jpg

Pluginsmaven.jpg

  • Clicar em "Finish": o download das dependências do Maven será iniciado. Deve demorar um tempo:

Downloadplugins.jpg

Dependências do Maven

O arquivo settings.xml possui as configurações de acesso ao artfactory do CNJ. Ele deve ser adicionado ao diretório .m2 do Maven contendo as informações de acesso do artfactory (imagem para plataforma Windows):

Explorersettings.jpg

  • Clicar em UPDATE SETTINGS do "Window > Preferences > Maven" (caminho para plataforma Windows):

Prefermaven.jpg

  • Sempre que precisar atualizar as dependências do Maven, vá em:

Atualprefermaven.jpg

  • Se ainda forem detectados problemas de dependência, executar procedimento de limpeza:

Mavenclean.jpg

Removendo as validações desnecessárias

  • Clicar com o botão direito em cada um dos projetos e configurar as seguintes propriedades:

Propriedades1.jpg

Propriedades2.jpg

Criando um branch para iniciar a resolução de uma pendência (issue)

  • Verificar instruções do EGit;
  • Solicitar alteração do branch de trabalho para um novo branch, conforme abaixo:

Switchnewbranch.jpg

  • Criar o branch novo, referenciando o nome da pendência a ser resolvida. Adicionalmente, para contemplar necessidade de diversos pedidos de integração devido às várias versões em uso do PJe, sugere-se acrescentar ao nome do branch novo o nome do branch base que se está usando para criar o branch. Por exemplo, PJEII-7249-master, ou PJEII-7249-stable, ou ainda PJEII-7249-1.4.6.x

Createnewbranch.jpg

Após finalizado o procedimento, terá sido criado o branch em seu repositório local.

Publicando a aplicação com Jboss

  • Na aba Servers, adicione um novo servidor;
  • Aponte o ambiente de execução (runtime environment) para o diretório da instalação do JBoss;
  • Copie e cole o arquivo de datasources “PJE-ds.xml” para o diretório “/server/default/deploy” contido na instalação do JBoss (Lembre-se de editar o arquivo XML conforme a necessidade).

Adicionarservidor.jpg


Vincularprojetosserver.jpg


Iniciarserver.jpg

Alterando parâmetros de performance do Jboss

Pode ser que o Eclipse fique com sua execução prejudicada devido a problemas de performance do Jboss. Se for esse o caso, para alterar os parâmetros de performance, realize um clique duplo no servidor Jboss e depois clique em "Open launch configuration":

Performancejboss.jpg

  • Verifique os VM Arguments. Tente melhorar a performance do JBoss aumentando o Xms, Xmx e MaxPermSize. (atentar para orientações disponíveis no manual de instalação - Xms = 1024m, Xmx = 1024 e MaxPermSize=256 )

Usuários para acessar sua instância do PJE

Para “zerar” as senhas dos usuários no banco de dados, executar o método main da classe RegistraSenha (após configurar acesso ao banco):

700pz

Instalando e configurando o FileSync

O FileSync é um plugin que executa no Eclipse, permitindo a 13.1. sincronização de arquivos mantidos por ele (leia http://marketplace.eclipse.org/content/filesync). Instale o plugin a partir do Eclipse em “Help > Eclipse Marketplace”:

Marketplace.jpg

  • Após a instalação, clicar com o botão direito no projeto que contém o ponto de início de execução (pje-web), selecionar "Properties" e localizar o item “File synchronization”. Clicar em “Add Folder” e adicionar a pasta /src/main/webapp:

Filesync.jpg

  • Abrir a pasta incluída, selecionar “Excluded” e clicar em “Edit”:

Excluirfilesync.jpg

  • Clicar no botão “Add Multiple” do “Exclusion patterns”, selecionar todos os arquivos do WEB-INF exceto a pasta XHTML e clicar em “OK”:

Excluirwebinf.jpg

  • Informar em "Default target folder" o caminho do .war:

Caminhowar.jpg

Comandos GIT


Exemplos de comandos:

  • FETCH ( atualizar um branch local com o código do servidor remoto):

Fetcheclipse.jpg

  • COMMIT

Commiteclipse.jpg

Commenteclipse.jpg

Pusheclipse.jpg

Finalpush.jpg

Commitnogit.jpg

Mergerequestgit.jpg

  • RESET (apagar as modificações feitas em um branch local):
Lembre-se:
Quando você desfaz suas modificações com reset git, não existe maneira alguma de recuperá-las. 
Leia: http://www.atlassian.com/git/tutorial/undoing-changes#!reset .

Reseteclipse.jpg

Depois, deve ser realizado um PULL a fim de recuperar a versão mais atualizada do branch.

Observações

O vídeo que descreve a configuração do projeto no Eclipse está um pouco desatualizado, mas é importante dar uma olhada:

  • Teclas de atalho do Eclipse:
    • CTRL + SHIT + F = Identar
    • CTRL + SHIT + R = Localizar arquivo ou classe
    • CTRL + SHIT + T = Localizar tipo (classe)
    • CTRL + SHIT + O = Imports
    • CTRL + D = Apagar linha
    • CTRL + F = Localizar
    • CTRL + O = Localizar métodos e atributos dentro de um arquivo

A seguir, alguns vídeos que auxiliam na configuração do ambiente.

Download das ferramentas

Para iniciar o desenvolvimento do sistema PJE, faça o download das ferramentas necessárias através do endereço: https://wwwh.cnj.jus.br/svn/projeto_pje/trunk/ambiente (atualizar - svn não mais necessário)

Veja como fazer o download: Vídeo

Instalando o Postgres

Para instalar o Postgres, execute o instalador que foi baixado anteriormente deixando as opções sugeridas. Na etapa de definição de senha de administrador, informe "P123456."

Criando base de dados

Crie duas bases de dados: PJE_1_4 e PJE_1_4_BIN, sendo a primeira necessária para armazemanento dos dados do PJE e a segunda para armazenamento dos documentos dos processos gerados pelo PJE.
Veja como fazer a criação da base de dados: Vídeo

Restaurando base de dados

Após criar as bases, vamos copiar os dados e a estrutura do banco de desenvolvimento e restaurá-lo em nosso banco local.
Veja como: Vídeo

Configurando o Eclipse

Tutorial que ensina as principais configurações para desenvolvimento no eclipse, tais como: configuração do MAVEN, download de códigos-fonte no SVN, configuração do JBoss, configuração de HotDeploy (atualizar - svn não mais necessário) Vídeo

Gerando certificados CACERTS

O PJE faz uso de alguns webServices para consulta de dados, como receita federal e OAB. Para que ele consiga executar as pesquisas, é necessário gerar alguns certificados. Veja no vídeo como fazê-lo: Vídeo

Desenvolvimento

Criando entidades

Neste vídeo, demonstraremos como criar entidades para armazenamento de dados no padrão exigido pelo PJE.
Script de criação das tabelas usadas no exemplo: Arquivo:Script criacao tabelas.txt
Vídeo

Criando DAO

Neste vídeo, demonstraremos como criar classes do tipo DAO para acesso aos dados de uma entidade. Uma DAO acessa dados de somente uma entidade.
Vídeo

Criando manager

Neste vídeo, demonstraremos como criar classes do tipo "manager" para adicionarmos regras de negócio e validações antes de persistir os dados de uma entidade. Managers controlam regras de negócio de apenas uma entidade.
Vídeo

Criando action

Neste vídeo, demonstraremos como criar classes do tipo "action" que farão o controle de uma determinada tela.
Vídeo

Criando páginas

Neste vídeo, demonstraremos como criar páginas "xhtml" de pesquisa e edição de registros.
Vídeo

Gerando Deploy

Vídeos que orientam o desenvolvedor sobre como gerar corretamente o deploy do PJE:

  • Deploy através do MAVEN: Vídeo
  • Deploy manualmente: Vídeo

Interfaces para extensão do sistema

O sistema PJe evidentemente não é capaz de contemplar toda a variedade de implementações existentes dadas pelos tribunais para os diversos serviços auxiliares ou acessórios que orbitam a atividade jurisdicional. Alguns desses serviços são intensamente próximos da atividade judicial, outros são um pouco mais distantes. O traço mais comum é, no entanto, a grande possibilidade de variação de implementação dada por cada um dos tribunais.

Em razão dessa apreensão, é imprescindível permitir que algumas atividades sejam implementadas pelo tribunal interessado e conectadas ao PJe. Essa conexão pode ser feita de várias maneiras, desde serviços web até implementações mais internas. Uma alternativa de implementação mais rápida é a construção de componentes Seam que possam ser instalados no PJe para sua posterior utilização em nós de fluxos.

A presente página apresenta as interfaces inicialmente disponibilizadas para algumas das atividades mais críticas do sistema e disponibiliza um projeto de exemplo contendo uma implementação vazia para uma dessas interfaces.

Interfaces disponibilizadas

Na versão 1.0 do projeto de interfaces do PJe, serão disponibilizadas interfaces para as seguintes atividades:

  • verificação de prevenção em relação a outros sistemas - br.jus.cnj.pje.extensao.VerificadorPrevencaoExterna
  • envio e recebimento de informações para sistema de diário eletrônico - br.jus.cnj.pje.extensao.PublicadorDJE
  • envio e recebimento de comunicações postais - br.jus.cnj.pje.extensao.ConectorECT
  • verificação de recolhimento de custas processuais - br.jus.cnj.pje.extensao.VerificadorCustasProcessuais

Essas interfaces estão definidas no projeto pje-interfaces-1.0.0, empacotadas em um arquivo JAR que deve ser utilizado na implementação da interface. A documentação relativa a cada uma das interfaces pode ser consultada diretamente na WIKI e nos arquivos de documentação do desenvolvedor.

Desenvolvimento de ponto de extensão

O desenvolvimento do ponto de extensão do PJe passa pelas seguintes etapas:

  • implementação da interface como componente Seam
  • definição de arquivo components.xml em que o componente da interface seja inicializado pela classe que a implementa
  • empacotamento do ponto de extensão, devendo ser identificadas as bibliotecas de dependência para instalação junto ao PJe
  • instalação do ponto de extensão e concretização de seus testes

Implementação da interface

O JBoss Seam 2.2.X permite que sejam criados componentes em pacotes autônomos, que podem ser posteriormente instalados em sistemas Seam. Uma vez instalados, esses componentes são inicializados juntamente com os demais componentes da aplicação e ficarão disponíveis para injeção e utilização pela aplicação. Para tanto, basta implementar a interface e, no arquivo components.xml, definir o componente e a classe que o implementa. O exemplo que será apresentado versará sobre a implementação da interface de verificação de prevenção. Essa interface tem uma só função definida:


String[] verificaPrevencao(String processoOrigem, int codClasse, int codAssuntoPrincipal, int[] codAssuntos, String[] nomesAutores, String[]  
documentosAutores, String[] nomesReus, String[] documentosReus)


A implementação pode adotar o mecanismo que o tribunal implementador entender mais adequado, desde arquivo de sistemas até serviços Web. Neste exemplo, vamos adotar um mecanismo de verificação em banco de dados.

<code class="java">
@Name("verificadorPrevencaoExterna")
@Scope(ScopeType.APPLICATION)
@Install(precedence=Install.APPLICATION)
@Startup
public class VerificadorPrevencaoExemplo implements VerificadorPrevencaoExterna {

	@In(create=true)
	private DataSource prevencaoDS;

	@Override
	public String[] verificaPrevencao(String processoOrigem, int codClasse, int codAssuntoPrincipal, int[] codAssuntos, String[] nomesAutores, 
           String[] documentosAutores, String[] nomesReus, String[] documentosReus){
		List<String> nomesPartes = new ArrayList<String>();
		nomesPartes.addAll(Arrays.asList(nomesAutores));
		nomesPartes.addAll(Arrays.asList(nomesReus));
		
		List<String> documentosPartes = new ArrayList<String>();
		documentosPartes.addAll(Arrays.asList(documentosAutores));
		documentosPartes.addAll(Arrays.asList(documentosReus));
		
		int numeroNomes = nomesPartes.size();
		int numeroDocumentos = documentosPartes.size();
		
		String qStr = buildQuery(numeroDocumentos, numeroNomes);
		
		Connection con = ds.getConnection();
		PreparedStatement pstmt = con.prepareStatement(qStr);
		pstmt.setInt(1, codClasse);
		pstmt.setInt(2, codAssuntoPrincipal);
		for(int i = 3; i < 3 + numeroNomes; i++){
			pstmt.setString(i, nomesPartes.get(i - 3));
		}
		for(int i = 3 + numeroNomes; i < 3 + numeroNomes + numeroDocumentos; i++){
			pstmt.setString(i, documentosPartes.get(i - numeroNomes - 3));
		}
		ResultSet rs = pstmt.executeQuery();
		List<String> ret = new ArrayList<String>();
		while(rs.next()){
			ret.add(new String(rs.getString(1)));
		}
		return ret.toArray(new String[]{});
	}
	
	private String buildQuery(int numeroNomes, int numeroDocumentos){
		StringBuilder sb = new StringBuilder("SELECT DISTINCT p.numero FROM tb_processo AS p " +
				"JOIN tb_partes AS par ON par.processo = p.numero " +
				"JOIN tb_pessoa AS pes ON par.cod_pessoa = pes.cod_pessoa WHERE p.classe = ?1 AND p.assunto = ?2 AND ");
		sb.append("(pes.nome IN (");
		for(int i = 3; i < 3 + numeroNomes; i++){
			sb.append("?" + i);
			if(i != (2 + numeroNomes)){
				sb.append(", ");
			}
		}
		sb.append(") OR pes.documento IN (");
		for(int i = 3 + numeroNomes; i < (3 + numeroNomes+ numeroDocumentos); i++){
			sb.append("?" + i);
			if(i != (2 + numeroNomes + numeroDocumentos)){
				sb.append(", ");
			}
		}
		sb.append("))");
		return sb.toString();
	}
}
</code>

Atentem que essa implementação é *apenas um exemplo*, não se tendo buscado assegurar características mais profundas de segurança ou de performance. No exemplo, não são considerados os assuntos que não o principal e é adotada estratégia única de verificação de prevenção em que é imprescindível a coincidência de classe e assunto, ainda que a posição das partes não seja relevante.

Definição do arquivo components.xml

No exemplo acima, vimos que a implementação reclama a existência de uma fonte de dados. Essa fonte deve ser definida no arquivo components.xml.

<code class="xml">
<?xml version="1.0" encoding="UTF-8"?>
<components xmlns="http://jboss.com/products/seam/components"
	xmlns:core="http://jboss.com/products/seam/core"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.2.xsd 
                 http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.2.xsd">
	<factory name="prevencaoDS" value="DATASOURCE_CONFIGURADO_NO_SERVIDOR_DE_APLICACAO" scope="application"/>
</components>
</code>

Empacotamento do ponto de extensão

O ponto de extensão deve ser empacotado em um arquivo JAR contendo a(s) classe(s) necessárias à implementação e, aindaa seguinte estrutura mínima:

  • arquivo seam.properties vazio na raiz do arquivo JAR
  • pasta META-INF contendo o arquivo components.xml

A par desse arquivo JAR, é imprescindível que o desenvolvedor do ponto de extensão identifique as bibliotecas de que depende, devendo, especialmente, verificar:

  • se a biblioteca já faz parte do servidor de aplicação JBoss em que o PJe será instalado
  • se a biblioteca já faz parte das bibliotecas de que o próprio PJe depende (WEB-INF/lib)
  • se há alguma incompatibilidade entre as bibliotecas dependentes e aquelas já utilizadas no PJe

Cumpridos os passos acima, o desenvolvedor deverá elaborar um pacote ZIP contendo o JAR do ponto de extensão e os JARs das bibliotecas extras necessárias.

Instalação do ponto de extensão

A instalação do ponto de extensão é feita inserindo nos JARs contidos no pacote ZIP acima referido na pasta WEB-INF/lib do PJe. Sua utilização será feita por meio de injeção em componentes Seam do PJe ou indiretamente, em chamadas EL contidas em arquivos xhtml. Tanto a injeção quanto o uso em XHTMLs será feita por meio do nome padronizado de cada interface, que é o nome CamelCase da interface, sendo a primeira letra minúscula.

Interoperabilidade

Sistemas externos podem ser integrados ao PJe através de serviços disponíveis no padrão MNI. Pode-se acessar a lista de serviços através da instalação do PJe no tribunal, complementendo o endereço de acesso inicial do PJe com o trecho "intercomunicacao?wsdl".

Implementação do MNI do PJe - link para testes

Para auxiliar na integração com outros sistemas, o PJe dispõe de outros serviços web. Pode-se acessar a lista de serviços através da instalação do PJe no tribunal, complementendo o endereço de acesso inicial do PJe com o trecho "ConsultaPJe?wsdl".

Serviços Web do PJe - link para testes

Serviços disponíveis via Modelo Nacional de Interoperabilidade - MNI

O MNI estabelece as bases para o intercâmbio de informações de processos judiciais e assemelhados entre os diversos órgãos de administração da Justiça, e como base para a implementação das funcionalidades pertinentes no âmbito do sistema processual de que trata o TCOT n.º 073/2009 e o acordo TAC n.º 58/2009.

Das cinco operações previstas, quatro estão implementadas

1. 2. 3. 4.

Como pré-requisito para usá-las deve ser feita a autentidcação como descrito abaixo:

O meio preferencial para a autenticação dos clientes no serviço deverá ser a troca de certificados digitais expedidos no formato ICP-Brasil. A partir do certificado, o serviço deverá obter o número identificador do consulente (CNPJ ou CPF) e, com isso, validar os acessos independentemente do uso de um par login/senha. Caso tal meio de autenticação não seja possível no contexto do tribunal, dever-se-á utilizar o par login/senha para a autenticação, assegurando-se, porém, em qualquer situação, que o canal de comunicação entre as partes seja seguro ( https ). No caso de comunicação entre tribunais, os códigos identificadores serão o resultado da conjunção do campo “J”, “TR” e “OOOO” de que tratam, respectivamente, os parágrafos 4.º, 5.º e 6.º do art. 1.º da Resolução CNJ 65, com ou sem a concatenação de outros dígitos identificadores no caso de esses 7 dígitos não serem suficientes para a identificação unívoca do órgão remetente.

Os órgãos de representação processual (MP,defensoria pública, advocacia pública e escritório de advocacia. Conhecidos no PJe como Procuradorias) o cliente pode utilizar o Certificado Institucional ou Pessoal (procuradores, defensores, advogados) desde que, caso Institucional, o CPF do responsável informado no Certificado seja o mesmo CPF associado à Procuradoria cadastrada no PJe.

Referências:

Modelo Nacional Interoperabilidade (versão 2.1.1)

Em contrução

Comunicação entre instâncias do PJe

Utilização por órgãos externos

Órgãos externos ao tribunal objeto da instalação do PJe

Migração

Uso temporário

Flyway

O Flyway é um sistema de versionamento de banco de dados. Funciona como um plugin no maven. Anteriormente, no PJe, vinha se usando o Flyway através do projeto pje-dbmanager, mas, devido às dificuldades de integração de código e integração de banco em projetos separados, optou-se, na versão 1.5.0, por reintegrar os scripts do dbmanager ao PJe e utilizar o flyway direto no maven desse momento em diante. Para configurá-lo no projeto PJe, deve-se modificar o arquivo .m2/settings.xml e acrescentar os seguintes parâmetros:

<servers>
...
  <server>
    <id>pje-descanso</id>
    <username>postgres</username> 
    <password>123456.</password>
  </server>
...
</servers>
<profiles>
...
  <profile>
    <id>pje-descanso</id>
    <properties>
      <flyway.serverId>pje-descanso</flyway.serverId>
      <flyway.driver>org.postgresql.Driver</flyway.driver>
      <flyway.url>jdbc:postgresql://localhost:5432/pje_1_4</flyway.url>
    </properties>
  </profile>
...
</profiles>


No início do trecho de arquivo, a configuração do <server> é a autenticação que deve ser utilizada para o <profile> de nome "pje-descanso", configurado mais abaixo. A configuração do <profile> contém o servidor (<flyway.serverId>) onde será executada a atualização, estabelecendo o driver para acesso ao banco (<flyway.driver>) e o endereço onde o banco se encontra (<flyway.url>).

Para atualizar a base, execute o comando "mvn flyway:migrate -P pje-descanso" através do eclipse, conforme imagem abaixo:

Flyway.jpg


onde "pje-descanso" é o <flyway.serverId> definido no arquivo de configuração acima descrito.


A atualização de banco em versões anteriores é feita através do projeto dbmanager (que não mais existe a partir da 1.5.0), utilizando a classe atualizarBase.java. Ela deve ser executada diretamente pelo eclipse.

Catálogo de serviços

O PJe faz uso de comunicação com diversos serviços externos, como consulta à Receita Federal, consulta a instituições financeiras, consulta à OAB. Os endereços desses serviços ficam centralizados no Catálogo de serviços. Para ter acesso ao catálogo, os tribunais devem solicitar ao CNJ através do email G-lideres.PJE@cnj.jus.br.

Ferramentas pessoais
Espaços nominais

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