Segui

La funzione B.O.E.N. (Business Object Events Notification)

Sommario

Nel presente articolo è descritta la tecnologia Business Object Events Notification e come può essere utilizzata. 

Che cos'è la funzione B.O.E.N. (Business Object Events Notification)?

La funzione B.O.E.N. è la tecnologia che consente a Perfetto4 di interagire via Web Service con i metodi web di un'applicazione esterna e di inviare delle notifiche a fronte di operazioni fatte dagli utenti.

La comunicazione tra Perfetto4 e un'applicazione esterna e la gestione delle notifiche si fondano sulla presenza di uno o più file xml di sottoscrizione all'interno del prodotto. Il file di sottoscrizione può contenere le informazioni relative ai metodi web dell'applicazione esterna e la descrizione delle operazioni di notifica.

Le chiamate all'applicazione esterna e il lancio di notifiche avvengono quando l'utente compie delle azioni sui documenti che hanno associato almeno un file di sottoscrizione. Tali eventi sono l'inserimento, la modifica e la cancellazione di un documento.

Il processo di comunicazione tra Perfetto4 e un'applicazione esterna segue i seguenti passi:

  1. l'utente inserisce o modifica o cancella un documento;
  2. Perfetto4 controlla se esiste un file di sottoscrizione per il documento;
  3. l'applicazione chiama il metodo web scritto nel file di sottoscrizione, passando i dati del documento in formato xml;
  4. Perfetto4 attende la risposta del servizio web;
  5. l'applicazione mostra i messaggi ritornati dal metodo web;

PerfettoAppEst.jpg

Il processo di notifica è strutturato nel modo seguente:

  1. l'utente inserisce o modifica o cancella un documento;
  2. Perfetto4 controlla se esiste un file di sottoscrizione per il documento;
  3. l'applicazione controlla se nel file di sottoscrizione è presente un'azione di notifica, blocco o messaggio di avvertimento;
  4. Perfetto4 mostra il messaggio nel file di sottoscrizione.


File di sottoscrizione

Il file di sottoscrizione è un file xml che contiene le informazioni relative all'interazione tra Perfetto4 e un'applicazione esterna e alle azioni di notifica dell'applicazione.

I file di sottoscrizione devono essere memorizzati nella cartella contenete i file personalizzati:
<cartella installazione>/<nome prodotto>/Custom/ Companies/
<nome azienda>/ActionSubscriptionsInvece della cartella <nome azienda> è possibile usare la cartella AllCompanies, in questo caso la sottoscrizione è valida per tutte le aziende.

La struttura del file di sottoscrizione è la seguente:

<Subscriptions>  
          <Subscription namespace="" 
                        operation="" 
                        profile="" 
                        action=""
                        when=""
                        webServer=""
                        port=""
                        webService=""
                        webNS=""
                        method=""
                        message="" />
   </Subscriptions>  

 

ElementoAttributoSignificatoObbligatorio
Subscriptions dichiara le sottoscrizionisi
Subscription dichiara la singola sottoscrizionesi
 namespacenamespace del documentosi
 operation

valore dell'operazione da eseguire:

  • WM = sarà chiamato il metodo web specificato
  • DENY = quando l'utente tenta di eseguire l'azione sottoscritta sul documento specificato sarà visualizzato un messaggio e l'operazione dell'utente sarà arrestata
  • WARNING= quando l'utente tenta di eseguire l'azione sottoscritta sul documento specificato sarà solo visualizzato un messaggio 
 si
 profilenome profilo di esportazione utilizzato per il passaggio dati del documento solo per WM
 action

valore dell'azione da intercettare:

  • 1 = Inserimento
  • 2 = Modifica
  • 3 = Cancellazione
 si
 when

valore che indica quando deve agire il trigger prima o dopo la transazione:

  • BEFORE
  • AFTER
 solo per WM
 webServerhost del server del web servicesolo per WM
  portporta usata per comunicare con il web serviceopzionale (default=80)
  webServicenome del web service da chiamaresolo per WM
  webNSnamespace del web service da chiamaresolo per WM
  methodmetodo del web service che deve esssere chiamato dal triggersolo per WM
  messageil messaggio da visualizzare tenta di eseguire l'azione sottoscritta sul documento specificato per le operazioni DENY e WARNINGsolo per notifica

Di seguito un esempio di file di sottoscrizione:

<Subscriptions>  
          <Subscription namespace="Perfetto.WorkingReports.Documents.JobWorkingReports" 
                        operation="WM" 
                        profile="Default" 
                        action="1"
                        when="AFTER"
                        webServer="http://localhost/"
                        port="80"
                        webService="WebServiceSample/WorkingReportManager.asmx"
                        webNS="http://tempuri.org/"
                        method="InsertWorkingReport" 
            />
           <Subscription namespace="Perfetto.WorkingReports.Documents.JobWorkingReports" 
                         operation="WARNING" 
                         action="3
                         message="WARNING! This document is managed by the Test Web Application."
           />
 </Subscriptions>  

 

Struttura metodo web

Il metodo web dell'applicazione esterna deve avere una precisa interfaccia per poter essere chiamata da Perfetto4.

La struttura del metodo deve essere la seguente:

bool <nome metodo>(
			string callerNS, 
			int action, 
			string when,
                        string [] dataExport,
                        ref string [] returnMessages
		)

Parametri input

NomeDescrizione
callerNSnamespace del documento chiamante
action

valore dell'azione:

  • 1 = Inserimento
  • 2 = Modifica
  • 3 = Cancellazione
when

valore che indica quando deve essere richiamato il metodo:

  • BEFORE
  • AFTER
dataExport

Dati in formato xml dei documenti esportati in base al profilo di esportazione dichiarato nel file di sottoscrizione. 
L'esportazione del documento avviene prima o dopo la transazione:

  • Inserimento   = secondo il parametro when
  • Modifica         = secondo il parametro when
  • Cancellazione = sempre prima 

Parametri output

NomeDescrizione
returnMessagesvalore usato per ritornare un messaggio a Perfetto4


Valore di ritorno
Valore booleano usato per informare Perfetto se deve effettuare il rollback dell'operazione.

 

Altre domande? Invia una richiesta

Commenti

Powered by Zendesk