Business Process Management e Content Management System nell’ Enterprise 2.0 A cura di: Giuseppe D’Aniello, matricola 0610700232 Vincenzo De Notaris, matricola 0610700199 Maria Lorusso, matricola 0610700302 Dionigi Marzucca, matricola 0610700201 Materiale realizzato nell’ambito del corso di Sistemi Informativi Aziendali, facoltà di Ingegneria Informatica, Università degli Studi di Salerno. Professor Matteo Gaeta.
Obiettivi / 2
Obiettivi Panoramica sull’Enterprise 2.0 Business Process Management : definizioni, metodologie e stato dell’arte Software: Intalio|BPMS: Funzionalità e architettura Sperimentazione: processo di invio e-mail. Considerazioni
Content Management System: definizioni e caratteristiche Software: Salesforce Content Funzionalità e architettura Sperimentazione: pubblicazione listino Considerazioni
Conclusioni
Enterprise 2.0/ 3
Enterprise 2.0 Impresa tradizionale
Impresa 2.0
Collaborazione emergente Appartenenza aperta
Global mobility
Enterprise 2.0 / 4
Enterprise 2.0 “Insieme di approcci tecnologici orientati all’abilitazione di nuovi modelli organizzativi basati sul coinvolgimento diffuso, la collaborazione emergente, la condivisione della conoscenza e lo sviluppo e valorizzazione di reti sociali interne ed esterne all’organizzazione.”
Enterprise 2.0
- Vantaggi/ 5
Vantaggi dell’enterprise 2.0 • • • • •
Riduzione del TCO (Total Cost of Ownership) Capitalizzazione della conoscenza Guadagno di efficienza Spinta competitiva Riconfigurabilità adattativa
Tali vantaggi comportano: • Abbattimento delle barriere gerarchiche, geografiche e dei centri di potere. • Meno e-mail da leggere. • Migliori possibilità di collaborazione e coordinamento. • Maggiore motivazione all’interno dei team.
SOA e BPM/ 6
SOA (Service Oriented Architecture) Stile architetturale per la progettazione del software tramite componenti Possibilità di utilizzare componenti esterne (ad esempio, secondo il paradigma SaaS) L’eccessiva frammentazione può essere dannosa in un sistema informativo aziendale La presenza di una miriade di componenti con un basso livello d’ integrazione non supportano più l’organizzazione nella sua globalità. E’ necessaria l’ orchestrazione delle componenti tramite Business Process Management (BPM)
BPM/ 7
BPM (Business Process Management) “Insieme delle attività necessarie per definire, eseguire, ottimizzare, monitorare e integrare i processi di business, al fine di creare un processo orientato a rendere efficiente ed efficace il business dell’azienda.”
Prevede la descrizione delle attività aziendali secondo i processi che le compongono, dalla quale si individuano i vari task da effettuare e la loro automazione nella gestione.
BPM - BPMN/ 8
BPMN(Business Process Modelling Notation) • Notazione grafica standard per i vari elementi costitutivi di un processo. • Comprensibile sia da manager che professionisti IT. • Intuitivo in quanto costituito da flow chart. • Fornisce maggiore comunicazione anche con aziende partner.
BPM – Life Cycle/ 9
Ciclo di vita del BPM Costituito da cinque fasi fondamentali • Progettazione • Modellazione • Esecuzione • Monitoraggio • Ottimizzazione
BPM vs BPR/ 10
BPM vs BPR BPM
BPR
BPM in Italia/ 11
BPM in Italia Vari studi condotti sulle PMI Italiane mostrano che: • 70% utilizza SOA - componentizzazione sistema informativo
• 14% utilizza BPM – come orchestrazione delle componenti Perché ?
BPM in Italia/ 12
Principali barriere all’introduzione BPM in Italia
BPMS / 13
BPMS Business Process Management Systems Applicativi software che permettono di definire, implementare, monitorare e ottimizzare un processo di business Vantaggi nell’utilizzo di un BPMS: Rende evidenti quali sono le modifiche e le estensioni da apportare al sistema informativo Estrema flessibilità del sistema informativo (Riconfigurabilità adattativa) Sviluppare software attraverso il nuovo paradigma SaaS Utilizzare, per l’implementazione, i web service.
BPMS - Web Service / 14
Web service E’ un componente software sviluppato secondo l’architettura SOA. WSDL – Web Service Description Language • Interfaccia pubblica web service: Cosa – Come – Dove SOAP – Simple Object Access Protocol • Protocollo scambio messaggi tra componenti software UDDI – Universal Description Discovery and Integration – • Registry che permette alle aziende di pubblicare i propri dati e servizi
SKEMMA / 15
SKEMMA Skemma è un software BPMS con cui è possibile definire, eseguire, monitorare e migliorare i processi di business Software distribuito SaaS 100% web based.
Features
Intalio|BPMS / 16
Intalio|Bpms Intalio|Bpms è una suite di prodotti open source che supporta tutte le attività del BPM, dalla definizione del processo al suo monitoraggio E’ composto da due software principali: Intalio|Designer: E’ un IDE Eclipse-based che permette di definire il processo in notazione BPMN Intalio|Server: E’ costituito dal BPM engine per l’esecuzione dei processi e da una serie di tool utili all’amministratore per la gestione degli stessi.
Intalio|BPMS - Designer / 17
Intalio|Designer Caratteristiche: Editor grafico per la progettazione del BPD in notazione BPMN semplice e intuitivo Conforme allo standard BPMN 2.0 Zero Code: non è necessario scrivere alcuna riga di codice Compelto supporto per l’utilizzo di Web Services Definizione delle form per l’utente molto semplice grazie al WorkFlow Form Editor integrato Deployment in un solo click
Intalio|BPMS - Server/ 18
Intalio|Server Caratteristiche: Basato su tecnologia J2EE BPMS engine in grado di eseguire codice BPEL 2.0 Progettato secondo lo stile SOA, è in grado di interagire con web services esterni I processi posono fornire servizi all’esterno come web services registrando la loro interfaccia WSDL su un registro UDDI Numerosi tool web based per l’amministratore, come la console dei processi e la gestione dei web service
Intalio|BPMS - Requisiti / 19
Intalio|BPMS Requisiti di sistema Intalio|Designer Sistema operativo: Windows, Mac OS X, Linux Java 1.5 SDK o 1.6 SDK 200 MB di spazio libero su disco 512 MB di RAM (su Windows) Non richiede Eclipse già installato Requisiti di sistema Intalio|Server Sistema operativo: Windows:2000, XP,2003 Server;Mac OS X, Linux Java 1.5 SDK (non compatibile con Java 1.6 SDK) 200 MB di spazio libero su disco (minimo) 512 MB di RAM (minimo)
Intalio|BPMS - Sperimentazione / 20
Sperimentazione Intalio|BPMS Obiettivo della sperimentazione: Mostrare le funzionalità offerte da Intalio|BPMS attraverso la modellazione, la pubblicazione e la gestione di un processo. Scenario: Si vuole definire il processo di invio e-mail da parte di un utente. Deve essere notificato l’esito positivo o il fallimento dell’operazione di inoltro.
Intalio|Designer - Sperimentazione / 21
Creazione del progetto
Intalio|Designer - Sperimentazione / 22
Diagramma BPD Definizione del processo di invio email. • Inseriamo un pool, ovvero un partecipante al processo, che si occuperà dell’invio dell’email. Il suo primo task è ricevere i dati dall’utente.
Intalio|Designer - Sperimentazione / 23
Diagramma BPD Definizione del processo di invio email. • Dopo aver ricevuti i dati, verrà invocato il servizio per l’invio mail e alla fine sarà inviata una notifica all’utente. Non c’è nessuno scambio di dati fra i task
Intalio|Designer - Sperimentazione / 24
Creazione Form • Una volta descritto il processo di invio mail, dobbiamo fare in modo che l’utente possa interagire con esso.
Intalio|Designer - Sperimentazione / 25
Creazione Form • Creiamo due form, una per l’inserimento dei dati da parte dell’utente, l’altra per ricevere la notifica.
Intalio|Designer - Sperimentazione / 26
Creazione Form • Il WorkFlow Form Editor crea automaticamente per ogni form un file XML Schema che contiene la descrizione della form. • In particolare, contiene la descrizione dei dati che la form riceve in input e che fornisce in output. • A runtime viene utilizzato per validare i dati inseriti dall’utente • A design time è utile perché permette al sistema di generare automaticamente i messaggi che i task si possono scambiare, come sarà chiarito meglio in seguito.
Intalio|Designer - Sperimentazione / 27
Diagramma BPD • Le form appena create saranno usate dall’utente per interagire con il processo. • Per modellare tale aspetto nel diagramma, inseriamo un nuovo pool che rappresenta l’utente. • Poiché tale processo rappresenta l’interazione di un agente esterno con il processo vero e proprio, non dovrà essere eseguito dal motore BPMS, ed è perciò settato come non eseguibile
Intalio|Designer - Sperimentazione / 28
Diagramma BPD • Il primo task dell’utente è l’inserimento dei dati e l’invio mail. • Tale task deve essere completato riempiendo la form. • Per fare ciò, basta trascinare la form sul pool e settarla come People Initiating Process Activity.
Intalio|Designer - Sperimentazione / 29
Diagramma BPD • Il secondo task dell’utente sarà quello di ricevere la notifica inviata dal processo • Anche in questo caso è sufficiente trascinare la form sul pool, settandola pero come “Notification”
Intalio|Designer - Sperimentazione / 30
Diagramma BPD • I task dell’utente e quelli del processo comunicano fra loro scambiandosi messaggi. I dati che i task si scambiano vengono automaticamente presi dal file XML Schema generato per ogni form
Intalio|Designer - Sperimentazione / 31
Diagramma BPD • L’invio della mail viene realizzato utilizzando un web service. • Si importa il file WSDL del web service e lo si inserisce in un nuovo pool.
Intalio|Designer - Sperimentazione / 32
Diagramma BPD • Il web service viene chiamato dal task “Invoca Servizio” • Il processo è ora completamente modellato
Intalio|Designer - Sperimentazione / 33
Data Mapping • Bisogna ora fornire al web service i dati in input e indicare a chi deve consegnare i dati in output. • E’ possibile fare ciò utilizzando il Data Mapper
Intalio|Designer - Sperimentazione / 34
Deployment Durante il processo di deployment, il BPMS traduce la parte eseguibile di BPD in codice BPEL. Il WorkFlow Form Editor crea le form dai file .xform e .xsd in pagine web html. Impostare l’URL del server in cui pubblicaer il processo e del Workflow Configuration
Intalio|Server - Sperimentazione / 35
Intalio|Server BPMS Console La console mostra i processi pubblicati sul server con le informazioni principali.
Intalio|Server - Sperimentazione / 36
Intalio|Server Process Details Mostra il BPD, segnalando quale task del processo è in esecuzione. Dà la possibilità di testare il processo
Intalio|Server - Sperimentazione / 37
Intalio|Server Testing del processo
• Invio e-mail:
• Ricezione notifica
Intalio|BPMS – Considerazioni / 38
Considerazioni su Intalio|BPMS
Non e’ possibile modificare il processo a runtime.
Manca un repository contenente i template dei processi più comuni.
Possibilità di gestire utenti e ruoli, ma nessun tool per la collaborazione degli utenti di uno stesso processo.
Al contrario di soluzioni BPMS on demand, richiede l’installazione di un server .
Content Management System / 39
Content Management System (CMS) Content Management System è un software web oriented installabile su un server (Apache, IIS, ecc.) che consente di creare, modificare e pubblicare contenuti (documenti, file, video, ecc.).
Problematiche: L’astrazione dalla programmazione La gestione di documenti, file, video, ecc. La gestione dell’utenza
Content Management System / 40
Caratteristiche E’ un applicazione lato server divisa in: Sezione amministrativa dedicata all’organizzazione e la supervisione dei contenuti. Sezione applicativa che consente all’utente la fruizione dei servizi offerti.
Funzionalità tipiche sono: la gestione di account protetti tramite password; la creazione di gruppi di utenza con permessi specifici (amministratore, moderatore, utente standard); l’utilizzo di contenuti con regole di visibilità determinabili; l’espansione delle funzionalità base tramite l’integrazione di moduli esterni.
Salesforce Content / 41
Salesforce Content (Koral) Koral è un Content Management System che dall’aprile del 2007 è entrato a far parte della suite di prodotti di Salesforce ed ha cambiato nome in Salesforce Content. Salesforce Content consente alla comunità commerciale all’interno di un determinato contesto aziendale di gestire l’informazione attraverso i molteplici servizi di cui dispone. E’ distribuito come soluzione SaaS
Salesforce Content / 42
Salesforce Content (Koral)
Salesforce Content / 43
AppExchange E’ un servizio di condivisione di applicazioni attraverso il quale è possibile espandere le funzionalità di Salesforce, e quindi anche di Salesforce Content. Contiene centinaia di applicazioni, sviluppate anche da terzi.
Salesforce Content – Caso di studio / 44
Scenario Pubblicazione di un listino con Salesfoce Content Specifiche: Redazione del listino da parte dei manager dell’area marketing. Tracciamento delle eventuali modifiche al listino in fase di redazione. Disclocazione geografica dei rappresentanti. Necessità di fruire del listino in ogni luogo e momento. I rappresentanti visualizzano il listino solo una volta completato. Pubblicazione del listino per i rappresentanti.
Salesforce Content – Caso di studio / 45
Obiettivo: Mettere in evidenza le funzionalità offerte da Salesforce Content per la mera gestione e pubblicazione dei documenti. Si trascura pertanto il processo attraverso il quale viene effettuata la realizzazione del prodotto desiderato.
Outline: Aggiungere nel sistema gli utenti d’interesse. Definire i gruppi di utenza relativi ad area marketing e rappresentanza. Creare aree di lavoro (Workspace) dedicati ai gruppi di utenza definiti, impostandone i permessi specificati nella descrizione dello scenario. Consentire, a chi autorizzato, la pubblicazione di documenti. Consentire, a chi autorizzato, la modificare dei documenti. Tenere traccia delle modifiche tramite un servizio di versioning.
Salesforce Content – Caso di studio / 46
• Inserimento degli utenti: Creazione di un nuovo profilo
Salesforce Content – Caso di studio / 47
• Inserimento degli utenti Creazione di un nuovo profilo
Salesforce Content – Caso di studio / 48
• Inserimento degli utenti Compilazione maschera e salvataggio nuovo profilo
Salesforce Content – Caso di studio /
• Inserimento degli utenti Risultato dell’operazione, visualizzazione degli utenti del sistema
49
Salesforce Content – Caso di studio / 50
• Definizione dei gruppi: Creazione di un gruppo di utenza
Salesforce Content – Caso di studio / 51
• Definizione dei gruppi Aggiunta dei partecipanti per ruolo
Salesforce Content – Caso di studio / 52
• Definizione di un area di lavoro dedicata Nome e descrizione del nuovo Workspace
Salesforce Content – Caso di studio / 53
• Definizione di un area di lavoro dedicata Impostazione dei permessi di accesso per gruppi
Salesforce Content – Caso di studio / 54
• Definizione di un area di lavoro dedicata Impostazione dei permessi di pubblicazione per gruppi
Salesforce Content – Caso di studio / 55
• Definizione di un area di lavoro dedicata Visualizzazione del Workspace creato
Salesforce Content – Caso di studio / 56
• Gestione dei contenuti Inserimento di un documento all’interno di un Workspace
Salesforce Content – Caso di studio / 57
• Gestione dei contenuti Nome, descrizione, tag, scelta del Workspace di destinazione
Salesforce Content – Caso di studio / 58
• Gestione dei contenuti Visualizzazione dei documenti all’interno del Workspace
Salesforce Content – Caso di studio / 59
• Gestione dei contenuti Modifica di un documento
60
• Gestione dei contenuti Motivazione della modifica effettuata su un documento
Salesforce Content – Caso di studio / 61
• Gestione dei contenuti Version history di un documento
Salesforce Content – Caso di studio / 62
• Gestione dei contenuti Navigazione tra Workspace con permessi differenziati
Salesforce Content – Caso di studio / 63
• Gestione dei contenuti Navigazione tra Workspace con permessi differenziati
Salesforce Content – Considerazioni / 64
Considerazioni su Salesforce Content Assenza di onere di manutenzione Costo contenuto Semplicità d’uso Espandibilità
Conclusioni / 65
Conclusioni Alla luce di quanto esposto, riteniamo che sarebbe molto utile un integrazione nativa all’interno dei BPMS di software di collaborazione e condivisione della conoscenza come i CMS. Nessun prodotto software tra quelli da noi provati ha tale caratteristica, a nostro parere molto importante vista la sempre maggiore diffusione di attività dislocate geograficamente, con persone che lavorano nello stesso processo ma in luoghi differenti, con la necessità di collaborare in maniera efficiente e rapida.