Evento 18 giugno - Sviluppo applicativo

22
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

Transcript of Evento 18 giugno - Sviluppo applicativo

Page 1: 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

[email protected]

DIrectory

Subsystems

Backup

Systems Management

Output

DBA Tools

Cluster

Networking

OLTP

Virtual Machines Security

Storage Management

WebServices

Batch

Auditing

File Serving

7.2

Page 2: Evento 18 giugno - Sviluppo applicativo

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 !

Page 3: Evento 18 giugno - Sviluppo applicativo

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

Page 4: Evento 18 giugno - Sviluppo applicativo

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)

Page 5: Evento 18 giugno - Sviluppo applicativo

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

Page 6: Evento 18 giugno - Sviluppo applicativo

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

Page 7: Evento 18 giugno - Sviluppo applicativo

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

Page 8: Evento 18 giugno - Sviluppo applicativo

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)

Page 9: Evento 18 giugno - Sviluppo applicativo

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!

Page 10: Evento 18 giugno - Sviluppo applicativo

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

Page 11: Evento 18 giugno - Sviluppo applicativo

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

Page 12: Evento 18 giugno - Sviluppo applicativo

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

Page 13: Evento 18 giugno - Sviluppo applicativo

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

Page 14: Evento 18 giugno - Sviluppo applicativo

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

Page 15: Evento 18 giugno - Sviluppo applicativo

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

Page 16: Evento 18 giugno - Sviluppo applicativo

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

Page 17: Evento 18 giugno - Sviluppo applicativo

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

Page 18: Evento 18 giugno - Sviluppo applicativo

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

Page 19: Evento 18 giugno - Sviluppo applicativo

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!

Page 20: Evento 18 giugno - Sviluppo applicativo

© 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/

Page 21: Evento 18 giugno - Sviluppo applicativo

© 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 !

Page 22: Evento 18 giugno - Sviluppo applicativo

© 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