OpenData: un opportunità a costo zero ed una cattiva gestione

Negli ultimi anni stiamo assistendo ad una vera e propria rivoluzione delle tecnologie informatiche dovuta sopratutto alla distribuzione ed al successo dei dispositivi mobile.

Questi dispositivi diffondono, infatti, applicazioni informatiche di qualsiasi tipo che permettono la condivisione, il recupero e la lettura di dati in qualsiasi momento della propria giornata.

Mai come oggi è quindi necessario conoscere e diffondere la cultura degli OpenData come opportunità di innovazione locale e sviluppo territoriale: il proliferare dei dispositivi mobile renderanno più facile ed economico la lettura di questi dati.

Leggi tutto

Sviluppo nuove customizzazioni su Adempiere, massima flessibilità e semplicità

Adempiere mette a disposizione degli sviluppatori alcuni tool che semplificano il processo di implementazione.

Se si vuole sviluppare una nuova feature la prima cosa da fare è modellizzare il database e creare lo strato di persistenza model all’interno del codice sorgente.

Come possiamo vedere dall’implementazione del configuratore di processo sono state create le classi model con i metodi modifiers getter e setter per la gestione dei dati. Queste classi rispecchiano il modello dati esistente sul database.

Ad esempio CP_ConfProc.java corrisponde alla tabella cp_confproc sul database, CP_ProcessFlow.java corrisponde alla tabella CP_ProcessFlow e così via.

Adempiere mette a disposizione degli sviluppatori alcuni strumenti che rendono più semplice e controllato lo sviluppo della parte model dell’applicazione. Basta quindi “costruire” il database della customizzazione (ricordarsi lo standard di implementazione delle tabelle: inserire il prefisso che ricoda il tipo di customizzazione e le colonne che devono essere obbligatoriamente presenti in ogni tabella).

Dal database è possibile “costruire” il “modello” dell’applicazione grazie ad una classe utility: /src/org/adempoiere/util/GenerateModel.java

Questa funzione permette la costruzione di tutte le classi che hanno come prefisso X_ e le interfaccie con prefisso I_ con i relativi getter e setter associati rispettivamente alla tabella ed alle colonne della customizzazione.

Le classi X_CP_ConfProc.java e I_CP_ConfProc.java sono autogenerate dal GenerateModel.

sezione del GenerateModel.java

[codebox 1]

 

Adempiere Process Configurator OpenSource

Da oggi il codice sorgente del configuratore di processo aziendale di Adempiere è disponibile nella repository ufficiale di Adempiere Business Suite sotto il branch:

http://sourceforge.net/p/adempiere/svn/16370/tree/branches/processConfigurator/

L’intenzione è di condividere l’esperienza di sviluppo, di test e di usabilità della funzionalità con tutta la community di Adempiere.

Il codice sorgente del configuratore di processo è stato inserito nell’ultima versione del trunk di Adempiere secondo lo schema seguente.

struttura package configuratore di processo

 ConfProcPackageStructure

Software OpenSource a Milano

Il 12 marzo del 2013, presso il comune di Milano, è stata approvata la mozione (presentata dal M5S) per l’acquisizione del software openSource all’interno degli uffici comunali.

Il testo della mozione è visualizzabile attraverso il seguente link http://www.beppegrillo.it/listeciviche/liste/milano/2013/03/open-source-al-comune-di-milano-approvata-mozione-m5s.html.

In linea di principio, sono favorevole al software OpenSource all’interno della pubblica amministrazione.  I vantaggi, sopratutto economici, li abbiamo elencati più volte su questo blog.

Analizzando a fondo il documento di mozione bisognerebbe far chiarezza sopratutto su alcuni aspetti del punto 5:

5. il Software Open Source offre indiscussi vantaggi che le Pubbliche Amministrazioni possono trarre dalla sua adozione, come: accesso al codice sorgente garantendo il pieno controllo sulle operazioni svolte dal software; indipendenza dal fornitore; la possibilità di sviluppare autonomamente nuove funzionalità del software; i minori costi di licenza; la possibilità di utilizzare sempre l’ultima versione del prodotto software; la possibilità di riuso di applicazioni sviluppate da altre Pubbliche Amministrazioni; la comprovata qualità delle applicazioni Open Source; l’uso di formati standard aperti, universalmente riconosciuti e stabili nel tempo; pieno rispetto dei Dlgs e delle direttive nazionali.

