SlideShare a Scribd company logo
D'veloping software solutions
www.d-vel.com
D’vel snc - presentazione di Jader Francia
Software modularity, microservices ed headless platform all in one. Liferay: old fashioned java.. Revamped!
D'veloping software solutions
Chi sono
Digital entrepreneur, software developer
enthusiastic, friendly and curious! :)
Also a dad, an husband & more other things.. :)
Twitter: @JedJds
jader.francia@d-vel.com
Phone: 338 78 76 587
Liferay: Old Fashoned Java.. Revamped!
D'veloping software solutions
www.d-vel.com
Software Modularity, microservices ed headless platform all in one!
Summary
Liferay: i vantaggi di un framework potentissimo
OSGi Software modularity e semantic versioning
Microservices via Service Builder
GraphQL: il "one size fits all" dei servizi REST
Headless Platform, per mettere tutto insieme!
D'veloping software solutions
Liferay: Old Fashoned Java.. Revamped!www.d-vel.com
Software Modularity, microservices ed headless platform all in one!
• Liferay è leader per il decimo anno nel
Quadrante Magico di Gartner per le
Piattaforme di Esperienza Digitale 2020
• Liferay has a good understanding of the DXP market. Its
product strategy and packaging suit customer, partner
and employee experience use cases.
• Customers benefit from Liferay’s active open-source
community, which continuously contributes to the
codebase and encourages use of the open-source version.
• Liferay offers strong capabilities for extensibility and
application integration, which appeals to IT buyers.
Perché Liferay?
D'veloping software solutions
Liferay: Old Fashoned Java.. Revamped!www.d-vel.com
Software Modularity, microservices ed headless platform all in one!
- Multi tenancy (multi istanza E multi sito)
- Gestione Utenze
- Gestione Ruoli
- Gestione Gruppi
- CMS ed Experience Designer
- ... un sacco di robe fighe per quelli del business!
Cosa mi offre OOTB
D'veloping software solutions
Liferay: Old Fashoned Java.. Revamped!www.d-vel.com
Software Modularity, microservices ed headless platform all in one!
- un potentissimo framework applicativo;
- tutte le tecnologie per l'ottimizzazione già inserite in
architettura;
- gestione delle dipendenze applicative;
- software modularity;
- mostruoso riuso dei componenti applicativi;
- ambiente di sviluppo pensato per chi fa codice (di ogni tipo...)
- nessun vincolo sulla costruzione del front end (choose your weapon...)
Ma io faccio il dev.. :)
Liferay: Old Fashoned Java.. Revamped!
D'veloping software solutions
www.d-vel.com
Software Modularity, microservices ed headless platform all in one!
Summary
Liferay: i vantaggi di un framework potentissimo
OSGi Software modularity e semantic versioning
Microservices via Service Builder
GraphQL: il "one size fits all" dei servizi REST
Headless Platform, per mettere tutto insieme!
D'veloping software solutions
Liferay: Old Fashoned Java.. Revamped!www.d-vel.com
Software Modularity, microservices ed headless platform all in one!
OSGi (Open Service Gateway Initiative) è una specifica che
permette di costruire applicazioni modulari a componenti
(Bundle) e che introduce una programmazione Service Oriented,
permettendo una separazione tra interfaccia ed
implementazione molto più rigorosa di quella nativa Java.
• Modularità
• Bundle
• Declarative Services
• Semantic Version
• Microservices
OSGi: Quali sono gli elementi chiave
D'veloping software solutions
Liferay: Old Fashoned Java.. Revamped!www.d-vel.com
Software Modularity, microservices ed headless platform all in one!
Perché sia valido, un modulo deve avere uno unique identifier.
Module Name + Module Version
Ad esempio: it.dvel.my.module,1.0.1
Questo significa che possiamo rilasciare differenti versioni dello
stesso modulo!
Naming convention di un modulo
D'veloping software solutions
Liferay: Old Fashoned Java.. Revamped!www.d-vel.com
Software Modularity, microservices ed headless platform all in one!
• Le API definiscono un contratto
• Assegnare un numero di versione alle funzionalità esportate dà
maggior vita al contratto
• 1.x => 2.0 := apportati cambiamenti critici alle API
• 1.x => 1.y := apportati cambiamenti retro-compatibili
• 1.x.y => 1.x.z := bug fix
• Vantaggi
• Chi utilizza le API può decidere liberamente un intervallo di
versioni che accetta
• Con queste convenzioni, i numeri di versione, ed il modo in
cui essi cambiano, comunicano significato relativamente al
codice sottostante e a cosa è stato modificato da una
versione all’altra.
OSGi: Semantic Versioning
D'veloping software solutions
Liferay: Old Fashoned Java.. Revamped!www.d-vel.com
Software Modularity, microservices ed headless platform all in one!
I componenti sono i blocchi con i quali puoi costruire una
applicazione.
Sono riusabili e sempre disponibili perché potenzialmente non
legati ad una singola applicazione.
Rinforzano il concetto di modularità.
Cos'è un componente?
D'veloping software solutions
Liferay: Old Fashoned Java.. Revamped!www.d-vel.com
Software Modularity, microservices ed headless platform all in one!
• I componenti sono contenuti
all’interno del moduli
• I singoli componenti definiscono
funzionalità atomiche e possono
essere utilizzati in modo isolato o
insieme ad altri componenti per
costruire una o più applicazioni
• Un’applicazione è definita da uno o
più componenti che possono
risiedere all’interno dello stesso
modulo o su moduli diversi
Componenti e Liferay 7
D'veloping software solutions
Liferay: Old Fashoned Java.. Revamped!www.d-vel.com
Software Modularity, microservices ed headless platform all in one!
• Un’applicazione è installata
con dei moduli che
contengono dei componenti
• Il framework modulare (il
container OSGi) gestisce
l’installazione, l’attivazione e
le dipendenze tra moduli
• Il processo d’installazione e
attivazione di un modulo è
gestito tramite l’application
lifecycle
Application Lifecycle
D'veloping software solutions
Liferay: Old Fashoned Java.. Revamped!www.d-vel.com
Software Modularity, microservices ed headless platform all in one!
• I Services sono costituiti da una serie
d'interfacce e classi Java registrate
all’interno del Service Registry
• Un componente può essere pubblicato
come servizio
• Un componente può richiedere un
servizio
• I Servizi sono registrati dal Bundle
Activator del modulo
OSGi: i Services
D'veloping software solutions
Liferay: Old Fashoned Java.. Revamped!www.d-vel.com
Software Modularity, microservices ed headless platform all in one!
• Liferay utilizza il framework
modulare a Declarative Services
(DS) che fornisce un alto livello di
astrazione nella gestione dei
servizi
• Un service è costituito da
un’interfaccia ed
un’implementazione
• Il Service Registry è il “faldone”
con i servizi che abbiamo a
disposione
OSGi: i Services
Liferay: Old Fashoned Java.. Revamped!
D'veloping software solutions
www.d-vel.com
Software Modularity, microservices ed headless platform all in one!
Summary
Liferay: i vantaggi di un framework potentissimo
OSGi Software modularity e semantic versioning
Microservices via Service Builder
GraphQL: il "one size fits all" dei servizi REST
Headless Platform, per mettere tutto insieme!
Liferay: Old Fashoned Java.. Revamped!
D'veloping software solutions
www.d-vel.com
Software Modularity, microservices ed headless platform all in one!
Summary
Liferay: i vantaggi di un framework potentissimo
OSGi Software modularity e semantic versioning
Microservices via Service Builder
GraphQL: il "one size fits all" dei servizi REST
Headless Platform, per mettere tutto insieme!
Liferay: Old Fashoned Java.. Revamped!
D'veloping software solutions
www.d-vel.com
Software Modularity, microservices ed headless platform all in one!
Summary
Liferay: i vantaggi di un framework potentissimo
OSGi Software modularity e semantic versioning
Microservices via Service Builder
GraphQL: il "one size fits all" dei servizi REST
Headless Platform, per mettere tutto insieme!

