Evento 18 giugno - Sviluppo applicativo
-
Upload
pragma-progetti -
Category
Technology
-
view
64 -
download
1
Transcript of Evento 18 giugno - Sviluppo applicativo
Develop Modern Power i applications 1
Le Novita’ dello sviluppo applicazioni per IBM i
Massimo Marasco
Consulente IT - IBM Power i
DIrectory
Subsystems
Backup
Systems Management
Output
DBA Tools
Cluster
Networking
OLTP
Virtual Machines Security
Storage Management
WebServices
Batch
Auditing
File Serving
7.2
Develop Modern Power i applications 2
Le Novita’ dello sviluppo applicazioni per IBM i - Agenda
Novita’ ambienti di sviluppo Rational e ILE RPG
IBM i e XML
Richiamo di Web Services SOAP e REST via SQL (DB2 for i HTTP Functions)
Pubblicazione di applicazioni legacy IBM i come Web Services REST nel Web Services Server Integrato
IBM i e JavaScript: Node.js for i NEW !
Develop Modern Power i applications 3
Nuove sfide, nuovi strumenti di sviluppo
I linguaggi OPM sono da tempo “stabilizzati”
– gli unici linguaggi che evolvono di release in release e che quindi devono essere utilizzati sono i linguaggi ILE
– ILE garantisce funzionalita’ ed efficienza incomparabilmente superiori all’ambiente OPM
I tool di sviluppo basati su 5250 (PDM, SEU, SDA, RLU) sono da tempo “stabilizzati”
– il SEU e’ stato congelato alla versione 6.1 di IBM i
• nessun controllo sintattico / semantico delle nuove funzioni introdotte nei linguaggi ILE da v7.1 in poi
– i nuovi tool di sviluppo Rational per IBM i offrono piena funzionalita’, unita a facilita’ d’uso e di apprendimento, produttivita’ ed efficienza
Develop Modern Power i applications 4
Posizionamento dei prodotti
Rational Developer for i 9.1
RPG and Cobol Tools
Sviluppo RPG, Cobol, CL, DDS
Sviluppo Java, JEE, Portale,
Web 2.0
Rational Developer for i 9.1 RPG and Cobol Tools +
ModernizationTools – Java Edition
Sviluppo RPG, Cobol, CL, DDS
Sviluppo Java, JEE, Portale, Web
2.0 integrato con IBM i
HATS, WebFacing
Rational Application Developer
(RAD)
Develop Modern Power i applications 5
Rational Developer for i RPG and Cobol Tools
Ambiente di sviluppo completo per applicazioni legacy IBM i (RPG, Cobol, CL, DDS)
Editor grafico LPEX per una alta produttivita’ dello sviluppo
– Outline view
– Content assist
Application Diagram per una rappresentazione visuale delle relazioni tra subroutine, procedure e programmi
Screen Designer per la creazione di mappe video
Report Designer per la creazione di file di stampa
Debug grafico integrato
Supporto per client Linux (versione 8.0)
– Red Hat Enterprise Linux (RHEL) Desktop 5 x86-32
– SUSE Linux Enterprise Desktop (SLED) 10 x86-32
– SUSE Linux Enterprise Desktop (SLED) 11 x86-32
Develop Modern Power i applications 6
Remote System Explorer e iProjects
Remote System Explorer
–unico punto di accesso alle risorse IBM i
• librerie, oggetti e membri (PDM Grafico)
• file dell'Integrated File System
• job
iProjects
–organizzazione delle risorse IBM i in progetti locali sul client
–“local history” delle modifiche di ciascun sorgente
–permette di lavorare “offline”
• le risorse del progetto vengono copiate localmente su PC mentre la connessione con il server IBM i e' attiva, quindi la connessione viene chiusa e si puo’ lavorare sul progetto disconnessi da IBM i
• una volta riconnessi a IBM i, i sorgenti possono essere trasferiti sul server per la compilazione finale e il test
Develop Modern Power i applications 7
ILE RPG IV TOTALMENTE a formato libero
Possibilità di scrivere un INTERO programma ILE RPG IV a formato libero
– specifiche di controllo (H), di definizione file (F), variabili (D) e procedure prototipate (P) a FORMATO LIBERO
– specifiche a formato fisso ancora supportate
• possono essere mescolate liberamente con quelle a formato libero
• /free e /end-free non sono piu’ necessari
Migliore leggibilità
Maggiore facilita’ di apprendimento per programmatori con cultura C, Java, PHP, ecc.
Annunciato con il Technology Refresh 7 di IBM i 7.1
Reso disponibile in IBM i v7.1 con la PTF SI51094 di 5770-WDS nel Novembre 2013
– installabile anche se TR7 non è stato installato
– i programmi compilati non necessitano ne’ della PTF ne’ del TR7
Develop Modern Power i applications 8
Editor per RPG IV TOTALMENTE a formato libero
L’editor LPEX delle versioni 9.0.1 e 9.1 di Rational Developer for i (RDi) sono gli unici a supportare il formato libero esteso di ILE RPG IV
Il formato libero esteso di RPG NON e’ supportato ne’ dal SEU, ne’ da LPEX della versione 9.0 di RDi o di versioni precedenti di RDPower (v8.0, v8.5)
Develop Modern Power i applications 9
ILE RPG IV a formato libero Il codice a formato libero va scritto da colonna 8 a colonna 80
Ogni specifica a formato libero
– inizia con un “codice operativo”
– finisce con punto e virgola (;)
Specifica a formato fisso “Codice operativo” a formato libero
H ctl-opt
F dcl-f
D (variabili standalone) dcl-s
D (costanti con nome) dcl-c
D (strutture dati) dcl-ds ... end-ds
D (prototipi) dcl-pr ... end-pr
D (interfacce procedure) dcl-pi ... end-pi
D (sottocampi di DS, PR, PI)
P dcl-proc ... end-proc
N.B: definizioni di file e variabili possono essere mescolate liberamente, anche a formato fisso!
Develop Modern Power i applications 10
XML – eXtensible Markup Language
Tecnologia chiave per –scambio e integrazione di dati
• sempre piu’ diffusa e richiesta
–applicazioni Web e Web Services
–Service Oriented Architecture (SOA)
Modello di dati –“autodescrittivo”
–gerarchico
http://www.w3.org/XML
Develop Modern Power i applications 11
Fatturazione Elettronica verso la Pubblica Amministrazione
La Finanziaria 2008 ha stabilito che la fatturazione nei confronti delle amministrazioni dello stato debba avvenire esclusivamente in forma elettronica attraverso il Sistema di Interscambio
Il Decreto Ministeriale 3 aprile 2013, numero 55, stabilisce le regole in materia di emissione, trasmissione e ricevimento della fattura elettronica (FatturaPA) e ne definisce il formato
La FatturaPA e’ la sola tipologia di fattura elettronica accettata dalle Amministrazioni che, secondo le disposizioni di legge, sono tenute ad avvalersi del Sistema di Interscambio
Il formato della FatturaPA e’ XML: http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.0/fatturapa_v1.0.xsd
http://www.fatturapa.gov.it/export/fatturazione/it/fattura_PA.htm
Develop Modern Power i applications 12
SEPA – Evoluzione dei sistemi di pagamento
Single Euro Payments Area - Area Unica dei Pagamenti in Euro
Progetto promosso dalla Banca Centrale Europea e dalla Commissione europea
Obiettivo: estendere il processo d'integrazione europea ai pagamenti al dettaglio in euro effettuati con strumenti diversi al contante (bonifici, addebiti diretti e carte di pagamento)
Gli strumenti di pagamento SEPA si basano sui nuovi standard UNIFI (ISO 20022) XML
– adottati da tutti i partecipanti alla SEPA
– sostituiscono gli standard precedentemente utilizzati a livello nazionale (standard RNI)
http://www.sepaitalia.eu
Develop Modern Power i applications 13
XML e IBM i
Il linguaggio ILE RPG IV e’ l’unico ad avere un parser XML integrato (dalla V5R4 di i5/OS) – Due codici operativi nativi – Tre modalita’ di elaborazione di documenti XML
Integrazione XML in DB2 per i (dalla v7.1 di IBM i) – ottenere dati da un documento XML come result set di una
SELECT SQL (Built-in Function XMLTABLE) • join tra dati relazionali e dati XML • lettura da XML e scrittura su dati relazionali • accesso a dati XML via DB2 Web Query
– generare documenti XML da tabelle relazionali (SQL XML Publishing Functions)
– inserire righe di tabelle relazionali a partire da dati ricavati da documenti XML (Annotated XML Document Decomposition)
– immagazzinare documenti XML in colonne di tabelle relazionali con validazione a fronte di XML Schemas registrati in DB2
Develop Modern Power i applications
Web
Service
14
Big Data: Query the Web! – DB2 per i HTTP Functions
Molte informazioni sono disponibili in Internet come Web Services
– es.: tassi di riferimento della BCE, tassi di cambio del Franco Svizzero, informazioni varie dal Governo degli USA, informazioni di borsa, informazioni meteorologiche, ecc.
Possibilita’ di richiamare qualunque Web Service via SQL
– DB2 per i HTTP Functions
Normalmente i dati del Web Service sono ritornati in formato XML
– possibilita’ di elaborare dati XML come un result set relazionale via funzione XMLTABLE
Internet SQL Data
Access
Logic
Business
Logic
SQL HTTP Functions
SQL
XMLTABLE
Develop Modern Power i applications 15
Internet o
Intranet
Integrazione con altre applicazioni - Web Services
Nuovo modello applicativo
Servizi Web "batch" e transazionali
Non hanno interfaccia utente ma interagiscono con i programmi chiamanti attraverso parametri di input e di output
Tecnologie a supporto
– WSDL - Web Services Description Language • linguaggio XML standard per descrivere l’interfaccia dei servizi
– SOAP - Simple Object Access Protocol • protocollo standard per l’accesso ai servizi
Programma
Applicativo
Web
Browser
Web Service
HTML
HTTP
WSDL
SOAP over HTTP
Web Application
Develop Modern Power i applications 16
Integrazione con Web 2.0 / Mobile
Caratteristiche / requisiti del richiamo della business logic
– scambio parametri frequente
• necessita’ di un protocollo più “leggero” di SOAP
– flusso parametri su Internet
• impossibile aprire porte “sensibili” (ad es.: Toolbox o JDBC)
Data
Access
Logic
Business
Logic
MODEL
? Browser Web 2.0
HTML
JavaScript
View + Controller
Mobile
APP
Develop Modern Power i applications 17
Integrazione con Web 2.0 / Mobile – RESTful Web Services
Caratteristiche / requisiti del richiamo della business logic
– scambio parametri frequente
• necessita’ di un protocollo più “leggero” di SOAP
– flusso parametri su Internet
• impossibile aprire porte “sensibili” (ad es.: Toolbox o JDBC)
Tecnologie
– RESTful Web Services
– JSON, XML
Data
Access
Logic
Business
Logic
H T T P
GET/POST
JSON
XML
MODEL
Browser Web 2.0
HTML
JavaScript
View + Controller
Mobile
APP
Develop Modern Power i applications 18
DB2 for i HTTP Functions
Possibilità di richiamare web services REST o SOAP via SQL
Nuove funzioni HTTP messe a disposizione nell’SQL Schema SYSTOOLS
– contiene tools ed esempi forniti dal laboratorio “as is”
Annunciato con il Technology Refresh 6 di IBM i 7.1 e reso disponibile con il livello 23 delle Group PTF di Database (SF99701)
https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/IBM%20i%20Technology%20Updates/page/
New%20HTTP%20functions%20added%20to%20SYSTOOLS
Develop Modern Power i applications 19
Integrated Web Services Server Un Web Services Server integrato nel sistema operativo
–supporto SOAP disponibile a partire dalla V5R4
–supporto REST a v7.1 con Group PTF SF99368 liv. 31 o v7.2 con Group PTF SF99713 liv. 5
Requisiti – IBM HTTP Server for iSeries (57xxDG1)
• ultimo livello delle Group PTF per IBM HTTP Server for i
– IBM Developer Kit for Java (57xxJV1 opzione BASE)
– J2SE 5.0 32 bit (57xxJV1 opzione 8)
– Portable Application Solutions Environment (57xxSS1 opzione 33)
– Host Servers (57xxSS1 opzione 12)
– QShell (57xxSS1 opzione 30)
– Extended Base Directory Support (57xxSS1 opzione 3)
Gestione completa da browser via IBM
Web Administration for i (porta 2001) – STRTCPSVR SERVER(*HTTP) HTTPSVR(*ADMIN)
Permette di pubblicare come Web Services
programmi ILE o procedure esportate da
service program ILE
– batch
– senza interfaccia utente
– che ricevono parametri di input e restituiscono
parametri di output
– previa una semplice ricompilazione!
Web Services Server
Client del
Web Service
S O A P
Data
Access
Logic
Business
Logic
WSDL
H T T P
Web 2.0
HTML
JavaScript
Mobile
APP
H T T P
GET/POST
XML/JSON
NEW!
© 2008 IBM Corporation Develop modern Power i applications
20
Sviluppo JavaScript su Server – Node.js
Una platform per eseguire codice JavaScript su server
– basata sul runtime JavaScript di Google Chrome (V8)
• Particolarmente efficiente perché compila il codice JavaScript in codice macchina nativo
– event driven
– modello di I/O non bloccante
Contiene moduli di I/O per network e file
– HTTP, HTTPS, TLS, TCP, UDP
– File system POSIX
Permette di sviluppare Server JavaScript applicativi
– gestiscono le comunicazioni con il Client JavaScript, eseguito nel browser, con una tecnica simile a quella dei Web Services REST
• ricevono richieste HTTP GET o POST e ritornano JSON o HTML
http://nodejs.org/
© 2008 IBM Corporation Develop modern Power i applications
21
Node.js for i Un ambiente di runtime Node.js su IBM i
– eseguito nel PASE (richiede Portable Application Solutions Environment, 5770SS1 opzione 33)
DB2 for i Access Library
– modulo per l’accesso a oggetti DB2 for i da JavaScript
Node.js toolkit for IBM i
– modulo per l’accesso a programmi ILE e altre risorse di sistema (stato del sistema e valori di sistema, informazioni su oggetti e job, code dati, ecc.)
Disponibile a v7.1 e v7.2 di IBM i
– impacchettato nell’opzione 1 del nuovo prodotto programma gratuito Open Source for IBM i (5733-OPS)
https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/IBM%20i%20Technology%20Updates/page/Node.js
NEW !
© 2008 IBM Corporation Develop modern Power i applications
22
Node.js for i
Data
Access
Logic
Business
Logic
HTML
JavaScript
Java
Script
Node.js
Toolkit
for IBM i
H T T P
GET/POST
J S O N
H T M L
Web Browser
Node.js for i Runftime