Le problematiche di riapprovigionamento - Parte II

E-mail Print PDF

Marco-PancottiCon questo Post prosegue la serie di articoli dedicati all'esame delle problematiche presenti in un contesto Retail legate all'approvigionamento dei punti vendita. L'autore si è occupato del problema in diverse aziende utilizzando svariate soluzioni software.

In questo articolo esaminiamo il primo degli elementi che deve caratterizzare un sistema di replenishment per il Retail.

Si tratta del sistema di definizione di ampiezza e profondità di assortimento da cui ogni meccanismo deve partire. In apparenza si tratta di un problema semplice. Basta definire e memorizzare le quantità che devono essere presenti in ogni negozio di ogni articolo.

Già, ma come fare se gli articoli sono diverse migliaia e i negozi centinaia? I numeri da definire possono diventare rapidamente diversi milioni.

Inoltre, cosa si intende veramente per quantità? Quantità minima? Quantità media? Quantità massima? Quantità di facing?

La risposta a queste domande passa dal concetto di Clustering.

Last Updated on Sunday, 24 July 2011 12:36 Read more...

Attivazioni giornaliere di Android

E-mail Print PDF

Marco-PancottiAndy Rubin, il creatore di Android, oggi al servizio di Google, ha annunciato che le attivazioni di Android hanno taggiunto i 500.000 device al giorno, e stanno crescendo del 4,4% settimana su settimana. In effetti a Maggio, quindi meno di due mesi fa, Google annunciò di aver raggiunto le 400.000 attivazioni al giorno.

Giusto per dare un'idea, l'iPhone ha una media di 66.000 attivazioni al giorno, con 5.8 milioni di attivazioni tra Gennaio e Marzo. Che il sorpasso fosse avvenuto parecchio tempo fa era cosa nota, ma che il divario si stesse approfondendo così rapidamente non era cosa facile da prevedere, considerata l'alta qualità del prodotto di Apple e ll suo ruolo da "status symbol".

Last Updated on Wednesday, 29 June 2011 13:52

Parliamo di EDI - Electronic Data Interchange - Parte I

E-mail Print PDF

luca-buraggi

L'autore ha collaborato nel corso di numerosi anni al progetto di sistemi per il processo EDI per la maggior catena di vendita di Ottica e Lenti del panorama italiano, occupandosi in particolare del progetto del software di processo.

Parlare di EDI oggi non significa certamente trattare un argomento nuovo, al contrario. E tuttavia ci sono degli aspetti del problema che per la loro criticità meritano alcune riflessioni di approfondimento.

Alcuni di questi fattori, in base alla nostra esperienza maturata nel corso degli anni, sono spesso sottovalutati nell'impianto di un progettto EDI, e contribuiscono ad aumentarne le voci di rischio. Se non affrontati e risolti nel modo corretto, questi problemi si fossilizzano nel sistema una volta a regime, determinando costi nascosti, di entità non sempre trascurabile.

Last Updated on Saturday, 02 July 2011 09:55 Read more...

Perchè Scala

E-mail Print PDF

MarioFuscoL'autore ha un'esperienza più che decennale nello sviluppo Java, unita ad un forte interesse per la programmazione funzionale, soprattutto in Scala, lo sviluppo di Domain Specific Languages. Sfruttando queste due passioni ha anche creat la libreria open source Hammurabi, un motore di regole scritto in Scala che consente di scrivere le proprie regole con un DSL interno.

Quasi tre anni fa ho scoperto il linguaggio Scala, ed è stata la prima volta dopo una dozzina di anni di programmazione in Java che ho ritenuto valesse la pena imparare un nuovo linguaggio.

Da allora sto provando a convincere (con alterna fortuna) i miei amici e colleghi che "Scala è bello", mostrando loro con che eleganza riesce a unire due paradigmi apparentemente antitetici come l'OOP e il FP ottenendo codice conciso e leggibile. Ho cercato anche di "catturarli sin da giovani" , tenendo dei corsi introduttivi in un paio di università del Nord Italia, dove vivo.

Ma solo ora mi sto rendendo conto che, se il mio intento è di favorire la diffusione di questo splendido linguaggio, mi sto rivolgendo all'audience sbagliata. Le prime persone che io e gli altri fan di Scala dobbiamo  convincere sono quelli che mettono il denaro nell'Information Technology. Questo post è quindi indirizzato agli imprenditori e a chi ha responsabilità di budget e contiene la mia breve lista di motivi per i quali adottare Scala come principale linguaggio di sviluppo è molto sensato prima di tutto da un punto di vista economico.

MENO CODICE => MENO TEMPO  => MENO DENARO

Nella mia esperienza di sviluppatore Scala ho riscontrato che un qualunque segmento di codice Scala è circa tre volte più breve del suo equivalente in Java. Effettivamente Scala permette di eliminare tutta la verbosità tipica di Java, in modo che il programmatore possa concentrarsi solo sullo sviluppo della business-logic del problema.

