Dai programmi batch a quelli interattivi a quelli Web

L’ elaborazione meccanografica dei dati parte dalla modalità batch, cioè a blocchi, si evolve poi nell’ elaborazione interattiva tramite terminali ed arriva alle attuali elaborazioni WEB.

Ai giorni nostri, in un normale ambiente informatico sono presenti tutte e tre le metodologie. Infatti ad esempio l’ emissione delle fatture con periodicità mensile mentre una volta era una necessità dettata da una tecnologia non ancora sviluppata, oggi la stessa soluzione può essere dettata da esigenze applicative e non più tecnologiche, basti pensare alle fatture relative alle utenze domestiche di energia elettrica, telefonia ecc …  

 

Annunci

L’ elaborazione via WEB

L’ avvento di internet e delle nuove tecnologie introdotte dalle stazioni di lavoro grafiche come i PC hanno portato ad un immediato sviluppo delle elaborazioni via WEB.

Più precisamente è da notare che con il termine “elaborazione WEB” ci si può riferire a due aspetti, spesso congiunti, ma concettualmente diversi, e cioè:

a)      Elaborazione che sfrutta la rete mondiale di internet (World Wide Web) e quindi rende raggiungibile e collegabile qualsiasi angolo del pianeta.

b)      Elaborazione che usa come strumento di interfaccia utente il browser, cioè lo strumento standard (nelle sue varie versioni: I.E., Firefox, Opera ecc..) con cui si accede ad internet. Questo strumento utilizza largamente la tecnologia grafica (bottoni, menu a tendina, immagini, filmati, link, effetti grafici ecc.).

Si può parlare quindi di elaborazioni WEB anche per applicazioni che non utilizzano la rete internet, ma sono destinate ai soli utenti aziendali collegati tra loro e con il sistema centrale tramite una rete locale (intranet). Questo trova giustificazione nel fatto che la stessa applicazione potrebbe tranquillamente girare anche sull’ intera rete mondiale di internet.

Riguardo l’ elaborazione via WEB il sistema AS/400 è quello che meglio si presta allo scopo. Infatti le sue caratteristiche di:

a)      Inattaccabilità da virus, hackers ecc..

b)      Sicurezza degli accessi

c)      Struttura nativa di autorizzazione sugli oggetti

d)      Elevata affidabilità e continuità di servizio

e)      Riutilizzabilità del patrimonio software

f)        Predisposizione nativa e strutturale alla multiutenza

ne fanno la macchina ideale per gestire con sicurezza, affidabilità e flessibilità una situazione di numerosi client in ambiente internet o intranet.

Il sistema AS/400 (oggi Power System con Sistema Operativo IBM i), viene purtroppo ancora associato ai suoi ormai vetusti terminali testuali a caratteri verdi su fondo nero. Questo è come pensare che in America ci siano ancora i Pellerossa o che una nave per galleggiare debba essere fatta di legno. Viceversa oggi esso è in grado di controllare migliaia di stazioni di lavoro collegate contemporaneamente via WEB con sofisticate funzionalità grafiche, e questo lo fa con un elevatissimo livello di sicurezza, continuità di servizio, efficienza e facilità di gestione. E’ bene anche considerare che se questo può essere possibile con migliaia di client, ancor meglio sarà  nel caso di qualche decina di client contemporanei.

Questo elevatissimo livello di prestazioni è possibile proprio grazie agli enormi sviluppi che il sistema ha avuto partendo dai tempi dei terminali monocromatici. Si è passati dalla tecnologia CISC a quella RISC, si sono succeduti tutta una serie di processori il cui ultimo (POWER6) è stato annunciato e reso disponibile proprio nel 2008, con in più la possibilità di averne fino a 64 che lavorano in parallelo sullo stesso sistema, diverse versioni e livelli di sistema operativo la cui ultima (V6R1) è stata resa disponibile anch’ essa proprio nel 2008. Sempre nel 2008 è stato realizzato quello che da sempre è  stato un sogno  per l’ informatica: avere un hardware su cui possano girare contemporaneamente sistemi operativi di piattaforme diverse. Questo è stato realizzato con il sistema Power System sul quale possono essere installati e funzionare contemporaneamente LINUX, AIX (Unix), IBM i (nuovo nome del sistema operativo dell’ AS/400), altro che terminali monocromatici ! E’ anche possibile “vedere” una cpu INTEL con sistema operativo Windows, fornire ad essa una opportuna porzione dei parco dischi e dialogare con essa.

 

Nuove problematiche

Fatta queste premesse, è da notare che l’ elaborazione via WEB da un lato presenta strette analogie con l’ elaborazione interattiva tramite terminale, dall’ altro se ne differenzia per motivi collaterali e legati al contesto in cui avviene l’ elaborazione. In particolare :

