Software gestionale cloud per il tuo business

+39 051/58.70.451 Telefonaci al +39 051/58.70.451 Scrivici una E-mail
 
 
 
 

Scenari moderni di sviluppo con Visual Lansa

Scritto da Celtis - Mercoledì, 27 Ottobre 2010. Scritto in Visual Lansa

Il Visual Lansa è un tool di sviluppo per business logic che unisce la potenza dei moderni linguaggi di sviluppo visuale per applicazioni grafiche con disegno ad oggetti alle caratteristiche di struttura a repository dei tradizionali linguaggi 4GL, adatti ad una rapida prototipazione delle applicazioni orientate alla filosofia data driven (Sql Server, DBII, Sybase, Oracle).
Il completo ed essenziale SET di istruzioni RMLX, per la programmazione grafica ad eventi ed ad oggetti, completa il nucleo originale del set di istruzioni procedurali RDML consentendo di distribuire in fasi diverse la prototipazione, l’ossatura della business logic, la modellazione di campi/tabelle sql a repository e la cura dell’arricchimento dell’interfaccia utente grafica.
L’intero ciclo di costruzione e debug del software è agevolato dal linguaggio macro RDMLX/RDML, mentre la compilazione genera sorgenti C/C++ compilati con il set nativo dei microprocessori compatibili Intel X86.