Se si considera la linea di codice come il più piccolo componente di un manufatto (software), questa affermazione ha lo stesso impatto che avrebbe, per un produttore di auto, la possibilità di utilizzare 1000 componenti invece che 3000. 

In altre parole, utilizzando Scala il team di sviluppo deve disegnare, scrivere, testare, debuggare, refattorializzare e mantenere solo un terzo del codice. Non è evidente il vantaggio in termini di ROI in utto questo? Io sono convinto che il passaggio da Java a Scala abbia lo stesso impatto che ha avuto quindici anni fa il passaggio da C/C++ a Java; la riduzione, talvolta drammatica, del tempo speso a sviluppare e mantenere il codice e, quindi, del suo costo. E più il progetto è grande, più il vantaggio economico si rende evidente.

MIGLIOR time to market

E' una diretta conseguenza di quanto ho scritto precedentemente. Ridurre il tempo speso nello sviluppo del prodotto da la possibilità di consegnare l'applicazione più rapidamente.

Arrivare sul mercato più velocemente dei concorrenti è un vantaggio che non deve essere neanche spiegato ad un imprenditore, da tanto è evidente. Ma lo stesso vale se si tratta di un'applicazione ad uso interno. La sua disponibilità in tempi rapidi ha un valore anche in questo caso.

FARE IN MODO CHE GLI ANALISTI E GLI SVILUPPATORI PARLINO LA STESSA LINGUA

Una delle principali cause di fallimento di molti progetti IT sono le frequenti incomprensioni tra analisti di business e sviluppatori. Alcune delle caratteristiche di Scala sono state esplicitamente aggiunte con lo scopo di rendere il codice molto leggibile.

Ciò rende Scala particolarmente adatto all'implementazione dei DSL, Domain Specific Language, disegnati per esprimere le Business Rules con la stessa terminologia utilizzata all'interno del dominio che si intende modellare.

Utilizzando questa tecnica gli sviluppatori possono codificare le regole di business in una modalità che permetta agli analisti di comprenderle e validarle leggendo direttamente il codice, riducendo così la possibilità di incomprensione tra chi esprime i requirement e chi li trasforma in codice.

100% COMPATIBILE Java

I programmi Scala sono compilati con lo stesso bytecode e girano sulla stessa Virtual Machine dei tradizionali programmi Java. Ciò significa che Scala è pienamente interoperabile con Java e che permette il riutilizzo dei componenti Java e tutte le straordinarie librerie e ramework che si è abituati ad usare nel lavoro quotidiano senza alcuno sforzo.

Non ci sarà bisogno di riscrivere il codice già realizzato, non si perderà alcun investimento già effettuato e si potrà decidere di migrare gradualmente verso Scala solo quando nasce una opportunità su un progetto specifico.


MarioFuscoATTIRA IL MEGLIO DELLE RISORSE UMANE

Mi rendo conto che si tratta di un punto controverso, e i programmatori Java potrebbero odiarmi per questo, ma ho ritenuto opportuno aggiungere questo punto perchè, come altri punti della lista, è parte della mia esperienza quotidiana sia come sviluppatore Java, sia come sviluppatore Scala.

Innazitutto chi decide di imparare un nuovo linguaggio (non necessariamente Scala), invece che rimanere attaccato a quello che già conosce per tutta la vita, normalmente mostra una particolare apertura mentale, è entusiasta del proprio lavoro ed è ansioso di sperimentare nuove idee e tecnologie.

Inoltre, come ho già detto, Scala unifica i mondi della programmazione funzionale con quello della programmazione a oggetti, perciò chi è in grado di lavorare con efficacia in Scala è anche in grado di dominare questi due paradigmi e prendere il meglio da entrambi. In effetti, con Scala ci sono sempre diversi modi di fare la stessa cosa e cercare la soluzione che meglio si adatti al problema su cui si sta lavorando finisce col perfezionare la propria capacità di ragionamento ed i propri skill. Per questo ritengo che la conoscenza di Scala possa essere usata come strumento per la selezione di personale di qualità.


UNA FANTASTICA COMUNITA'

In generale si tratta di un importante elemento quando si sta esaminando se è il caso o meno di adottare una nuova tecnologia. Avere una comunità di gente appassionata che può aiutare a risolvere i problemi che il team di sviluppo deve affrontare ogni giorno è essenziale in quanto permette di salvare sforzi, tempo e denaro. La comunità che circonda Scala è quasi imbattibile in quanto a questo: in tutta la mia carriera professionale non ho mai trovato così tanti sviluppatori intelligenti, ed allo stesso tempo modesti, che siano felici di aiutarti a risolvere i problemi tecnici che si possono incontrare, nel modo più rapido possibile.