1)      L’ elaborazione in termini macroscopici e di programmazione continua ad essere transazionale (anche se per altri motivi è definita più precisamente pseudo-transazionale). Il programma infatti continua a vedere un dispositivo da cui ricevere i dati di input e a cui inviare quelli di output. Nel caso dei terminali l’ I/O dei dati è fatto tramite un oggetto di tipo Display File, nel caso del WEB tramite una pagina HTML. La logica elaborativi quindi non cambia affatto, quel che cambia è lo strumento con cui viene effettuato l’ I/O dei dati. Si vedrà più avanti che potrà essere possibile emettere la pagina HTML con modalità molto simile a quella usata per i terminali 5250. Il grosso valore aggiunto è la possibilità di sfruttare a pieno e direttamente tutta la tecnologia grafica sopra menzionata (bottoni, immagini ecc..)

2)      Il contesto in cui avviene l’ elaborazione presenta degli aspetti nuovi di cui è necessario tener conto se si vogliono ottenere i risultati previsti. In particolare:

a)      L’ utente WEB e la sua stazione di lavoro spesso non sono ben definite ed a volte del tutto sconosciute (come il generico “visitatore” di internet). Per cui mentre in ambiente 5250 le differenze tra una stazione di lavoro e l’ altra sono pressocchè minime, in un contesto WEB numerose sono le caratteristiche del client che potrebbero anche pesantemente influenzare il modo con cui all’ utente si presentano le applicazioni. Queste sono:

·         Il browser utilizzato (Internet Explorer, Firefox ecc …)

·         La risoluzione utilizzata (800×600, 1024×768 ecc..)

·         I font presenti sul client

·         I plug-in installati sul client (Flash, pdf ecc …)

·        La ridimensionabilità della pagina visualizzata con conseguente variazione del layout      

b)      La possibilità di poter inviare pagine con immagini o loghi può comportare un gran traffico di linea, che va tenuto sotto controllo per evitare tempi di attesa insostenibili, tenendo conto che non sempre è nota la velocità di accesso ad internet dei client.

c)      E’ ben noto che andare in internet comporta il rischio di virus, hackers, trojan horses (cavalli di Troia), sniffer. Questi sono rischi concreti e pericolosi solo se si opera su piattaforma Windows. La piattaforma AS/400 (Power System) è notoriamente immune da virus, hackers e trojan horses per dei motivi strutturali che sono da esaminare a parte. Rimane solo da preoccuparsi dello sniffing che non è altro che l’ intercettazione del traffico di rete e che, in quanto tale, avviene fuori dell’ AS/400. Intercettando il traffico è però possibile reperire utente e password ed accedere di conseguenza al sistema. In tal caso occorre intervenire criptando la password o le intere transazioni. Questo è un grossissimo punto di vantaggio della piattaforma AS/400 rispetto a quella Windows. Non passa giorno infatti in cui non vengano rilasciati aggiornamenti su Windows orientati a tappare falle relative alla sicurezza su tale piattaforma, e questo la dice lunga sulla debolezza di Windows in termini di sicurezza.

d)      Poiché una pagina WEB può contenere oggetti di varia natura (immagini, filmati, documenti word, fogli elettronici, file PDF ecc..) occorre che l’ AS/400 faccia da contenitore per tali oggetti. E’ quindi necessario con l’ IFS (Integrated File System) nato proprio per poter contenere, tra gli altri, anche oggetti in formato Windows.

 

Modalità realizzative

Sul sistema AS/400 ( successivamente chiamato iSeries, poi System i ed ora Power System con Sistema Operativo IBM i) la scrittura di programmi e applicazioni WEB è possibile utilizzando tre diverse metodologie:

Web modalità realizzative – Java con WAS

Modalità realizzative

Sul sistema AS/400 ( successivamente chiamato iSeries, poi System i ed ora Power System con Sistema Operativo IBM i) la scrittura di programmi e applicazioni WEB è possibile utilizzando tre diverse metodologie.

In questo primo articolo parleremo di:  Java con WAS (Websphere Application Server).

      Con tale metodologia le applicazioni vengono scritte in Java e girano sotto WAS (Websphere Application Server) che può considerarsi un grosso programma di gestione e amministrazione degli accessi ad internet che si incarica di dialogare con l’ HTTP Server, analogamente a quanto avveniva negli anni 70 con il “Monitor TP” per i primi terminali 3270. L’ accesso al data base dell’ AS/400 avviene tramite driver JDBC e quindi tramite richieste SQL. Questo è notoriamente un accesso di tipo batch, cioè a “blocchi”, che non permette “navigazione” sulle vie di accesso. Ad esempio se si deve generare la fattura relativa ad un ordine cliente lo statement SQL richiede tutti i record dell’ archivio righe d’ ordine relative al numero d’ ordine del cliente; il programma dovrà memorizzare i dati dei record ritornati in opportune schiere e poi elaborare le schiere in sequenza, elemento per elemento. In RPG un caso del genere sarebbe gestito con SETLL e loop di READE nel quale per ogni ciclo viene elaborata una riga d’ ordine. 

