SlideShare a Scribd company logo
1 of 11
Download to read offline
#osd2015
Migrare a  JBoss:
andare oltre gli aspetti tecnologici
Roberto  Polli,  Solutions  Architect
Par-­Tec è  un  software  &  infrastructure system integrator  che  si  distingue  per:
• la  proposizione  al  mercato  di  servizi  professionali  altamente  qualificati  e  soluzioni  innovative
• il  rispetto  degli  standard  e  l’adozione  di  tecnologie  open  source
L’avventura  col  cappello  rosso  è  iniziata  10  anni  fa  con  l’adozione  del  GFS,  la  
specializzazione  su  RHEL  e  l’evoluzione  verso  il  middleware  e  la  più  recente  Cloud  
Infrastructure.
Il  nostro  attuale  rapporto  con  Red  Hat?
Red  Hat  Premier  Business  Partner  con  specializzazione  Datacenter  Infrastructure
Par-­Tec e  Red Hat:  10  anni  di  successi
Migrare a  JBoss:  Ambiente
l I  driver  della  migrazione:  economici,  tecnologici
l Integrare  Jboss in  ambiente  corporate
– +10k  server,  C++,  Java,  Python
– ESB,  Transazioni  distribuite,  Billing,  Multi-­layered caches
– Pipeline:  sviluppo,  integration,  performance,  production
– Agile,  scrum board,  git
Migrare a  JBoss:  Obiettivi e  Strategia
l Minimizzare  impatti  della  migrazione
— Riutilizzare  le  componenti  esistenti
— Astrarre  le  specificità  dei  vari  application server
l Strategia
— Velocizzare  e  semplificare  il  processo  di  sviluppo
— Identificare  requisiti  critici  preventivamente
— “To  JEE  or  not to  JEE?”
Opportunità vs  Operatività
l Introdurre
– State-­of-­the-­art   development  system
– Supporto Enterprise  +  Community
– Integrazione con  tecnologia Red  Hat
l Mantenendo
– Integrazione con  ambiente e  procedure  presenti
– Impatto minimo sulle scadenze
Opportunità vs  Operatività
l Individuazione  dei  Bottleneck
procedurali
l Ambiente  di  Continuous Integration  
complesso
l Alti  costi  di  non-­acceptance
l Posticipare  la  fase  di  CI!
JBoss Ecosystem:
Validare  le  componenti  delegate  al  container
Container-­Injected Beans
@RunWith(Arquillian.class)
class MyArquillianTest {
// Save the MyBeanMock code
// Stress the @Inject/@Resource code
// May validate deployment descriptor
@Inject // or @Resource ...
private MyBean bean;
@Test
public void testMyBean(){
...
}
}
Mock  Beans/Factories
class MyBeanMock { ... } // or
class MyBeanMockFactory { ... }
class MyOldWayTest {
// Must write MyBeanMock class
// Won't stress the @Injection code
private MyBeanMock bean = new MyBeanMock();
@Test
public void testMyBean(){
...
}
}
JBoss Ecosystem:
l Bug  scoperti  prima di  andare  in  Continuous Integration
l Test  più  brevi  e  più  numerosi
l Meno  codice  &  debug più  semplice
l Test  dell'integrazione  col  container
l Deployment  descriptor validati  separatamente:
l web.xml,  jboss-­web.xml,  ...  
l Non  invasivo  – attivabile  via  maven profiles
l Software  scritto  dalla  prospettiva  dell'utilizzatore
Simulare la  CI  con
l Debug locale  dell'integrazione  con  le  
componenti  esterne
l Simulare  le  componenti  esterne  con  
blackbox riusabili
l Simulare  la  CI  con  
#docker-compose up
jboss:
image: jboss-eap-6
ports:
- 8080:8080
- 9990:9990
logserver:
image: my-logserver
ports:
- 1234:1234
Cosa è cambiato
• Goal:  raggiungimento  degli  obiettivi  iniziali.
• Test:  più  numerosi,  più  piccoli,  più  veloci.
• Efficienza:  maggiore  acceptance negli  Integration  Test.
• Conoscenza:  pregi  e  limiti  di  JEE.
• Tecnologia:  introdotti  Docker e  Arquillian.
#osd2015
Thank  you
Roberto  Polli,  Solutions  Architect