Con un adeguato skill degli sviluppatori si apre la prospettiva agli scenari di architetture seguenti:

  • Adozione di un modello di implementazione qualitativo del codice secondo la modularità a tre livelli: USER SERVICES (interfaccia grafica), BUSINESS LOGIC (logica applicativa), DATA SERVICES (servizi di accesso ai dati)
  • Riutilizzabilità del codice su tutti e tre i livelli con 2 meccanismi distinti: l'introduzione dell'ereditarietà (estensione o derivazione da un componente esistente) ed il meccanismo ad oggetti di associazione di un componente (contenimento o aggregazione di componenti multipli all'interno di un singolo componente padre). Agevolazione dell'incapsulamento o autocontenimento dei componenti. Come in tutti i linguaggi ad oggetti blasonati, il Visual Lansa implementa il polimorfismo, che significa la possibilità odierna di progettare componenti che eseguono un nucleo di compiti generici, ma che un domani, senza necessità di modifiche e quindi nemmeno di ricompilazioni, saranno in grado di invocare componenti nuovi progettati appositamente per svolgere compiti più specializzati, tramite una semplice dichiarazione di ereditarietà da una classe preesistente.
  • Le tre caratteristiche dell'ereditarietà, incapsulamento e polimorfismo sono i mattoni su cui diventa possibile costruire una solida gestione delle personalizzazioni sul fronte dei VAR (value added reseller) o dei clienti più esigenti in fatto di personalizzazioni. Un componente, sia visuale (con interfaccia grafica), che di logica applicativa pura, può essere ampliato e riutilizzato semplicemente dichiarandolo come ANCESTOR nella catena di ereditarietà, oppure dichiarato come componente interno (proprietà) del nuovo componente da disegnare. Diventa possibile utilizzare i metodi pubblici della sua interfaccia per eseguirne in modo sincrono le logiche di business, oppure i metodi di introspezione per personalizzarne i campi a video, e o condizionarne la visibilità o cambiarne la posizione, integrandoli con nuovi controlli grafici gestiti con conoscenza esclusiva da parte del componente padre, quello di livello più esterno o “container”. In tal maniera la personalizzazione non impatta sul codice sottostante dei componenti già "confezionati". Inoltre se dovesse avvenire una modifica a livello di un componente sottostante, tale da non impattare sull'interfaccia di comunicazione con il suo/i utilizzatore/i, è sufficiente distribuirne la nuova versione compilata perchè venga all'istante recepito, senza richiedere altro lavoro, da parte degi altri componenti intercomunicanti. Con l'arrivo della nuova tecnologia di sviluppo di Lansa per il web, che amplia la tecnica WebEvent, cioè i moduli WAM (Web application module) per connettere le applicazioni Lansa tramite il server http al Browser Web del client, i componenti business logic (reusable part) dell'ambiente Visual Lansa potranno essere condivisi, senza necessità di ricompilazione, garantendo una sottostante convergenza del modello di sviluppo per il web verso il modello di sviluppo per Windows, perlomeno ai livelli più adiacenti dell' Application Server del Lansa. E' un passo sostanziale di integrazione dell'ambiente Lansa for the Web con quello di Visual Lansa.

 

Un’implementazione possibile dei Design Pattern ad oggetti è l’architettura MVC (Model-View-Controller da SmallTalk) dell’esempio seguente. E’ basato sulla creazione/rilascio dinamico dei componenti, reference ad oggetti e dichiarazione con semplice istruzione RDMLX di un oggetto singleton ("single shared instance"). Come da figura il pattern MVC è composto da una lista di scelta, manutenzionabile da simultanee finestre di dettaglio (create, update, delete), tutte in sincronia tramite un Controller che distribuisce le notifiche di variazioni a tutti e solo i sottoscrittori del Controller stesso.


In figura il Modello dei dati è unico e condiviso tra i Viewer (lista, e tre finestre di dettaglio) per mezzo del Controller, ossia il componente comune incapsulato dai 3 Viewer ed afferente all'istanza unica (singleton) del Modello.

L'ambiente o Editor di design del Visual Lansa offre una produttività ed una potenza notevoli in fase di design con l'ausilio di strumenti idonei ad una GUI Windows che agevolano la navigabilità attraverso il codice sorgente dei vari progetti ed il completamento guidato della stesura del codice, sia nelle strutture di sintassi che nella costruzione delle query di accesso ai database. La fase di codifica è supportata in alto grado in modo visuale e adotta un modello di prototipazione dell'interfaccia grafica a stretto giro di sincronia con il sorgente sottostante. In modifica il livello di accesso è bidirezionale, consentendo sia l'editazione del codice, sia l'azione diretta sull'anteprima della finestra grafica e dei suoi componenti.


L'interfaccia grafica dispone di un'ampia libreria di tutti i controlli grafici Windows più comuni ed anche altro: label, caselle di testo, alberi, combo-box, viste ad elenco con dettaglio o ad icone, radio button, tooltips, check box, tab manager e folder native per finestre di dialogo indipendenti e simultanee, griglie con colonne a scomparsa ed ordinabili e celle con controlli di tutti i tipi, menù di testo, barre dei comandi grafiche, barre di avanzamento progressivo automatico o graduate con scorrimento a comando, controlli di cattura della data e ora, barra di stato, timer per innescare chiamate asincrone di eventi con schedulazione a frequenza predefinita, bottoni di comando, icone di collegamento, immagini, group box, grafici per rappresentazione di dati statistici, panel di contenimento raggruppato, Layout manager e stili di visualizzazione (font, dimensione, colore 1° piano e sfondo). Tutti i controlli grafici sono dotati di proprietà modificabili nella fase di esecuzione in modo dinamico.


Una cosa importante è la modalità di visualizzazione multipla di un campo. Ogni singolo campo è caratterizzato dalla definizione della sua classe di visualizzazione. E' possibile aggiungere nuovi schemi di visualizzazione (casella editabile, radio button, check list, combo-box, etc...) e nel sorgente della mappa video, durante la codifica, è sufficiente richiamare la visualizzazione desiderata con riferimento al nome.


Il metodo delle BuiltIn-function (con la dotazione di una libreria già predefinita) costituisce la via nativa per estendere e personalizzare le possibilità ad esempio per impiegare dei player Video/Audio nelle interfacce grafiche Lansa oppure richiamare servizi di posta elettronica verso Outlook, oppure dialogare con il client Lotus per scambiare dati in lettura scrittura sul database Domino, etc...


Grazie alle BuiltIn-function precedenti ed alla omogeneità dei motori C del run-time l’Alnus (Visual Lansa) si interfaccia naturalmente a Java implementando dei metodi nativi dell’architettura JNI del Java run-time.
La potenza dell'ambiente di sviluppo Visual Lansa diventa ancora più evidente in relazione alla capacità di connessione con l'ambiente esterno tramite hosting dei controlli ActiveX (Browser di Internet Explorer per contenere applicazioni web o per una navigazione guidata o come editor interattivo di Html). Un esempio di applicazione di questa caratteristica è la sfruttabilità degli oggetti ActiveX ADO della Microsoft per l'accesso a database con SQL Dinamico. E' una via possibile alla progettazione di sofisticate, ma poche e centralizzate maschere parametriche per le finestre di cattura, od ancora per logiche di import od export personalizzate innescate dall'interno di un opportuno contesto applicativo. Altri esempi sono la possibilità di impiegare direttamente da programmi Lansa i server di automazione OLE, come ad esempio: Excel, Word e tutti gli strumenti di Microsoft Office. Fatti salvi i requisiti ed i criteri qualitativi e quantitativi di buona progettazione, la compatibilità con lo standard ActiveX costituisce una valida strada per l'estendibilità dell'ambiente Visual Lansa verso l'interfacciamento ad applicazioni ester ne (ciò che non si può fare nativamente dentro al Lansa può essere "wrappato" all'esterno).

Installazione e deployment con Visual Lansa

Installazione del modello di sviluppo di tipo Server Indipendente

L'installazione "Indipendent Server" installa un sistema Visual LANSA indipendente sul server Windows,
provvisto di proprio repository Lansa di lavoro su database SQL Server e di compilatore C/C++.


Questo modello di installazione supporta molteplici sviluppatori che condividono un singolo Repository Lansa di lavoro sul Server Windows.
Gli sviluppatori possono ricorrere ad un'installazione light di tipo "Network Client Only" per caricare il Software Visual LANSA sui singoli PC e non possono lavorare disconnessi dal Server Windows. In alternativa, senza alcuna installazione sui PC, possono connettersi in remoto con Citrix od un Client di Terminal Server, installato sulla postazione del Server Windows indipendente. Sono possibili tutte le configurazioni dei modelli di sviluppo a completa discrezione dei team di sviluppatori.
Il modello operativo delle applicazioni grafiche native Windows è interamente FAT CLIENT.


Il modello client/server di Visual Lansa per Windows impiega la tecnologia ODBC ed è un FAT client che attualmente supporta il completo ciclo di sviluppo (design e deployment) solo sui seguenti server database: SQL Server, DBII e Sybase.

L'infrastruttura tecnologica del Client Visual Lansa ("C" win32 SDK) richiede i 128 Mbytes di requisito attuali da dedicare interamente al run-time applicativo.
Nell’ambiente di sviluppo è integrato anche un un tool per il rilascio di package di installazione.

 

 

 

Social Bookmarks

Commenti (0)

Lascia un commento

Stai commentando come ospite.

Annulla Invio del commento in corso...
 
 
 
 
DownloadPrivacy