Considerazione. Il fatto che i programmi scritti in Java debbano girare all’ interno del Web Application Server, analogamente a quanto avveniva negli anni 70 con il “Monitor TP” ripropone alcune delle problematiche viste a quel riguardo. In particolare molte modifiche ai programmi vanno resa “attive” chiudendo e riavviando l’ “applicazione” WAS corrispondente. Questo comporta che o si fanno fermare gli utenti dell’ applicazione o le modifiche vanno rese attive a fine giornata. Questo rallenta molto la produttività e la facilità di manutenzione del software, includendo in esso anche i semplici aspetti grafici.

E’ da aggiungere che solo alcune funzionalità del sistema operativo sono disponibili e questo solo se si utilizza il prodotto software Toolbox for Java.

 

leggi anche:

  • Pubblicato su Articoli. Tag: , , . 2 Comments »

    Programmazione RPG CGI

    Cosa cambia nella programmazione se si vuole andare in WEB con il linguaggio RPG?
    Concettualmente un programma RPG per il WEB deve solo sostituire l’ I/O per il device WORKSTN con l’ I/O verso il browser.
    Quindi invece di emettere e ricevere in input formati di un display file deve emettere e ricevere pagine HTML.
    Tutto il resto, accesso al data base, logica di calcolo, utilizzo delle funzioni di sistema operativo (autorizzazioni, comit, lock di record, override, lista di librerie, spool ecc.) rimane invariato, a differenza di quanto avviene con altre tecniche

    C’ è una discreta analogia tra la gestione dell’ I/O di pagine HTML e quella di un display file gestito internamente. Infatti:

    DSPF

    • Lettura record READ + Specif. di input
    • Scrittura record EXCEPT + Specif. di output

    HTML

    • Lettura record campo = zhbgetvar(‘campo’)
    • Scrittura callp updhtmlvar(‘campo’:campo) + callp wrtsection(‘formato ‘)

     

    Anche la gestione delle varie pagine HTML è del tutto analoga a quella dei DSPF.
    Infatti:

    • Anche le pagine HTML sono definite esternamente ai programmi
    • Sono organizzate in “sezioni” del tutto analoghe ai formati dei display file

    Ci sono però alcune differenze nella realizzazione di alcune funzioni o effetti come:

    • Subfile – non tanto nella visualizzazione quanto per le tecniche legate ai codici operativi READC, CHAIN e UPDATE
    • Sovrapposizione di formati e finestre
    • Attributi condizionati da indicatori

    Un’ altra differenza importante sta nel flusso elaborativo del programma
    Infatti per poter emettere una pagina il programma deve andare a fine lavoro (RETURN con LR spento) e successivamente per leggerla riparte dalla prima istruzione di calcolo.
    Occorre quindi “veicolare” opportunamente la sequenza elaborativa del programma, per esempio con un tipo record che individui il formato appena letto ed instradi opportunamente la sequenza elaborativa del programma.

    Rispetto ad un DSPF la pagina HTML ha funzionalità e gradi di libertà molto maggiori
    Un tradizionale campo (di input, output o input-output) ha anche attributi relativi al font, allo stile, alla dimensione del carattere, al colore, alla dimensione e colore del bordo, al colore dello sfondo.
    Oltre ai campi nella pagina possono essere presenti altri elementi del tutto nuovi rispetto ai DSPF come link, immagini, filmati, suoni, menu a tendina, check box, effetti grafici ecc..

     Quello che è importante è il fatto che il programma RPG ha il pieno controllo di tutte queste nuove funzionalità, nel senso che può attivarle o no od impostarne l’ opportuna modalità di rappresentazione al verificarsi o meno di certe condizioni applicative.
    Questo è di fondamentale importanza. Questo vuol dire avere un programma WEB.
    Sul mercato ci sono dei software che intercettano le stringhe 5250 emesse dal programma e le trasformano in html, dando l’ impressione di avere un programma WEB. In realtà non è così perché il programma continua a vedere i formati 5250 e non può pilotare funzionalità che il 5250 non ha. E’ come vedere un film in bianco e nero e, mettendosi lenti colorate, illudersi che il film sia a colori.

    ILE CGI vs Java (3), Personalizzazione post-conversione delle pagine WEB

     Aggiunte funzionali post-conversione (possibilità di crescita tecnico-applicativa dei  programmi convertiti)

     

    I programmi RPG 5250 una volta convertiti in ILE CGI sono pienamenti modificabili e arricchibili di nuove funzioni (che ovviamente la versione 5250 non poteva prevedere). Questo perchè si tratta di sorgenti RPG e sorgenti di pagine HTML ben definiti, individuabili  e quindi modificabili, o direttamente aggiungendo sul sorgente gli effetti grafico-funzionali desiderati, o anche utilizzando programmi di editing come “FRONT PAGE”. Per modificare la pagina HTML occorre solo avere conoscenze di HTML. Inoltre il programma RPG ha il pieno controllo di tutti gli elementi della pagina HTML, potendo pilotare e condizionare perfettamente tutti gli effetti grafico-funzionali desiderati.

    Molto diverso il discorso nel caso delle conversioni effettuate con il convertitore Java (ed utilizzo del modulo “RUN”).

     

    Leggi il seguito di questo post »