Come si è sviluppato negli ultimi 20 anni lo sviluppo web? Nel Talk tenutosi all'incubatore Arca di Palermo per la masterclass di Angular 4 abbiamo fatto una cavalcata che ci ha portato dalle cgi in Perl ai Microservices
Liferay 7: Come realizzare un client SOAP con Apache CXF in OSGi StyleAntonio Musarra
Non sapete come realizzare un client SOAP in OSGi Style su Liferay 7?La risposta è il framework Apache CXF installato a bundle e poi OSGi Service Pattern.
Una panoramica sulle diverse possibilità offerte da Spring per applicazioni RIA realizzate in Flex: Spring sul server per l'implementazione di un backend con serializzazione nativa AMF3 con Spring BlazeDS integration, Spring sul client con Spring ActionScript e Spring come usato dallo streaming server opensource Red5 per la realizzazione di applicazioni video. Presentazione tenuta allo Spring Framework Meeting di Settembre 2009 a Cagliari.
Allo User Group Italiano su Liferay di Bologna: Overview del futuro prossimo su Liferay.
OSGi (Open Service Gateway Initiative) è una specifica che permette di costruire applicazioni modulari a componenti (i Bundle) e che introduce una programmazione Service Oriented, permettendo una separazione tra interfaccia ed implementazione molto più rigorosa di quella nativa Java. Esistono diverse implementazioni (container) di OSGi, conformi alle specifiche.
Presentazione alla Google Dev Fest Mediterranean 2016 di Catania con presentazione sulle metodologie di utilizzo di microservices e sui sistemi per monitorare le infrastrutture
Liferay 7: Come realizzare un client SOAP con Apache CXF in OSGi StyleAntonio Musarra
Non sapete come realizzare un client SOAP in OSGi Style su Liferay 7?La risposta è il framework Apache CXF installato a bundle e poi OSGi Service Pattern.
Una panoramica sulle diverse possibilità offerte da Spring per applicazioni RIA realizzate in Flex: Spring sul server per l'implementazione di un backend con serializzazione nativa AMF3 con Spring BlazeDS integration, Spring sul client con Spring ActionScript e Spring come usato dallo streaming server opensource Red5 per la realizzazione di applicazioni video. Presentazione tenuta allo Spring Framework Meeting di Settembre 2009 a Cagliari.
Allo User Group Italiano su Liferay di Bologna: Overview del futuro prossimo su Liferay.
OSGi (Open Service Gateway Initiative) è una specifica che permette di costruire applicazioni modulari a componenti (i Bundle) e che introduce una programmazione Service Oriented, permettendo una separazione tra interfaccia ed implementazione molto più rigorosa di quella nativa Java. Esistono diverse implementazioni (container) di OSGi, conformi alle specifiche.
Presentazione alla Google Dev Fest Mediterranean 2016 di Catania con presentazione sulle metodologie di utilizzo di microservices e sui sistemi per monitorare le infrastrutture
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Andrea Dottor
Molte applicazione sono (ancora) sviluppate in WebForm e non possono essere convertite automaticamente ad ASP.NET Core. Una riscrittura completa in molti casi è impossibile o impensabile da attuare. In questa sessione vedremo come migrare in modo graduale queste tipologie di applicazioni verso ASP.NET Core, andando in dettaglio nelle varie problematiche che solitamente si possono presentare. La sessione deriva da un'esperienza reale, che ha permesso di conoscere (nel bene o nel male) le difficoltà che si nascondo in queste migrazioni.
Evento: https://www.xedotnet.org/eventi/one-day-enterprise-application/
L'intervento dell'Ing. Luciano Lotti durante il webinar dedicato al Visual COBOL: grazie al suo utilizzo migliora la produttività degli sviluppatori e la qualità delle applicazioni.
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...Daniele Mondello
Gestire infrastrutture in cloud con la semplicità di scrivere file di configurazione. Tutto ciò grazie a Terraform, soluzione Open Source per gestire infrastrutture cloud indipendentemente dal Cloud.
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformGabriele Gaggi
Cordova è la chiave di volta che consente agli sviluppatori web un ingresso rapido ed indolore negli store delle diverse piattaforme mobili. Vedremo come utilizzare questa chiave di volta sfruttando la potenza e semplicità del framework MVC di Google AngularJs in collaborazione con le caratteristiche responsive offerte dal framework di Twitter Bootstrap.
Slide del decimo Meetup di Milano, che si è tenuto il 26 Gennaio dalle ore 10:30 alle ore 12:00 in formato virtuale.
Abbiamo parlato insieme a Davide Bonaciti di come ha realizzato un caso d'uso di automazione e CI/CD. Stefano Bernardini, Serena Galassi e Lorenzo Ornella, invece, ci parleranno di DataGraph e ci mostreranno una demo di implementazione per realizzare un'asta del fantacalcio 2.0.
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...Codemotion
ASP.NET Core è il nuovo framework open-source e cross-platform per la creazione di applicazioni Cloud, Web, IoT e Backend per applicazioni mobili composto da elementi modulari che permettono di avere la massima flessibilità e il minimo overhead. Come sfruttare tutti questi pregi, per creare un servizio web da pubblicare nel Cloud e consumabile da un'applicazione Android ? Lo scopriremo insieme durante la sessione.
Impatto dell'Intelligenza Artificiale sul Gioco d'AzzardoDaniele Mondello
Analisi dell'impatto che sta avendo l'Intelligenza Artificiale sul gioco d'azzardo. L'intelligenza artificiale sta trasformando il gioco d'azzardo, offrendo vantaggi
significativi ma anche sollevando criticità e questioni etiche. La
regolamentazione, la prevenzione e la formazione giocano un ruolo cruciale nel
bilanciare l'innovazione con la protezione dei giocatori
Linux day 2021 Analisi Open Source dei dati pandemiciDaniele Mondello
Intervento al Linux Day con Roberto Siragusa sull'utilizzo di software Open Source per l'analisi dei dati Pandemici all'interno dell'Hub Vaccinale di Palermo
More Related Content
Similar to Evoluzione del web development dalle cgi ai microservices
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Andrea Dottor
Molte applicazione sono (ancora) sviluppate in WebForm e non possono essere convertite automaticamente ad ASP.NET Core. Una riscrittura completa in molti casi è impossibile o impensabile da attuare. In questa sessione vedremo come migrare in modo graduale queste tipologie di applicazioni verso ASP.NET Core, andando in dettaglio nelle varie problematiche che solitamente si possono presentare. La sessione deriva da un'esperienza reale, che ha permesso di conoscere (nel bene o nel male) le difficoltà che si nascondo in queste migrazioni.
Evento: https://www.xedotnet.org/eventi/one-day-enterprise-application/
L'intervento dell'Ing. Luciano Lotti durante il webinar dedicato al Visual COBOL: grazie al suo utilizzo migliora la produttività degli sviluppatori e la qualità delle applicazioni.
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...Daniele Mondello
Gestire infrastrutture in cloud con la semplicità di scrivere file di configurazione. Tutto ciò grazie a Terraform, soluzione Open Source per gestire infrastrutture cloud indipendentemente dal Cloud.
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformGabriele Gaggi
Cordova è la chiave di volta che consente agli sviluppatori web un ingresso rapido ed indolore negli store delle diverse piattaforme mobili. Vedremo come utilizzare questa chiave di volta sfruttando la potenza e semplicità del framework MVC di Google AngularJs in collaborazione con le caratteristiche responsive offerte dal framework di Twitter Bootstrap.
Slide del decimo Meetup di Milano, che si è tenuto il 26 Gennaio dalle ore 10:30 alle ore 12:00 in formato virtuale.
Abbiamo parlato insieme a Davide Bonaciti di come ha realizzato un caso d'uso di automazione e CI/CD. Stefano Bernardini, Serena Galassi e Lorenzo Ornella, invece, ci parleranno di DataGraph e ci mostreranno una demo di implementazione per realizzare un'asta del fantacalcio 2.0.
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...Codemotion
ASP.NET Core è il nuovo framework open-source e cross-platform per la creazione di applicazioni Cloud, Web, IoT e Backend per applicazioni mobili composto da elementi modulari che permettono di avere la massima flessibilità e il minimo overhead. Come sfruttare tutti questi pregi, per creare un servizio web da pubblicare nel Cloud e consumabile da un'applicazione Android ? Lo scopriremo insieme durante la sessione.
Impatto dell'Intelligenza Artificiale sul Gioco d'AzzardoDaniele Mondello
Analisi dell'impatto che sta avendo l'Intelligenza Artificiale sul gioco d'azzardo. L'intelligenza artificiale sta trasformando il gioco d'azzardo, offrendo vantaggi
significativi ma anche sollevando criticità e questioni etiche. La
regolamentazione, la prevenzione e la formazione giocano un ruolo cruciale nel
bilanciare l'innovazione con la protezione dei giocatori
Linux day 2021 Analisi Open Source dei dati pandemiciDaniele Mondello
Intervento al Linux Day con Roberto Siragusa sull'utilizzo di software Open Source per l'analisi dei dati Pandemici all'interno dell'Hub Vaccinale di Palermo
Gdg 2019 artificial intelligence, sviluppo web... le nuove regole del giocoDaniele Mondello
Dev Fest Mediterranean Le normative nelle nuove tecnologie. Come cambia lo scenario con le regole AGID. Le sfide dell'intelligenza artificiale. Il software come dispositivo medico.
Wiad 2018 - CREARE, GESTIRE E TROVARE INFORMAZIONI ALL'INTERNO DI UN AMBIENTE...Daniele Mondello
Come funziona un ospedale e come organizzare le informazioni per ottimizzare i processi. Dato strutturato VS dato destrutturato. Usabilità e sua importanza nell'Healthcare
Tutto quello che avreste voluto chiedere sui social network (ma non avete ami...Daniele Mondello
Caminetto sulla tematica dei Social Network realizzato presso il Rotary Club Baia dei Fenici.Una panoramica sui diversi social network, sui loro pericoli e opportunità
Una overview sulla storia della sicurezza informatica con un finale che analizza le minacce e le difese da attuare per protegere i nostri dati e la nostra privacy.
Il gruppo Open Data Sicilia presente all 'Incontro territoriale sulle Opportunità del PO FESR di Caltanissetta. All'interno della stessa presentazione indicazioni sul nuovo portale Open Data basato su ckan
Presentazione sull'iniziativa #openamat per la 2° giornata sulla trasparenza al comune di Palermo, sull'importanza degli open data e come una comunità possa rispondere avendo in mano un pò di dati dalla PA
Osservatorio StartUp innovative realizzato tramite la piattaforma Leanus dell'Imprenditore che analizza lo stato delle StartUp innovative in Italia a fine 2016
Fascicolo sanitario & Dossier sanitario vantaggi nell’adozione di open source...Daniele Mondello
Nuove normative su Fascicolo Sanitario & Dossier sanitario vantaggi nell’adozione di Open Source con panoramica su alcuni progetti e Big Data, Conferenza Nazionale Software Libero
Analisi su nuovo sistema informatico nazionale,sui flussi sanitari, sulle possibilità offerte da un approccio verso l'analisi dei Big Data e Privacy di Daniele Mondello e Adriano Bertolino
pagoPa, i pagamenti elettronici nella Pubblica AmministrazioneDaniele Mondello
pagoPA iniziativa che consente a cittadini e imprese di pagare in maniera elettronica la Pubblica Amministrazione. Normativa e guida tecnica per il collegamento
Approccio ad una infrastruttura per MicroserviceDaniele Mondello
Preentazione effettuata al Cnu Linux Meeting 2016 nel quale vine descritto un "approccio ad una infrastruttura per Microservices".Vengono descritte diverse tecnologie a supporto come RabbitMQ, Jenkins, Doickers.
Introduzione a GIT con le basi per utilizzarlo in poco tempo.Storia, comandi di base (git init, commit, push pull) e comandi avanzati.Presentazione realizzata da Daniele Mondello, Fabio Pileri, Marcello Vetro al PHP User Group Palermo.
Vagrant e Docker a confronto;scegliere ed iniziareDaniele Mondello
Pitch presentato al Linux Day 2015 a Palermo su Vagrant e docker per confrontarli, scegliere ed iniziare. Partendo dal concetto di virtualizzazione, proseguendo con l'analisi delle due soluzioni fino a dare cenni sull'installazione ed un primo utilizzo.
Presentazione su come un azienda che da sempre ha basato la sua organizzazione aziendale sulle norme iso 9000 può trarre beneficio dal remote working utilizzando diversi software. con infine panoramica su quattro falsi miti e quattro problemi reali del nostro paese.
4. /504
PERL PRACTICAL EXTRACTION AND REPORT
LANGUAGE È UN LINGUAGGIO AD ALTO
LIVELLO, DINAMICO, PROCEDURALE E
INTERPRETATO, CREATO NEL 1987 DA LARRY
WALL. NOTO COME LINGUAGGIO PER LO
SVILUPPO DI CGI
1987
Perl il linguaggio Cammello
5. /505
Eseguibile in locale Eseguibile da un browser
Possibilità di formattazione
eseguibile a distanza con permessi
differenti rispetto al file system
LA RIVOLUZIONE DELLE CGI
print "Hello Worldn";
perl hello.plLanciare il comando
1
2
Creare e salvare file hello.pl con il seguente codice:
Creare e salvare file hello.cgi con il seguente codice:
#!/usr/local/bin/perl
print "Content-type: text/htmlnn";
print "<H1>Hello World</H1>n”;
rendere eseguibile sul server hello.ggi e dare i permessi
puntare con il browser a hello.cgi
Hello World in Perl
6. /506
ASP Linguaggio?! NO!
ASP (ACTIVE SERVER PAGES) NON È UN
LINGUAGGIO DI PROGRAMMAZIONE MA UNA
TECNOLOGIA MICROSOFT PER CREAZIONE D
PAG I N E W E B D I N A M I C H E AT T R AV E R S O
LINGUAGGI DI SCRIPT COME VBSCRIPT E JSCRIPT.
1997
7. /507
Integrate nelle pagine HTML
Sono orientate agli oggetti
Necessitano di interprete e non compilazione.
Sfruttavano componenti server ActiveX.
Utilizzo di VBScript o Jscript
Era facile una connessione con access tramite odbc
Potevi usare IIS o PWS
PAGINE IN ASP
<%@ LANGUAGE = JScript %>
<html>
<head>
<title>Pagina in Asp</title>
</head>
<body>
<% Response.Write("Hello World!”); %>
</body>
</html>
1
2
Hello World in ASP
<html>
<head>
<title>Pagina in Asp</title>
</head>
<body>
<script language="VBScript" runat="Server">
response.write "Hello World!"
</script>
</body>
</html>
8. PHP Per pagine personali
PHP (ACRONIMO RICORSIVO DI "PHP: HYPERTEXT
PREPROCESSOR", PREPROCESSORE DI IPERTESTI;
ORIGINARIAMENTE ACRONIMO DI "PERSONAL HOME
PA G E " ) È U N L I N G U A G G I O D I S C R I P T I N G
INTERPRETATO, ORIGINARIAMENTE CONCEPITO PER
LA PROGRAMMAZIONE DI PAGINE WEB DINAMICHE.
1995
9. /509
Integrate nelle pagine HTML
Sono orientate agli oggetti
Necessitano di interprete e non compilazione.
Multipiattaforma
Semplice
Era facile una connessione con mysql tramite odbc
Potevi usare Apache
PAGINE IN PHP
<html>
<head>
<title>Test PHP</title>
</head>
<body>
<?php echo "Hello World!<p>"; ?>
</body>
</html>
Hello World in PHP
17. /5017
Nelle Web App abbiamo diversi strati che comunicano tra di
loro. In questo architettura il software, anche se logicamente
suddiviso, risulta essere un unico sistema Monolitico
- Un unico linguaggio di programmazione
- Scalabilità limitata
- Risorse legate all'applicazione
- Tempi di sviluppo non parallelizzabili
- Manutenzione onerosa
- Non completa riutilizzazione del codice
- Difficile sperimentare
Software Monolitico
18. /5018
Software costituito da diversi componenti che
operano per effettuare una sola mansione
interconnessi tra di loro.
Punti di forza
- linguaggi di programmazione diversi
- scalabilità illimitata
- HR legata al microservice
- sviluppo parallelizzabile
- manutenzione facilitata
- completa di utilizzazione del codice
- permette la sperimentazione
Software con Microservices
19. /5019
Definizione di Microrservices
Sono dei servizi “micro” autonomi, che
fanno una cosa sola (ma bene!) e che
interagiscono tra di loro… in altre parole
dei sistemi distribuiti.
Cosa è un Microservice
20. /50
Definizione di Microrservices
“Lo stile a micro servizi è un approccio
allo sviluppo di una singola applicazione
come insieme di piccoli servizi, ciascuno
dei quali viene eseguito da un proprio
processo e comunica con un meccanismo,
spesso HTTP API”
Definizione di M.Fowler & J. Levis
20
21. /5021
Caratteristiche di un Microservice
UTILIZZO
DECENTRATO DEI
DATI
SCALABILITA'
INDiPENDENTE DA
LINGUAGGIO
POSSIBILITA DI
RIUTILIZZO
BUG ISOLATI
23. /5023
Cosa fa
DOCKER?
Docker sviluppata da Docker inc di Salomon
Hykes è un sistema di virtualizzazione basato su
container. Mentre nella virtualizzazione classica
sono virtualizzati programmi e kernel del sistema
operativo nella virtualizzazione per containers
sono virtualizzati software e librerie.
GnuLinuxMeetin
Docker
25. /5025
Platform Automation Deployment Automation Build & Test Automation
Diagnostic & Instrumentation Monitoring & Alerting AuthN/AuthZ
Messaging Channel
Microservice A Microservice B Microservice C Microservice D MicroserviceE
Architettura per Microservices
26. /5026
Generare report più o
meno complessi
Effettuare delle misurazioni
rispetto a delle metriche
Deployment Automation
Collezionare il codice dai
repository remoti
Deployment Automation
Lanciare test statici e dinamici
sul codice
Continuous Delivery
27. /5027
Build Privata Server CI
Lancio di una build privata
Lo sviluppatore effettua una Build Privata
sulla propria postazione così da integrare
eventuali cambiamenti effettuati dagli altri
membri del team e verificato che
l’integrazione dia un sistema funzionante.
Commit sul CVS del codice
Lo sviluppatore conclusa l’attività effettua
un commit sul repository del sistema di
controllo di versione. 5
Lancio SCRIPT su server CI
Il server di CI accortosi del cambiamento
scarica il codice aggiornato e lancia uno
script di build così da integrare questi
cambiamenti e da ricostruire il sistema e ri-
testarlo ed a seguito del risultato della
build, genera un feedback (es: email)
visibile al team
CVS
Flusso di Lavoro per un Microservice
31. /5031
Platform Automation Deployment Automation Build & Test Automation
Diagnostic & Instrumentation Monitoring & Alerting AuthN/AuthZ
Messaging Channel
Microservice A
Microservice B Microservice C Microservice D MicroserviceE
Event
Published
Event
Subscribed
Event
Published/
Subscribed
Architettura per Microservices
32. /5032
Easy to Use!
Runs on all major O.S.
Open Source
Robusta soluzione per messaggistica tra
applicazioni con supporto a diverse
piattaforme di sviluppo
Messaging Channel
34. /5034
Platform Automation Deployment Automation Build & Test Automation
Diagnostic & Instrumentation Monitoring & Alerting AuthN/AuthZ
Messaging Channel
Microservice A Microservice B Microservice C Microservice D MicroserviceE
Event
Published
Event
Subscribed
Event
Published/
Subscribed
Shared
Configuration
Dependency
Management
Architettura per Microservices
35. /5035
01
02 05
06
Canticle.io
Permette di gestire dipendenze
di micorservices.
DATABASE
E’ possibile gestire dipendenze
tramite DB
COMPOSER
Gestisce le dipendenze in PHP
Maven
Strumento per la gestione dei
progetti per la piattaforma Java
Dipendenze e Configurazioni
Dipendenze
Configurazioni
VS
36. /5036
Platform Automation Deployment Automation Build & Test Automation
Diagnostic & Instrumentation Monitoring & Alerting AuthN/AuthZ
Messaging Channel
Microservice A Microservice B Microservice C Microservice D MicroserviceE
Event
Published
Event
Subscribed
Event
Published/
Subscribed
Shared
Configuration
Dependency
ManagementService
Gateway
Architettura per Microservices
37. /5037
Service Gateway
- Fonte: https://www.nginx.com/blog/building-microservices-using-an-api-gateway/
L’API Gateway incapsula l’architettura interna dei microservicese fornisce delle API a misura
di client. Può avere anche responsabilità come autentication, monitoring, load balancing,
caching, request shaping, static response handling (StrongLoop,NodeJS)
38. /5038
Platform Automation Deployment Automation Build & Test Automation
Diagnostic & Instrumentation Monitoring & Alerting AuthN/AuthZ
Messaging Channel
Microservice A
Microservice B Microservice C Microservice D MicroserviceE
Event
Published
Event
Subscribed
Event
Published/
Subscribed
Shared
Configuration
Dependency
Management
Service
Gateway
Service
Routing
Service
Discovery
Architettura per Microservices
39. /5039
Platform Automation Deployment Automation Build & Test Automation
Diagnostic & Instrumentation Monitoring & Alerting AuthN/AuthZ
Messaging Channel
Microservice A Microservice B Microservice C Microservice D Microservice E
Event
Published
Event
Subscribed
Event
Published/
Subscribed
Shared
Configuration
Dependency
ManagementService
Gateway
Service
Routing
Architettura per Microservices
Service
Discovery
43. /5043
Sviluppo di un software
capace di generare pdf da
applicazioni web e quindi da
pagine HTML.
PDF da WEB PAGE
PDF da Pagina WEB
Generare da URL di una pagina web con
accesso protetto, un file in formato PDF
Invio PDF ad altri servizi
La destinazione del file può essere
differente dall’origine che ha generato la
richiesta, secondo le configurazioni della
request.
Soluzione Riutilizzabile in altri sistemi
Riutilizzabile in altri servizi, cioè non legato
o inglobato in ogni singola applicazione e
quindi indipendente dall’ambiente che lo
genera.
Soluzione Automatizzata
Ricevere le request di elaborazione del pdf
e rispondere ad ogni servizio che lo
richiede.
Soluzione Indipendente
Il software resta attivo anche se il
servizio in ricezione o quello in
attesa del pdf va giù.
Soluzione Dinamica
Risponde in modo differente ad ogni
richiesta.
Feature del Microservice
44. /5044
Browser
Visualizzazione nel
Browers di
esecuzione a scopo
di test.
Attachment
File come allegato
scaricato da
browser.
File System
Local Storage
Rest API
Inoltro file ad URL o
Servizio in ascolto
direttamente
connesso
RabbitMQ
Message Broker che
consuma un coda.
Invio dati come
MESSAGE
Output del Microservice
45. /5045
Framework per realizzare applicazioni Web
in JavaScript, per la scrittura di applicazioni
“server-side” in modalità event-drive.
Garantisce efficienza delle applicazioni
grazie al comportamento asincrono.
Node.JS
Linguaggio che compila in JavaScript
CoffeeScript
LInguaggio di scripting orientato agli
oggetti e agli eventi
Javascript
Servizio web di hosting per lo sviluppo di progetti
software, che usa il sistema di controllo di versione
Git..
GitHub
Light-weight web application framework
to help organize your web application
into an MVC architecture on the server
side.
Express.js basically helps you manage
everything, from routes, to handling
requests and views.
ExpressJS
Headless browser, Tool che consente
la manipolazione via JavaScript del
DOM, di CSS, JSON, Ajax altre tecnologie
Web client-side da riga di comando,
senza alcun rendering a video.
Utilizzato in tutti quei contesti in cui si
ha bisogno di automatizzare le tipiche
attività di un Web browser
PhantomJS
Tecnologie Utilizzate
46. /5046
Abbiamo implementato html2pdf.it in un container, dotato di REST APIs e collegato a RabbitMQ per metterlo in comunicazione
con altri microservice.
Docker Container
Ambiente indipendente e
automatizzato
Json
Javascript Object Notation
API Rest
Application Programming Interface
REpresentational State Transfer
Stateless architecture that
generally runs over HTTPS/TLS
RabbitMQ
message-oriented middleware,
broker di messaggistica, che
implementa il protocollo Advanced
Message Queuing Protocol
(AMQP)
API
Base Software Improvements
47. /5047
E
Some Title
Goes Here
Il flusso di lavoro parte dunque
da un dato servizio che invia tramite
RabbitMQ un messaggio Json al
Microservice Html2Pdf contenente
un action. Il Nostro Microservice
elabora la action come un http-
request grazie a Node.JS &
Express.JS
Web APP Request
PhantomJS il quale renderizza la
pagina web in un pdf, passando
l’output generato nuovamente a
coffeescript che genera nella
reponse il file binario in formato
Pdf o in Base64.
Microservice Response
HTTP
Request
Produzione del PDF
48. /5048
Html2Pdf
Service 2
Service 1
Control Flow Deployment Storage Backup Networking
i servizi 1,2 e 3 inviano la request
consumando una coda
RabbitMQ che viene inoltrata ad
Html2Pdf
Service 1, 2, 3
Restituisce la response come
PDF o Json a RabbitMQ
Html2Pdf Microservice
Cloud in ascolto su Rabbit che riceve le
request consentendo upload e
download dei files .
ownCloud Microservice Le response possono essere restituite
ai servizi di origine oppure inoltrate ad
altri servizi in coda su RabbitMQ.
Routing
Service 3
download upload
Dialogo tra Microservices