More Related Content

Similar to Open Source Day 2015 - Migrare a JBoss: andare oltre gli aspetti tecnologici

Integrazione continua con TFS Build
Integrazione continua con TFS BuildIntegrazione continua con TFS Build
Integrazione continua con TFS BuildGian Maria Ricci
 
.Net 4.0 Preview @ UGIdotNet
.Net 4.0 Preview @ UGIdotNet.Net 4.0 Preview @ UGIdotNet
.Net 4.0 Preview @ UGIdotNetMauro Servienti
 
Slide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdfSlide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdfFlorence Consulting
 
DevOps by examples - Agile O'Day 2017
DevOps by examples - Agile O'Day 2017DevOps by examples - Agile O'Day 2017
DevOps by examples - Agile O'Day 2017Giulio Vian
 
Kiratech "Qualità, metodologia e competenza al servizio della Digital Enterpr...
Kiratech "Qualità, metodologia e competenza al servizio della Digital Enterpr...Kiratech "Qualità, metodologia e competenza al servizio della Digital Enterpr...
Kiratech "Qualità, metodologia e competenza al servizio della Digital Enterpr...Kiratech
 
Webcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio OnlineWebcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio OnlineDavide Benvegnù
 
Modernize Legacy Systems with Kubernetes
Modernize Legacy Systems with KubernetesModernize Legacy Systems with Kubernetes
Modernize Legacy Systems with KubernetesGiulio Roggero
 
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Codemotion
 
Perché è così difficile il deploy dei database - DevCast DevOps Serie
Perché è così difficile il deploy dei database  - DevCast DevOps SeriePerché è così difficile il deploy dei database  - DevCast DevOps Serie
Perché è così difficile il deploy dei database - DevCast DevOps SerieGiulio Vian
 
Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsIgor Antonacci
 
Evoluzione del web development dalle cgi ai microservices
Evoluzione del web development dalle cgi ai microservicesEvoluzione del web development dalle cgi ai microservices
Evoluzione del web development dalle cgi ai microservicesDaniele Mondello
 
Marco Salvatore - Novità tecniche di PrestaShop 1.7.6 (and what’s next)
Marco Salvatore - Novità tecniche di PrestaShop 1.7.6 (and what’s next)Marco Salvatore - Novità tecniche di PrestaShop 1.7.6 (and what’s next)
Marco Salvatore - Novità tecniche di PrestaShop 1.7.6 (and what’s next)Ecommerce HUB
 
PASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous IntegrationPASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous IntegrationAlessandro Alpi
 
Flavio ATZENI - SMAU 2014
Flavio ATZENI - SMAU 2014Flavio ATZENI - SMAU 2014
Flavio ATZENI - SMAU 2014Paradisi63
 
Rich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.jsRich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.jsGiorgio Di Nardo
 
Tesi Discussione
Tesi DiscussioneTesi Discussione
Tesi DiscussioneYeser Rema
 
Case study - CEP Solutions srl
Case study - CEP Solutions srlCase study - CEP Solutions srl
Case study - CEP Solutions srlMicrofocusitalia
 
ASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroAndrea Dottor
 

Similar to Open Source Day 2015 - Migrare a JBoss: andare oltre gli aspetti tecnologici (20)

Integrazione continua con TFS Build
Integrazione continua con TFS BuildIntegrazione continua con TFS Build
Integrazione continua con TFS Build
 
.Net 4.0 Preview @ UGIdotNet
.Net 4.0 Preview @ UGIdotNet.Net 4.0 Preview @ UGIdotNet
.Net 4.0 Preview @ UGIdotNet
 
Slide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdfSlide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdf
 
