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