SlideShare a Scribd company logo
1 of 58
Mauro Sanfilippo - R&D Manager Gruppo Sme.UP
Franco Lombardo - Java Team Leader Gruppo Sme.UP
10-11 Giugno 2019EVENTO ONL-i DAYS
Tre approcci alla modernizzazione:
»Interprete RPG e Domain Specific Language
»Web Component
»Intelligent Extended Enterprise
RPG – La domanda numero 1
10-11 Giugno 2019EVENTO ONL-i DAYS
RPG – La domanda numero 1
Cosa non va nell’RPG?
10-11 Giugno 2019EVENTO ONL-i DAYS
RPG – Cosa non va nell’RPG?
È vecchio?
10-11 Giugno 2019EVENTO ONL-i DAYS
RPG – Cosa non va nell’RPG?
Vecchio? Sa difendersi!
10-11 Giugno 2019EVENTO ONL-i DAYS
RPG – La domanda numero 1
Cosa non va nell’RPG?
10-11 Giugno 2019EVENTO ONL-i DAYS
RPG – Cosa non va nell’RPG?
Non può girare sul mio portatile!
10-11 Giugno 2019EVENTO ONL-i DAYS
RPG – Cosa non va nell’RPG?
Non me ne importa nulla!
10-11 Giugno 2019EVENTO ONL-i DAYS
Non può girare sul mio portatile?
RPG – Non gira sul mio portatile
10-11 Giugno 2019EVENTO ONL-i DAYS
Io penso
che
dovrebbe
importarti,
amico!
RPG – Non gira sul mio portatile
10-11 Giugno 2019EVENTO ONL-i DAYS
Allison Butterill ha riportato inchiesta HelpSystems
RPG – Non gira sul mio portatile
10-11 Giugno 2019EVENTO ONL-i DAYS
Come faccio ad impararlo?
RPG – Non gira sul mio portatile
10-11 Giugno 2019EVENTO ONL-i DAYS
RPG – Non gira sul mio portatile
10-11 Giugno 2019EVENTO ONL-i DAYS
Persino il COBOL
è più accessibile!
RPG – Non gira sul mio portatile
10-11 Giugno 2019EVENTO ONL-i DAYS
Come posso creare dei prototipi?
RPG – Non gira sul mio portatile
10-11 Giugno 2019EVENTO ONL-i DAYS
Infrastructure as code?
Come posso creare e distribuire
macchine preconfigurate? (DevOps)
RPG – Non gira sul mio portatile
10-11 Giugno 2019EVENTO ONL-i DAYS
Scalabilità orizzontale?
RPG – Cosa non va nell’RPG?
Non è Open Source!
10-11 Giugno 2019EVENTO ONL-i DAYS
RPG – Open Source
Come può crescere il linguaggio
indipendentemente da IBM?
10-11 Giugno 2019EVENTO ONL-i DAYS
RPG – Open Source
Come aggiungo
nuove tecnologie al linguaggio?
10-11 Giugno 2019EVENTO ONL-i DAYS
Interprete RPG – Verso un RPG migliore
La nostra ipotesi di lavoro:
creare un interprete RPG
- Open Source
- Portabile: funzionante sia su IBM i,
sia su altre piattaforme
- …
10-11 Giugno 2019EVENTO ONL-i DAYS
Interprete RPG – Verso un RPG migliore
La nostra ipotesi di lavoro:
creare un interprete RPG
- Open Source
- Portabile: funzionante sia su IBM i,
sia su altre piattaforme
- …soprattutto sul mio portatile
10-11 Giugno 2019EVENTO ONL-i DAYS
Interprete RPG – Il meglio della tecnologia
10-11 Giugno 2019EVENTO ONL-i DAYS
Scritto in Kotlin:
eseguito nella Java Virtual Machine
Un interprete ci consente di miscelare facilmente linguaggi diversi
Interprete RPG – Il meglio della tecnologia
10-11 Giugno 2019EVENTO ONL-i DAYS
RPG – Open Source
Perché combinare
linguaggi differenti?
10-11 Giugno 2019EVENTO ONL-i DAYS
Interprete RPG – Estensioni
10-11 Giugno 2019EVENTO ONL-i DAYS
Interprete RPG – Il meglio della tecnologia
10-11 Giugno 2019EVENTO ONL-i DAYS
Interprete RPG – Estensioni
10-11 Giugno 2019EVENTO ONL-i DAYS
Interprete RPG – Da RPG a DSL
10-11 Giugno 2019EVENTO ONL-i DAYS
Interprete RPG – Cos’è un DSL?
DSL: Domain Specific Language
Linguaggio creato per gestire compiti particolari
in ambiti ben specifici
10-11 Giugno 2019EVENTO ONL-i DAYS
https://openfisca.org
Interprete RPG – Cos’è un DSL?
DSL degli script di scheda di Sme.UP ERP
10-11 Giugno 2019EVENTO ONL-i DAYS
Interprete RPG – Cos’è un DSL?
DSL degli script di scheda di Sme.UP ERP
10-11 Giugno 2019EVENTO ONL-i DAYS
Interprete RPG – Cos’è un DSL?
DSL degli script di scheda di Sme.UP ERP
10-11 Giugno 2019EVENTO ONL-i DAYS
http://blog.smeup.com/schede/
Interprete RPG – Integrazione Sme.UP ERP
10-11 Giugno 2019EVENTO ONL-i DAYS
Un esempio: microservizi scritti in RPG con Sme.UP Gateway
Interprete RPG – Integrazione Sme.UP ERP
10-11 Giugno 2019EVENTO ONL-i DAYS
Un esempio: microservizi scritti in RPG con Sme.UP Gateway
Interprete RPG – Lo stato del progetto
10-11 Giugno 2019EVENTO ONL-i DAYS
Interprete RPG – Lo stato del progetto
Ora siamo qui:
10-11 Giugno 2019EVENTO ONL-i DAYS
Interprete RPG – Lo stato del progetto
Ma a breve contiamo di arrivare qui:
10-11 Giugno 2019EVENTO ONL-i DAYS
Interprete RPG – Lo stato del progetto
Beh, magari qui:
10-11 Giugno 2019EVENTO ONL-i DAYS
Interprete RPG – Lo stato del progetto
Abbiamo una grande squadra:
10-11 Giugno 2019EVENTO ONL-i DAYS
https://www.smeup.com https://strumenta.com/
https://tomassetti.me/
Interprete RPG – Lo stato del progetto
10-11 Giugno 2019EVENTO ONL-i DAYS
Sedi
14
Mln di
Ricavi
55
Risorse
446
Clienti in Italia e
nel mondo
2100
Abbiamo una grande squadra:
Interprete RPG – Lo stato del progetto
10-11 Giugno 2019EVENTO ONL-i DAYS
Abbiamo una grande squadra, ma vogliamo anche te!
https://github.com/smeup/smeup-rpg
Interprete RPG – Cos’è un DSL?
DSL degli script di scheda di Sme.UP ERP
10-11 Giugno 2019EVENTO ONL-i DAYS
Componenti applicativi
10-11 Giugno 2019EVENTO ONL-i DAYS
Ketch.UP
10-11 Giugno 2019EVENTO ONL-i DAYS
» Progetto open-source
https://github.com/smeup/ketchup/
Lic. Apache v2
» Specifica Web Components
https://github.com/w3c/webcomponents
» Vue, Angular, Vanilla javascript,
Typescript
» Rest API
Multitier application
10-11 Giugno 2019EVENTO ONL-i DAYS
Multitier application
10-11 Giugno 2019EVENTO ONL-i DAYS
5-tier application
10-11 Giugno 2019EVENTO ONL-i DAYS
5-tier application
10-11 Giugno 2019EVENTO ONL-i DAYS
5-tier application
10-11 Giugno 2019EVENTO ONL-i DAYS
Data abstraction layer
10-11 Giugno 2019EVENTO ONL-i DAYS
Tecnology
10-11 Giugno 2019EVENTO ONL-i DAYS
Risultato
10-11 Giugno 2019EVENTO ONL-i DAYS
Risultato
10-11 Giugno 2019EVENTO ONL-i DAYS
Risultato
10-11 Giugno 2019EVENTO ONL-i DAYS
Intelligent Extended Enterprise
10-11 Giugno 2019EVENTO ONL-i DAYS
Erbusco (BS) Sede Legale
Via Iseo, 43 – 25030
+39 030 7724111
Sedi del Gruppo Sme.UP
Paderno Dugnano (MI)
Via Varese 6/A – 20037
+39 02 910871
Rivoli (TO)
Via Pavia, 11/B – 10098
+39 011 906211
Savigliano (CN)
Corso Roma 54 – 12038
+39 0172 31412
Lecco (LC)
Via della Pergola, 73 – 23900
+39 0341 496864
Parma (PR)
Strada dei Mercati, 16/E – 43126
+39 0521 940611
Roma (RM)
Via Prenestina, 390 – 00171
+39 06 5940517
Vigonza (PD)
Via Trevisan 1, – 35010
+39 049 8936173
Modena (MO)
Via Canaletto, 164 – 41122
+39 059 451721
Reggio Emilia (RE)
Via A.Gramsci, 88/A -42124
+39 0522 516121
Brescia (BS)
Via Padova, 11 – 25125
+39 030 2585325
Villaverla (VI)
Piazza delle Fornaci, 4 – 36030
+39 0444 1835222
Vercelli (VC)
Corso Giuseppe Garibaldi, 51 – 13100
+39 0161 56924
Udine (UD)
Via Mantova 108/E, – 33100
+39 0432 540364
info@smeup.com
+39 030 7724111
SME UP S.p.A.
Via Iseo, 43 - 25030 Erbusco (BS)
www.smeup.com