DevOps by examples - Agile O'Day 2017
DevOps by examples - Agile O'Day 2017DevOps by examples - Agile O'Day 2017
DevOps by examples - Agile O'Day 2017
 
Kiratech "Qualità, metodologia e competenza al servizio della Digital Enterpr...
Kiratech "Qualità, metodologia e competenza al servizio della Digital Enterpr...Kiratech "Qualità, metodologia e competenza al servizio della Digital Enterpr...
Kiratech "Qualità, metodologia e competenza al servizio della Digital Enterpr...
 
Webcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio OnlineWebcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio Online
 
Fuse webinar
Fuse webinarFuse webinar
Fuse webinar
 
Modernize Legacy Systems with Kubernetes
Modernize Legacy Systems with KubernetesModernize Legacy Systems with Kubernetes
Modernize Legacy Systems with Kubernetes
 
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
 
Perché è così difficile il deploy dei database - DevCast DevOps Serie
Perché è così difficile il deploy dei database  - DevCast DevOps SeriePerché è così difficile il deploy dei database  - DevCast DevOps Serie
Perché è così difficile il deploy dei database - DevCast DevOps Serie
 
Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devops
 
Evoluzione del web development dalle cgi ai microservices
Evoluzione del web development dalle cgi ai microservicesEvoluzione del web development dalle cgi ai microservices
Evoluzione del web development dalle cgi ai microservices
 
Marco Salvatore - Novità tecniche di PrestaShop 1.7.6 (and what’s next)
Marco Salvatore - Novità tecniche di PrestaShop 1.7.6 (and what’s next)Marco Salvatore - Novità tecniche di PrestaShop 1.7.6 (and what’s next)
Marco Salvatore - Novità tecniche di PrestaShop 1.7.6 (and what’s next)
 
PASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous IntegrationPASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous Integration
 
Flavio ATZENI - SMAU 2014
Flavio ATZENI - SMAU 2014Flavio ATZENI - SMAU 2014
Flavio ATZENI - SMAU 2014
 
Rich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.jsRich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.js
 
Tesi Discussione
Tesi DiscussioneTesi Discussione
Tesi Discussione
 
Kotlin hexagonal-architecture
Kotlin hexagonal-architectureKotlin hexagonal-architecture
Kotlin hexagonal-architecture
 
Case study - CEP Solutions srl
Case study - CEP Solutions srlCase study - CEP Solutions srl
Case study - CEP Solutions srl
 
ASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuro
 

More from Par-Tec S.p.A.

RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...
RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...
RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...Par-Tec S.p.A.
 
MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...
MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...
MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...Par-Tec S.p.A.
 
Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...
Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...
Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...Par-Tec S.p.A.
 
Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...
Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...
Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...Par-Tec S.p.A.
 
MySQL Day 2021 Digital Edition - Da Percona e MariaDB a MySQL: vantaggi e str...
MySQL Day 2021 Digital Edition - Da Percona e MariaDB a MySQL: vantaggi e str...MySQL Day 2021 Digital Edition - Da Percona e MariaDB a MySQL: vantaggi e str...
MySQL Day 2021 Digital Edition - Da Percona e MariaDB a MySQL: vantaggi e str...Par-Tec S.p.A.
 
Webinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo moderno
Webinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo modernoWebinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo moderno
Webinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo modernoPar-Tec S.p.A.
 
MySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQL
MySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQLMySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQL
MySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQLPar-Tec S.p.A.
 
Webinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPA
Webinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPAWebinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPA
Webinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPAPar-Tec S.p.A.
 
MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0Par-Tec S.p.A.
 
MySQL Day Milano 2019 - Il backup non ammette ignoranza
MySQL Day Milano 2019 - Il backup non ammette ignoranzaMySQL Day Milano 2019 - Il backup non ammette ignoranza
MySQL Day Milano 2019 - Il backup non ammette ignoranzaPar-Tec S.p.A.
 
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?Par-Tec S.p.A.
 
Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...
Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...
Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...Par-Tec S.p.A.
 
MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0Par-Tec S.p.A.
 
MySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQLMySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQLPar-Tec S.p.A.
 
C&CNR2019 - Containers Landscape Review
C&CNR2019 - Containers Landscape ReviewC&CNR2019 - Containers Landscape Review
C&CNR2019 - Containers Landscape ReviewPar-Tec S.p.A.
 
C&CNR2019 - Cloud-Native Landscape Review
C&CNR2019 - Cloud-Native Landscape ReviewC&CNR2019 - Cloud-Native Landscape Review
C&CNR2019 - Cloud-Native Landscape ReviewPar-Tec S.p.A.
 
Open Source Day 2018 - OpenShift accelera la digital transformation di SIAE
Open Source Day 2018 - OpenShift accelera la digital transformation di SIAEOpen Source Day 2018 - OpenShift accelera la digital transformation di SIAE
Open Source Day 2018 - OpenShift accelera la digital transformation di SIAEPar-Tec S.p.A.
 
Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...
Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...
Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...Par-Tec S.p.A.
 
MySQL Day Milano 2018 - MySQL e le architetture a microservizi
MySQL Day Milano 2018 - MySQL e le architetture a microserviziMySQL Day Milano 2018 - MySQL e le architetture a microservizi
MySQL Day Milano 2018 - MySQL e le architetture a microserviziPar-Tec S.p.A.
 
MySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microserviziMySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microserviziPar-Tec S.p.A.
 

More from Par-Tec S.p.A. (20)

RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...
RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...
RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...
 
MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...
MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...
MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...
 
Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...
Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...
Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...
 
Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...
Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...
Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...
 
MySQL Day 2021 Digital Edition - Da Percona e MariaDB a MySQL: vantaggi e str...
MySQL Day 2021 Digital Edition - Da Percona e MariaDB a MySQL: vantaggi e str...MySQL Day 2021 Digital Edition - Da Percona e MariaDB a MySQL: vantaggi e str...
MySQL Day 2021 Digital Edition - Da Percona e MariaDB a MySQL: vantaggi e str...
 
Webinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo moderno
Webinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo modernoWebinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo moderno
Webinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo moderno
 
MySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQL
MySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQLMySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQL
MySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQL
 
Webinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPA
Webinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPAWebinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPA
Webinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPA
 
MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0
 
MySQL Day Milano 2019 - Il backup non ammette ignoranza
MySQL Day Milano 2019 - Il backup non ammette ignoranzaMySQL Day Milano 2019 - Il backup non ammette ignoranza
MySQL Day Milano 2019 - Il backup non ammette ignoranza
 
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?
 
Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...
Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...
Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...
 
MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0
 
MySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQLMySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQL
 
C&CNR2019 - Containers Landscape Review
C&CNR2019 - Containers Landscape ReviewC&CNR2019 - Containers Landscape Review
C&CNR2019 - Containers Landscape Review
 
C&CNR2019 - Cloud-Native Landscape Review
C&CNR2019 - Cloud-Native Landscape ReviewC&CNR2019 - Cloud-Native Landscape Review
C&CNR2019 - Cloud-Native Landscape Review
 
Open Source Day 2018 - OpenShift accelera la digital transformation di SIAE
Open Source Day 2018 - OpenShift accelera la digital transformation di SIAEOpen Source Day 2018 - OpenShift accelera la digital transformation di SIAE
Open Source Day 2018 - OpenShift accelera la digital transformation di SIAE
 
Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...
Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...
Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...
 
MySQL Day Milano 2018 - MySQL e le architetture a microservizi
MySQL Day Milano 2018 - MySQL e le architetture a microserviziMySQL Day Milano 2018 - MySQL e le architetture a microservizi
MySQL Day Milano 2018 - MySQL e le architetture a microservizi
 
MySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microserviziMySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microservizi
 

