View
115
Download
2
Category
Preview:
Citation preview
#osd2015
Migrare a JBoss:andare oltre gli aspetti tecnologiciRoberto 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, tecnologicil 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;
@Testpublic void testMyBean(){...
}
}
Mock Beans/Factories
class MyBeanMock { ... } // orclass MyBeanMockFactory { ... }
class MyOldWayTest { // Must write MyBeanMock class// Won't stress the @Injection codeprivate MyBeanMock bean = new MyBeanMock();
@Testpublic 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 conl 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-6ports:- 8080:8080- 9990:9990
logserver:image: my-logserverports:- 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 youRoberto Polli, Solutions Architect
Recommended