More Related Content

PDF
WSO2 MASTER CLASS ITALIA #9 - Come creare API di successo
PDF
Come i Microservizi favoriscono il lavoro dei Feature Teams
PDF
Osd 2016 Middleware Track
PDF
Prototipazione di una piattaforma di controllo degli accessi fisici cross ven...
PDF
Modernize Legacy Systems with Kubernetes
PDF
Invisible infrastructures
PDF
OSGi e Liferay 7
PDF
JAX-WS e JAX-RS
WSO2 MASTER CLASS ITALIA #9 - Come creare API di successo
Come i Microservizi favoriscono il lavoro dei Feature Teams
Osd 2016 Middleware Track
Prototipazione di una piattaforma di controllo degli accessi fisici cross ven...
Modernize Legacy Systems with Kubernetes
Invisible infrastructures
OSGi e Liferay 7
JAX-WS e JAX-RS

Similar to Software modularity, microservices ed headless platform all in one. Liferay: old fashioned java.. Revamped! (20)

PPTX
Microservices
PDF
Liferay: Esporre Web Services Custom
PPT
Il mercato SOA: futuro e prospettive
PDF
Creazione di una REST API in Liferay
PDF
Liferay 7: Come realizzare un client SOAP con Apache CXF in OSGi Style
PPT
Rendere flessibili e trasformare architetture IT di vecchio tipo: passaggio d...
PDF
Sviluppare su OSGi con Camel e GWT
PPTX
Service Registry Repository Opensource implementato su Semantic Media Wiki
PDF
Open Development
PDF
Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...
PDF
Presentazione framework Symfony
PDF
Osgi overview
PDF
La rivoluzione dei Microservizi
PPSX
Glossario tecnologico 2011
PDF
Liferay - Quick Start 1° Episodio
PPTX
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
PDF
LARUS 10th - Rampado Omar
PDF
Maze Enterprise: front-end e back-end. Trova la miglior soluzione!
PPS
Open Source per studi professionali
Microservices
Liferay: Esporre Web Services Custom
Il mercato SOA: futuro e prospettive
Creazione di una REST API in Liferay
Liferay 7: Come realizzare un client SOAP con Apache CXF in OSGi Style
Rendere flessibili e trasformare architetture IT di vecchio tipo: passaggio d...
Sviluppare su OSGi con Camel e GWT
Service Registry Repository Opensource implementato su Semantic Media Wiki
Open Development
Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...
Presentazione framework Symfony
Osgi overview
La rivoluzione dei Microservizi
Glossario tecnologico 2011
Liferay - Quick Start 1° Episodio
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
LARUS 10th - Rampado Omar
Maze Enterprise: front-end e back-end. Trova la miglior soluzione!
Open Source per studi professionali
Ad

