Archive for Rilascio

Migliorare le applicazioni Uniface esistenti

Negli ultimi due mesi sono stato spesso coinvolto in attività di consulenza mirate a migliorare applicazioni Uniface esistenti.
Ci sono a tutt’oggi in produzione, sia a livello internazionale che in Italia, applicazioni Uniface 5, Uniface 6, Uniface 7, Uniface 8 e, ovviamente, Uniface 9.
L’ambiente di sviluppo si è ampiamente evoluto nei suoi 30+ anni di presenza sul mercato ed ancora oggi continua ad evolvere piuttosto rapidamente: la nuova versione Uniface 10 ne è l’immediata controprova.
Le nuove funzionalità, rese disponibili nel corso degli anni, vanno integrate nelle modalità di sviluppo originarie facendo attenzione a mantenere l’integrità funzionale dell’applicazione originale.

Nella prima fase di queste attività si esplorano gli “Standard & Guidelines” adottati nello sviluppo dell’applicazione, che nella terminologia corrente vengono denominati “Framework di sviluppo”.
Analizzando il modo con cui l’applicazione è stata sviluppata si possono tracciare le linee di potenziale miglioramento, che ricadono in 6 possibili passi:

  1. Da “Stacked forms” char a “Stacked forms” GUI
    2. Da “Stacked forms” GUI a “NonModal forms” GUI
    3. Su “NonModal forms” GUI inclusione di una API applicativa
    4. Da “NonModal forms” GUI a “Web 2.0 pages”
    5. Da “Web 2.0 pages” a “Mobile pages”
    6. Da “Mobile pages” a “Fully partitionable application”

Lo sforzo necessario per ammodernare un applicazione è ovviamente funzione del punto di partenza e del punto di arrivo selezionato. Conviene definire tre obbiettivi: uno a breve, uno a medio ed uno a lungo termine; in questo modo risulta in genere possibile miscelare la quotidiana attività di manutenzione evolutiva dell’applicazione con gli obbiettivi di miglioramento aziendali rilasciando progressivamente le novità sviluppate sul proprio mercato di riferimento.

Chi volesse approfondire l’argomento mi contatti: gianni.sandiglianoATunifacesolutions.com

Installazione di Uniface – Problemi con Uniface Tomcat?

Installando Uniface in ambiente Windows vengono configurati alcuni servizi all’interno del sistema operativo in modo che l’ambiente Uniface si avvi automaticamente all’avvio del sistema stesso.

Fino alla versione U9.6 i servizi Windows configurati sono stati 3:
– Uniface URouter
– Uniface Tomcat
– Uniface SolidDB
A partire dalla versione U9.7 si riducono a 2 essendo SolidDB stato sostituito da SqlLite come DBMS di default di ogni installazione.

Durante il processo di installazione vengono richiesti i vari parametri che contribuiscono all’installazione dei vari servizi. Eventuali problemi di installazione di URouter o di SolidDB, ad esempio una sovrapposizione della porta TCP in ascolto con altri software o con altre versioni di Uniface, possono essere facilmente individuati e debuggati analizzando i relativi log files.

Un poco più complessa è la configurazione di Tomcat, costituita dalle varie variabili di ambiente necessarie a questo software che svolge funzione di “application server”. Può capitare che l’installazione di Tomcat si sovrapponga ad altri software installati utilizzanti anch’essi questo “application server” piuttosto diffuso.
Come si fa a verificarla ed eventualmente modificarla dopo l’installazione?

Per prima cosa bisogna procurarsi la stringa di comando per l’avvio del servizio Uniface Tomcat definita all’atto dell’installazione di Uniface. Per fare questo è sufficiente dalla Microsoft Management Console dedicata ai servizi del sistema operativo accedere alle proprietà del servizio incriminato. Vi troverete dinnanzi ad un formato simile a questo:

<DISK:><PATH>tomcat8.exe //RS//<YourServiceID>

Copiate l’intera riga di comando e incollatela in una finestra di “prompt dei comandi”, modificandola in questo modo:

<DISK:><PATH>tomcat8W.exe //ES//<YourServiceID>

Le modifiche apportate sono 2:
– Aggiunta del carattere W al termine del nome dell’eseguibile prima del punto separatore dell’extension, per puntare ad un altro eseguibile disponibile nell’installazione di Tomcat.
– Nel primo parametro modifica di //RS// (che significa Run Service) con //ES// (che significa Edit Service)

Eseguite il vostro comando e vi troverete in una finestra che vi permetterà di modificare i parametri del vostro servizio Uniface Tomcat.

Per chi fosse interessato ad un approfondimento sul tema, consiglio la lettura della pagina: https://tomcat.apache.org/tomcat-8.0-doc/windows-service-howto.html

Buona lettura!

Sviluppo applicazioni Web – Mobile

Con il rilascio della versione 9.7.02 si è aperta la possibilità di sviluppare e rilasciare applicazioni mobile con Uniface.

Lo sviluppo con Uniface di applicazioni mobile presuppone conoscenza nello sviluppo di applicazioni Web con integrazione delle tecnologie che stanno alla base del web 2.0 (HTML5 / CSS3 / Javascript) nel contesto delle DSP (Dynamic Server Pages), la cosiddetta “programmazione lato browser”.

