Develop Modern Power i applications 1 Le Novita’ dello sviluppo applicazioni per IBM i Massimo Marasco Consulente IT - IBM Power i [email protected]DIrectory Subsystems Backup Systems Management Output DBA Tools Cluster Networking OLTP Virtual Machines Security Storage Management WebServices Batc h Auditing File Serving 7.2
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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
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)
– 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)