More from Commit University (20)

PDF
Accessibilità ed equità digitale: un impegno, non una scelta
PDF
GitHub Copilot:vediamo chi comanda - Commit University.pdf
PDF
Contract Driven Development - Branch 2024.pdf
PPTX
Cybersecurity & AI: Illusioni e Speranze
PDF
Migliorare la Developer Experience in un mondo Cloud Native
PPTX
Scopri come sfruttare la potenza della Hybrid RAG
PDF
Introduzione a AWS Forecast e SageMaker DeepAR: Prevedere la Domanda con il M...
PDF
Oltre l'hype: vulnerabilità e limiti dell'intelligenza artificiale.pdf
PPTX
Alla scoperta dei Vector Database e dei RAG
PDF
Nell’iperspazio con Rocket: il Framework Web di Rust!
PDF
Crea il tuo assistente AI con lo Stregatto (open source python framework)
PDF
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
PDF
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
PDF
Slide-10years.pdf
PDF
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
PDF
Vue.js slots.pdf
PPTX
Commit - Qwik il framework che ti stupirà.pptx
PPTX
Sviluppare da zero una Angular Web App per la PA
PDF
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
PDF
Prisma the ORM that node was waiting for
Accessibilità ed equità digitale: un impegno, non una scelta
GitHub Copilot:vediamo chi comanda - Commit University.pdf
Contract Driven Development - Branch 2024.pdf
Cybersecurity & AI: Illusioni e Speranze
Migliorare la Developer Experience in un mondo Cloud Native
Scopri come sfruttare la potenza della Hybrid RAG
Introduzione a AWS Forecast e SageMaker DeepAR: Prevedere la Domanda con il M...
Oltre l'hype: vulnerabilità e limiti dell'intelligenza artificiale.pdf
Alla scoperta dei Vector Database e dei RAG
Nell’iperspazio con Rocket: il Framework Web di Rust!
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
Slide-10years.pdf
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Vue.js slots.pdf
Commit - Qwik il framework che ti stupirà.pptx
Sviluppare da zero una Angular Web App per la PA
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Prisma the ORM that node was waiting for
Ad

