17
IBMi Next Step Strumenti moderni per lo sviluppatore IBMi/AS400 Segrate - IBM Client Center - 6 Dicembre 2016 Una collaborazione Faq400.com - IBM Italia 1

IBMi Next Step · 14 IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com) NPM : install/uninstall/update Possibilità di installare globalmente o solo per la

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IBMi Next Step · 14 IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com) NPM : install/uninstall/update Possibilità di installare globalmente o solo per la

IBMi Next StepStrumenti moderni per lo sviluppatore IBMi/AS400

Segrate - IBM Client Center - 6 Dicembre 2016Una collaborazione Faq400.com - IBM Italia

1

Page 2: IBMi Next Step · 14 IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com) NPM : install/uninstall/update Possibilità di installare globalmente o solo per la

2

www.faq400.com

Portale / Blog / Communityper IBMi / AS400

IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com)

Page 3: IBMi Next Step · 14 IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com) NPM : install/uninstall/update Possibilità di installare globalmente o solo per la

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

Page 4: IBMi Next Step · 14 IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com) NPM : install/uninstall/update Possibilità di installare globalmente o solo per la

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/

Page 5: IBMi Next Step · 14 IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com) NPM : install/uninstall/update Possibilità di installare globalmente o solo per la

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.

Page 6: IBMi Next Step · 14 IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com) NPM : install/uninstall/update Possibilità di installare globalmente o solo per la

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.

Page 7: IBMi Next Step · 14 IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com) NPM : install/uninstall/update Possibilità di installare globalmente o solo per la

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

Page 8: IBMi Next Step · 14 IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com) NPM : install/uninstall/update Possibilità di installare globalmente o solo per la

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.

Page 9: IBMi Next Step · 14 IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com) NPM : install/uninstall/update Possibilità di installare globalmente o solo per la

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.

Page 10: IBMi Next Step · 14 IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com) NPM : install/uninstall/update Possibilità di installare globalmente o solo per la

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.

Page 11: IBMi Next Step · 14 IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com) NPM : install/uninstall/update Possibilità di installare globalmente o solo per la

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.

Page 12: IBMi Next Step · 14 IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com) NPM : install/uninstall/update Possibilità di installare globalmente o solo per la

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

Page 13: IBMi Next Step · 14 IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com) NPM : install/uninstall/update Possibilità di installare globalmente o solo per la

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………..

Page 14: IBMi Next Step · 14 IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com) NPM : install/uninstall/update Possibilità di installare globalmente o solo per la

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$

Page 15: IBMi Next Step · 14 IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com) NPM : install/uninstall/update Possibilità di installare globalmente o solo per la

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

Page 16: IBMi Next Step · 14 IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com) NPM : install/uninstall/update Possibilità di installare globalmente o solo per la

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

Page 17: IBMi Next Step · 14 IBMi Next Step - Open Source Technologies By Davide Raschetti (Faq400.com) NPM : install/uninstall/update Possibilità di installare globalmente o solo per la

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