Sei sulla pagina 1di 16

Alyante Enterprise/Start

Corso aggiornamento
Framework TS

Mirko Montesi
Argomenti del corso

1. Overview su architettura Alyante


2. Standard di presentazione
3. Componenti OCX standard e deprecati
4. Riposizionamento controlli e form dinamiche
5. Utilizzo risorse (FWBO_RESOURCE e TMS_EDITPATH)
6. Standard per multilingua e MsgBox TeamSystem
7. Stampe (FWBO_REPORT30)
8. Terminazione programmi
9. Linee guida compilazione

23/01/2015
1. Alyante, architettura

23/01/2015
1. Alyante, architettura
CLIENT/BROWSER
Polyedro • GE/GS: l’ERP resta alla base della
Alyante / Polyedro soluzione fornendo le logiche funzionali
Alyante
WebSGD
• Dispatcher (APD): Gestisce la
comunicazione fra le n sessioni
WEB applicative e il server di comunicazione
WEB SERVER • Polyedro: mette a disposizione il
POLYEDRO motore Javascript per la renderizzazione
web. Ascolta e comunica al server i
LAN (TCP/IP) cambi di stato della UI web. Fornisce i
servizi di infrastruttura
APPLICATION SERVER
DISPATCHER • [WebSGD]: client per gestione risorse
locali
GE/GS GE/GS … GE/GS
Sessione1 Sessione2 SessioneN

23/01/2015
1. Alyante – Canale di comunicazione

23/01/2015
2. Standard di presentazione

Framework TeamSystem

I programmi all’interno di Alyante si basano sul Framework TS che offre dei


componenti standard e diversi servizi come ad es. stampa, mail, fax, esportazioni,
ecc.
La pervasività del framework sull’interfaccia utente dei programmi di Alyante ci
ha permesso di progettare un canale di comunicazione tra il server, dove gira
fisicamente l’applicazione, ed il client dove risiede il browser.

Tale risultato richiede l’utilizzo completo e corretto del framework Gamma


Enterprise sull’interfaccia utente e quindi una verifica di conformità dei
programmi ad oggi sviluppati.

23/01/2015
2. Standard di presentazione

OCX TMS_RESIZEFORM
Il componente è già presente da tempo nel Framework e offre servizi di
ancoraggio, font resize e multilingua.
Allo stato dell’arte, per rendere possibile la visualizzazione dei programmi sul
web, è invece NECESSARIO che su tutte le form sia presente e sia inizializzato il
componente TMS_RESIZEFORM.

In particolare:
• il componente deve essere posto direttamente sulla form (non all’interno di frame o altri
contenitori)
• il componente deve essere inizializzato, mediante richiamo esplicito del metodo
“Initialize”

Dove va posizionata l’istruzione «Initialize»?


• L’inizializzazione del componente deve essere fatta DOPO eventuali aggiunte dinamiche
di controlli o riposizionamenti a runtime.

23/01/2015
3. Componenti OCX
I componenti OCX disponibili in Gamma sono stati censiti e suddivisi in tre
categorie:

• Supportati
• Lista completa dei componenti validi e utilizzabili in Alyante
• Sconsigliati
• renderizzato con scarsi risultati prestazionali e le proprietà grafiche non
consentono l’adeguamento allo stile grafico Teamsystem anche sui prodotti
desktop
• Deprecati
• Come i precedenti, in più in alcuni contesti d’uso potrebbero addirittura risultare
non completamente funzionanti (in questo contesto devono essere sostituiti)

Usercontrol «in grafica»

23/01/2015
4. Riposizionamento controlli e form
dinamiche
• Caricamento controlli a run-time
• Tutti i caricamenti dinamici di componenti a run-time (ad esempio con l’istruzione
Load o Controls.Add) devono avvenire prima dell’attivazione del
TMS_RESIZEFORM, altrimenti non saranno gestiti in ambito web

• Ri-posizionamento controlli a runtime


• Se a runtime vengono modificate le coordinate di controlli Teamsystem
reimpostando le proprietà Left e Top è NECESSARIO aggiungere una esplicita
chiamata al metodo VBRResize dell’oggetto

