PHASIS
Gestionale Open Source
LinuxWorld Conference & Expo, 24 Maggio 2005 - Crowne Plaza Milan Linate
LINUX per le PMI
“Come l'open source può fornire gli strumenti tecnologici alle
PMI senza aumentare complessità e riducendo costi”
Un software gestionale per le reali esigenze delle PMI sviluppato
dalla comunità Phasis
Massimo Gerardi, Fondatore, PHASIS.IT
1.
PHASIS
✔ Phasis è un gestionale Open Source indirizzato alla piccola e media
impresa Italiana rilasciato secondo la licenza GNU GPL
caratteristica di molti software Open Source tra cui Linux.
✔ Particolare attenzione e cura è stata inoltre posta per seguire le
necessità e le abitudini dell'utente ed evitare di essere un prodotto
complesso.
2.
PHASIS: cos’è
Phasis è:
✔ Phasis non è il primo software rilasciato sotto GPL ma è forse il primo
ad abbracciare pienamente la filosofia e i metodi dell'Open Source.
✔ Phasis è una applicazione che adotta una tradizionale interfaccia
grafica (GUI), disponibile sia per Windows che per Linux e sono in
corso test anche per MacOSX.
✔ L'installazione in ambiente Windows e Linux è stata resa
particolarmente semplice, un solo file di circa 6 Mb che comprende
tutto il necessario per l'esecuzione del programma.
✔ L'approccio allo sviluppo vuole essere minimalista e pragmatico,
finalizzato a realizzare un prodotto agile, ben testato, perfettamente
funzionante e dotato di funzionalità che servano a molti.
3.
PHASIS: nel dettaglio
Phasis utilizza solo componenti Open Source:
✔ Il linguaggio di programmazione è Python
✔ L'interfaccia grafica (GUI) utilizzata wxPython
✔ Database utilizzato SQLite (predisposto per tutti)
✔ Reportistica in formato PDF
✔ Le piattaforme testate sono: Linux e Window
✔ Base dati in architettura client/server
✔ Licenza GNU GPL versione 2.
4.
PHASIS: come nasce
Nel maggio del 2002, dopo anni di esperienza nel campo della gestione
aziendale, ho dato vita al progetto Phasis.it. Il nome Phasis deriva dalla
leggendaria destinazione di Giasone e gli Argonauti nella loro ricerca del
"Vello d’Oro".
Il desiderio era di creare un gestionale facile da utilizzare e
personalizzabile con lo scopo principale di ragiungere piccole realtà
aziendali, offrendo loro uno strumento flessibile, senza costringerli a
riorganizzare il proprio sistema di lavoro in funzione del software.
La prima realizzazione risale al 2003 ed era basata su Php e MySQL, ma
mi resi subito conto che l'approccio Web non era adatto per installazioni
su singole macchine, decisi quindi di realizzarlo con un interfaccia GUI.
Dapprima con Glade, poi Kylix ed infine con Python e WxPython.
Il database utilizzato era dapprima MySQL, poi Firebird (ex InterBase).
Dall'incontro con Michele Sciabarrà, "finalmente" nacque l'idea di creare
una comunità per rendere il progetto un Open Source a tutti gli effetti.
Si decise di passare al databse SQLite e di creare un installer, dando la
possibilità di utilizzare il gestionale velocemente all'interno di una
pendrive USB senza nessuna installazione.
5.
PHASIS: comunità open source
Il principale obiettivo per rendere un prodotto Open Source è un ampia
comunità di sviluppatori che gravitano intorno al progetto che potranno
sopperire alla realizzazione di funzionalità avanzate e personalizzate.
Il sito di supporto ( http://phasis.eprometeus.com ) comprende una serie
di servizi:
✔ forum di assistenza agli utenti,
✔ wiki per contribuire documentazione,
✔ bug tracker per tracciare gli errori,
✔ mailing list per la collaborazione tra sviluppatori.
Gli sviluppatori contribuiscono alla crescita di Phasis sia attraverso
l’implementazione di nuovi funzionalità, sia attraverso l’individuazione e
la correzione di errori del codice.
Il reale problema per contribuire al progetto è il fatto che Python non è
visual basic, e anche se è semplice pochi hanno le competenze per
contribuire fattivamente.
Dagli utenti sono giunti contributi soprattutto sul fronte della
documentazione.
6.
PHASIS: il punto di forza
Il mercato dei gestionali è saturo esistono prodotti di ogni tipo e stazza,
per non parlare dei costi che possono variare da pochi spiccioli a
centinaia o forse migliaia di Euro.
Ognuno è carente di qualcosa come:
✔ Multipiattaforma Windows Linux ed anche MacOSX
✔ Costo zero del prodotto
✔ Personalizzazione semplice e veloce
✔ Supporto tecnico e formazione
✔ Garanzia di trasparenza data dal codice aperto
✔ Portatilità senza nessun tipo installazione
✔ Semplicità di utilizzo
L'obbiettivo in parte raggiunto dalla comunità Phasis.it è quello di
ottenere un prodotto semplice, valido, sicuro e leggero adatto alla PMI .
Ora la cosa più importante è un PDK (Phasis Development Kit), ovvero un
kit minuscolo, separato dal phasis principale, che mostri come creare
degli elementi AUTONOMI, in modo che chiunque abbia anche una
piccola idea e la possa implementare agevolmente.
7.
PHASIS: caratteristiche tecniche
Le principali caratteristiche di Phasis sono:
✔
✔
✔
✔
✔
✔
✔
✔
✔
✔
✔
✔
multi azienda e muti utenti
gestione delle offerte ai clienti
Inserimento degli ordini cliente
movimentazione fiscale del magazzino
fatturazione ai clienti
immissione diretta di movimenti di prima nota
gestione degli scadenzari dei clienti
schede ed estratti conto cliente
inserimento degli ordini fornitore
inserimento delle fatture dei fornitori
gestione degli scadenzari dei fornitori
report (scheda cliente, ordine, fattura, ecc.)
Si prevede in futuro l'aggiunta di altri moduli
essenziali per una gestione completa della
contabilità e soprattutto di semplificare al massimo
l'adozione di moduli personalizzati.
8.
PHASIS: la scelta del linguaggio di sviluppo Python
Il linguaggio di programmazione Open Source Python creato
da Guido van Rossum è semplice da usare offre una struttura
ed un supporto da invidiare ai più grandi linguaggi di
programmazione. Per non parlare del controllo degli errori e
della gestione dei tipi di dato di alto livello, liste, tuple,
array flessibili e dizionari.
Python permette di suddividere i programmi in moduli che
possono essere riutilizzati in altri programmi Python. È
accompagnato da un'ampia raccolta di moduli standard che
potete usare come basi per i vostri programmi, o come esempi
utili nell'apprendimento della programmazione in Python.
Python è un linguaggio interpretato, e questo può far
risparmiare molto tempo durante lo sviluppo del programma,
poiché non necessita di compilazione. L'interprete può essere
utilizzato interattivamente, il che rende semplice fare test con
le funzionalità del linguaggio e scrivere programmi.
Grazie a queste caratteristiche aziende come del calibro di
IBM utilizzano Python nei più svariati campi di applicazione.
9.
PHASIS: la scelta dell'interfaccia GUI wxPython
In Python lo standard per la creazione di interfacce grafiche
GUI fornito insieme al linguaggio è il toolkit grafico TK
detto "TkInter".
Si è scelto di utilizzare wxPython che è un wrapper della
nota libreria wxWidgets, perchè è più moderno e completo
del Tkinter oltre ad essere utilizzato nella gran parte delle
nuove applicazioni GUI realizzate in Python.
wxPython offre inoltre un set di controlli molto vasto, oltre
ai più comuni come pulsanti, combo box, toolbar, la
possibilità di utilizzare finestre di sistema (come quelle per
salvare o stampare), un semplice browser e molti altri.
WxPython è una libreria multipiattaforma, attualmente sono
supportate Windows, Linux e MacOSX, ciò permette di
creare una unica interfaccia grafica che funziona su più
piattaforme.
10.
PHASIS: la scelta del database SQLite
La brillante idea di utilizzare come database "SQLIte" è
venuta a Michele Sciabbarà nei primi incontri con
Massimo Gerardi, che a giudizio di quest' ultimo è stata
l'accoppiata vincente per rendere questo prodotto veloce
e multipiattaforma.
Il database SQLite è interamente scritto in C, è
generalmente più veloce dei database più utilizzati è
portabile su differenti piattaforme.
SQLite può essere gestito tramite un set di API facili da
usare e potenti. Questo lo rende comodamente utilizzabile
in un'ampia gamma di linguaggi differenti tra i quali il
Python mediante il modulo di interfaccia PySQLite.
SQLite è rilasciato come libreria di pubblico dominio, open
source ed è utilizzabile in licenza gratuita anche nelle
applicazioni commerciali.
11.
PHASIS: considerazioni economiche
A favore di una soluzione completamente open source:
✔ Indipendenza da fornitore:
Open Source significa posibilità di migrazione verso altri fornitori
senza la perdità di investimenti e risorse.
✔ Risorse maggiori:
il risparmio iniziale di investimento permette di spostare le risorse
verso la formazione e la personalizzazione del prodotto.
✔ Integrabilità, flessibilità e scalabilità:
Facilità di integrazione con altre applicazioni, di scalabilità verso
l’alto e maggiore flessibilità verso altre soluzioni.
✔ Trasparenza indice di qualità:
Il codice sorgente permette bug fixing e miglioramenti in autonomia.
12.
PHASIS: case studies
Si sono avviati due progetti pilota per l'adozione di Phasis:
✔ Associazione Italiana Celiachia Onlus:
La scelta di Phasis in questo caso è stata pricipalmente una scelta
economica, per utilizzare al massimo le risorse in attività proprie
dell'Associazione.
In questo progetto Phasis verrà installato su di una server dedicato
IBM x206 collegato con le varie sedi regionali in tutta Italia.
Per la gestione dei dati memorizzati e degli utenti connessi al server
si è scelto di utilizzare come database MySQL.
✔ SELTEC s.r.l. di Cadelbosco Sopra (RE):
Phasis in un azienda che da tempo intendeva utilizzare solo
tecnologie Open Source, l'ultimo scoglio era proprio il Gestionale.
Un esempio di come Phasis finalmente dia la possibilità di scegliere.
Ringraziamenti
✔ Linux World Conference & Expo
✔ Ringrazio la platea
✔ Michele Sciabarrà
✔ Marcello Semboli, Antonio Iacono, Efisio Sciola, Daniele
Cicchinelli, Bruno Marton, Marco Gerardi e tutta la
comunità PHASIS.IT
✔ Venite a troverci su http://www.phasis.it/
Massimo Gerardi