Modello attività



Scaricare 0.74 Mb.
01.06.2018
Dimensione del file0.74 Mb.



B.P.S. – Business Process Server


ALLEGATO C10


Regione Basilicata

Ufficio S. I. R. S.

BPS (Business Process Server): specifiche tecniche

CONTROLLO DEL DOCUMENTO


Approvazioni




Data

Autore




Redatto da:

27/05/2012

Dott. Maurizio Argoneto

Approvato da:




Dott. Nicola Petrizzi

Variazioni

Versione prec.

Data

Autore

Paragrafi modificati













Distribuzione




Copia n°

Destinatario

Locazione



















Dott. Nicola Petrizzi

Regione Basilicata

Indice

Introduzione 5

Business Process Server 6




Introduzione


La Regione Basilicata dispone di un Business Process Server (BPS), utilizzato già con successo per le integrazioni tra i sistemi che gestiscono i dati del personale dipendente e l’Attribute Authority Regionale. IL BPS è un server che esegue flussi scritti in linguaggio BPEL. BPEL costituisce infatti il linguaggio standard per la Process Orchestration e rappresenta sicuramente uno dei componenti fondamentali per realizzare delle Service Oriented Architecture: esso, infatti, permette l’integrazione e la cooperazione di diverse componenti, generando così dei servizi web dal valore aggiunto che mantengono le caratteristiche di modularità e scalabilità.


Definizioni ed Acronimi


Lista e descrizione delle definizioni e degli acronimi.

Acronimo

Significato







BPEL

Business Process Execution Language

BPS

Business Process Server

ESB

Enterprise Service Bus


Riferimenti


I riferimenti del progetto OpenSource sul quale si basa la soluzione di Regione Basilicata: http://wso2.com/products/enterprise-service-bus

Business Process Server


Lo scopo del BPS è quello di definire un insieme di workflow operativi, generati da attività atomiche e sapientemente invocati da un unico gestore logico esterno. L’approccio è quello per cui il controllo del workflow viene mantenuto da un solo gestore logico, che interagisce, anche per processi di lunga durata, con altri servizi, interni od esterni. In questo particolare contesto la definizione di un workflow si traduce nella definizione del flusso di lavoro che effettua operazioni passando da un task all’altro, gestendo stati e risultati; d’altro canto, la definizione di un processo orchestrato significa introdurre un elemento centrale nel processo, che possiede il controllo del flusso che circola tra i servizi, che quindi possono essere assimilati ai task dello stesso workflow. BPEL costituisce il linguaggio standard per la Process Orchestration e rappresenta sicuramente uno dei componenti fondamentali per realizzare delle Service Oriented Architecture: esso, infatti, permette l’integrazione e la cooperazione di diverse componenti, generando così dei servizi web dal valore aggiunto che mantengono le caratteristiche di modularità e scalabilità. Nel panorama attuale, aumenta sempre di più la propensione a sviluppare degli applicativi che rispettano le direttive della Service Oriented Architecture: l’affermarsi dei Web Service, infatti, rende più agevole e funzionale lo sviluppo di processi di business, in cui ogni servizio esposto corrisponde a un’attività che può essere messa a disposizione per essere invocata da agenti esterni. In questo modo, è possibile gestire dei workflow operativi, generati da attività atomiche e sapientemente invocati da un unico gestore logico esterno. Si è resa quindi evidente la necessità di mettere a disposizione uno strumento standardizzato che avesse la possibilità di interagire con diversi servizi web, esposti da diversi fornitori, componendoli al fine di creare nuovi servizi dal valore aggiunto. 
Il coordinamento dei vari servizi può essere realizzato principalmente in due modi:

Orchestrazione

Presuppone che il controllo del workflow venga mantenuto da un solo gestore logico, che interagisce, anche per processi di lunga durata, con altri servizi, interni od esterni.



Coreografia

C
onsiste in un approccio più "collaborativo", ossia ogni partecipante esegue il suo lavoro, e il sistema di coreografia si occupa esclusivamente di tenere traccia delle interazioni avvenute.



Queste due tipologie di architetture garantiscono un accoppiamento debole tra chi richiede e chi eroga il servizio; inoltre in ambedue le tipologie si evidenzia l’impossibilità di tracciare lo stato del servizio: si parla quindi di processi stateless. 
Per chiarire meglio il concetto di orchestrazione può essere effettuato un paragone con il concetto di workflow. La definizione di un workflow, infatti, si traduce nella definizione del flusso di lavoro che effettua operazioni passando da un task all’altro, gestendo stati e risultati; d’altro canto, la definizione di un processo orchestrato significa introdurre un elemento centrale nel processo, che possiede il controllo del flusso che circola tra i servizi, che quindi possono essere assimilati ai task dello stesso workflow. Il linguaggio BPEL è stato riconosciuto come standard per l’orchestrazione di servizi web, quindi per la definizione dei processi di business: esso, infatti, mette a disposizione diverse funzioni per l’elaborazione dei dati ricevuti dai web service partner del processo, e, tramite funzioni X-Path, esegue operazioni anche complesse su di essi. 
In figura 2 viene riportato uno schema generale di processo BPEL.

