documentazione_3di_riservata:docway4:bonita7
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
documentazione_3di_riservata:docway4:bonita7 [2016/10/11 15:20] – [Note sullo sviluppo di connettori] mbernardini | documentazione_3di_riservata:docway4:bonita7 [Data sconosciuta] (versione attuale) – eliminata - modifica esterna (Data sconosciuta) 127.0.0.1 | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
- | ====== INTEGRAZIONE BONITA 7 - DOCWAY 4 ====== | ||
- | <WRAP center round important 60%> | ||
- | Versione Bonita BPM supportata: **7.1.4** | ||
- | </ | ||
- | |||
- | ===== Installazione Bonita ===== | ||
- | |||
- | - Installare Bonita BPM tramite il Bundle con Tomcat o il singolo WAR (riferirsi alla [[http:// | ||
- | - [[documentazione_3di_riservata: | ||
- | - Copiare il file **[[# | ||
- | - Configurare i [[# | ||
- | - [[# | ||
- | - Verificare eventuali [[# | ||
- | ==== File 3diws-bonita-connectors.properties ==== | ||
- | |||
- | Di seguito è riportato un esempio di contenuto del file 3diws-bonita-connectors.properties (utilizzato da tutti i connettori sviluppati da 3DI per operare sugli archivi eXtraWay - //chiamate ai 3diWS//) | ||
- | |||
- | < | ||
- | # URL dei 3diws da utilizzare | ||
- | xwWsUrl=http:// | ||
- | |||
- | # Eventuale username e password da utilizzare in caso di autenticazione ai webservice (se abilitata) | ||
- | xwWsAuthUser=3diws | ||
- | xwWsAuthPassword=admin | ||
- | |||
- | # Host e posta di eXtraWay | ||
- | xwHost=127.0.0.1 | ||
- | xwPort=4859 | ||
- | |||
- | # Utente (ed eventuale password) da utilizzare in fase di init (caricamento diritti, ...). Questo parametro potrebbe essere ridefinito da | ||
- | # alcuni connettori (es. SavePostit imposta l' | ||
- | xwUser=xwservice | ||
- | xwPassword= | ||
- | |||
- | # Nome dell' | ||
- | xwDb=xdocwaydoc | ||
- | |||
- | # Nome dell' | ||
- | aclDb=acl | ||
- | |||
- | # Encoding dei frammenti XML (default UTF-8) | ||
- | encoding=UTF-8 | ||
- | # Dimensione della generica pagina dei titoli (default 10) | ||
- | titlePageSize=10 | ||
- | # Dimensione della generica pagina del vocabolario (default 10) | ||
- | indexPageSize=10 | ||
- | </ | ||
- | |||
- | ==== Configurazione dei LOGS su Bonita ==== | ||
- | |||
- | Per integrare all' | ||
- | |||
- | Una possibile configurazione di default è la seguente: | ||
- | |||
- | < | ||
- | # Set log level to " | ||
- | org.bonitasoft.groovy.script.handlers = 5bonita.org.apache.juli.FileHandler | ||
- | org.bonitasoft.groovy.script.level = FINEST | ||
- | |||
- | # Reuse Bonita log handler (file bonita.log) for org.mycompany.connector loggers | ||
- | it.tredi.bonita7.handlers = 5bonita.org.apache.juli.FileHandler | ||
- | it.tredi.bonita7.level = FINEST | ||
- | </ | ||
- | |||
- | In ambiente di produzione si consiglia di impostare il livello di log a **INFO** in modo da non compromettere le performance per l' | ||
- | |||
- | <WRAP center round info 80%> | ||
- | Verificare che l' | ||
- | </ | ||
- | |||
- | ==== Disattivazione del SecurityFilter di Bonita ==== | ||
- | |||
- | Per permettere l' | ||
- | |||
- | * Aprire il file //web.xml// di Bonita ([TOMCAT_HOME]/ | ||
- | * Commentare il filtro **SecurityFilter** | ||
- | |||
- | < | ||
- | ... | ||
- | <!-- Security Filter --> | ||
- | < | ||
- | < | ||
- | < | ||
- | </ | ||
- | ... | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | </ | ||
- | ... | ||
- | </ | ||
- | |||
- | * Riavviare il Tomcat di Bonita | ||
- | |||
- | <WRAP center round info 80%> | ||
- | **IMPORTANTE**: | ||
- | </ | ||
- | ==== Configurazioni aggiuntive ==== | ||
- | |||
- | === Chiusura automatica del Form === | ||
- | |||
- | E' possibile attivare la chiusura automatica del form di esecuzione di un task su DocWay in caso di successo, applicando la seguente procedura): | ||
- | |||
- | * Modificare il file [BONITA_HOME]/ | ||
- | |||
- | < | ||
- | < | ||
- | <html dir=" | ||
- | < | ||
- | <meta http-equiv=" | ||
- | <meta name=" | ||
- | <link href=" | ||
- | </ | ||
- | < | ||
- | <div class=" | ||
- | <div id=" | ||
- | <div id=" | ||
- | | ||
- | </ | ||
- | </ | ||
- | </ | ||
- | </ | ||
- | |||
- | * Creare la directory 3di: //mkdir [BONITA_HOME]/ | ||
- | * Creare il file [BONITA_HOME]/ | ||
- | |||
- | < | ||
- | var docwayHost = " | ||
- | |||
- | try { | ||
- | var parentHtml = $(window.top.document).find(" | ||
- | } | ||
- | catch(e) { | ||
- | console.log(e); | ||
- | document.location.href = docwayHost + "/ | ||
- | } | ||
- | </ | ||
- | |||
- | |||
- | |||
- | === Dimensione massima allegati su Bonita Portal === | ||
- | |||
- | Per modificare la dimensione massima degli allegati gestiti su Bonita Portal occorre seguire la procedura di seguito: | ||
- | |||
- | * Aprire il file // | ||
- | * Aggiornare il valore associato alla property **form.attachment.max.size** | ||
- | * Aprire il file // | ||
- | * Aggiornare il valore associato alla property **form.attachment.max.size** | ||
- | * Riavviare Bonita BPM | ||
- | |||
- | === Sessione utente su Bonita Portal === | ||
- | |||
- | * Modificare la durata della sessione utente sul file [BONITA_HOME]/ | ||
- | |||
- | < | ||
- | bonita.tenant.session.duration=28800000 | ||
- | </ | ||
- | |||
- | * Modificare la sessione utente sul file web.xml della webapp bonita. Nel caso non esista l' | ||
- | |||
- | < | ||
- | < | ||
- | < | ||
- | </ | ||
- | </ | ||
- | |||
- | * Riavviare Bonita BPM | ||
- | |||
- | ===== Differenze con integrazione ver. 5.10 ===== | ||
- | |||
- | Di seguito sono elencate le differenze principali rispetto all' | ||
- | |||
- | * Le variabili globali definite sul processo sono solo le seguenti (qualsiasi altra informazione relativa al documento che deve essere mostrata sul flusso dovrà essere caricata tramite connettore all' | ||
- | * **%%dw__nrecord%%** [STRING]: nrecord del documento al quale viene agganciato il workflow | ||
- | * **%%dw__cod_persona%%** [STRING]: matricola dell' | ||
- | * **%%dw__cod_uff%%** [STRING]: codice dell' | ||
- | * Il form di esecuzione di un task di processo non è più visualizzato con un componente sviluppato da 3DI, ma attraverso una chiamata alla webapp di Bonita BPM che restituisce direttamente l'HTML da visualizzare (in questo modo non ci saranno più limitazioni nella definizione dei form del flusso). | ||
- | * **Piena compatibilità con i form definiti in modalità 6.x**. Sui nuovi form realizzati tramite //UI Designer// occorre verificare come gestire il ritorno post submit del form | ||
- | * L' | ||
- | * Il primo caricamento del form di esecuzione di un task da DocWay richiederà l' | ||
- | * La possibilità di accedere alla webapp di Bonita BPM fornisce la possibilità di avanzare i flussi attivi o amministrare i processi caricati (solo per utenti con ruolo amministratore su Bonita) | ||
- | * La storia delle azioni su un flusso viene registrata sul documento quando il flusso risulta concluso o annullato. Durante l' | ||
- | * La chiusura dei flussi su DocWay non avviene in realtime, ma è stato sviluppato un job che verifica (attraverso chiamate alle API di Bonita) se tutti i flussi in esecuzione su DocWay risultano completati o annullati su Bonita. In caso affermativo il job aggiorna lo stato di ogni flusso su DocWay e registra la storia completa delle azioni svolte sui task del flusso. | ||
- | * Implementazione necessaria per poter gestire scenari nei quali differenti applicazioni condividono uno stesso flusso. E' errato ipotizzare che l' | ||
- | ===== Scenari di integrazione previsti ===== | ||
- | |||
- | ==== Autenticazione LDAP ==== | ||
- | |||
- | {{: | ||
- | |||
- | * LDAP aziendale preesistente utilizzato per autenticazione | ||
- | * DocWay si autentica su LDAP | ||
- | * Bonita si può sincronizzare con LDAP per mantenere aggiornata l' | ||
- | * Al primo accesso al form di Bonita da DocWay l' | ||
- | |||
- | <WRAP clear></ | ||
- | |||
- | <WRAP center round alert 80%> | ||
- | Per l' | ||
- | |||
- | Un' | ||
- | </ | ||
- | |||
- | ==== Autenticazione Tomcat ==== | ||
- | |||
- | {{: | ||
- | |||
- | * Autenticazione utenti su Tomcat (tomcat-users.xml con password MD5) | ||
- | * JOB su DocWay per la sincronizzazione degli utenti con il database di Bonita: Registrazione della stessa password utilizzata per l' | ||
- | * DocWay si autentica su Tomcat | ||
- | * Al primo accesso al form di Bonita da DocWay l' | ||
- | |||
- | <WRAP clear></ | ||
- | |||
- | ==== Autenticazione DB Bonita BPM ==== | ||
- | |||
- | {{: | ||
- | |||
- | * Autenticazione con DB Bonita BPM | ||
- | * Nessun processo di sincronizzazione utenti | ||
- | * DocWay si autentica su Bonita | ||
- | * Usename e Password degli utenti gestiti da Bonita (registrati su db Bonita) | ||
- | * L' | ||
- | |||
- | <WRAP clear></ | ||
- | |||
- | <WRAP center round important 80%> | ||
- | L' | ||
- | </ | ||
- | |||
- | ==== Senza Autenticazione ==== | ||
- | |||
- | * Autenticazione DocWay su Tomcat o LDAP/AD | ||
- | * Inserimento/ | ||
- | * Stessa password su Bonita per tutti gli utenti (definita su file di properties di DocWay). **L' | ||
- | * L' | ||
- | * Bonita e DocWay devono essere installati e raggiungibili attraverso lo **stesso host**. In caso contrario non sarebbe possibile attivare l' | ||
- | * Occorre impostare un tempo di sessione elevato su Bonita Portal in modo che la sessione utente non scada se non utilizzato durante la giornata (es. 10 ore) | ||
- | * Configurazioni (//oltre a quelle base per l' | ||
- | * abilitaBonitaTomcatUsersSync=// | ||
- | * bonitaSync.upgradeOnLogin=// | ||
- | * bonita.domain | ||
- | * bonita.sessionCookieName | ||
- | * bonitaSync.password | ||
- | ===== Principali properties su DocWay ===== | ||
- | |||
- | Di seguito la porzione di properties relativa alle configurazione dell' | ||
- | |||
- | <WRAP center round info 80%> | ||
- | Settare come dominio il **FQDN** (Fully Qualified Domain Name) in : | ||
- | **bonita.server_url_form** e | ||
- | **bonita.application_name_form**. | ||
- | |||
- | __Necessario per evitare problemi nella gestione dei cookie con i browser IE11 e Edge su Windows__. | ||
- | </ | ||
- | |||
- | < | ||
- | ######################### | ||
- | |||
- | #Indica se abilitare il Workflow bonita (' | ||
- | abilitaeXtraWayWorkflow=si | ||
- | |||
- | # definisce le versioni di bonita installate e utilizzate da DocWay. Separare i valori da ',' | ||
- | bonita.activeVersions= | ||
- | # | ||
- | |||
- | # Indica se abilitare o meno il JOB di CheckProtocolTask (avanzamento workflow di Bonita su protocollazione di un documento) (' | ||
- | # | ||
- | |||
- | ######################### | ||
- | |||
- | # Parametri di connessione a Bonita per chiamate server tramite API | ||
- | bonita.server_url= | ||
- | # | ||
- | bonita.application_name= | ||
- | # | ||
- | |||
- | # Username e password da utilizzare per le chiamate alle API di Bonita | ||
- | bonita.username= | ||
- | bonita.password= | ||
- | |||
- | # Apertura del form di esecuzione di un task da DocWay | ||
- | # Parametri di connessione a Bonita per definizione dell' | ||
- | # N.B.: Settare come dominio il FQDN (Fully Qualified Domain Name) | ||
- | # | ||
- | bonita.server_url_form= | ||
- | bonita.application_name_form= | ||
- | |||
- | # I parametri ' | ||
- | # di Bonita Portal con stessa password per tutti gli utenti (richiede l' | ||
- | # N.B.: Settare come dominio il FQDN (Fully Qualified Domain Name) | ||
- | # | ||
- | # | ||
- | bonita.domain= | ||
- | bonita.sessionCookieName= | ||
- | |||
- | # se abilitato elimina i dati del workflow dal db di bonita durante la rimozione del workflow da xdocwayproc (' | ||
- | bonita.enableDeleteProcessDefinitionFromDbBonita=no | ||
- | |||
- | # Parametri specifici per il processo di aggiornamento degli utenti di DocWay (solo in caso di autenticazione su Tomcat) su Bonita BPM | ||
- | # abilitazione del JOB di sincronizzazione utenti da tomcat-users.xml (' | ||
- | abilitaBonitaTomcatUsersSync=no | ||
- | # Percorso assoluto al file tomcat-users.xml. Se impostato la procedura di sincronizzazione non viene avviata dopo ogni sleep ma solo se effettivamente il file | ||
- | # tomcat-users è stato modificato dopo l' | ||
- | # | ||
- | # Eventuale nome del gruppo al quale associare gli utenti su Bonita (se si specifica il nome di un gruppo occorre indicare anche il ruolo - bonitaSync.addUser.roleName) | ||
- | # CASE SENSITIVE | ||
- | bonitaSync.addUser.groupName= | ||
- | # Eventuale nome del ruolo al quale associare gli utenti su Bonita (se si specifica il nome di un ruolo occorre indicare anche il gruppo - bonitaSync.addUser.groupName) | ||
- | # CASE SENSITIVE | ||
- | bonitaSync.addUser.roleName= | ||
- | # Parametri necessari alla correzione della password su DB di Bonita (MD5.MD5.base64 -> MD5.base64). Occorre attivare questi parametri solo se la password | ||
- | # registrata su tomcat-users.xml è MD5. | ||
- | # Versione di Bonita utilizzata | ||
- | bonitaSync.BonitaVersion=7 | ||
- | # Parametri di connessione al database SQL | ||
- | # | ||
- | # | ||
- | # | ||
- | # | ||
- | # Query per il recupero e aggiornamento della password su DB | ||
- | bonitaSync.sqlSelectPassword=SELECT password FROM user_ WHERE username = ' | ||
- | bonitaSync.sqlUpdatePassword=UPDATE user_ SET password = ' | ||
- | |||
- | # Abilita l' | ||
- | # sia attivato: " | ||
- | # Viene registrata la stessa password per tutti gli utenti (property ' | ||
- | # stessa password e quindi non sara' possibile consentire l' | ||
- | # (' | ||
- | bonitaSync.upgradeOnLogin=no | ||
- | |||
- | # Password da registrare su DB di Bonita per tutti gli utenti in caso di sincronizzazione al login su DocWay (questo parametro non viene preso in considerazione | ||
- | # dal processo di sincronizzazione con Tomcat users). | ||
- | bonitaSync.password= | ||
- | |||
- | # URL all' | ||
- | # url la funzionalita' | ||
- | # Necessita l' | ||
- | bonitaViewUrl= | ||
- | |||
- | ############################################################################################################################################################# | ||
- | </ | ||
- | |||
- | ===== Disegno di flussi ===== | ||
- | |||
- | Per il disegno dei flussi si consiglia di: | ||
- | * Seguire le linee guida previste dal [[http:// | ||
- | * Non aggiungere connettori ai task umani. In questo modo si ha come vantaggio il fatto che tutti i task eseguiti da operatori non comporteranno tempi di attesa proporzionali all' | ||
- | * BPMN2 prevederebbe inoltre che esista uno ed un solo connettore per ogni task per evitare problemi di inconsistenza dei dati in caso di doppia esecuzione di un task a causa di un precedente errore su un connettore | ||
- | * Prevedere la gestione degli errori per tutti i task **non** umani (esecuzione di connettori o script groovy) in modo da evitare blocchi irreversibili sul flusso. | ||
- | |||
- | In allegato alla pagina è stato caricato un esempio di flusso disegnato (con relativo bar per l' | ||
- | * {{: | ||
- | * {{: | ||
- | |||
- | ==== Flussi implementati ==== | ||
- | |||
- | Tutti i flussi sviluppati per i clienti sono stati caricati su **GitLAB** all' | ||
- | ===== Connettori sviluppati ===== | ||
- | |||
- | Tutti i connettori (stabili e snapshot) sviluppati vengono caricati direttamente sull' | ||
- | [[ftp:// | ||
- | |||
- | Anche tutte le dipendenze JAR necessarie all' | ||
- | [[ftp:// | ||
- | |||
- | <WRAP center round info 80%> | ||
- | Occorre importare tutte le dipendenze JAR all' | ||
- | </ | ||
- | |||
- | Nella tabella seguente sono elencati tutti i connettori realizzati (con il link al relativo sito MAVEN per i dettagli delle versioni): | ||
- | |||
- | < | ||
- | ^ NOME ^ TIPO ^ DESCRIZIONE | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | | < | ||
- | | < | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | | < | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | </ | ||
- | |||
- | ==== Note sullo sviluppo di connettori ==== | ||
- | |||
- | Per lo sviluppo di connettori e filtri su attori sono stati creati 2 archetipi per facilitare le attività di sviluppo. | ||
- | |||
- | === Connettore === | ||
- | |||
- | <code xml> | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | </ | ||
- | </ | ||
- | |||
- | === Filtro Attori === | ||
- | |||
- | <code xml> | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | </ | ||
- | </ |
/data/attic/documentazione_3di_riservata/docway4/bonita7.1476192022.txt.gz · Ultima modifica: 2017/09/08 10:59 (modifica esterna)