Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
IBMi Next StepStrumenti moderni per lo sviluppatore IBMi/AS400
Segrate - IBM Client Center - 6 Dicembre 2016Una collaborazione Faq400.com - IBM Italia
1
2
www.faq400.com
Portale / Blog / Communityper IBMi / AS400
IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com)
3IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com)
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
4IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com)
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-the-
alternative-to-qp2term-aka-omgawful/
5IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com)
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.
6IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com)
OPS Open Source Technologies
Open Source resource: dalla landing page si può partire per scoprire tutte le
funzionalità open distribuite.
7IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com)
OPS Open Source Technologies
Samba on IBMi Samba on IBMi Samba on IBMi 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
5733573357335733----OPS Option 1 Node.js V1OPS Option 1 Node.js V1OPS Option 1 Node.js V1OPS 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
8IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com)
OPS Open Source Technologies
5733573357335733----OPS Option 2 Python 3OPS Option 2 Python 3OPS Option 2 Python 3OPS 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.
5733573357335733----OPS Option 3 GCC/CHROOTOPS Option 3 GCC/CHROOTOPS Option 3 GCC/CHROOTOPS 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.
9IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com)
OPS Open Source Technologies
5733573357335733----OPS Option 4 Python 2OPS Option 4 Python 2OPS Option 4 Python 2OPS Option 4 Python 2
Versione 2 ancora molto utilizzata soprattutto da librerie. Interessante esempio di
utilizzo python
5733573357335733----OPS Option 5 NodeJs V4OPS Option 5 NodeJs V4OPS Option 5 NodeJs V4OPS Option 5 NodeJs V4
Utilizzo dello stesso linguaggio di programmazione lato server lato client. Single page
app, asincrono, efficiente. In forte sviluppo.
5733573357335733----OPS Option 6 GitOPS Option 6 GitOPS Option 6 GitOPS Option 6 Git
Source Control Management (SCM). Servizio di controllo versione distribuito.
10IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com)
OPS Open Source Technologies
5733573357335733----OPS Option 7 ToolOPS Option 7 ToolOPS Option 7 ToolOPS Option 7 Tool
Contenitore di utilità di base ad esempio zip tar bash. (rsync non ancora incluso)
5733573357335733----OPS Option 8 OrionOPS Option 8 OrionOPS Option 8 OrionOPS 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.
5733573357335733----OPS Option 9 CloudOPS Option 9 CloudOPS Option 9 CloudOPS Option 9 Cloud----InitInitInitInit
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.
11IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com)
OPS Open Source Technologies
5733573357335733----OPS Option 10 Nodejs v6OPS Option 10 Nodejs v6OPS Option 10 Nodejs v6OPS Option 10 Nodejs v6
Aggiornamento del motore Nodejs all’ultima versione LTS disponibile.
12IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com)
● 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.
Node.Js
13IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com)
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.
Node.Js
-bash-4.2$ npm initThis 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 fieldsand exactly what they do.
Use `npm install <pkg> --save` afterwards to install a package andsave it as a dependency in the package.json file.
Press ^C at any time to quit.name: (node) faq400node………..
14IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com)
NPM : install/uninstall/updatePossibilità di installare globalmente o solo per la singola istanza moduli aggiuntivi.
Package per Demo :npm install --save express body-parser cookie-parser cors config
Esistono dei generatori es express-generator che inizializzano una struttura dell’applicazione.
Node.Js
-bash-4.2$ mkdir node-bash-4.2$ cd node-bash-4.2$ npm install -s express body-parser cookie-parser cors [email protected] node_modules/express├── [email protected]├………………...-bash-4.2$ ls -ltotal 32drwxr-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$
15IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com)
Struttura minima:package.json : file dipendenzeserver.js : start serverapp.js : applicazione node routes : cartella rotte distribuiteconfig : parametri di defaultnode-modules : repository di tutti i pacchetti installati con npm e descritti nel package.json
Node.Js
-bash-4.2$ cd node-bash-4.2$ node server.jsListening on port 8081
16IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com)
Per testare rest utilizzo Advanced Rest Client plugin di Google Chorme
Node.Js
-bash-4.2$ cd node-bash-4.2$ node server.jsListening on port 8081
17IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com)
Client Apache su iSeries IBM Web Administrator administrator for i
Client framework : Angular.js
Node.Js