Servizio generico di interrogazione database.

Da wiki.maggioli.it.
Jump to navigation Jump to search

Configurazione Sistema

Il sistema puo' essere configurato tramite l'interfaccia accessibile da: Sistema > Common > Webservice > Servizio generico di interrogazione database > [Icona ingranaggi di configurazione]

White List

Per ovvie ragioni di sicurezza, il sistema e' stato strutturato in modo da bloccare ogni accesso ad informazioni fuori dalle tabelle consentite. Premendo il pulsante "Nuovo" e' possibile aggiungere le tabelle interrogabili dall'esterno, ogni query che andra' a toccare tabelle non in questa lista verra' bloccata.

Dimensione massima risultati

E' possibile impostare un limite di dimensioni ai dati esportati dal servizio (al default sono 500MB).

Record eventi

Ogni query eseguita, come ogni query la cui esecuzione viene bloccata (per tentativi di accessi a tabelle inaccessibili o problemi di sicurezza vari), vengono registrate all'interno degli eventi di sistema. (Accessibili sia dal pulsante "Record eventi" del pannello di configurazione del webservice, sia da Configurazione > Sistema > Eventi > Visualizzazione > Applicazione : "Espressioni")

Permesso utentiruoli

Solo gli utenti che hanno il permesso "Espressioni -> Webservice QueryTool" sono in grado di consumare il servizio, percio' e' necessario fornire il permesso (Tramite i classici menu di Utenti/Ruoli) a colui che dovra' collegarsi al sistema.

WSDL

E' possibile avere il file wsdl di riferimento: ExpWSSQueryTool.wsdl.

Consumazione Servizio (Informazioni Tecniche)

Parametri

  • Username: Login dell'utente sicraweb con il quale utilizzare il webservice
  • Password: Password dell'utente sicraweb
  • j2eeUsername: Utente j2ee del comune a cui connettersi
  • j2eePassword: Passowrd j2ee del comune a cui connettersi
  • queryDescriptor -> content: Select SQL o HQL da eseguire.
  • queryDescriptor -> outputFormat: Stringa che rappresenta il tipo di formato in output (segue l'elenco dei formati supportati)
  • queryDescriptor -> compression: Flag (boolean) che serve per richiedere o meno la compressione del dati in output a livello applicativo (La compressione avviene in formato ZLib: [1])

Formati supportati

  • CSV = Semicolon-separated values
  • CSV_COMMA = Comma-separated values
  • CSV_PIPE = Pipe-separated values
  • CSV_SEMICOLON = Semicolon-separated values (uguale a CSV)
  • XLS = Excel Binary File Format

Esempio Consumazione JAVA 7

  File testFile = new File("utenti_sicraweb.csv");
  //Le seguenti linee sfruttano classi autogenerate dall'import wsdl
  ExpWSSQueryToolServiceLocator s = new ExpWSSQueryToolServiceLocator();
  ExpWSSQueryTool q = s.getExpWSSQueryTool();
  ExpWSSQueryDescriptor d = new ExpWSSQueryDescriptor();
  d.setContent("select a.login, a.descrizione from UtrDACUtentiruoli a");
  d.setOutputFormat("CSV"); // Comma-separated
  d.setCompression(Boolean.TRUE); //Comprimo in ZLib
  ByteArrayInputStream bais = new ByteArrayInputStream(q.executeSelectHQL("marioRossi","secretPw", "sicraweb_roma", "password_roma", d));
  GZIPInputStream gz = new GZIPInputStream(bais);
  Files.copy(gz, testFile.toPath());
  gz.close();
  bais.close();