More Related Content

More from Franco Lombardo

More from Franco Lombardo (7)

Agile Happiness - Agile O'Day 2018
Agile Happiness - Agile O'Day 2018Agile Happiness - Agile O'Day 2018
Agile Happiness - Agile O'Day 2018
 
Agile Happiness 2
Agile Happiness 2Agile Happiness 2
Agile Happiness 2
 
Agile Happiness
Agile HappinessAgile Happiness
Agile Happiness
 
Java per as400
Java per as400Java per as400
Java per as400
 
Rock scissors-paper-kata
Rock scissors-paper-kataRock scissors-paper-kata
Rock scissors-paper-kata
 
A First Date With Scala
A First Date With ScalaA First Date With Scala
A First Date With Scala
 
Primo Incontro Con Scala
Primo Incontro Con ScalaPrimo Incontro Con Scala
Primo Incontro Con Scala
 

Un interprete Kotlin per il linguaggio RPG AS400 - IBM i

  • 1.
  • 2. Mauro Sanfilippo - R&D Manager Gruppo Sme.UP Franco Lombardo - Java Team Leader Gruppo Sme.UP 10-11 Giugno 2019EVENTO ONL-i DAYS Tre approcci alla modernizzazione: »Interprete RPG e Domain Specific Language »Web Component »Intelligent Extended Enterprise
  • 3. RPG – La domanda numero 1 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 4. RPG – La domanda numero 1 Cosa non va nell’RPG? 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 5. RPG – Cosa non va nell’RPG? È vecchio? 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 6. RPG – Cosa non va nell’RPG? Vecchio? Sa difendersi! 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 7. RPG – La domanda numero 1 Cosa non va nell’RPG? 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 8. RPG – Cosa non va nell’RPG? Non può girare sul mio portatile! 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 9. RPG – Cosa non va nell’RPG? Non me ne importa nulla! 10-11 Giugno 2019EVENTO ONL-i DAYS Non può girare sul mio portatile?
  • 10. RPG – Non gira sul mio portatile 10-11 Giugno 2019EVENTO ONL-i DAYS Io penso che dovrebbe importarti, amico!
  • 11. RPG – Non gira sul mio portatile 10-11 Giugno 2019EVENTO ONL-i DAYS Allison Butterill ha riportato inchiesta HelpSystems
  • 12. RPG – Non gira sul mio portatile 10-11 Giugno 2019EVENTO ONL-i DAYS Come faccio ad impararlo?
  • 13. RPG – Non gira sul mio portatile 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 14. RPG – Non gira sul mio portatile 10-11 Giugno 2019EVENTO ONL-i DAYS Persino il COBOL è più accessibile!
  • 15. RPG – Non gira sul mio portatile 10-11 Giugno 2019EVENTO ONL-i DAYS Come posso creare dei prototipi?
  • 16. RPG – Non gira sul mio portatile 10-11 Giugno 2019EVENTO ONL-i DAYS Infrastructure as code? Come posso creare e distribuire macchine preconfigurate? (DevOps)
  • 17. RPG – Non gira sul mio portatile 10-11 Giugno 2019EVENTO ONL-i DAYS Scalabilità orizzontale?
  • 18. RPG – Cosa non va nell’RPG? Non è Open Source! 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 19. RPG – Open Source Come può crescere il linguaggio indipendentemente da IBM? 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 20. RPG – Open Source Come aggiungo nuove tecnologie al linguaggio? 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 21. Interprete RPG – Verso un RPG migliore La nostra ipotesi di lavoro: creare un interprete RPG - Open Source - Portabile: funzionante sia su IBM i, sia su altre piattaforme - … 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 22. Interprete RPG – Verso un RPG migliore La nostra ipotesi di lavoro: creare un interprete RPG - Open Source - Portabile: funzionante sia su IBM i, sia su altre piattaforme - …soprattutto sul mio portatile 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 23. Interprete RPG – Il meglio della tecnologia 10-11 Giugno 2019EVENTO ONL-i DAYS Scritto in Kotlin: eseguito nella Java Virtual Machine Un interprete ci consente di miscelare facilmente linguaggi diversi
  • 24. Interprete RPG – Il meglio della tecnologia 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 25. RPG – Open Source Perché combinare linguaggi differenti? 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 26. Interprete RPG – Estensioni 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 27. Interprete RPG – Il meglio della tecnologia 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 28. Interprete RPG – Estensioni 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 29. Interprete RPG – Da RPG a DSL 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 30. Interprete RPG – Cos’è un DSL? DSL: Domain Specific Language Linguaggio creato per gestire compiti particolari in ambiti ben specifici 10-11 Giugno 2019EVENTO ONL-i DAYS https://openfisca.org
  • 31. Interprete RPG – Cos’è un DSL? DSL degli script di scheda di Sme.UP ERP 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 32. Interprete RPG – Cos’è un DSL? DSL degli script di scheda di Sme.UP ERP 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 33. Interprete RPG – Cos’è un DSL? DSL degli script di scheda di Sme.UP ERP 10-11 Giugno 2019EVENTO ONL-i DAYS http://blog.smeup.com/schede/
  • 34. Interprete RPG – Integrazione Sme.UP ERP 10-11 Giugno 2019EVENTO ONL-i DAYS Un esempio: microservizi scritti in RPG con Sme.UP Gateway
  • 35. Interprete RPG – Integrazione Sme.UP ERP 10-11 Giugno 2019EVENTO ONL-i DAYS Un esempio: microservizi scritti in RPG con Sme.UP Gateway
  • 36. Interprete RPG – Lo stato del progetto 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 37. Interprete RPG – Lo stato del progetto Ora siamo qui: 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 38. Interprete RPG – Lo stato del progetto Ma a breve contiamo di arrivare qui: 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 39. Interprete RPG – Lo stato del progetto Beh, magari qui: 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 40. Interprete RPG – Lo stato del progetto Abbiamo una grande squadra: 10-11 Giugno 2019EVENTO ONL-i DAYS https://www.smeup.com https://strumenta.com/ https://tomassetti.me/
  • 41. Interprete RPG – Lo stato del progetto 10-11 Giugno 2019EVENTO ONL-i DAYS Sedi 14 Mln di Ricavi 55 Risorse 446 Clienti in Italia e nel mondo 2100 Abbiamo una grande squadra:
  • 42. Interprete RPG – Lo stato del progetto 10-11 Giugno 2019EVENTO ONL-i DAYS Abbiamo una grande squadra, ma vogliamo anche te! https://github.com/smeup/smeup-rpg
  • 43. Interprete RPG – Cos’è un DSL? DSL degli script di scheda di Sme.UP ERP 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 44. Componenti applicativi 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 45. Ketch.UP 10-11 Giugno 2019EVENTO ONL-i DAYS » Progetto open-source https://github.com/smeup/ketchup/ Lic. Apache v2 » Specifica Web Components https://github.com/w3c/webcomponents » Vue, Angular, Vanilla javascript, Typescript » Rest API
  • 46. Multitier application 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 47. Multitier application 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 48. 5-tier application 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 49. 5-tier application 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 50. 5-tier application 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 51. Data abstraction layer 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 56. Intelligent Extended Enterprise 10-11 Giugno 2019EVENTO ONL-i DAYS
  • 57.
  • 58. Erbusco (BS) Sede Legale Via Iseo, 43 – 25030 +39 030 7724111 Sedi del Gruppo Sme.UP Paderno Dugnano (MI) Via Varese 6/A – 20037 +39 02 910871 Rivoli (TO) Via Pavia, 11/B – 10098 +39 011 906211 Savigliano (CN) Corso Roma 54 – 12038 +39 0172 31412 Lecco (LC) Via della Pergola, 73 – 23900 +39 0341 496864 Parma (PR) Strada dei Mercati, 16/E – 43126 +39 0521 940611 Roma (RM) Via Prenestina, 390 – 00171 +39 06 5940517 Vigonza (PD) Via Trevisan 1, – 35010 +39 049 8936173 Modena (MO) Via Canaletto, 164 – 41122 +39 059 451721 Reggio Emilia (RE) Via A.Gramsci, 88/A -42124 +39 0522 516121 Brescia (BS) Via Padova, 11 – 25125 +39 030 2585325 Villaverla (VI) Piazza delle Fornaci, 4 – 36030 +39 0444 1835222 Vercelli (VC) Corso Giuseppe Garibaldi, 51 – 13100 +39 0161 56924 Udine (UD) Via Mantova 108/E, – 33100 +39 0432 540364 info@smeup.com +39 030 7724111 SME UP S.p.A. Via Iseo, 43 - 25030 Erbusco (BS) www.smeup.com

Editor's Notes

  1. Tecnologia e innovazione
  2. E’ facile essere convincenti
  3. Alison Butterill,
  4. Alison Butterill,
  5. Guarda caso le tecnologie che girano sul mio portatile sono quelle che consentono il «DevOps». «Sulla mia macchina funzionava»
  6. Perché dovremmo combinare linguaggi diversi?