Open Source Day 2015 - Migrare a JBoss: andare oltre gli aspetti tecnologici

  • 1. #osd2015 Migrare a  JBoss: andare oltre gli aspetti tecnologici Roberto  Polli,  Solutions  Architect
  • 2. Par-­Tec è  un  software  &  infrastructure system integrator  che  si  distingue  per: • la  proposizione  al  mercato  di  servizi  professionali  altamente  qualificati  e  soluzioni  innovative • il  rispetto  degli  standard  e  l’adozione  di  tecnologie  open  source L’avventura  col  cappello  rosso  è  iniziata  10  anni  fa  con  l’adozione  del  GFS,  la   specializzazione  su  RHEL  e  l’evoluzione  verso  il  middleware  e  la  più  recente  Cloud   Infrastructure. Il  nostro  attuale  rapporto  con  Red  Hat? Red  Hat  Premier  Business  Partner  con  specializzazione  Datacenter  Infrastructure Par-­Tec e  Red Hat:  10  anni  di  successi
  • 3. Migrare a  JBoss:  Ambiente l I  driver  della  migrazione:  economici,  tecnologici l Integrare  Jboss in  ambiente  corporate – +10k  server,  C++,  Java,  Python – ESB,  Transazioni  distribuite,  Billing,  Multi-­layered caches – Pipeline:  sviluppo,  integration,  performance,  production – Agile,  scrum board,  git
  • 4. Migrare a  JBoss:  Obiettivi e  Strategia l Minimizzare  impatti  della  migrazione — Riutilizzare  le  componenti  esistenti — Astrarre  le  specificità  dei  vari  application server l Strategia — Velocizzare  e  semplificare  il  processo  di  sviluppo — Identificare  requisiti  critici  preventivamente — “To  JEE  or  not to  JEE?”
  • 5. Opportunità vs  Operatività l Introdurre – State-­of-­the-­art   development  system – Supporto Enterprise  +  Community – Integrazione con  tecnologia Red  Hat l Mantenendo – Integrazione con  ambiente e  procedure  presenti – Impatto minimo sulle scadenze
  • 6. Opportunità vs  Operatività l Individuazione  dei  Bottleneck procedurali l Ambiente  di  Continuous Integration   complesso l Alti  costi  di  non-­acceptance l Posticipare  la  fase  di  CI!
  • 7. JBoss Ecosystem: Validare  le  componenti  delegate  al  container Container-­Injected Beans @RunWith(Arquillian.class) class MyArquillianTest { // Save the MyBeanMock code // Stress the @Inject/@Resource code // May validate deployment descriptor @Inject // or @Resource ... private MyBean bean; @Test public void testMyBean(){ ... } } Mock  Beans/Factories class MyBeanMock { ... } // or class MyBeanMockFactory { ... } class MyOldWayTest { // Must write MyBeanMock class // Won't stress the @Injection code private MyBeanMock bean = new MyBeanMock(); @Test public void testMyBean(){ ... } }
  • 8. JBoss Ecosystem: l Bug  scoperti  prima di  andare  in  Continuous Integration l Test  più  brevi  e  più  numerosi l Meno  codice  &  debug più  semplice l Test  dell'integrazione  col  container l Deployment  descriptor validati  separatamente: l web.xml,  jboss-­web.xml,  ...   l Non  invasivo  – attivabile  via  maven profiles l Software  scritto  dalla  prospettiva  dell'utilizzatore
  • 9. Simulare la  CI  con l Debug locale  dell'integrazione  con  le   componenti  esterne l Simulare  le  componenti  esterne  con   blackbox riusabili l Simulare  la  CI  con   #docker-compose up jboss: image: jboss-eap-6 ports: - 8080:8080 - 9990:9990 logserver: image: my-logserver ports: - 1234:1234
  • 10. Cosa è cambiato • Goal:  raggiungimento  degli  obiettivi  iniziali. • Test:  più  numerosi,  più  piccoli,  più  veloci. • Efficienza:  maggiore  acceptance negli  Integration  Test. • Conoscenza:  pregi  e  limiti  di  JEE. • Tecnologia:  introdotti  Docker e  Arquillian.
  • 11. #osd2015 Thank  you Roberto  Polli,  Solutions  Architect