Al fine di permettere agli sviluppatori Uniface Desktop (Client/server) di approcciare lo sviluppo web/mobile DA ZERO gli ULab hanno rilasciato sul canale YouTube dedicato a Uniface una serie di filmati che sono raccolti in un articolo introduttivo disponibile su uniface.info alla pagina:

http://unifaceinfo.com/html5-javascript-css3-training-videos-uniface-developers-uniface-info/

I brevi filmati chiariscono alcuni punti fermi dello sviluppo Web/Mobile, dando un compito specifico ad ognuna delle tecnologie di base coinvolte nella programmazione lato browser:

  1. HTML5: gives a meaning to data.
  2. CSS3: styles elements presented on screen, paper, or other media.
  3. Javascript: a scripting language to enable interactive sites.

Nell’ambito dei filmati viene fatto riferimento ad un paio di siti di supporto:
1) http://caniuse.com che costituisce uno dei principali riferimenti per conoscere il livello di supporto, e di conseguenza la portabilità, di una specifica funzionalità della programmazione lato browser.
2) http://css3generator.com che permette un approccio semplificato a quelle direttive CSS3 che dovessero essere differenziate e/o moltiplicate nella loro sintassi per ottenere una effettiva portabilità attraverso i vari browser e le loro versioni.

Un’ultima avvertenza, consiglio la visione dei filmati in quest’ordine:
1) HTML5
2) CSS3
3) Javascript

Buona visione!

Uniface applications in modalità “readonly”

Negli ultimi anni è diventata sempre più pressante l’esigenza di proteggere i sistemi informativi aziendali, che permettono il regolare svolgersi della quotidianità, dalle invasioni indesiderate di agenti esterni come virus o da azioni inconsulte da parte di maldestri utenti.

Affiancando questa esigenza a quella di un regolare e progressivo aggiornamento dell’ambiente Uniface Runtime, abbiamo deciso di sviluppare un semplice script shell che si occupasse in modo completo dell’avviamento di un (sotto)sistema sviluppato con Uniface in un ambiente di produzione.

Questo script shell, particolarmente utile da quando il numero di utenti supera le 50 unità, permette di:
– Avere un unico e standardizzato criterio di avviamento a cui far puntare le icone di avvio di TUTTI gli utenti;
– Standardizzare e configurare in maniera nettamente separata l’area programmi e l’area dati di un (sotto)sistema;
– Riconoscere le varie directory di riferimento e di lavoro dell’applicazione con delle semplici chiamate;
– Mettere in linea un aggiornamento dello Uniface Runtime in modo progressivo prima agli utenti pilota e poi a tutto il resto dell’utenza configurando semplicemente un paio di files;

Chi volesse avere maggiori informazioni su questo criterio organizzativo per il rilascio in produzione di applicazioni Uniface mi contatti.

Uniface & Windows Registry

Ad oggi Uniface, quando eseguito su piattaforma MSW o derivate, utilizza il registry di Windows per conservare diverse informazioni; dalla documentazione fornita con il prodotto è possibile ricavare un elenco di tali categorie di informazioni:
– Component States
– Logical printers
– Command line history
– Installation information
– COM options
– Application Informations
– Initialization Settings

Alcune di queste informazioni hanno cambiato posizione di base all’interno del registry nel passaggio dalla versione U9.6 alla U9.7, a seguito dell’abbandono di tutti i riferimenti al vecchio proprietario del prodotto. Quello che in precedenza era salvato sotto:
HKEY_CURRENT_USER\Software\Compuware\Uniface\USYS9\State\
a partire da U9.7 è salvato sotto:
HKEY_CURRENT_USER\Software\Uniface\Uniface 9\State\
E’ garantita compatibilità con il passato in quanto la vecchia posizione viene comunque letta anche da U9.7 ma i nuovi salvataggi avvengono sempre nella nuova posizione.

Ho sviluppato alcune funzionalità aggiuntive al prodotto per dare visibilità a quanto suddetto; chi fosse interessato può contattarmi attraverso questa discussione oppure con uno tra i canali più consueti.

URouter Monitor migliorativo

Dalla Spagna ricevo e pubblico informazioni relative ad una versione migliorativa del monitor di URouter distribuito con l’ambiente Uniface. Risulta particolarmente utile in configurazioni con un numero significativo di utenti (> 50).

**********

UMO is an Uniface standalone application that uses UnifaceMonitor API to control URouter.

Features

  • Visual enhancement of standard Uniface Monitor tool
  • Remembers all urouters you connected to
  • Remembers users and passwords
  • Allows vision only or privileged access
  • Allows kill specific uservers or using a profile
  • Allows start uservers for specific UST
  • Shows statistics for every UST
  • Records statistics in database (when is running)
  • Order urouter to re-read asn file

Information about each userver is clear and multilanguage using tooltips to explain the meaning of fields.

UMO

  1. Connect
  2. Start/stop recording stats
  3. Filter (future use)
  4. Login as super-user
  5. Show uservers only or connected clients
  6. There is no six
  7. Refresh
  8. Start/Stop/Statistics about uservers (same as right-click over uservers)
  9. Show/Hide 10
  10. Info about selected userver
  11. Uservers running

Control-K changes theme colors

**********

Ringrazio Luis Vila, colui che ha sviluppato e distribuisce tale applicazione, e mi metto a disposizione per fornire maggiori informazioni agli eventuali interessati.