Presentazione IBM i e Open Source

Transcript

Presentazione IBM i e Open Source
IBMi Next Step
Strumenti moderni per lo sviluppatore IBMi/AS400
Segrate - IBM Client Center - 6 Dicembre 2016
Una collaborazione Faq400.com - IBM Italia
1
www.faq400.com
Portale / Blog / Community
per IBMi / AS400
IBMi Next Step - Open Source Technologies
By Davide Raschetti (Faq400.com)
2
Open Source Technologies
Introduzione
PASE Portable Applications Solution Environment : porting di applicazioni AIX/
UNIX su IBM System i.
Shell dove tra le altre cose è possibile eseguire programmi applicazioni script.
Chiamare programmi ILE, eseguire codice java da programmi ILE, Utilità di sistema.
Negli anni IBM ha lasciato spazio a partners e collaborazioni esterne il porting di
funzionalità su sistema AIX esempio Prezl RPMs
IBMi Next Step - Open Source Technologies
By Davide Raschetti (Faq400.com)
3
QSH/QTERM → SSH SFTP SCP
La shell PASE si può utilizzare con il comando QSH o QTERM, ma diventa molto più
efficiente grazie all’accesso OpenSSH installabile con le seguenti PTF
5733SC1 IBM Portable Utilities for i5/OS *BASE & Option 1
57XXSS1 Option 33 (Portable Application Solutions Environment)
http://www-01.ibm.com/support/docview.wss?uid=nas8N1012710
Interessante cosa posso fare con shell ssh
https://godzillai5.wordpress.com/2015/07/26/what-can-i-do-with-ssh-on-ibmi-thealternative-to-qp2term-aka-omgawful/
IBMi Next Step - Open Source Technologies
By Davide Raschetti (Faq400.com)
4
OPS Prerequisiti
OpenSSH secure shell : shell default è molto spartana, si può personalizzare oppure
installare altra shell ad esempio PowerRuby esistono altre shell.
Installando questa shell è possibile anche sviluppare applicazioni con ruby. E’ una
libreria vera e propria che si installa con un RSTLICPGM
Operativamente : go licpgm installazione nuovi programmi licenza.
Applicare PTF per applicazione.
IBMi Next Step - Open Source Technologies
By Davide Raschetti (Faq400.com)
5
OPS Open Source Technologies
Open Source resource: dalla landing page si può partire per scoprire tutte le
funzionalità open distribuite.
IBMi Next Step - Open Source Technologies
By Davide Raschetti (Faq400.com)
6
OPS Open Source Technologies
Samba on IBMi
Samba suite di strumenti utilizzati per la condivisione tra reti miste Linux Windows. E’
possibile utilizzare Samba per la gestione delle condivisioni, ACL, Stampanti. Non
Sostituisce IFS tradizionale, aggiunge funzionalità efficienza e compatibilità CIFS
Common Internet File System SAMBA
57335733-OPS Option 1 Node.js V1
Nodejs versione 0.1.X Precedente al fork del progetto Node.js che poi si è riunita. Prima
versione del framework
IBMi Next Step - Open Source Technologies
By Davide Raschetti (Faq400.com)
7
OPS Open Source Technologies
57335733-OPS Option 2 Python 3
Linguaggio semplice veloce da imparare orientato a oggetti, produce codice di buona
qualità manutenibile versione 3 consigliata ma molte librerie utilizzano ancora la
versione.
57335733-OPS Option 3 GCC/CHROOT
Possibilità creare ambiente di sviluppo sicuro e poter scaricare, installare, compilare
(GCC) e testare funzionalità.
E’ possibile anche mettere in produzione ambienti (webservices) per aumentare il grado
di sicurezza: ogni applicazione in questi contenitori non può modificare il filesystem
PASE né eseguire comandi ILE.
IBMi Next Step - Open Source Technologies
By Davide Raschetti (Faq400.com)
8
OPS Open Source Technologies
57335733-OPS Option 4 Python 2
Versione 2 ancora molto utilizzata soprattutto da librerie. Interessante esempio di
utilizzo python
57335733-OPS Option 5 NodeJs V4
Utilizzo dello stesso linguaggio di programmazione lato server lato client. Single page
app, asincrono, efficiente. In forte sviluppo.
57335733-OPS Option 6 Git
Source Control Management (SCM). Servizio di controllo versione distribuito.
IBMi Next Step - Open Source Technologies
By Davide Raschetti (Faq400.com)
9
OPS Open Source Technologies
57335733-OPS Option 7 Tool
Contenitore di utilità di base ad esempio zip tar bash. (rsync non ancora incluso)
57335733-OPS Option 8 Orion
Web IDE: non sostituisce Rdi che ha molte funzionalità in più, ma permette veloci
modifiche con check formale di codice anche RPG.
57335733-OPS Option 9 CloudCloud-Init
Script che permette di configurare e inizializzare macchine virtuali basate su PowerVC.
E’ utilizzato ampiamente in OpenStack Cloud SO che interfaccia l’hardware
tradizionale con un sistema di gestione cloud.
IBMi Next Step - Open Source Technologies
By Davide Raschetti (Faq400.com)
10
OPS Open Source Technologies
57335733-OPS Option 10 Nodejs v6
Aggiornamento del motore Nodejs all’ultima versione LTS disponibile.
IBMi Next Step - Open Source Technologies
By Davide Raschetti (Faq400.com)
11
Node.Js
● Codice Javascript nato per i
Browser
● ECMAScript 6 Versione dello
standard supportato da
Chrome/Firefox
● Node.js : Stesso linguaggio di
programmazione lato client e lato
server.
● Abbastanza complesso,
estremamente diffuso.
● Esistono delle librerie per rendere
la vita un pò più semplice.
IBMi Next Step - Open Source Technologies
By Davide Raschetti (Faq400.com)
12
Node.Js
NPM : metodo di distribuzione codice
javascript , particolari funzionalità e
riutilizzo.
package.json elenco dipendenze del
server Node.js (npm init)
Framework Express per Node.js:
un insieme di librerie che facilitano lo
sviluppo.
IBMi Next Step - Open Source Technologies
-bash-4.2$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess
sensible defaults.
See `npm help json` for definitive documentation on these
fields
and exactly what they do.
Use `npm install <pkg> --save` afterwards to install a
package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
name: (node) faq400node
………..
By Davide Raschetti (Faq400.com)
13
Node.Js
NPM : install/uninstall/update
Possibilità di installare globalmente o
solo per la singola istanza moduli
aggiuntivi.
Package per Demo :
npm install --save express body-parser
cookie-parser cors config
-bash-4.2$ mkdir node
-bash-4.2$ cd node
-bash-4.2$ npm install -s express body-parser cookie-parser
cors config
[email protected] node_modules/express
├── [email protected]
├………………...
-bash-4.2$ ls -l
total 32
drwxr-sr-x 3 faq400 0
8192 Dec 5 12:03
node_modules
-rw-r--r-- 1 faq400 0
315 Dec 5 11:53
package.json
-bash-4.2$
Esistono dei generatori es expressgenerator che inizializzano una
struttura dell’applicazione.
IBMi Next Step - Open Source Technologies
By Davide Raschetti (Faq400.com)
14
Node.Js
Struttura minima:
package.json : file dipendenze
server.js : start server
app.js : applicazione node
routes : cartella rotte distribuite
config : parametri di default
node-modules : repository di tutti i
pacchetti installati con npm e descritti
nel package.json
IBMi Next Step - Open Source Technologies
-bash-4.2$ cd node
-bash-4.2$ node server.js
Listening on port 8081
By Davide Raschetti (Faq400.com)
15
Node.Js
Per testare rest utilizzo Advanced Rest
Client plugin di Google Chorme
-bash-4.2$ cd node
-bash-4.2$ node server.js
Listening on port 8081
IBMi Next Step - Open Source Technologies
By Davide Raschetti (Faq400.com)
16
Node.Js
Client Apache su iSeries
IBM Web Administrator administrator
for i
Client framework : Angular.js
IBMi Next Step - Open Source Technologies
By Davide Raschetti (Faq400.com)
17