Software modularity, microservices ed headless platform all in one. Liferay: old fashioned java.. Revamped!

  • 1. D'veloping software solutions www.d-vel.com D’vel snc - presentazione di Jader Francia
  • 3. D'veloping software solutions Chi sono Digital entrepreneur, software developer enthusiastic, friendly and curious! :) Also a dad, an husband & more other things.. :) Twitter: @JedJds jader.francia@d-vel.com Phone: 338 78 76 587
  • 4. Liferay: Old Fashoned Java.. Revamped! D'veloping software solutions www.d-vel.com Software Modularity, microservices ed headless platform all in one! Summary Liferay: i vantaggi di un framework potentissimo OSGi Software modularity e semantic versioning Microservices via Service Builder GraphQL: il "one size fits all" dei servizi REST Headless Platform, per mettere tutto insieme!
  • 5. D'veloping software solutions Liferay: Old Fashoned Java.. Revamped!www.d-vel.com Software Modularity, microservices ed headless platform all in one! • Liferay è leader per il decimo anno nel Quadrante Magico di Gartner per le Piattaforme di Esperienza Digitale 2020 • Liferay has a good understanding of the DXP market. Its product strategy and packaging suit customer, partner and employee experience use cases. • Customers benefit from Liferay’s active open-source community, which continuously contributes to the codebase and encourages use of the open-source version. • Liferay offers strong capabilities for extensibility and application integration, which appeals to IT buyers. Perché Liferay?
  • 6. D'veloping software solutions Liferay: Old Fashoned Java.. Revamped!www.d-vel.com Software Modularity, microservices ed headless platform all in one! - Multi tenancy (multi istanza E multi sito) - Gestione Utenze - Gestione Ruoli - Gestione Gruppi - CMS ed Experience Designer - ... un sacco di robe fighe per quelli del business! Cosa mi offre OOTB
  • 7. D'veloping software solutions Liferay: Old Fashoned Java.. Revamped!www.d-vel.com Software Modularity, microservices ed headless platform all in one! - un potentissimo framework applicativo; - tutte le tecnologie per l'ottimizzazione già inserite in architettura; - gestione delle dipendenze applicative; - software modularity; - mostruoso riuso dei componenti applicativi; - ambiente di sviluppo pensato per chi fa codice (di ogni tipo...) - nessun vincolo sulla costruzione del front end (choose your weapon...) Ma io faccio il dev.. :)
  • 8. Liferay: Old Fashoned Java.. Revamped! D'veloping software solutions www.d-vel.com Software Modularity, microservices ed headless platform all in one! Summary Liferay: i vantaggi di un framework potentissimo OSGi Software modularity e semantic versioning Microservices via Service Builder GraphQL: il "one size fits all" dei servizi REST Headless Platform, per mettere tutto insieme!
  • 9. D'veloping software solutions Liferay: Old Fashoned Java.. Revamped!www.d-vel.com Software Modularity, microservices ed headless platform all in one! OSGi (Open Service Gateway Initiative) è una specifica che permette di costruire applicazioni modulari a componenti (Bundle) e che introduce una programmazione Service Oriented, permettendo una separazione tra interfaccia ed implementazione molto più rigorosa di quella nativa Java. • Modularità • Bundle • Declarative Services • Semantic Version • Microservices OSGi: Quali sono gli elementi chiave
  • 10. D'veloping software solutions Liferay: Old Fashoned Java.. Revamped!www.d-vel.com Software Modularity, microservices ed headless platform all in one! Perché sia valido, un modulo deve avere uno unique identifier. Module Name + Module Version Ad esempio: it.dvel.my.module,1.0.1 Questo significa che possiamo rilasciare differenti versioni dello stesso modulo! Naming convention di un modulo
  • 11. D'veloping software solutions Liferay: Old Fashoned Java.. Revamped!www.d-vel.com Software Modularity, microservices ed headless platform all in one! • Le API definiscono un contratto • Assegnare un numero di versione alle funzionalità esportate dà maggior vita al contratto • 1.x => 2.0 := apportati cambiamenti critici alle API • 1.x => 1.y := apportati cambiamenti retro-compatibili • 1.x.y => 1.x.z := bug fix • Vantaggi • Chi utilizza le API può decidere liberamente un intervallo di versioni che accetta • Con queste convenzioni, i numeri di versione, ed il modo in cui essi cambiano, comunicano significato relativamente al codice sottostante e a cosa è stato modificato da una versione all’altra. OSGi: Semantic Versioning
  • 12. D'veloping software solutions Liferay: Old Fashoned Java.. Revamped!www.d-vel.com Software Modularity, microservices ed headless platform all in one! I componenti sono i blocchi con i quali puoi costruire una applicazione. Sono riusabili e sempre disponibili perché potenzialmente non legati ad una singola applicazione. Rinforzano il concetto di modularità. Cos'è un componente?
  • 13. D'veloping software solutions Liferay: Old Fashoned Java.. Revamped!www.d-vel.com Software Modularity, microservices ed headless platform all in one! • I componenti sono contenuti all’interno del moduli • I singoli componenti definiscono funzionalità atomiche e possono essere utilizzati in modo isolato o insieme ad altri componenti per costruire una o più applicazioni • Un’applicazione è definita da uno o più componenti che possono risiedere all’interno dello stesso modulo o su moduli diversi Componenti e Liferay 7
  • 14. D'veloping software solutions Liferay: Old Fashoned Java.. Revamped!www.d-vel.com Software Modularity, microservices ed headless platform all in one! • Un’applicazione è installata con dei moduli che contengono dei componenti • Il framework modulare (il container OSGi) gestisce l’installazione, l’attivazione e le dipendenze tra moduli • Il processo d’installazione e attivazione di un modulo è gestito tramite l’application lifecycle Application Lifecycle
  • 15. D'veloping software solutions Liferay: Old Fashoned Java.. Revamped!www.d-vel.com Software Modularity, microservices ed headless platform all in one! • I Services sono costituiti da una serie d'interfacce e classi Java registrate all’interno del Service Registry • Un componente può essere pubblicato come servizio • Un componente può richiedere un servizio • I Servizi sono registrati dal Bundle Activator del modulo OSGi: i Services
  • 16. D'veloping software solutions Liferay: Old Fashoned Java.. Revamped!www.d-vel.com Software Modularity, microservices ed headless platform all in one! • Liferay utilizza il framework modulare a Declarative Services (DS) che fornisce un alto livello di astrazione nella gestione dei servizi • Un service è costituito da un’interfaccia ed un’implementazione • Il Service Registry è il “faldone” con i servizi che abbiamo a disposione OSGi: i Services
  • 17. Liferay: Old Fashoned Java.. Revamped! D'veloping software solutions www.d-vel.com Software Modularity, microservices ed headless platform all in one! Summary Liferay: i vantaggi di un framework potentissimo OSGi Software modularity e semantic versioning Microservices via Service Builder GraphQL: il "one size fits all" dei servizi REST Headless Platform, per mettere tutto insieme!
  • 18. Liferay: Old Fashoned Java.. Revamped! D'veloping software solutions www.d-vel.com Software Modularity, microservices ed headless platform all in one! Summary Liferay: i vantaggi di un framework potentissimo OSGi Software modularity e semantic versioning Microservices via Service Builder GraphQL: il "one size fits all" dei servizi REST Headless Platform, per mettere tutto insieme!
  • 19. Liferay: Old Fashoned Java.. Revamped! D'veloping software solutions www.d-vel.com Software Modularity, microservices ed headless platform all in one! Summary Liferay: i vantaggi di un framework potentissimo OSGi Software modularity e semantic versioning Microservices via Service Builder GraphQL: il "one size fits all" dei servizi REST Headless Platform, per mettere tutto insieme!