L’interesse destato dal business process è dovuto alla necessità da parte delle organizzazioni di riutilizzare lavori precedentemente redatti, ridurre i tempi morti, aumentare le capacità di notifica e provvedere alla standardizzazione delle procedure. Rispetto ai tradizionali linguaggi di programmazione i sistemi di workflow mettono a disposizione degli strumenti con un maggior livello di astrazione così che la gestione dei dati e la gestione dei processi possono essere considerati due moduli separati che aumentano la flessibilità nello sviluppo di applicazioni. Infatti i cambiamenti, quale l’introduzione di nuove attività di un processo, non richiedono la riscrittura integrale delle applicazioni, le quali possono essere modificate velocemente. Da tutto questo si può dedurre che un sistema di workflow è una piattaforma di servizi che consente di descrivere, gestire ed eseguire un processo in termini di attività, relazioni tra attività e ruoli, di coordinare l’interazione tra le attività e i dati del processo con gli strumenti e le altre applicazioni operanti su diverse piattaforme software e hardware, riutilizzare lavori precedenti, integrare sistemi di BackOffice e ridurre i tempi morti aumentando invece la diffusione dei messeggi e delle informazioni. La maggior parte dei workflow progettati si basano su due tipi di architetture: una prevede un’interfaccia tra i task tramite messaggi , l’altra l’introduzione di un gestore che tenga traccia delle evoluzioni di ogni istanza del processo, aumentando in tal modo il livello di flessibilità nello sviluppo delle applicazioni. Il workflow basato su BPEL si pone l’obiettivo di automatizzare e monitorare l’elaborazione di pratiche complesse scatenate dall’invocazione e/o la ricezione di messaggi dal dominio di cooperazione applicativa che si basano sul modello di porta di dominio. Negli ultimi anni la gestione dei processi ha costituito uno dei argomenti più interessanti su cui si concentrano gli sforzi di molte aziende ed organismi di standardizzazione. Riuscire a definire uno standard con cui descrivere un processo aziendale costituisce un enorme passo avanti in termini di flessibilità e ritorno degli investimenti. Infatti se da un lato i web services sono visti come un elemento chiave per integrare i sistemi Legacy, dall’altro e’ necessario disporre di strumenti e standard che permettano di descrivere il processo per poter intervenire in modo più semplice e flessibile alle richieste di cambiamento. Lo standard OASIS definisce l’orchestrazione di processo in termini di interazioni tra servizi web.

Con il termine Orchestrazione si fa riferimento all’esecuzione di un processo che può interagire con Web Services interni o esterni. L’orchestrazione definisce le interazioni dei Web Services a livello di messaggi, la logica di processo e l’ordine delle interazioni. Queste interazioni possono coinvolgere molte applicazioni e/o organizzazioni definendo un processo transazionale. L’orchestrazione è sempre controllata da una sola organizzazione.



La Regione Basilicata ha scelto di puntare sulla tecnologia BPEL per realizzare l’orchestrazione di processo.
Ciascun processo, definito attraverso una interfaccia grafica semplice ed intuitiva può essere posto in esecuzione nel rispetto dei vincoli e dei ruoli definiti, avendo la garanzia di una sua completa tracciabilità. Il Workflow è elemento fondamentale per l’interazione e la cooperazione applicativa e specialmente per le pratiche che richiedono una notifica o una propagazione dei messaggi in più contesti applicativi. Il servizio di workflow BPEL si interfaccerà alle porte di dominio (nelle varie configurazioni), alla posta certificata ed al servizio di protocollo. Ricorrere ad uno standard di integrazione J2EE-like e ad un mercato di Componenti standard preconfezionati, pluggabili nell'infrastruttura di integrazione consente la riduzione dei tempi e dei costi di sviluppo dell'integrazione indirizzando soluzioni standard, scalabili e portabili.

Attualmente abbiamo una situazione nella quale un insieme di flussi BPEL sono esposti sull’ESB e sono invocati tramite opportune chiamate d'interazione a seguito di eventi “scatenanti” azioni complesse. Questo approccio consente di avere una separazione degli strati funzionali/logici tra la rappresentazione utente delle funzioni di business e la logica interna di ogni singolo SISTEMI INFORMATIVI, adottando pertanto un approccio SOA like.



https://bps.regione.basilicata.it/carbon

(indirizzo e servizio visibile solo all’interno della rete Intranet regionale)



Le modalità di fruizione e di accesso a tali sistemi sono regolamentate caso per caso direttamente dall’Ufficio SIRS.

Ambiente di produzione e logica di progettazione


Sul BPS sono stati già caricati molti flussi che lavorano principalmente per l’integrazione dei sistemi e dei dati relativi ai dipendenti regionali. Ogni flusso BPEL integra solo ed esclusivamente servizi di base (WS) che sono esposti dall’ESB e la stessa interfaccia del flusso BPEL è esposta sull’ESB come WS. I flussi BPEL sono eseguiti da un apposito BPS il quale espone gli stessi con interfaccia WS che a sua volta è “proxato” sotto l’ESB. L’ESB nell’architettura di cooperazione applicativa contiene quindi tutti i servizi web che sono necessari e indispensabili all’adempimento dei requisiti funzionali definiti.




Figura 1 – Login



Figura 2 - Pagina inziale di amministrazione



Figura 3 - Lista flussi BPEL







Condividi con i tuoi amici:


©astratto.info 2019
invia messaggio

    Pagina principale