La stessa comunità è impegnata a lavorare costantemente per sviluppare e migliorare un enorme numero di librerie, framework e tool che possono ulteriormente semplificare e accellerare il lavoro di un team di sviluppo.


PRODOTTI E SERVIZI DI CLASSE ENTERPRISE

Scala non è più nella fase dove un piccolo gruppo di pionieri fa esperimenti. La nascita di società come Typesafe, fondata da Martin Odersky, l'inventore del linguaggio stesso, permette di avere servizi e prodotti a livello enterprise.

In questa categoria, in particolare, spicca Akka, un framework creato da Jonas Boner, che fornisce un impressionante insieme di tool e di soluzioni destinate a rendere la programmazione parallela più facile e più efficace. La disponibilità di un simile insieme di solide tecnologie non solo ha permesso ad una nuova generazione di aziende come Twitter, Linkedin e Foursquare di lavorare efficacemente con esse, ma ha anche convinto aziende che sono in ambiti di business più tradizionali a migrare a Scala.

Giusto per dare un esempio, EDF, la più grande azienda europea nell'ambito dell'energia, e banche internazionali come UBS e Credit Suisse hanno già migrato a Scala. Inoltre, se Scala è abbastanza solido per applicazioni "mission critical" come quelle richieste dalla NASA, un altro entusiasta utente di Scala, perchè non adottarlo nella tua azienda?

Compila questo form per essere invitato ai nostri seminari

Mate organizza ogni mese un seminario di 2 ore (dalle 17.30 alle 19.30) in cui presentiamo le evoluzioni del progetto e discutiamo l'utilizzo del linguaggio Scala con docenti universitari, clienti, collaboratori ed appassionati

Compila questo Form per ricevere regolarmente i nostri inviti.

Fields marked with * are required.



Captcha imageReload image



Last Updated on Sunday, 10 July 2011 12:15

LambdaJ

E-mail Print PDF

MarioFusco

L'autore ha un'esperienza più che decennale nello sviluppo Java avendo partecipato e spesso diretto diversi progetti di successo in svariati settori industriali spazindo dalle media-company all'ambito finanziario. E' anche il creatore della libreria open source lambdaj avente gli scopi di implementare un DSL interno in Java per la manipolazione di collezioni e consentire un minimo di programmazione funzionale in Java.

Lambdaj è una libreria Java che consente di manipulare le collections di Java in maniera funzionale e dichiarativa e quindi senza dover scrivere alcun ciclo esplicito.

Infatti iterare su collezioni di oggetti, specialmente in cicli innestati o condizionali, è spesso un compito in cui è facile commettere errori e che comunque rende il codice meno leggibile e ne aumenta la complessità ciclomatica.

Lo scopo di questa libreria e quindi quello di alleviare questi inconvenienti impiegando alcune tecniche di programmazione funzionale, ma senza perdere la tipizzazione statica offerta da Java. Quest'ultimo vincolo è stato imposto al fine di poter rifattorizzare il codice in modo più facile e sicuro ed allo stesso tempo di consentire al compilatore di fare il proprio lavoro eseguendo tutti i controlli sui tipi del caso.

Per ulteriori approfondimenti tecnici, andare nel sito di progetto.

Last Updated on Wednesday, 22 June 2011 09:52
You are here: Blog

La divisione Xsec

XSec è la divisione Mate dedicata al supporto delle tecnologie Open Source per la gestione di alcuni processi aziendali chiave come la gestione della posta elettronica, il monitoraggio di reti complesse, il backup automatico, l'office automation, e la gestione di framework di coworking. 

+ Leggi il seguito ..

Discutendo del futuro

Marco Pancotti, presidente di Mate, pubblica sul Web un Blog personale in cui discute di innovazione e tecnologia con una particolare attenzione ai risvolti economico-sociali derivanti dall'incalzare del nuovo. Si tratta di intelligenza artificiale, nano e biotecnologie, transumanesimo e nuove energie.

+ Leggi il Blog

MongoDb

MongoDb è uno dei database NoSql più interessanti che ci siano in circolazione. Mate lo sta sperimentando nelle applicazioni dove è necessario ed utile evitare la tecnologia relazionale a favore di un'architettura che si presti alle applicazioni Web ad alto carico transazionale.

+ Leggi il seguito

Licenza

Il materiale presente in questo sito è soggetto alla licenza CreativeCommons 2.5 by-nc-nd.

Siete liberi di riprodurre, distribuire, comunicare al pubblico, esporre in pubblico, rappresentare, eseguire e recitare quest'opera alle condizioni previste dalla licenza.

Nostri riferimenti

Mate s.r.l.
via Cavalcanti, 5
20127 Milano (IT) 

  • Tel: (+39) 02 8361416
  • Fax: (+39) 02 8361416
  • Email: info@mate.it
  • PEC: mate@pec.mate.it
  • P.Iva: 08323380157