Open Source all-in-one management software
Corso di Sistemi Informativi
Prof. Vincenzo Moscato
Alessandro Recano
AA 2017-2018
I sistemi ERP (Enterprise Resource Planning) sono sistemi software che permettono di governare informaticamente i processi di business di un'impresa. Essi realizzano 3 concetti fondamentali del sistema informativo aziendale:
Paradigma ERP
Sistemi ERP
Esempio - prescrittività
Sistemi ERP
Sistemi ERP
Caratteristiche
Sistemi ERP
Caratteristiche
Un modulo di un ERP può essere:
Gartner's Magic Quadrant
Sistemi ERP
ODOO è un sistema ERP open source, distribuito in due versioni:
ODOO nasce nel 2005 con il nome TinyERP. Diventa poi OpenERP e dal 2014 ODOO.
Il progetto è attualmente alla versione 11 ed è caricato e documentato interamente su GitHub, dal quale è pubblicata anche la documentazione ufficiale sul sito web.
Nel 2013 nasce la OCA (ODOO community association) , comunità che promuove lo sviluppo e l'utilizzo del prodotto in tutto il mondo.
In Italia, nel 2011, si è formata la Associazione ODOO Italia, con lo scopo di promuovere iniziative e creare un canale di riferimento per gli sviluppatori e gli utenti italiani.
Ad oggi ODOO vanta più di 2 milioni di utenti e più di 7.000 apps.
Un caso d'uso interessante è quello di Toyota (link), che ha eseguito il mapping di alcuni dei propri processi di business nella suite ODOO. In particolare, l'impresa ha reingegnerizzato i processi di:
Punti di forza
L'architettura di ODOO è di tipo 3-tier:
Architettura
Architettura
Presentation tier
Application tier
Data tier
Data Tier
I dati elaborati da ODOO sono ospitati in PostgreSQL: un DBMS open source ad oggetti (ORDBMS) concorrente dei famosi MySql, Oracle, ecc.
PostgreSQL utilizza il linguaggio SQL per la manipolazione dei dati.
Punto di forza: programmabilità
La logica applicativa di ODOO è realizzata attraverso un application server ed che ospita i moduli installabili nella suite.
Tale livello è composto da:
Application Tier
Applicazione Javascript eseguita nel browser dell'utente
Presentation Tier
Tale livello è realizzato sfruttando il pattern architetturale MVC (model-view-controller). Esso consente di separare la logica di business dalla logica di presentazione (attraverso l'utilizzo di viste ed interfacce).
In ODOO queste tre entità sono rappresentate da:
Presentation Tier
Nel modello MVC realizzato in ODOO:
Il modello non deve conoscere il funzionamento della vista ma al contrario, la vista deve aver accesso completo al modello per la lettura dei dati.
Presentation Tier
ODOO è progettato per interfacciarsi all'utente attraverso un webserver.
Un generico client può comunicare con esso in due diversi modi (oltre che con i suoi moduli):
Sono inoltre disponibili delle API per utilizzare i webservices messi a disposizione dal software (link)
API-Communication
1. Dove trovarlo
ODOO è distribuito come:
2. Costi
2. Costi
2. Costi
3. Installazione e configurazione iniziale
Alla pagina di download, basta compilare il form per il download della versione desiderata, scegliendo la piattaforma di destinazione.
Ai fini dell'esempio è stato scelto di installare il software in ambiente Windows
3. Installazione e configurazione iniziale
4. Primo avvio
Al primo avvio il software ci chiede di creare un nuovo database, configurando l'utenza master dello stesso
ODOO Server viene installato come servizio. Il file di configurazione, nel caso di installazione Win, risiede nella directory :
%PROGRAMFILES%\Odoo 9.0-id\server\odoo.conf
Se necessario modificare il file di configurazione, bisogna poi riavviare il servizio nell'utility services.msc
4. Primo avvio
Esempio: installazione dell'app Inventory Management
Per installare un'app tra quelle disponibili (per caricare un'app di terze parti bisogna caricare il pacchetto sul server) basta scegliere quella di interesse ed eseguire l'installazione. Sarà il sistema ad occuparsi di eventuali dipendenze da installare per il pacchetto scelto.
Il modulo Inventory & Warehouse Management consente di gestire i prodotti venduti ed acquistati dall'azienda, pianificare ed eseguire un inventario del magazzino e definire regole di ordino
(per prevenire stock out)
Esempio: installazione dell'app Inventory Management
Esempio: Creazione di un prodotto e approvvigionamento iniziale
Esempio: Creazione di un prodotto e approvvigionamento iniziale