WMS

Un warehouse management system (WMS) è un'applicazione software che supporta le attività svolte quotidianamente in un magazzino, e permette di gestire in modo centralizzato compiti quali il controllo delle scorte e la loro posizione. Può cooperare con i sistemi per la gestione dei trasporti (TMS), con l'automazione e con dispositivi quali terminali a radiofrequenza o droni.

E-COMMERCE

Indica l’acquisto e la vendita di prodotti o servizi attraverso canali elettronici quali Internet. Può essere B2B (Business to Business) e riguardare gli affari tra aziende; B2C (Business to Consumer) nel caso di vendita al pubblico senza interazione “interazione umana”; C2B (Consumer to Business) nel caso in qui i consumatori propongono un progetto (e un budget) che le aziende acquistano; C2C (Consumer to Consumer) nel caso in cui gli utenti acquistano o vendono i loro prodotti.

DRONE

Un aeromobile a pilotaggio remoto, comunemente chiamato drone, è un velivolo senza pilota che vola controllato da un computer di bordo, oppure sotto il controllo di un pilota che si trova su un altro velivolo, a terra o su un veicolo. I primi rudimentali droni sono in uso già durante la prima guerra mondiale, mentre per molti osservatori il primo vero drone moderno ha volato nel 1973 in Israele.

Perché usare Adelia? Intervista con Alessandro Sordi

Reflex WMS e Adelia

Utilizzo il tool di sviluppo Adelia, di Hardis Group, dagli anni '90, cioè da quando era disponibile solo su piattaforma AS/400. Oggi lo impiego per sviluppare software su piattaforme AS/400 iSeries e Windows in architettura Client/Server. I progetti a cui normalmente lavoro riguardano il software gestionale di magazzino Reflex WMS: usando Adelia implemento le interfacce con il sistema informativo del cliente, progetto e realizzo piccole e grandi personalizzazioni che possono anche essere eseguite in modalità stand-alone.

Uno dei punti di forza di Adelia è senz'altro quello di permettere lo sviluppo di software senza che il programmatore conosca i linguaggi di programmazione tradizionali, quali ad esempio RPG, COBOL, C++, JAVA eccetera. Infatti, per sviluppare con Adelia è sufficiente utilizzare il linguaggio di 4^ generazione messo a disposizione dallo strumento stesso.

Con Adelia è possibile implementare facilmente moduli personalizzati e agganciarli ai programmi standard di Reflex per modificarne il comportamento, oppure aggiungere funzionalità specifiche per il cliente; ad esempio: aggiungere controlli all’interno della procedura radiofrequenza di ricevimento, realizzare una funzione amministrativa e inserirla in un menu oppure aggregarla alla funzione standard di gestione delle preparazioni eccetera.

Adelia semplifica e velocizza lo sviluppo, con il vantaggio di aumentare la produttività e standardizzare la metodologia di implementazione del software. La produttività aumenta perché la realizzazione del software è supportata da strumenti integrati che permettono di avere tutto sotto controllo: dai file alle variabili, dalle schermate utente al flusso di dati verso altre schermate o report e ai file di database. Ad esempio, di recente mi è capitato di realizzare per un cliente un’intera gestione amministrativa dei mezzi di trasporto in meno di una settimana, test inclusi. In meno di una giornata ho realizzato per un altro cliente un programma di calcolo delle giacenze contabili in tempo reale, in un dato periodo di tempo, a partire dai dati presenti in Reflex WMS.

Il layout manager e il report manager di Adelia mi permettono di definire graficamente le maschere, le finestre e i report, in modo da darmi un’idea già in fase di progettazione dell’aspetto grafico e della disposizione dei campi o degli oggetti che ne deriverà, indipendentemente dalla piattaforma.

Sviluppo software in ambiente AS/400

Trovo che la definizione e la gestione di un subfile risulti molto più semplice con Adelia rispetto alla programmazione tradizionale in RPG: grazie ad un numero ridotto di indicatori e di potenti istruzioni, è Adelia a interpretarne l’uso, in base alla sezione di utilizzo del ciclo stesso. Ad esempio, con l’istruzione MANAGE_SFL posso caricare, controllare e aggiornare i dati contenuti in un subfile mediante semplici cicli di istruzioni.

Un altro grande vantaggio rispetto alla programmazione tradizionale è la possibilità di scrivere un programma o una routine utilizzando l’indentazione. Chiunque abbia programmato in RPG conosce i limiti e le difficoltà che si incontrano con le istruzioni a formato fisso, quando una serie di cicli o controlli si annidano tra di loro: i blocchi IF-ENDIF e DO-ENDDO sembrano assomigliarsi tutti, specialmente quando sono molto lunghi, e il programma diventa molto difficile da implementare e da interpretare. Se poi ci si dimentica una END e la compilazione fallisce, trovare l’errore e ripristinarlo può richiedere diverso tempo.
L’indentazione permessa da Adelia dà un’idea immediata dell’inizio e della fine di un blocco di istruzioni, rendendo molto più semplice la scrittura e l’interpretazione di un programma

Sviluppo software Client/Server in ambiente Windows

Il layout manager di Adelia mi permette di definire graficamente le finestre sia dal punto di vista tecnico sia d’interfaccia utente, dato che sono disponibili oggetti grafici di base (es. entry field, check box, pulsanti, radio button, barre di strumenti, combo-box …) con i quali progettare una finestra è davvero facile.

Ogni oggetto grafico ha le sue proprietà, i suoi eventi e i suoi metodi che permettono di impostare le caratteristiche dell’oggetto a video (es. colore, posizione, font ...), intercettare le azioni dell’utente e compiere delle attività sull’oggetto. Adelia mi permette anche di creare oggetti grafici a partire da quelli di base, ai quali assegnare pezzi di programma per compiere azioni specifiche; ad esempio, a partire da un campo di input è possibile definire un oggetto personalizzato “campo di input positivo” al quale associare il controllo che il valore inserito sia positivo e riutilizzare l’oggetto così creato ogni volta che devo definire un campo di input a valore positivo.

Con Adelia posso anche creare report grafici utilizzando il report manager e Crystal Reports, quali ad esempio bolle di trasporto, packing list ed altri documenti aventi layout, campi e logo personalizzati.

Un altro vantaggio offerto da Adelia è la possibilità di definire all’interno dello stesso programma moduli client e moduli server: ciò mi consente di creare un programma unico e di stabilire, istruzione per istruzione, se ad eseguirla sarà il PC locale o un server ed in tal caso quale.

Quest’ultimo aspetto mi è di grande utilità ad esempio quando il cliente cambia il server esistente con uno nuovo, oppure decide di passare da un database (es. Oracle) ad un altro (es. SQL Server): per adeguare il programma devo solo modificare la destinazione del codice generato, lanciare la compilazione e lasciare ad Adelia il compito di distribuirlo sulla nuova piattaforma o sul nuovo database server. Pochi minuti e tutto è fatto, senza alcuna modifica al codice del programma.

Un grande vantaggio ed un grande risparmio di tempo, non trovate?


Alessandro Sordi, Software Engineer, Hardis Italia.