L’indipendenza dal fornitore ed i minori costi di licenza sono fuori discussione. Anche in questo blog si è parlato dei vantaggi che offre l’OpenSource. (vedi https://www.informaticagestionale.it/index.php/2012/06/le-piccole-e-medie-imprese-ed-i-sistemi-informativi-possibile-soluzione-in-tempo-di-crisi/)

I punti che hanno bisogno di un’analisi più approfondita riguardano invece: la possibilità di sviluppare nuove funzionalità del software e la possibilità di utilizzare sempre l’ultima versione del prodotto.

Questi due punti possono essere tra loro contrapposti:

  • Per una customizzazione può essere necessario una modifica sostanziale al codice sorgente di un software. Questa modifica, in qualche caso, escluderebbe la possibilità di essere sempre aggiornati con l’ultima versione del sistema. Ad esempio, se per la modifica è necessario un intervento nel “motore” dell’applicazione, difficilmente l’applicazione sarà compatibile con le nuove versioni. Infatti, le comunità di sviluppo OpenSource rilasciano le nuove versioni sulla base del codice sorgente preesistente ignorando le modifiche effettuate nella pubblica amministrazione. Questo problema potrebbe essere evitato se l’amministrazione pubblica entrerebbe a far parte della community di sviluppo (ad esempio come utente di sistema). In questo modo tutte le modifiche fatte per la PA vengono rese disponibili per tutta la comunità ed il passaggio ad altre amministrazioni pubbliche verrebbe quasi automatico.
  • E’ necessario prevedere che ogni modifica fatta al software debba essere accompagnata da dettagliata documentazione tecnica. Questo eviterebbe il monopolio da parte di fornitori o personale specializzato che eseguono le modifiche e rendono incomprensibile il codice per essere gli unici a poter metterci le mani in futuro.
  • Le modifiche dovranno essere eseguite secondo criteri di sviluppo definite dalla comunità di sviluppo in modo da rendere il software di qualità e sempre compatibile con le future versioni.
  • Non tutto il software OpenSource è uguale. Ci sono software OpenSource già consolidati che possono essere adottati sin da subito (penso ad alcune versioni del sistema Linux), altri, che per essere adottati, richiedono maggiore attenzione; ad esempio i vari gestionali o alcuni software per la creazione di report. Questi saranno sistemi che, statisticamente, subiranno maggiori modifiche. In questo blog abbiamo spiegato anche con quali caratteristiche scegliere un software opensource: la dimensione della community di sviluppo (più è grossa e più il software sarà manutenuto e verticalizzato su vari settori), le frequenza degli aggiornamenti, il numero di utilizzatori finali, le impressioni sul software, le tecnologie di sviluppo…

In generale comunque,

E’ un bene che oggi le amministrazioni comunali discutano sull’adozione o meno del software OpenSource. Tutto ciò non farà che migliorare la qualità dei servizi IT nelle PA.

ADEMPIERE – Il GESTIONALE ERP OPEN SOURCE

Adempiere è un gestionale erp opensource nato  nel 2006 dalla scissione da Compiere, dopo 6 anni è possibile affermare che è un prodotto solido e maturo.

Il software viene rilasciato con la licenza GPL .Questo permette di risparmiare sul costo della licenza e focalizzarsi sull’analisi dei processi ed eventuale sviluppo di richieste  che debbano essere sviluppate.

L’installazione del prodotto non è proprio alla portata di tutti, ma anche il posizionamento di copertura non è quello del programmino da edicola. Sia su  Youtube che sul web è possibile trovare della documentazione per aiutarci ad eseguire l’installazione. Personalmente consiglio di eseguirla su un sistema Operativo Linux CentOs  6  rimaniamo cosi in un ambiente opensource al 100% ottenendo il massimo in termini di efficienza e risparmio.

Adempiere è sviluppato da una comunity internazionale di professionisti che tramite il web condividono le richieste e ne eseguono lo sviluppo . Ci sono anche diversi partner Business che hanno contribuito ad estendere le funzionalità del prodotto  . E’ utilizzato in oltre 63 stati dall’Australia, Cina , Germania , Colombia etc.etc. ed è stato tradotto in oltre 30 lingue.

Ha una cosi elevata capacità di personalizzazione tramite il framework che la richiesta di modificare il codice sorgente è  molto limitata.

E’ possibile anche configurare il flusso di processo tramite legami logici tra documenti.

Le piccole e medie imprese ed i sistemi informativi: possibile soluzione in tempo di crisi

Nelle piccole e medie imprese i sistemi informativi possono diventare o sono già diventati un serio “problema”:

  • i sistemi esistenti sono poco flessibili e non si adeguano ai cambiamenti dei mercati nei quali le aziende si trovano ad operare.

 

  • le necessarie modifiche ai sistemi comportano molto tempo ed alti costi; la modifica, inoltre, può causare ulteriori problemi non preventivati in fase di progettazione. Modificare un software nato per fare solo una cosa può comportare seri rischi di stabilità e di sicurezza.

 

  • i fornitori dei sistemi informatici, in molti casi, conoscono poco la realtà aziendale e propongono soluzioni che, una volte attuate, non risolvono del tutto le esigenze delle aziende.

 

  • il “software” in molti casi è obsoleto. Questo è un problema perchè le architetture di una volta non erano studiate per integrare “velocemente”, a bassi costi e con il minimo intervento al codice, nuove funzionalità. Occorre quindi un aggiornamento dell’infrastruttura. Purtroppo per i software obsoleti non è facile parlare di aggiornamento. Non è come l’hardware dove, ad esempio, puoi aggiornare la RAM a seconda delle reali necessità. Un software obsoleto è stato “costruito” con vecchie tecnologie. L’aggiornamento alle nuove tecnologie è un’operazione abbastanza delicata ed i fornitori utilizzano diversi metodi di aggiornamento (in base a quanto hanno intenzione di investire): l’aggiornamento più veloce è di implementare ulteriore codice sul sistema preesistente in modo da adeguare il software alle tecnologie di ultima generazione. In questo modo, però, si rischia di avere un sistema instabile e poco affidabile. La soluzione più corretta sarebbe quella di riprogettare e reimplementare lo stesso sistema con le nuove architetture e tecnologie. Questa soluzione è però molto costosa e sono poche le aziende che possono permetterselo. Bisogna quindi fare attenzione quando si acquisisce un software solo perchè opera su quel mercato da decenni. Proprio per questo motivo il software potrebbe essere obsoleto e tutte le necessarie personalizzazioni potrebbero costarvi parecchio.

 

  • il personale informatico aziendale che gestisce l’infrastruttura, in molti casi, o non esiste o non ha le competenze adeguate per intervenire sui sistemi e per guidare (o anche scegliere) i fornitori. Il rischio è di portare in casa sistemi informatici che non “funzionano” per la propria azienda. Si dovrà, in un secondo momento, far fronte ad altri costi di manutenzione per essere adeguato alla realtà aziendale, si attivano nuovi sottoprogetti per integrare il sistema con nuove funzionalità…in poche parole la gestione del sistema informatico diventerà molto costosa e poco efficiente nel supporto all’azienda.

Se, prima della crisi, un imprenditore era disposto ad accettare tutte queste inefficienze pur di delegare il “problema” a terzi, “collaboratori e non”. Adesso che i finanziamenti scarseggiano inizia, quantomeno, a rendere più efficienti gli investimenti.

Leggi tutto

Integrazione Adempiere con LDAP SERVER

Molte aziende, una volta introdotto un nuovo sistema informatico, sentono la necessità di integrare le credenziali di accesso di altri sistemi informatici con il nuovo sistema.

Per fare questo le aziende sfruttano un server LDAP che ha come obiettivo la centralizzazione, in un unica sorgente dati, di tutte le credenziali di accesso per tutti i sistemi informatici.

Leggi tutto

Virtualizzazione del database

Una delle funzionalità più interessanti del gestionale “Adempiere” è proprio la virtualizzazione di tutto il database all’interno dell’application dictionary.

Questo rende il sistema estremamente flessibile ed in grado a far fronte a qualsiasi modifica a livello di database in maniera semplice e veloce senza stravolgere tutta l’intera applicazione.

Leggi tutto