• L’utilizzo dell’istruzione Zorder per portare in primo/ultimo piano un


componente a runtime non è supportata. Si consiglia di utilizzare la proprietà
VISIBLE

• Il cambio di container a run-time è un’operazione non supportata

23/01/2015
5. Utilizzo risorse
(FWBO_RESOURCE e TMS_EDITPATH)

• FWBO_RESOURCE
• Si tratta di una classe di astrazione delle risorse a disposizione (file,
cartelle, stampanti, registro di windows, applicazioni)
• Tipologie di risorse (classi):
• FileSystem
• File Dialog (Scelta Cartella, Apertura File, Salvataggio File)
• Registro di Sistema di Windows
• Stampanti
• Applicazioni
• Scrittura Log su Database
• TMS_EDITPATH
• Si tratta di un componente per la gestione dei percorsi
• Tipi di percorsi
• Proprietà principali
• Bindabile al VirtualFrame

23/01/2015
6. Standard per multilingua e MsgBox
TeamSystem

• Utilizzo di TMSMSGBOX e TMSINPUTBOX


• Le finestre di dialogo VB6 Msgbox ed InputBox vanno sostituite con le omologhe
finestre di dialogo prodotte da Teamsystem. Le funzioni si trovano nella classe di
gestione multilingua:
ActiveInterface.ClsGlobal.Gcls_MULTILINGUA.TMSMsgBox/TMSInputBox
• L’operazione può essere fatta con una semplice Replace

23/01/2015
7. Stampe (FWBO_REPORT30)

• FWBO_REPORT30
• La libreria sostituisce il precedente FWBO_REPORT
• Utilizza la runtime Crystal Reports XI
• Utility di migrazione: CRReplacer.exe

23/01/2015
8. Terminazione programmi

• La corretta terminazione dei singoli programmi è fondamentale. La mancata


terminazione di un singolo programma può minare la stabilità dell’intero
gestionale
• Metodologie di controllo (ProcessExplorer)
• Possibili soluzioni

23/01/2015
9. Alyante, Linee guida compilazione

Nomenclatura
• Release FULL
• UPGRADE mensili
• MAINSTREAM

Le compilazioni dei programmi devono essere fatte in compatibilità binaria


«Se si effettua una modifica che si traduca in una versione incompatibile, sarà
generato un avviso. Questa impostazione è utilizzata al fine di mantenere la
compatibilità con precedenti versioni rilasciate di una libreria ActiveX.» (fonte
Microsoft)

23/01/2015
9. Alyante, Linee guida compilazione

• Programmi personalizzati VB6 con utilizzo di framework Teamsystem


Facendo riferimento alla regola imposta dalla compatibilità binaria, qualsiasi
personalizzazione compilata sulla release FULL continua a funzionare per tutta la durata
del mainstream.
Qualsiasi pubblicazione fatta da Teamsystem in un UPGRADE o in una BUILD, non invalida
alcuna compilazione personalizzata fatta nel periodo precedente.
Compilare un programma personalizzato su uno specifico upgrade o su una specifica
build, lo rende incompatibile con qualsiasi installazione precedente. La compilazione sarà
però compatibile con tutti i rilasci successivi. Quest’ultima situazione potrebbe rendersi
necessaria qualora si vogliano utilizzare funzionalità introdotte proprio in upgrade
successivi alla full.
La regola resta quindi valida sempre e comunque “guardando in avanti”.

• Plug-in di personalizzazione (es MGBO_REGDOCPERS)


Come sopra

23/01/2015
9. Alyante, Linee guida compilazione

• Personalizzazioni Vbscript
Le personalizzazioni eseguite mediante Teamsystem Vbscript sono costituite da testo
memorizzato su database. Tali porzioni di codice sono messe in esecuzione a runtime.
Per definizione del servizio, qualsiasi aggiornamento di fabbrica non invalida il
funzionamento di quanto fatto nelle versioni precedenti.

• Reportistica, modifica ai layout di stampa mediante Crystal Reports


La modifica ai layout di stampa non segue le regole di compatibilità binaria, quindi
qualsiasi aggiornamento Teamsystem non preclude il funzionamento della reportistica
personalizzata.

23/01/2015

Potrebbero piacerti anche