SUPREMO TRIBUNAL FEDERAL Secretaria de Tecnologia da Informação Coordenadoria de Sistemas e-STF WebServices Processo Eletrônico Smart Client Documentação 1 Histórico da Revisão Data Versão Descrição Autor 20/06/2008 1.0 Criação do documento Igor Benício de Mesquita 17/072008 1.1 Adição de novas funcionalidades implementadas em release Igor Benício de Mesquita 04/08/2008 1.2 Adição de novas funcionalidades implementadas em release. Correções no documento Igor Benício de Mesquita 05/08/2008 1.3 Inclusão de modelagem base exclusiva Igor Benício de Mesquita 10/11/2008 1.4 Alterações para novo domínio do STF Igor Benício de Mesquita 22/01/2008 1.5 Inclusão do serviço de envio de peças André von Glehn 28/01/2008 1.6 Inclusão do serviço de baixa de processo. Bruno da Silva Abreu Secretaria de Tecnologia da Informação Coordenadoria de Sistemas e-STF – Smart Client Documentação ÍNDICE 1. 1. 2. 3. 4. 5. Contatos ........................................................................................................................................... 3 Introdução ........................................................................................................................................ 4 Tecnologia utilizada e necessária..................................................................................................... 5 Vantagens de utilização ................................................................................................................... 6 Representação dos serviços.............................................................................................................. 7 Especificação dos procedimentos .................................................................................................... 8 5.1. Dummy Insert .......................................................................................................................... 8 5.1.1. Assinatura do serviço:...................................................................................................... 8 5.1.2. Chamada do serviço por linha de comando: .................................................................... 8 5.2. Enviar Processo Eletrônico ...................................................................................................... 8 5.2.1. Assinatura do serviço:...................................................................................................... 8 5.2.2. Chamada do serviço por linha de comando: .................................................................... 8 5.3. Enviar Processos Eletrônicos não Enviados ............................................................................ 8 5.3.1. Assinatura do serviço:...................................................................................................... 8 5.3.2. Chamada do serviço por linha de comando: .................................................................... 8 5.4. Consultar Protocolos................................................................................................................ 9 5.4.1. Assinatura do serviço:...................................................................................................... 9 5.4.2. Chamada do serviço por linha de comando: .................................................................... 9 5.5. Enviar peça para um processo.................................................................................................. 9 5.5.1. Assinatura do serviço:...................................................................................................... 9 5.5.2. Chamada do serviço por linha de comando: .................................................................... 9 5.6. Recuperação de peças de processos baixados no STF............................................................. 9 5.6.1. Assinaturas do serviço: .................................................................................................. 10 5.6.2. Chamada do serviço por linha de comando: .................................................................. 10 5.7. Configurar senhas .................................................................................................................. 10 5.7.1. Assinatura do serviço:.................................................................................................... 10 5.7.2. Chamada do serviço por linha de comando: .................................................................. 10 5.8. Atualização de logs ................................................................................................................ 10 5.8.1. Assinatura do serviço:.................................................................................................... 10 5.8.2. Chamada do serviço por linha de comando: .................................................................. 11 6. Diagrama de atividades.................................................................................................................. 12 7. ANEXO I – MODELAGEM BASE .............................................................................................. 14 2 Secretaria de Tecnologia da Informação Coordenadoria de Sistemas e-STF – Smart Client Documentação 1. CONTATOS Contato 1 Gustavo Sanches Função Coordenador de Sistemas Telefone para contato (61) 3217-3488 E-mail [email protected] Contato 2 Flávio Henrique Rocha e Silva Função Chefe da Seção de Sistemas do Processamento Judiciário Telefone para contato (61) 3217-3481 E-mail [email protected] Contato 3 Igor Benício de Mesquita Função Analista de Sistemas Telefone para contato (61) 3217 – 4456 E-mail [email protected] Contato 4 Bruno da Silva Abreu Função Analista de Sistemas Telefone para contato (61) 3217 – 4456 E-mail [email protected] Contato 5 André Von Glehn Pereira Função Analista de Sistemas Telefone para contato (61) 3217 – 3913 E-mail [email protected] 3 Secretaria de Tecnologia da Informação Coordenadoria de Sistemas e-STF – Smart Client Documentação 1. INTRODUÇÃO O Smart Client é a aplicação fornecida pelo STF como solução de cliente para utilização de seu WebService Processo Eletrônico. Seu propósito principal é facilitar e acelerar o processo de adesão ao WSProcessoEletronico e sua utilização, mas tem como objetivos específicos: • Manter a sincronia dos dados de envio do processo entre o órgão usuário do WebService e o STF, fazendo com que as mudanças seja aplicadas ao dois lados imediatamente; • Registrar log WebService; • Executar testes iniciais de utilização; • Encapsular a implementação da segurança de acesso, dispensando o trabalho de desenvolvimento da mesma e mantendo sua sincronia com a estrutura disponível no WebService; • Manter a sincronia de arquiteturas de WebService entre os órgãos e o STF, aumentando o aproveitamento dos recursos que essa arquitetura pode proporcionar e garantindo a estabilidade e controle da comunicação; • Manter a sincronia de versões entre cliente e serviço disponibilizado, de maneira que uma versão utilizável do Smart Client seja lançada quando necessária para corresponder a uma nova versão do WSProcessoEletronico; • Expandir a camada de middleware entre a aplicação do órgão e a do STF, fazendo com que a integração torne-se mais simples e consistente. dos procedimentos 4 de envio relacionados ao Secretaria de Tecnologia da Informação Coordenadoria de Sistemas e-STF – Smart Client Documentação 2. TECNOLOGIA UTILIZADA E NECESSÁRIA O Smart Client foi desenvolvido utilizando a arquitetura J2EE 5 com Hibernate 3.2.5.ga (utilizando annotations) e Axis2 1.2. Trata-se de uma aplicação Java stand-alone (desktop) que pode ser utilizada como um componente integrável a aplicações Java. Como aplicação tem a característica de ser portátil, não necessitando de instalação. É também uma aplicação Open-Source, podendo ser alterada livremente pelos usuários. É acoplado diretamente aos serviços da entidade usuária, de maneira que sua base de dados é alimentada pela aplicação que a utilizará para envio dos processos. Não possui “inteligência” de negócio (somente validações mínimas), de modo que todos os procedimentos sejam executados no WebService. Isso elimina a obrigatoriedade de sua utilização e garante a segurança do recebimento das informações. Os requisitos mínimos de funcionamento (Software) são - no caso da utilização como aplicação • JRE disponível no equipamento onde será executado; • Banco de dados com especificações disponíveis para Jdbc e Hibernate; • Aplicação de origem em que possa ser implementada chamada de linha de comando; Caso seja optada a utilização como componente, o requisito mínimo exigido é que a aplicação seja J2EE 5 (caso opte por utilizar como componente). 5 Secretaria de Tecnologia da Informação Coordenadoria de Sistemas e-STF – Smart Client Documentação 3. VANTAGENS DE UTILIZAÇÃO • Trata-se de um software livre; • Economiza o trabalho de desenvolvimento de um cliente próprio; • Pode ser acoplado a diversas aplicações (de diversas arquiteturas) sem recodificação ou readaptação de código (caso não envolva um BD desconhecido pela aplicação); • Pode ser integrado a qualquer aplicação Java 6.0, incluindo Servlets e outros WebServices; • Pode ser alterado pelo usuário (open-source); • Pode ser configurado sem necessidade de re-compilação, inclusive para utilização de outros bancos de dados; • Agiliza os testes; • Apresenta um log já desenvolvido (e com propostas futuras); • Mantém a sincronia de versão com o WSProcessoEletronico (build); • Mantém a sincronia com o Axis2 e todos os recursos configurados para o WSProcessoEletronico. 6 Secretaria de Tecnologia da Informação Coordenadoria de Sistemas e-STF – Smart Client Documentação 4. REPRESENTAÇÃO DOS SERVIÇOS Ponte WS WSProcessoEletronico WSProtocolizacao SUPREMO TRIBUNAL FEDERAL TRIBUNAIS EnviarProcessoEletrônico AtualizaPeçaProcessoEletrônico baixarProcessoEletronico enviarPecaProcessoEletronico 7 Smart Client Secretaria de Tecnologia da Informação Coordenadoria de Sistemas e-STF – Smart Client Documentação 5. ESPECIFICAÇÃO DOS PROCEDIMENTOS Este tópico serve apenas como guia de referência para apresentação das funcionalidades. Para conhecimento mais aprofundado das funcionalidades e utilização componentizada do Smart Client favor consultar documentação da API (Javadoc) disponibilizada no portal. 5.1. Dummy Insert Procedimento responsável pela inserção de dados na base para testes iniciais. Os arquivos de teste deve estar disponíveis e o Smart Client devidamente configurado. 5.1.1. Assinatura do serviço: public static void dummyInsert() throws FileNotFoundException 5.1.2. Chamada do serviço por linha de comando: java –jar SmartClient.jar 1 5.2. Enviar Processo Eletrônico Procedimento responsável por chamar o WSProcessoEletronico e enviar o processo já existente na base de dados temporária. 5.2.1. Assinatura do serviço: public static boolean enviarProcessoEletronico(String numeroSequencial, Session session) throws Exception public static boolean enviarProcessoEletronicoSessionControlled(String numeroSequencial) throws Exception 5.2.2. Chamada do serviço por linha de comando: java –jar SmartClient.jar 0 <identificador controle processamento> 5.3. Enviar Processos Eletrônicos não Enviados Procedimento responsável por chamar o WSProcessoEletronico e enviar os processos da base temporária que ainda não foram enviados com sucesso. 5.3.1. Assinatura do serviço: public static void enviarProcessosNaoEnviados(Session session) throws Exception public static void enviarProcessosNaoEnviadosSessionControlled() throws Exception 5.3.2. Chamada do serviço por linha de comando: java –jar SmartClient.jar 2 8 Secretaria de Tecnologia da Informação Coordenadoria de Sistemas e-STF – Smart Client Documentação 5.4. Consultar Protocolos Procedimento responsável por chamar o WSAcompanhamentoProcessual para pesquisa de processos no STF. 5.4.1. Assinatura do serviço: public static boolean pesquisarProtocolo(String codigoOrigem , String siglaClasseProcedencia, String numeroProcessoProcedencia, String siglaClasse, String numeroProcesso, String anoProtocolo, String numeroProtocolo, String tipoMeioFisico, String dataInicial, String dataFinal, Session session) throws Exception public static void pesquisarProtocoloSessionControlled(String[] args) throws Exception 5.4.2. Chamada do serviço por linha de comando: java –jar SmartClient.jar 3 [cód. Origem STF] [sig. Classe na Origem] [num. Classe na Origem] [sig. Classe no STF] [num. Processo no STF] [ano Protocolo no STF] [num. Protocolo no STF] [tipo meio Processo <E,F>] [data Inicial Protocolo no STF <DD/MM/AAAA>] [data Final Protocolo no STF <DD/MM/AAAA>] 5.5. Enviar peça para um processo. Funcionalidade de envio de peças isoladas para um processo que já se encontra protocolado no STF. Para o envio de uma peça a mesma deve ter sido solicitada pelo STF por intermédio de um oficio de solicitação de peças juntado ao processo. 5.5.1. Assinatura do serviço: public final static boolean enviarPecaProcessoEletronico(String numeroSequencial, Session session) throws Exception public static boolean enviarPecaProcessoEletronicoSessionControlled(String[] args) throws Exception 5.5.2. Chamada do serviço por linha de comando: java –jar SmartClient.jar 7 <identificador controle de envio de peças> 5.6. Recuperação de peças de processos baixados no STF. Funcionalidade de recuperação das peças, produzidas no STF, de um processo enviado pelo tribunal. Existem duas formas de se baixar processos do STF: Na primeira, o tribunal deve informar o código da origem cadastrada no STF para o qual possui permissão para baixar processos (o mesmo código usado para enviar processos) e as informações do protocolo do processo no STF. Na segunda, o tribunal deve informar o mesmo código, mas o intervalo de datas dos protocolos dos processos a serem baixados no STF. Se a situação desses processos no STF (na 9 Secretaria de Tecnologia da Informação Coordenadoria de Sistemas e-STF – Smart Client Documentação baixa por protocolo ou por data) já for de “baixado”, o SmartClient vai recuperar apenas as peças produzidas no STF. 5.6.1. Assinaturas do serviço: public final static void baixarProcessoEletronico(Integer codigoOrigem, Integer numeroProtocoloSTF, Integer anoProtocoloSTF, Session session) throws BaixarProcessoException public final static void baixarProcessoEletronicoSessionControlled(Integer codigoOrigem, Integer numeroProtocoloSTF, Integer anoProtocoloSTF) throws BaixarProcessoException public final static void baixarProcessoEletronicoData(Integer codigoOrigem, Date dataInicial, Date dataFinal, Session session) throws BaixarProcessoException public final static void baixarProcessoEletronicoDataSessionControlled(Integer codigoOrigem, Date dataInicial, Date dataFinal) throws BaixarProcessoException 5.6.2. Chamada do serviço por linha de comando: java –jar SmartClient.jar 5 <Codigo_da_origem_no_STF> <Numero_do_protocolo_do_processo_no_STF> <Ano_do_protocolo_do_processo_no_STF> java –jar SmartClient.jar 6 <Codigo_da_origem_no_STF> <data_de_início_da_pesquisa> <data_de_fim_da_pesquisa> 5.7. Configurar senhas Procedimento responsável por fornecer ao usuário uma interface para definir e alterar as senhas utilizadas no Smart Client. As senhas são armazenadas em um arquivo criptografado dentro da estrutura do Smart Client. 5.7.1. Assinatura do serviço: private static void definirSenhas() throws Exception 5.7.2. Chamada do serviço por linha de comando: java –jar SmartClient.jar 10 5.8. Atualização de logs Funcionalidade para atualização de logs a partir de um Processo Origem que já foi enviado para o STF. A partir do número do Processo Origem é possível atualizar o log contido na base temporária do SmartClient com o último status contido do processo na base do STF. 5.8.1. Assinatura do serviço: 10 Secretaria de Tecnologia da Informação Coordenadoria de Sistemas e-STF – Smart Client Documentação public static boolean atualizarLogProcessoEletronicoSessionControlled(String[] args) throws Exception public static boolean atualizaLog(String codigoOrigem , String numeroProcessoOrigem, String siglaClasseOrigem, Session session) throws Exception 5.8.2. Chamada do serviço por linha de comando: java –jar SmartClient.jar 4 <número do controle processamento> 11 Secretaria de Tecnologia da Informação Coordenadoria de Sistemas e-STF – Smart Client Documentação 6. DIAGRAMA DE ATIVIDADES 12 Secretaria de Tecnologia da Informação Coordenadoria de Sistemas e-STF – Smart Client Documentação 13 7. ANEXO I – MODELAGEM BASE Secretaria de Tecnologia da Informação Coordenadoria de Sistemas e-STF – Smart Client Documentação 14