SlideShare uma empresa Scribd logo
1 de 8
F O R M A T O E U R O P E O
P E R I L C U R R I C U L U M V I T A E
INFORMAZIONI PERSONALI
Richard Gennaro
VIA PORTUENSE 794
+39066552010
+393347156742
mailto:richardgennaro@gmail.com
http://devblog-richardgennaro.blogspot.it https://sites.google.com/site/richardgennaro/home
http://richardgennaro.wix.com/development-world
Skype: richardgennaro, ICQ: 647356863, Facebook: richard.gennaro,
Twitter: richardgennaro, Yahoo: gennaro.richardyahoo.com
NAZIONALITÀ Italiana
DATA DI NASCITA 22, OTTOBRE, 1973
RUOLO, ATTITUDINI & SKILLS SOFTWARE ARCHITECT – SOA/BPM EXPERT -
TEAM LEADER – ASSET MANAGER – SYSTEM INTEGRATOR -
J2EE DESIGN PATTERN SPECIALIST -
TECHNICAL PROJECT MANAGER
INFORMAZIONI PERSONALI
Richard Gennaro
Nazionalità Italiana
Data di nascita 22, OTTOBRE, 1973
ESPERIENZA LAVORATIVA
2013 – Ad oggi Aubay Italia Spa
Roma
E’ attualmente dipendente di Aubay Italia Spa per la quale copre il ruolo di team leader e
coordinatore tecnologico. L’ultima attività svolta si inquadrava nell’ambito di un progetto per le
Banche Medio Credito Centrale e Medio Credito Italiano, con la supervisione del MiSE, per la
gestione dei Fondi Europei di Cresc ita Sostenibile, nei vari stadi di lavorazione: dalla
compilazione della domanda da parte delle imprese richiedenti, all’istruttoria da parte degli Enti
Competenti (MCC, MCI, MiSE e CNR), alla fase di solvenza per finire con la monitorizzazione
dell’uso dei fondi concessi. Il tutto doveva rispettare i requisiti di trasparenza bancaria introdotti
dalla Comunità Europea nel biennio in corso. L’architettura era composta da tre starti
(Presentation, Business Logic, Persistenza) distribuiti su 4 nodi di FE (2 verticali e 2 orizzontali)
e 2 nodi di BE, i quali partecipavano ad un cluster in modalità domain dell’AS JBOSS EAP 6.1.
Dato che sulle stesse macchine conviveva un’altra applicazione dedicata ai Fondi di Garanzia,
per facilitarne la convivenza, raddoppiando logicamente tutte le istanza di JBOSS (in memoria),
ma non fisicamente(su disco), si è scelto di raddoppiare anche le schede di rete così da avere
due stack TCP/IP separati, a partire dal bilanciatore fino al DB (anch’esso in cluster Oracle
attivo/attivo) e utilizzando la caratteristica di offset delle porte coinvolte dalla comonente
Pagina di 71
JGroups. L’applicazione sfruttava i framework Spring Core, Spring Web, Spring Form, Dozer,
Hibernate, utilizzava il motore di regole Drools, jBPM 5 come WorkFlow Management e si
integrava con un ECM Alfresco e con un IAM Syncope per la profilazione/autenticazione in
simbiosi con Spring Security. La transazionalità distribuita era gestita da una cache di 2° livello
Infinispan replicata attraverso la modalità di Session Replication lato Front-End e di Sticky
Session lato Back-End, grazie anche alla componente HornetQ che rendeva persistente lo stato
del processo. Questo era necessario in particolare per jBPM perché tutte le chiamate tra FE e
BE erano RESTFull e non sussistevano chiamte Ajax che andassero a insistere su una
transazione o chiamassero un processo di persistenza.
Reply Sytel/Open (Poste Italiane)
Roma
Ha lavorato presso Poste Italiane per conto di due società del gruppo Reply (Open Reply e
successivamente Reply Sytel) dove ha seguito 3 progetti:
il primo di archiviazione sostitutiva dei dati riguardanti il MISE, con il ruolo di consulente per le
innovazioni tecnologiche e partecipando allo sviluppo.
Con un’architettura a tre strati basata su chiamate RESTfull, l’aplicazione girava su un AS JBoss
5 in modalità stand alone.
Il secondo per la gestione degli appuntamenti riguardanti i servizi presso il cliente con il ruolo di
Responsabile architetturale.
In particolare ne ho seguito la migrazione architetturale da un modello a due strati scritto in
VB.NET con il motore di persistenza basato su Access ad un modello a tre strati, dove il Front-
End restava scritto in .NET e deployato su IIS, mentre il Back-End, scritto in Java, si basava su
chiamate RESTfull ed era deployato su un AS Weblogic12c bilanciato su 2 nodi; il Data Layer
era costituito da un cluster Oracle attivo/passivo.
Il terzo per la stampa dei documenti di rendicontazione di fine anno di bancoposta, con il ruolo di
asset leader e ricoprendo anche lo sviluppo del motore batch.
L’architettura era basata su Spring Batch e Spring Integration, con un utilizzo intenso delle
librerie iText per la creazione dei PDF. I Volumi di Business erano intorno ai 6,5*10^5 documenti
da produrre in un paio di settimane, reso possibile da 3 gruppi specializzati composti da 50
threads ognuno che producevano un PDF ogni 0,2 secondi.
Nel corso del periodo in cu portava avanti i suddetti progetti ha sperimentato un’esperienza
molto significativa:
Ha partecipato attivamente ad una task force di PMT/SI(Processes Management Team/Systems
Integrator) dedicata al coordinamento di diverse initiative (Equitalia, Servizi a Domicilio &
Recapito concordato, Documentazione di ServizioBancoposta, Riorganizzazione del territorio,
Calendarizzazione & Geolocalizzazione, ecc...)caratterizzate da perimetri estremamente ampi
all'interno dei quali interagivano decine di sistemi, per ognuno dei quali era in corso uno o più
progetti.L'impegno del gruppo che fungeva da cabina di regia era quello di coordinare l'effort dei
vari team di sviluppo coinvolti, focalizzando le sinergie sulle attività che man mano si
proponevano (test integrati, rilasci multisistema, patches e ricondizionamento dei flussi, collaudi
in ambiente specifico, collaudo utente, start-up in esercizio...)
2011 - 2013 NTTData
Roma
Software Architect
Ambizioso progetto di integrazioni di vari sisemi eterogenei documentali e
mediatici attraverso un ESB costruito con Mule 3, un container di potlets come
Liferay 6.1.1 e per quanto riguarda lo strumento di contribuzione pura di assets
statici l’utilizzo di Adobe CQ5. La sfida e’ stata quella quindi di avere in feeding
una numero imprecisato di sorgenti che contribuivano contenuti in nformati non
definiti a priori, la maggior parte attraverso flussi di dati, ma non solo, la parte
statica che veniva contribuita dagli editor interni del cliente (Banca Fideuram)
attraverso Adobe CQ5 e altri sistemi che utilizzavano sistemi più omogenei
come Alfresco (CMIS) e Jackrabbit (JCR). Una problematica così complessa è
stata gestita attraverso l’ESB (Mule) che interpretando il tipo di richiesta
attraverso un motore di regole costruito a d.o.c in Json, metteva a disposizione
un endpoint per il feeding HTTP (WebServive CXF o REST) con
Pagina di 72
Marshalling/Unmarshalling Jaxb o un endpoint TCP con buffering/debuffering
implementato da Google Buffer Protocol (protobuf) nel caso di flussi di dati
omogenei.A quel punto l’ESB indicizzava il tutto su Solr (Motore di
indicizzazione e ricerca) codì da renderlo disponibile in modo omogeneo
sempre attraverso due varie tipologie di endpoint: TCP per favorire le chiamate
più veloci inetr-portlet, HTTP per favorire le interazioni AJAX di Liferay e i
Bridge verso CQ5. Un’altra integrazione importante diretta dal’ESB è stata
sincronizzare i workflow di Alfresco e di Adobe CQ5 per farli confluire all’interno
di un unico BPM all’interno di Mule.
Telecom
Acilia (Roma)
Software Architect
Progettazione di una piattaforma per la gestione dei loro progetti interni, delle
timeline di rilascio, efforts, sistemi impattati, documenti prodotti, ecc…
La piattaforma integra vari framework quali Alfresco per il Content
Management, Pentaho per la Business Intelligence, Liferay per il Portlet
Engine, CAS per il Single Sign On sotto Acive Directory, RedHat Seam è il
framework MVC, basato su JSF, Hibernate/JPA per la persistenza verso Oracle
e infine Bonita BPM come Orchestratore dei vari processi di buisiness.
Oltre a integrare Alfresco con le altre piattaforme attraverso dei connettori
CMIS di Bonita mi sono occupato dell’ottimizzazione del software perchè
potesse gestire al meglio moli importanti di coumenti in ambienti non
particolarmente potenti a livello hardware (applicazione della patch PAE per
SO Windows a 32 Bit, utilizzazione di Jrockit invece della JVM standard,
ottimizzazione impostazioni di avvio, della memoria e del garbage collector di
tipo parallelo, impostazione dell’indicizzazione asincrona dei documenti). Mi
sono inoltre occupato del popolamento iniziale dello storico documentale (5
milioni di documenti) che ha richiesto un processo di 35 thread concorrenti
della durata di 21 giorni consecutivi che andavano a reperire i documenti da
varie fonti, ne estrapolava i metadati da comunicare ad alfresco ed eseguiva
l’upload tenendo conto del versionamento. Purtroppo inizialmente l’upload
veniva eseguito da un WebService, ma nel momento in cui si generava la
risposta SOAP, un baco di Axis mandava in OutOfMemory Alfresco per una
proliferazione eccessiva di oggetti di tipo String. Ho quindi deciso di studiare e
adottatre la soluzione webscript, che ho avuto poi modo di approfondire
ulteriormente anche in altri ambiti .
2011 - 2012 Unicredit
Roma
Software Architect & Team Leader
architettto e responsabile tecnico di due progetti interni: il primo richiede una
nuova gestione degli anticipi sulle fatture fatture presentate per distinta e
l’aggiornamento automatico di vari contenitori di dati presenti su altri applicativi
interni attraverso chiamata di servizi distribuiti; il secondo progetto concerne la
necessità di rendere disponibili alla magistratura i dati del portafoglio effetti per
eventuali indagini.
Le due applicazioni usano un framework J2EE 1.4 sviluppato da Unicredit
chiamato XFrame, basato su Struts, EJB 2.1 e chiamate a servizi DB2 e IMS.
IBM metteva a disposizione l’Application Server WebSphere 5.1, l’IDE di
sviluppo WSAD 5, le code MQ Series, il Transaction Manager per le
transazioni distribuite che interagiva con CICS per disaccoppiare le transazioni
distibuite dello strato di persistenza da quelle applicative, che pure
necessitavano di essere altamente distribuite visto che gli attori in campo
erano molteplici (Applicazione Funzionale, Framework di Autenticazione SSO,
Framework di aggiornamento degli indici di liquidità, Trading Framework e altri
sui quali non avevo visibilità).
L’intero ambiente di sviluppo è virtualizzato con Citrix.
Il software di versionamento (VCS e CCM) è Serena Dimensions, con
interfaccia Gandalf per la gestione del Deploy, Lifecycle, Change &
Configuration Management come soluzione di Continuous Integration.
Successivamente il framework è stato migrato su ambiente WebSphere 7 con
funzionalità Portal, JDK 6, JEE5 e come IDE di sviluppo Rational Software
Pagina di 73
Architect 7.
2010 - 2011 Almaviva
Roma
Software Architect & Team Leader
progetto per il MEF: realizzazione di una piattaforma per la gestione dati di
bilancio correlati alla creazione di nuovi progetti di legge per manovre
finanziarie. La piattaforma con interfaccia online si basa su tecnologie Java6
EE, Oracle 11g, Oracle Single Sign On, Eclipse, Spring 2 Core, Spring 2
Security con java-annotations, iBatis 3 ORM, Dozer, Spring 2 MVC (Struts
based) con java-annotations, WebSphere Server e Portal 8 nell’ambiente di
sviluppo, 7 in collaudo e 6 in pre-esercizio ed esercizio. Questa scelta di usare
release diverse per ogni ambiente è stata dettata dalla necessità di collaudare
il prodotto per assicurare una portabilità futura verso ambienti obbligati per le
politiche del cliente finale (Ministero) Il progetto richiedeva l’applicazione dei
rerquisiti di accessibilità secondo la normativa sull'accessibilità (Legge 4/2004,
Legge Stanca)
Comune di Roma
Roma
Software Architect & Team Leader
sviluppo di un portale per la gestione dei lavori stradali, piattaforma basate su
tecnologie Java6 EE, Oracle 11g, Oracle Single Sign On, Eclipse, Spring 2
Core, Hibernate 3 ORM, Struts 2.1, GWT, JBoss 5.
2009 - 2010 STMicroelectronics
Portland(Oregon) – U.S.A.
PMO - Software Architect
dell'internazionalizzazione di un software pre-esistente per la gestione dei
clienti e dei procesi di business. Tale software si basa su tecnologie Java5
J2EE1.4, Struts, WebSphere 6, RAD 6, Oracle 10g e LDAP.
In pratica ha convertito un piccolo client gestionale aziendale realizzato in VB6
in un ERP Enterprise
2007 - 2009 Expert
Monterrey (Mexico)
Software Architect , Italian collaboration responsible
Realizzazione di un Software ERP mirato alla gestione ospedaliera.
ISINET Srl
Roma
Software Architect
progettazione, sviluppo e customizzazione di client ERP basati sui progetti
Compiere ed Adempiere
2003 - 2007 Telecom ITALIA
Roma
Analista Programmatore Senior
Progettazione e sviluppo di un progetto di Fraud Management basato su tecnologie
BEA WebLogic Integration/Portal. In particolare ha curato la progettazione
delle entità di business producendo documentazione e diagrammi UML e lo
sviluppo del sottosistema applicativo dii generazione delle pratiche di “rischio
frode”. Inoltre ha coperto un ruolo di supporto nello sviluppo di tutte le parti
dell’applicazione che si avvalgono della tecnologia di Process Management
attraverso la piattaforma BEA WebLogic Integration, integrando il proprio
apporto pratico di scrittura di codice con seminari mirati alla formazione dei
componenti del team di sviluppo sulle tecnologie BEA WLI per lo più
sconosciute a la maggiorparte degli sviluppatori. Era il responsabile della
Pagina di 74
progettazione e sviluppo dei processi distribuiti, a partire dai MDB, al
Transaction Manager fino all’implementazione dell’algoritmo di 3 phases
commit.
K-Tech Srl
Roma
Analista e Sviluppatrore Senior, Docente interno
Ha lavorato ai seguenti progetti:
- ha eseguito l’analisi, la progettazione e lo sviluppo del motore di un Sistema Informatico di
Gestione Documentale della Segreteria Direzione Generale del Formez, Istituto di Formazione
Studi del Dipartimento della Funzione Pubblica della Presidenza del Consiglio. Tale Software
consiste in un Content Management con funzionalità di ricerca full-text. Ha utilizzato l’Application
Server JBoss 4 per poter usufruire appieno delle tecnologie J2EE e del framework AspectJ
(programmazione Aspect-Oriented in Java) presente nell’AS.
- ha lavorato presso ISTAT (Istituto Nazionale Statistiche) per la migrazione di un applicazione
Web da un contesto J2EE su Application Server JBoss 3.x a un Servlet Container Tomcat 5.0. Il
Software consiste in uno strumento di Analisi Comparativa delle Indagini svolte dall’Istituto
stesso e parametrizzate su un Database Oracle 8i.
- ha lavorato presso il cliente “World Food Program” su un’applicazione Web di gestione dei
fondi destinati ai paesi del terzo mondo, documentazione e generazione di statistiche. L’
Applicazione è stata sviluppata attraverso il framework Struts su Oracle 9iAS.
- ha tenuto, nel ruolo di relatore, un seminario organizzato in collaborazione tra Java Italian
Association e JavaPortal, e sponsorizzato da Programmazione.it, dal titolo "Java Patterns per
Applicazioni Web. Un percorso di approccio alle tecniche per lo sviluppo di applicazioni Web con
il linguaggio Java".
Il seminario insisteva in particolare sul trinomio
“MVC–Struts–JavaServer Faces”, trattando i seguenri argomenti: -> L'evoluzione delle tecniche
di separazione della Flow Logic dalla Presentation Logic. -> Dal Pattern MVC alle nuove
specifiche JSF passando dal famosissimo framework Struts, analizzando alcune variazioni sul
tema. -> Una panoramica sulle proposte alternative e complementari a Struts dal mondo
OpenSource, per la separazione FL/PL.
Il seminario, comprensivo di esercizi pratici, condivisione di esperienze reali relative a
implementazioni in ambiti Enterprise e discussioni sul alcune problematiche riscontrate, e in
alcuni casi risolte, durante tali esperienze, ha avuto la durata di 25 ore distribuite su 5 sessioni
giornaliere. (http://www.pc-facile.com/news.php?n=19060)
Attraverso K-Tech, ha frequentato un corso tenuto da Bea Systems Italia intitolato “Developing
with BEA WebLogic Platform 8.1: from WebLogic Workshop to WebLogic Integration”, nel quale
sono state approfondite tutte le caratteristiche di BEA WebLogic Platform 8.1 (WebLogic Server
standalone e nodes managed, WebLogic Portal, WebLogic Integration) attraverso l’utilizzo del
framework di sviluppo WebLogic Workshop. Il corso ha avuto una durata pari a 15 ore distribuite
su 5 sessioni giornaliere, al termine del quale è stato contattato da Jeanne Wu, BEA Senior Vice
Presidente Risorse Umane, ricevendo l’attestato di “BEA Specialist Consultant”.
Aci Informatica
Roma
Analista e Sviluppatore
nello sviluppo di un progetto di gestione dei movimenti all’interno del Registro
Automobilistico. Ha curato in particolare la progettazione dell’architettura J2EE
di interfacciamento al DB e di trasformazione dei dati attraverso fogli di stile
XSL. L’applicazione girava sull’AS WebSphere IBM 5 e gli strumenti di sviluppo
utilizzati erano WSAD 5.0 e MS SourceSafe per il versionamento.
L’Applicazione dialogava con l’impianto informatico della motorizzazione civile
attraverso un BUS Tibco condiviso e coordinato da un Transaction Manager
con una strategia di 2 phase commit delle transazioni distribuite.
2003 - 2000 ENIData
Pagina di 75
Analista e Sviluppatore
Roma
Sviluppo del progetto Meta commissionato dal Gruppo ENI per la gestione delle risorse del
Gruppo attraverso un Service Directory LDAP Critical Path e un Database Oracle. Ha curato in
particolare il motore di batch che assicuravano la sincronizzazione tra Oracle e LDAP.
L’applicazione girava sull’Application Server WebSphere IBM 5.1
Accenture
Analista e Sviluppatore
Roma
Ha collaborato allo sviluppo di una Piattaforma commisionata da Telecom Italia per l’Whole Sale
dei servizi di telefonia voce e dati, utilizzando le tecnologie JSP, Java Servlets, EJB, JMS,
TIBCO, Oracle DB.
In particolare era il coordinatore delle attività di sviluppo riguardanti l’applicazione lato Server,
curava lo sviluppo degli EJB e la gestione degli Application Server (prima OC4J poi BEA
WebLogic)
Ha partecipato ad un corso di formazione tenuto da Bea Systems Italia per Accenture intitolato
“WebServices in Java with BEA WebLogic” della durata di 40 ore distribuite su 5 sessioni
giornaliere
Ha partecipato a Webb.it 2003 come relatore di un Seminario intitolato “Multithreading:
Parallelismo e Concorrenza in Java”
Ha sviluppato il nuovo Sito della “Java Italian Association” consultabile all’indirizzo
http://www.jia.it utilizzando la piattaforma OpenSource PHPNuke e riscrivendone alcune
funzionalità per personalizzarle alle esigenze dell’Associazione.
Ha lavorato presso la Società FDF nello sviluppo del progetto E-Bridge commissionato da
Buffetti per la compilazione on-line delle dichiarazioni dei redditi.
E' stato l'analista degli aspetti Enterprise del progetto e coordinatore dello sviluppo J2EE che si
poggiava sull’Application Server JBoss 3.2.3.
ISTRUZIONE E FORMAZIONE
1992-1993 Frequenta l’Università a Parigi
• Nome e tipo di istituto di istruzione
o formazione
Università “La Sorbonne” di Parigi
• Principali materie / abilità
professionali oggetto dello studio
Facoltà di Scienze Economiche
1993-2003 Cambia di corso di Laurea spostandosi a Roma
Universit “La Sapienza” di Roma
Presenta la tesi “reti neurali, nano tecnologia, manipolazione
dell’elettronica biologica, ingegneria genetica. Cammini
paralleli verso varie tipologie di intelligenze artificiali
grazie alle applicazioni pratiche delle scienze
dell’informazione e alle teorie cibernetiche ”.
Si laurea con il voto di 104/110.
CERTIFICAZIONI PROFESSIONALI
Pagina di 76
2002 BEA Certified Developer: Integration Solutions for BEA WebLogic 8.1
2003 (SCJP 4) Sun Certified Java Programmer 4.0 Certification Exam for
the Java 2 Standard Edition 1.4
2004 (SCWCD 4) Sun Certified Web component Developer 1.4 Certification
Exam for Java 2 Enterprise Edition (J2EE1.4) and Java Platform
Standard Edition (J2SE) r5
2008 (SCBCD 5) Sun Certified Business Component Developer for the Java
Platform Enterprise Edition 5 Certification Exam for J2SE r6 and
JEE5
2013 Spring Source Web Appclication Development Certification
2013 Spring Source Certified Spring Professional
2013 SpringSource Web Application Development
Pagina di 77
CAPACITÀ E COMPETENZE PERSONALI
MADRELINGUA ITALIANO
ALTRE LINGUE
FRANCESE
• Capacità di lettura ECCELLENTE
• Capacità di scrittura ECCELLENTE
• Capacità di espressione orale ECCELLENTE
INGLESE
• Capacità di lettura ECCELLENTE
• Capacità di scrittura BUONO
• Capacità di espressione orale BUONO
CAPACITÀ E COMPETENZE RELAZIONALI
.
Sono abituato a lavorare cooperando con alter persone, in dimensioni europee dove
parlo scrivo e leggo in diversi linguaggi e mi relaziono con persone di culture
eterogenee
CAPACITÀ E COMPETENZE
ORGANIZZATIVE
HO SPESSO AVUTO IL RUOLO DI TEAM LEADER O COMUNQUE DI RESPONSABILE, INTERFACCIANDOMI
CON I MIEI COLLEGHI IN MODO AUTOREVOLE MA NON AUTORITARIO.
CAPACITÀ E COMPETENZE TECNICHE SONO UN SOFTWARE ARCHITECT, ANALISTA, DEVELOPER SENIOR, SPECIALIZZATO IN APPLICAZIONI
JAVA ENTERPRISE E SOA CON PIÙ DI 15 ANNI DI ESPERIENZA CHE MI HANNO PORTATO AD
APPROCCIARE LE PROBLEMATICHE PIÙ DIFFERENTI E I CONTESTI PIÙ ESIGENTI E MI HANNO INSEGNATO
A ESSERE APERTO E ASSERTIVO A SECONDA DEGLI SCENARI NEI QUALI CI TROVAVAMO.
MI PIACE DESCRIVERMI COME UN APPASSIONATO DI QUESTO LAVORO CON CONOSCENZE DI "NICCHIA" E
UNA VISIONE AD ALTO SPETTRO DEL PROGETTO NON VOLENDO PERÒ PERDERE CONTATTO CON LA
REALIZZAZIONE DEL SOFTWARE VERA E PROPRIA., IN GERGO POTREI DIRE CHE MI PIACE .... ANZI,
TROVO ESSENZIALE "SPORCARMI LE MANI CON IL CODICE".
AVENDO VISO MATURARE QUESTO SETTORE NEGLI ANNI E PASSARE LE TECNOLOGIE PIÙ DISPARATE HO
SCELTO DI FOCALIZZARE LA MIA PROFESSIONALITÀ SULL'INTEGRAZIONE DI SISTEMI, IN PARTICOLARE
CON UN OCCHIO DI RIGUARDO ALLE ARCHITETTURE ORIENTATE AI SERVIZI E ALLA GESTIONE DINAMICA
DEI PROCESSI DI BUSINESS
ALTRE CAPACITÀ E COMPETENZE MI SONO SPESSO PROPOSTO DURANTE LA FASE INIZIALE DEL PROGETTO AD OCCUPARMI DEL SET-UP
DELL'AMBENTE DI PROGRAMMAZIONE. AMBIENTE COMPOSTO POSSIBILMENTE DAI SEGUENTI
COMPONENTI EVOLUTI (FRAMEWORKS,SERVERS):
- UN DISTRIBUTORE SINCRONIZZATO DI CODICE (CVS, SVN, GITHUB, PVCN, ECC..)
- UN MOTORE DI COMPIILAZIONE CON LA POSSIBILITÀ DI GESTIRE TASK E CONDIZIONI, DI IMPOSTARE
PARAMETRI CHE RENDANO LA COMPILAZIONE DINAMICA, (PREFERIBILMENTE MAVEN2 O 3 MA ANCHE
ANT, GANT, GRADLE, RAVEN, IVY, INSOMMMA SAREBBE UN BEL CAPITOLO DA APPROFONDIRE)
- VARI FRAMEWORK DI TESTING SIA UNITARI (JUNIT, UNITNG CHE FUNZIONALI (SELENIUM), E NE
REGRESSION
- FRAMEWORKS PER L'ANALISI DEL CODICE, QUALITÀ, METRICHE, (IO CONSIGLIO SONAR,
COBERTURA/EMMA/COCOCO, MCAHVE)
- ISSUE TRACKER (JIRA, TRAC O REDMINE) E POSSIBILMENTE ANCHE UN MODULO DI GESTIONE
PARALLELA DI ATTIVITÀ (CHE NON TUTTI GLI ISSUES TRACKER SVOLGONO); NATURALMENTE IL TUTTO
COADIUVATO DA UN FRAMEWORK DI CONTINUOUS INTEGRATION COME JENKINS
ALLEGATI
Pagina di 78

Mais conteúdo relacionado

Semelhante a Cv 2014 richard_gennaro_ eur_it

Enterprise Spring and Flex applications
Enterprise Spring and Flex applicationsEnterprise Spring and Flex applications
Enterprise Spring and Flex applicationsmarcocasario
 
Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Whymca
 
SVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDSVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDLuca Masini
 
OCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaSOCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaSopencityplatform
 
Usare le nuove WCF Web Api per creare servizi RESTful
Usare le nuove WCF Web Api per creare servizi RESTfulUsare le nuove WCF Web Api per creare servizi RESTful
Usare le nuove WCF Web Api per creare servizi RESTfulLuca Milan
 
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
 
Esposizione RIA
Esposizione RIAEsposizione RIA
Esposizione RIAdiodorato
 
Installazione del cms alfresco
Installazione del cms alfrescoInstallazione del cms alfresco
Installazione del cms alfrescoMirco Leo
 
OpenID Connect 1.0: verifica formale del protocollo in HLPSL
OpenID Connect 1.0: verifica formale del protocollo in HLPSLOpenID Connect 1.0: verifica formale del protocollo in HLPSL
OpenID Connect 1.0: verifica formale del protocollo in HLPSLVincenzo Calabrò
 
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...Mattia De Bernardi
 
Metamorfosi di un sistema informatico
Metamorfosi di un sistema informaticoMetamorfosi di un sistema informatico
Metamorfosi di un sistema informaticoAndrea Ferroni
 
Applicazioni web based
Applicazioni web basedApplicazioni web based
Applicazioni web basedMarco Liverani
 
Meetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web AppMeetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web Appdotnetcode
 
Catasto Rumore Struttura Informatica
Catasto Rumore Struttura InformaticaCatasto Rumore Struttura Informatica
Catasto Rumore Struttura Informaticaconfrontamutui
 
Meetup Progressive Web App
Meetup Progressive Web AppMeetup Progressive Web App
Meetup Progressive Web Appdotnetcode
 
Le Novita’ dello sviluppo applicazioni per IBM i
Le Novita’ dello sviluppo applicazioni per IBM iLe Novita’ dello sviluppo applicazioni per IBM i
Le Novita’ dello sviluppo applicazioni per IBM iS.info Srl
 
Evento 18 giugno - Sviluppo applicativo
Evento 18 giugno - Sviluppo applicativoEvento 18 giugno - Sviluppo applicativo
Evento 18 giugno - Sviluppo applicativoPRAGMA PROGETTI
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDaniele Mondello
 
Redis - Non solo cache
Redis - Non solo cacheRedis - Non solo cache
Redis - Non solo cacheLuigi Fugaro
 

Semelhante a Cv 2014 richard_gennaro_ eur_it (20)

Enterprise Spring and Flex applications
Enterprise Spring and Flex applicationsEnterprise Spring and Flex applications
Enterprise Spring and Flex applications
 
Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini
 
SVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDSVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROID
 
OCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaSOCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaS
 
OCP Paas_ultima
OCP Paas_ultimaOCP Paas_ultima
OCP Paas_ultima
 
Usare le nuove WCF Web Api per creare servizi RESTful
Usare le nuove WCF Web Api per creare servizi RESTfulUsare le nuove WCF Web Api per creare servizi RESTful
Usare le nuove WCF Web Api per creare servizi RESTful
 
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...
 
Esposizione RIA
Esposizione RIAEsposizione RIA
Esposizione RIA
 
Installazione del cms alfresco
Installazione del cms alfrescoInstallazione del cms alfresco
Installazione del cms alfresco
 
OpenID Connect 1.0: verifica formale del protocollo in HLPSL
OpenID Connect 1.0: verifica formale del protocollo in HLPSLOpenID Connect 1.0: verifica formale del protocollo in HLPSL
OpenID Connect 1.0: verifica formale del protocollo in HLPSL
 
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
 
Metamorfosi di un sistema informatico
Metamorfosi di un sistema informaticoMetamorfosi di un sistema informatico
Metamorfosi di un sistema informatico
 
Applicazioni web based
Applicazioni web basedApplicazioni web based
Applicazioni web based
 
Meetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web AppMeetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web App
 
Catasto Rumore Struttura Informatica
Catasto Rumore Struttura InformaticaCatasto Rumore Struttura Informatica
Catasto Rumore Struttura Informatica
 
Meetup Progressive Web App
Meetup Progressive Web AppMeetup Progressive Web App
Meetup Progressive Web App
 
Le Novita’ dello sviluppo applicazioni per IBM i
Le Novita’ dello sviluppo applicazioni per IBM iLe Novita’ dello sviluppo applicazioni per IBM i
Le Novita’ dello sviluppo applicazioni per IBM i
 
Evento 18 giugno - Sviluppo applicativo
Evento 18 giugno - Sviluppo applicativoEvento 18 giugno - Sviluppo applicativo
Evento 18 giugno - Sviluppo applicativo
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele Mondello
 
Redis - Non solo cache
Redis - Non solo cacheRedis - Non solo cache
Redis - Non solo cache
 

Cv 2014 richard_gennaro_ eur_it

  • 1. F O R M A T O E U R O P E O P E R I L C U R R I C U L U M V I T A E INFORMAZIONI PERSONALI Richard Gennaro VIA PORTUENSE 794 +39066552010 +393347156742 mailto:richardgennaro@gmail.com http://devblog-richardgennaro.blogspot.it https://sites.google.com/site/richardgennaro/home http://richardgennaro.wix.com/development-world Skype: richardgennaro, ICQ: 647356863, Facebook: richard.gennaro, Twitter: richardgennaro, Yahoo: gennaro.richardyahoo.com NAZIONALITÀ Italiana DATA DI NASCITA 22, OTTOBRE, 1973 RUOLO, ATTITUDINI & SKILLS SOFTWARE ARCHITECT – SOA/BPM EXPERT - TEAM LEADER – ASSET MANAGER – SYSTEM INTEGRATOR - J2EE DESIGN PATTERN SPECIALIST - TECHNICAL PROJECT MANAGER INFORMAZIONI PERSONALI Richard Gennaro Nazionalità Italiana Data di nascita 22, OTTOBRE, 1973 ESPERIENZA LAVORATIVA 2013 – Ad oggi Aubay Italia Spa Roma E’ attualmente dipendente di Aubay Italia Spa per la quale copre il ruolo di team leader e coordinatore tecnologico. L’ultima attività svolta si inquadrava nell’ambito di un progetto per le Banche Medio Credito Centrale e Medio Credito Italiano, con la supervisione del MiSE, per la gestione dei Fondi Europei di Cresc ita Sostenibile, nei vari stadi di lavorazione: dalla compilazione della domanda da parte delle imprese richiedenti, all’istruttoria da parte degli Enti Competenti (MCC, MCI, MiSE e CNR), alla fase di solvenza per finire con la monitorizzazione dell’uso dei fondi concessi. Il tutto doveva rispettare i requisiti di trasparenza bancaria introdotti dalla Comunità Europea nel biennio in corso. L’architettura era composta da tre starti (Presentation, Business Logic, Persistenza) distribuiti su 4 nodi di FE (2 verticali e 2 orizzontali) e 2 nodi di BE, i quali partecipavano ad un cluster in modalità domain dell’AS JBOSS EAP 6.1. Dato che sulle stesse macchine conviveva un’altra applicazione dedicata ai Fondi di Garanzia, per facilitarne la convivenza, raddoppiando logicamente tutte le istanza di JBOSS (in memoria), ma non fisicamente(su disco), si è scelto di raddoppiare anche le schede di rete così da avere due stack TCP/IP separati, a partire dal bilanciatore fino al DB (anch’esso in cluster Oracle attivo/attivo) e utilizzando la caratteristica di offset delle porte coinvolte dalla comonente Pagina di 71
  • 2. JGroups. L’applicazione sfruttava i framework Spring Core, Spring Web, Spring Form, Dozer, Hibernate, utilizzava il motore di regole Drools, jBPM 5 come WorkFlow Management e si integrava con un ECM Alfresco e con un IAM Syncope per la profilazione/autenticazione in simbiosi con Spring Security. La transazionalità distribuita era gestita da una cache di 2° livello Infinispan replicata attraverso la modalità di Session Replication lato Front-End e di Sticky Session lato Back-End, grazie anche alla componente HornetQ che rendeva persistente lo stato del processo. Questo era necessario in particolare per jBPM perché tutte le chiamate tra FE e BE erano RESTFull e non sussistevano chiamte Ajax che andassero a insistere su una transazione o chiamassero un processo di persistenza. Reply Sytel/Open (Poste Italiane) Roma Ha lavorato presso Poste Italiane per conto di due società del gruppo Reply (Open Reply e successivamente Reply Sytel) dove ha seguito 3 progetti: il primo di archiviazione sostitutiva dei dati riguardanti il MISE, con il ruolo di consulente per le innovazioni tecnologiche e partecipando allo sviluppo. Con un’architettura a tre strati basata su chiamate RESTfull, l’aplicazione girava su un AS JBoss 5 in modalità stand alone. Il secondo per la gestione degli appuntamenti riguardanti i servizi presso il cliente con il ruolo di Responsabile architetturale. In particolare ne ho seguito la migrazione architetturale da un modello a due strati scritto in VB.NET con il motore di persistenza basato su Access ad un modello a tre strati, dove il Front- End restava scritto in .NET e deployato su IIS, mentre il Back-End, scritto in Java, si basava su chiamate RESTfull ed era deployato su un AS Weblogic12c bilanciato su 2 nodi; il Data Layer era costituito da un cluster Oracle attivo/passivo. Il terzo per la stampa dei documenti di rendicontazione di fine anno di bancoposta, con il ruolo di asset leader e ricoprendo anche lo sviluppo del motore batch. L’architettura era basata su Spring Batch e Spring Integration, con un utilizzo intenso delle librerie iText per la creazione dei PDF. I Volumi di Business erano intorno ai 6,5*10^5 documenti da produrre in un paio di settimane, reso possibile da 3 gruppi specializzati composti da 50 threads ognuno che producevano un PDF ogni 0,2 secondi. Nel corso del periodo in cu portava avanti i suddetti progetti ha sperimentato un’esperienza molto significativa: Ha partecipato attivamente ad una task force di PMT/SI(Processes Management Team/Systems Integrator) dedicata al coordinamento di diverse initiative (Equitalia, Servizi a Domicilio & Recapito concordato, Documentazione di ServizioBancoposta, Riorganizzazione del territorio, Calendarizzazione & Geolocalizzazione, ecc...)caratterizzate da perimetri estremamente ampi all'interno dei quali interagivano decine di sistemi, per ognuno dei quali era in corso uno o più progetti.L'impegno del gruppo che fungeva da cabina di regia era quello di coordinare l'effort dei vari team di sviluppo coinvolti, focalizzando le sinergie sulle attività che man mano si proponevano (test integrati, rilasci multisistema, patches e ricondizionamento dei flussi, collaudi in ambiente specifico, collaudo utente, start-up in esercizio...) 2011 - 2013 NTTData Roma Software Architect Ambizioso progetto di integrazioni di vari sisemi eterogenei documentali e mediatici attraverso un ESB costruito con Mule 3, un container di potlets come Liferay 6.1.1 e per quanto riguarda lo strumento di contribuzione pura di assets statici l’utilizzo di Adobe CQ5. La sfida e’ stata quella quindi di avere in feeding una numero imprecisato di sorgenti che contribuivano contenuti in nformati non definiti a priori, la maggior parte attraverso flussi di dati, ma non solo, la parte statica che veniva contribuita dagli editor interni del cliente (Banca Fideuram) attraverso Adobe CQ5 e altri sistemi che utilizzavano sistemi più omogenei come Alfresco (CMIS) e Jackrabbit (JCR). Una problematica così complessa è stata gestita attraverso l’ESB (Mule) che interpretando il tipo di richiesta attraverso un motore di regole costruito a d.o.c in Json, metteva a disposizione un endpoint per il feeding HTTP (WebServive CXF o REST) con Pagina di 72
  • 3. Marshalling/Unmarshalling Jaxb o un endpoint TCP con buffering/debuffering implementato da Google Buffer Protocol (protobuf) nel caso di flussi di dati omogenei.A quel punto l’ESB indicizzava il tutto su Solr (Motore di indicizzazione e ricerca) codì da renderlo disponibile in modo omogeneo sempre attraverso due varie tipologie di endpoint: TCP per favorire le chiamate più veloci inetr-portlet, HTTP per favorire le interazioni AJAX di Liferay e i Bridge verso CQ5. Un’altra integrazione importante diretta dal’ESB è stata sincronizzare i workflow di Alfresco e di Adobe CQ5 per farli confluire all’interno di un unico BPM all’interno di Mule. Telecom Acilia (Roma) Software Architect Progettazione di una piattaforma per la gestione dei loro progetti interni, delle timeline di rilascio, efforts, sistemi impattati, documenti prodotti, ecc… La piattaforma integra vari framework quali Alfresco per il Content Management, Pentaho per la Business Intelligence, Liferay per il Portlet Engine, CAS per il Single Sign On sotto Acive Directory, RedHat Seam è il framework MVC, basato su JSF, Hibernate/JPA per la persistenza verso Oracle e infine Bonita BPM come Orchestratore dei vari processi di buisiness. Oltre a integrare Alfresco con le altre piattaforme attraverso dei connettori CMIS di Bonita mi sono occupato dell’ottimizzazione del software perchè potesse gestire al meglio moli importanti di coumenti in ambienti non particolarmente potenti a livello hardware (applicazione della patch PAE per SO Windows a 32 Bit, utilizzazione di Jrockit invece della JVM standard, ottimizzazione impostazioni di avvio, della memoria e del garbage collector di tipo parallelo, impostazione dell’indicizzazione asincrona dei documenti). Mi sono inoltre occupato del popolamento iniziale dello storico documentale (5 milioni di documenti) che ha richiesto un processo di 35 thread concorrenti della durata di 21 giorni consecutivi che andavano a reperire i documenti da varie fonti, ne estrapolava i metadati da comunicare ad alfresco ed eseguiva l’upload tenendo conto del versionamento. Purtroppo inizialmente l’upload veniva eseguito da un WebService, ma nel momento in cui si generava la risposta SOAP, un baco di Axis mandava in OutOfMemory Alfresco per una proliferazione eccessiva di oggetti di tipo String. Ho quindi deciso di studiare e adottatre la soluzione webscript, che ho avuto poi modo di approfondire ulteriormente anche in altri ambiti . 2011 - 2012 Unicredit Roma Software Architect & Team Leader architettto e responsabile tecnico di due progetti interni: il primo richiede una nuova gestione degli anticipi sulle fatture fatture presentate per distinta e l’aggiornamento automatico di vari contenitori di dati presenti su altri applicativi interni attraverso chiamata di servizi distribuiti; il secondo progetto concerne la necessità di rendere disponibili alla magistratura i dati del portafoglio effetti per eventuali indagini. Le due applicazioni usano un framework J2EE 1.4 sviluppato da Unicredit chiamato XFrame, basato su Struts, EJB 2.1 e chiamate a servizi DB2 e IMS. IBM metteva a disposizione l’Application Server WebSphere 5.1, l’IDE di sviluppo WSAD 5, le code MQ Series, il Transaction Manager per le transazioni distribuite che interagiva con CICS per disaccoppiare le transazioni distibuite dello strato di persistenza da quelle applicative, che pure necessitavano di essere altamente distribuite visto che gli attori in campo erano molteplici (Applicazione Funzionale, Framework di Autenticazione SSO, Framework di aggiornamento degli indici di liquidità, Trading Framework e altri sui quali non avevo visibilità). L’intero ambiente di sviluppo è virtualizzato con Citrix. Il software di versionamento (VCS e CCM) è Serena Dimensions, con interfaccia Gandalf per la gestione del Deploy, Lifecycle, Change & Configuration Management come soluzione di Continuous Integration. Successivamente il framework è stato migrato su ambiente WebSphere 7 con funzionalità Portal, JDK 6, JEE5 e come IDE di sviluppo Rational Software Pagina di 73
  • 4. Architect 7. 2010 - 2011 Almaviva Roma Software Architect & Team Leader progetto per il MEF: realizzazione di una piattaforma per la gestione dati di bilancio correlati alla creazione di nuovi progetti di legge per manovre finanziarie. La piattaforma con interfaccia online si basa su tecnologie Java6 EE, Oracle 11g, Oracle Single Sign On, Eclipse, Spring 2 Core, Spring 2 Security con java-annotations, iBatis 3 ORM, Dozer, Spring 2 MVC (Struts based) con java-annotations, WebSphere Server e Portal 8 nell’ambiente di sviluppo, 7 in collaudo e 6 in pre-esercizio ed esercizio. Questa scelta di usare release diverse per ogni ambiente è stata dettata dalla necessità di collaudare il prodotto per assicurare una portabilità futura verso ambienti obbligati per le politiche del cliente finale (Ministero) Il progetto richiedeva l’applicazione dei rerquisiti di accessibilità secondo la normativa sull'accessibilità (Legge 4/2004, Legge Stanca) Comune di Roma Roma Software Architect & Team Leader sviluppo di un portale per la gestione dei lavori stradali, piattaforma basate su tecnologie Java6 EE, Oracle 11g, Oracle Single Sign On, Eclipse, Spring 2 Core, Hibernate 3 ORM, Struts 2.1, GWT, JBoss 5. 2009 - 2010 STMicroelectronics Portland(Oregon) – U.S.A. PMO - Software Architect dell'internazionalizzazione di un software pre-esistente per la gestione dei clienti e dei procesi di business. Tale software si basa su tecnologie Java5 J2EE1.4, Struts, WebSphere 6, RAD 6, Oracle 10g e LDAP. In pratica ha convertito un piccolo client gestionale aziendale realizzato in VB6 in un ERP Enterprise 2007 - 2009 Expert Monterrey (Mexico) Software Architect , Italian collaboration responsible Realizzazione di un Software ERP mirato alla gestione ospedaliera. ISINET Srl Roma Software Architect progettazione, sviluppo e customizzazione di client ERP basati sui progetti Compiere ed Adempiere 2003 - 2007 Telecom ITALIA Roma Analista Programmatore Senior Progettazione e sviluppo di un progetto di Fraud Management basato su tecnologie BEA WebLogic Integration/Portal. In particolare ha curato la progettazione delle entità di business producendo documentazione e diagrammi UML e lo sviluppo del sottosistema applicativo dii generazione delle pratiche di “rischio frode”. Inoltre ha coperto un ruolo di supporto nello sviluppo di tutte le parti dell’applicazione che si avvalgono della tecnologia di Process Management attraverso la piattaforma BEA WebLogic Integration, integrando il proprio apporto pratico di scrittura di codice con seminari mirati alla formazione dei componenti del team di sviluppo sulle tecnologie BEA WLI per lo più sconosciute a la maggiorparte degli sviluppatori. Era il responsabile della Pagina di 74
  • 5. progettazione e sviluppo dei processi distribuiti, a partire dai MDB, al Transaction Manager fino all’implementazione dell’algoritmo di 3 phases commit. K-Tech Srl Roma Analista e Sviluppatrore Senior, Docente interno Ha lavorato ai seguenti progetti: - ha eseguito l’analisi, la progettazione e lo sviluppo del motore di un Sistema Informatico di Gestione Documentale della Segreteria Direzione Generale del Formez, Istituto di Formazione Studi del Dipartimento della Funzione Pubblica della Presidenza del Consiglio. Tale Software consiste in un Content Management con funzionalità di ricerca full-text. Ha utilizzato l’Application Server JBoss 4 per poter usufruire appieno delle tecnologie J2EE e del framework AspectJ (programmazione Aspect-Oriented in Java) presente nell’AS. - ha lavorato presso ISTAT (Istituto Nazionale Statistiche) per la migrazione di un applicazione Web da un contesto J2EE su Application Server JBoss 3.x a un Servlet Container Tomcat 5.0. Il Software consiste in uno strumento di Analisi Comparativa delle Indagini svolte dall’Istituto stesso e parametrizzate su un Database Oracle 8i. - ha lavorato presso il cliente “World Food Program” su un’applicazione Web di gestione dei fondi destinati ai paesi del terzo mondo, documentazione e generazione di statistiche. L’ Applicazione è stata sviluppata attraverso il framework Struts su Oracle 9iAS. - ha tenuto, nel ruolo di relatore, un seminario organizzato in collaborazione tra Java Italian Association e JavaPortal, e sponsorizzato da Programmazione.it, dal titolo "Java Patterns per Applicazioni Web. Un percorso di approccio alle tecniche per lo sviluppo di applicazioni Web con il linguaggio Java". Il seminario insisteva in particolare sul trinomio “MVC–Struts–JavaServer Faces”, trattando i seguenri argomenti: -> L'evoluzione delle tecniche di separazione della Flow Logic dalla Presentation Logic. -> Dal Pattern MVC alle nuove specifiche JSF passando dal famosissimo framework Struts, analizzando alcune variazioni sul tema. -> Una panoramica sulle proposte alternative e complementari a Struts dal mondo OpenSource, per la separazione FL/PL. Il seminario, comprensivo di esercizi pratici, condivisione di esperienze reali relative a implementazioni in ambiti Enterprise e discussioni sul alcune problematiche riscontrate, e in alcuni casi risolte, durante tali esperienze, ha avuto la durata di 25 ore distribuite su 5 sessioni giornaliere. (http://www.pc-facile.com/news.php?n=19060) Attraverso K-Tech, ha frequentato un corso tenuto da Bea Systems Italia intitolato “Developing with BEA WebLogic Platform 8.1: from WebLogic Workshop to WebLogic Integration”, nel quale sono state approfondite tutte le caratteristiche di BEA WebLogic Platform 8.1 (WebLogic Server standalone e nodes managed, WebLogic Portal, WebLogic Integration) attraverso l’utilizzo del framework di sviluppo WebLogic Workshop. Il corso ha avuto una durata pari a 15 ore distribuite su 5 sessioni giornaliere, al termine del quale è stato contattato da Jeanne Wu, BEA Senior Vice Presidente Risorse Umane, ricevendo l’attestato di “BEA Specialist Consultant”. Aci Informatica Roma Analista e Sviluppatore nello sviluppo di un progetto di gestione dei movimenti all’interno del Registro Automobilistico. Ha curato in particolare la progettazione dell’architettura J2EE di interfacciamento al DB e di trasformazione dei dati attraverso fogli di stile XSL. L’applicazione girava sull’AS WebSphere IBM 5 e gli strumenti di sviluppo utilizzati erano WSAD 5.0 e MS SourceSafe per il versionamento. L’Applicazione dialogava con l’impianto informatico della motorizzazione civile attraverso un BUS Tibco condiviso e coordinato da un Transaction Manager con una strategia di 2 phase commit delle transazioni distribuite. 2003 - 2000 ENIData Pagina di 75
  • 6. Analista e Sviluppatore Roma Sviluppo del progetto Meta commissionato dal Gruppo ENI per la gestione delle risorse del Gruppo attraverso un Service Directory LDAP Critical Path e un Database Oracle. Ha curato in particolare il motore di batch che assicuravano la sincronizzazione tra Oracle e LDAP. L’applicazione girava sull’Application Server WebSphere IBM 5.1 Accenture Analista e Sviluppatore Roma Ha collaborato allo sviluppo di una Piattaforma commisionata da Telecom Italia per l’Whole Sale dei servizi di telefonia voce e dati, utilizzando le tecnologie JSP, Java Servlets, EJB, JMS, TIBCO, Oracle DB. In particolare era il coordinatore delle attività di sviluppo riguardanti l’applicazione lato Server, curava lo sviluppo degli EJB e la gestione degli Application Server (prima OC4J poi BEA WebLogic) Ha partecipato ad un corso di formazione tenuto da Bea Systems Italia per Accenture intitolato “WebServices in Java with BEA WebLogic” della durata di 40 ore distribuite su 5 sessioni giornaliere Ha partecipato a Webb.it 2003 come relatore di un Seminario intitolato “Multithreading: Parallelismo e Concorrenza in Java” Ha sviluppato il nuovo Sito della “Java Italian Association” consultabile all’indirizzo http://www.jia.it utilizzando la piattaforma OpenSource PHPNuke e riscrivendone alcune funzionalità per personalizzarle alle esigenze dell’Associazione. Ha lavorato presso la Società FDF nello sviluppo del progetto E-Bridge commissionato da Buffetti per la compilazione on-line delle dichiarazioni dei redditi. E' stato l'analista degli aspetti Enterprise del progetto e coordinatore dello sviluppo J2EE che si poggiava sull’Application Server JBoss 3.2.3. ISTRUZIONE E FORMAZIONE 1992-1993 Frequenta l’Università a Parigi • Nome e tipo di istituto di istruzione o formazione Università “La Sorbonne” di Parigi • Principali materie / abilità professionali oggetto dello studio Facoltà di Scienze Economiche 1993-2003 Cambia di corso di Laurea spostandosi a Roma Universit “La Sapienza” di Roma Presenta la tesi “reti neurali, nano tecnologia, manipolazione dell’elettronica biologica, ingegneria genetica. Cammini paralleli verso varie tipologie di intelligenze artificiali grazie alle applicazioni pratiche delle scienze dell’informazione e alle teorie cibernetiche ”. Si laurea con il voto di 104/110. CERTIFICAZIONI PROFESSIONALI Pagina di 76
  • 7. 2002 BEA Certified Developer: Integration Solutions for BEA WebLogic 8.1 2003 (SCJP 4) Sun Certified Java Programmer 4.0 Certification Exam for the Java 2 Standard Edition 1.4 2004 (SCWCD 4) Sun Certified Web component Developer 1.4 Certification Exam for Java 2 Enterprise Edition (J2EE1.4) and Java Platform Standard Edition (J2SE) r5 2008 (SCBCD 5) Sun Certified Business Component Developer for the Java Platform Enterprise Edition 5 Certification Exam for J2SE r6 and JEE5 2013 Spring Source Web Appclication Development Certification 2013 Spring Source Certified Spring Professional 2013 SpringSource Web Application Development Pagina di 77
  • 8. CAPACITÀ E COMPETENZE PERSONALI MADRELINGUA ITALIANO ALTRE LINGUE FRANCESE • Capacità di lettura ECCELLENTE • Capacità di scrittura ECCELLENTE • Capacità di espressione orale ECCELLENTE INGLESE • Capacità di lettura ECCELLENTE • Capacità di scrittura BUONO • Capacità di espressione orale BUONO CAPACITÀ E COMPETENZE RELAZIONALI . Sono abituato a lavorare cooperando con alter persone, in dimensioni europee dove parlo scrivo e leggo in diversi linguaggi e mi relaziono con persone di culture eterogenee CAPACITÀ E COMPETENZE ORGANIZZATIVE HO SPESSO AVUTO IL RUOLO DI TEAM LEADER O COMUNQUE DI RESPONSABILE, INTERFACCIANDOMI CON I MIEI COLLEGHI IN MODO AUTOREVOLE MA NON AUTORITARIO. CAPACITÀ E COMPETENZE TECNICHE SONO UN SOFTWARE ARCHITECT, ANALISTA, DEVELOPER SENIOR, SPECIALIZZATO IN APPLICAZIONI JAVA ENTERPRISE E SOA CON PIÙ DI 15 ANNI DI ESPERIENZA CHE MI HANNO PORTATO AD APPROCCIARE LE PROBLEMATICHE PIÙ DIFFERENTI E I CONTESTI PIÙ ESIGENTI E MI HANNO INSEGNATO A ESSERE APERTO E ASSERTIVO A SECONDA DEGLI SCENARI NEI QUALI CI TROVAVAMO. MI PIACE DESCRIVERMI COME UN APPASSIONATO DI QUESTO LAVORO CON CONOSCENZE DI "NICCHIA" E UNA VISIONE AD ALTO SPETTRO DEL PROGETTO NON VOLENDO PERÒ PERDERE CONTATTO CON LA REALIZZAZIONE DEL SOFTWARE VERA E PROPRIA., IN GERGO POTREI DIRE CHE MI PIACE .... ANZI, TROVO ESSENZIALE "SPORCARMI LE MANI CON IL CODICE". AVENDO VISO MATURARE QUESTO SETTORE NEGLI ANNI E PASSARE LE TECNOLOGIE PIÙ DISPARATE HO SCELTO DI FOCALIZZARE LA MIA PROFESSIONALITÀ SULL'INTEGRAZIONE DI SISTEMI, IN PARTICOLARE CON UN OCCHIO DI RIGUARDO ALLE ARCHITETTURE ORIENTATE AI SERVIZI E ALLA GESTIONE DINAMICA DEI PROCESSI DI BUSINESS ALTRE CAPACITÀ E COMPETENZE MI SONO SPESSO PROPOSTO DURANTE LA FASE INIZIALE DEL PROGETTO AD OCCUPARMI DEL SET-UP DELL'AMBENTE DI PROGRAMMAZIONE. AMBIENTE COMPOSTO POSSIBILMENTE DAI SEGUENTI COMPONENTI EVOLUTI (FRAMEWORKS,SERVERS): - UN DISTRIBUTORE SINCRONIZZATO DI CODICE (CVS, SVN, GITHUB, PVCN, ECC..) - UN MOTORE DI COMPIILAZIONE CON LA POSSIBILITÀ DI GESTIRE TASK E CONDIZIONI, DI IMPOSTARE PARAMETRI CHE RENDANO LA COMPILAZIONE DINAMICA, (PREFERIBILMENTE MAVEN2 O 3 MA ANCHE ANT, GANT, GRADLE, RAVEN, IVY, INSOMMMA SAREBBE UN BEL CAPITOLO DA APPROFONDIRE) - VARI FRAMEWORK DI TESTING SIA UNITARI (JUNIT, UNITNG CHE FUNZIONALI (SELENIUM), E NE REGRESSION - FRAMEWORKS PER L'ANALISI DEL CODICE, QUALITÀ, METRICHE, (IO CONSIGLIO SONAR, COBERTURA/EMMA/COCOCO, MCAHVE) - ISSUE TRACKER (JIRA, TRAC O REDMINE) E POSSIBILMENTE ANCHE UN MODULO DI GESTIONE PARALLELA DI ATTIVITÀ (CHE NON TUTTI GLI ISSUES TRACKER SVOLGONO); NATURALMENTE IL TUTTO COADIUVATO DA UN FRAMEWORK DI CONTINUOUS INTEGRATION COME JENKINS ALLEGATI Pagina di 78