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 Perfetto 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 Perfetto 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 Perfetto e un'applicazione esterna segue i seguenti passi:

  1. l'utente inserisce o modifica o cancella un documento
  2. Perfetto 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. Perfetto 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. Perfetto 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. Perfetto 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 Perfetto 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>  

 

Elemento Attributo Significato Obbligatorio
Subscriptions   dichiara le sottoscrizioni si
Subscription   dichiara la singola sottoscrizione si
  namespace namespace del documento si
  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
  profile nome 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
  webServer host del server del web service solo per WM
   port porta usata per comunicare con il web service opzionale (default=80)
   webService nome del web service da chiamare solo per WM
   webNS namespace del web service da chiamare solo per WM
   method metodo del web service che deve esssere chiamato dal trigger solo per WM
   message il messaggio da visualizzare tenta di eseguire l'azione sottoscritta sul documento specificato per le operazioni DENY e WARNING solo per notifica

Di seguito un esempio di file di sottoscrizione:

<Subscriptions>  
          <Subscription namespace="Document.ImpiantiNet.Rapportini.INRapportini.Rapportino" 
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="Document.ImpiantiNet.Rapportini.INRapportini.Rapportino"
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 Perfetto.

La struttura del metodo deve essere la seguente:

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

Parametri input

Nome Descrizione
callerNS namespace 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

Nome Descrizione
returnMessages valore usato per ritornare un messaggio a Perfetto


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