Mise en place d’architectures JAVA avec des différentes technologies : EJB avec des problématiques de code concurrent, mise en place de producers/consumers de message avec le broker zookeeper/kafka.
Développements JAVA 8 : EJB3 : @Stateless / @Singleton / @Startup
@LockType.READ / @LockType.WRITE (Concurrent problematics)
Manipulation de threads : Callable / Runnable interface
Utilisation des nouvelles fonctionnalités JAVA 8 : forEach / stream / max / filter / map / collect
Mise en place de Jenkins : Intégration continue.
Tests Junit.
Vertica Big Data table requests.
Mise en place de Quartz pour lancer des actions schedulées.
Développements avec les libraires Kafka.
Mise en place de designs patterns.
Mise en place de tests fonctionnels d’intégration. Scripts shell.
Mise en place de REST API : tests fonctionnels d’intégration avec la commande shell curl.
1/ SATURN : Dimensionnement et prévisionnels de vols sur une saison afin de calibrer le personnel au sol
Adjoint chef de projet : Rapport des développements en cours, chiffrage, déploiement en développement, recette et qualification avec BAMBOO (intégration continue).
Suivis de la recette, ouverture d’anomalies par le client et corrections tout le long de la recette.
Rapport du nombre d’anomalies et du temps passé sur la recette.
Technologies : BAMBOO, JIRA (Suivis des tâches de développement), ouverture d’anomalies avec Quality Center.
Création de branches Git, création de releases de l’application.
Partitions de tables Oracle pour la purge des données.
Création d’indexes Oracle.
Jointures entre les différentes entités Hibernate avec la clé de partitionnement afin d’augmenter les performances des jointures.
Tests JUNIT, ordonnancement des tests avec JUNIT SUITE.
Développement JAVA SPRING DATA, SPRING REST.
Création de controllers (verbes HTTP REST: GET-POST-PUT-DELETE).
Création de services Java.
Création de Repository (String data).
Utilisation avancée de jpa avancé (Specifications (Spring Data), Criterions).
Développement en AngularJS, CSS3, HTML5, responsive sur les 3 projets pendant 1 an ½.
Création de directives, services, factory, filtres et interceptors angularjs
DATA/REPOSITORIES
Développement d’un batch Java scheduler à l’aide de Spring Sheduler qui scanne un répertoire et intère les fatures uploadées via l’application.
Spring Scheduler, Spring, Hibernate.
Développement d’une IHM permettant au métier de pouvoir passer les factures à différents statuts dans leur processus :
Intégrée, contrôlée, validée et dernière étape : comptabilisée.
Technologies : Git, Spring MVC, Spring REST, Spring Data, Hibernate, logback (Création d’une fichier de log qui s’incrémente à chaque intégration de factures), AngularJS, CSS3/HTML5, Tomcat 7, JDK 1.7, Eclipse Kepler/Luna, Git, Maven, Dozer.
Adjoint chef de rpojet : Rapport des développements en cours, chiffrage, déploiement en développement, recette et qualification avec BAMBOO (intégration continue).
Suivis de la recette, ouverture d’anomalies par le client et corrections tout le long de la recette.
Rapport du nombre d’anomalies et du temps passé sur la recette.
Technologies : BAMBOO, JIRA (Suivis des tâches de développement), ouverture d’anomalies avec Quality Center.
Création de branches Git, création de releases de l’application.
Interface avec le métier (conférence téléphonique), propositions d’ergonomie de l’IHM afin de leur faciliter la prise en main de l’application, donc force de proposition. Puis compte rendu de cette conférence au chef de projet.
Déplacements sur Paris et présentation des développements et de l’application.
Création de scripts SQL, Primary keys, Foreign Key, indexes et partitionnements.
Durée : 5 mois (en cours).
Développement JAVA en GWT (version 2.5.1)
Développement avec le pattern MVP.
Développement complexe GWT « sous le capot ».
Développement avec la librairie google guava.
Développement avec des composants GWT BOOTSTRAP.
Développement d’outil interne en JAVA.
Force de proposition et expertise technique.
Méthode AGILE, Stand up, Sprint, découpage des tâches, retro etc…
Participation à des campus de développement (Sophia-Antipolis – Paris).
Per-programming.
Durée : 20 mois (en cours).
• Rédaction des documents d’architecture technique, schéma d’architecture avec Visio.
• Audit et conseil pour l’optimisation des applications en place.
• Veille technologique.
• Architecture décisionnelle, conception de modèle en étoile pour un projet décisionnel sous IBM Cognos.
• Création d’architectures sur mesure selon l’expression des besoins clients.
• Expertise JAVA, travail collaboratif avec des Canadiens sur le moteur d’optimisation et de prévision des trains, échanges d’experts JAVA pour optimiser la vitesse d’exécution du moteur, « clustering », « multithreading », optimisation de la JVM, etc.
• Nombreux déplacement sur Paris.
• Membre des comités d’architecture technique.
• Travaux sur le « clustering », algorithmes de répartition de charge etc.
• Mise en place de « Stack » technique avec Jboss, Java, Linux etc.
• Etude de la machine Exadata d’Oracle, Parallélisme des instances « clustering », répartition de charge, réplication, sauvegarde, etc.
• Partitionnement horizontal et vertical des tables.
• Etude du NoSQL, prototype avec MongoDB et Java afin de tester les bases de données orientées documents.
• Conférence en anglais sur le NoSQL avec les experts Américains de la société FORRESTER.
• Architecture technique de bases de données (DATAMART, DATAWAREHOUSE).
• Architecture incluant les concepts d’architecture REST, mais également incluant une couche de médiation OSB (Oracle Bus Service).
• Reverse engineering avec PowerAMC.
• Architecture du moteur de règles sous JBOSS avec DROOLS, échange avec REDHAT pour définir nos besoins, retour d’expérience sur le moteur de règle en production.
• Réunions avec Microsoft et Redhat au sujet du NoSQL.
Durée : 4 mois.
• Conception du lot 2.0 : diagramme de séquence, digramme de classe.
• Rédaction de dossier d’architecture, schémas.
• Création d’un prototype de tests unitaires avec JMOCK, H2.
• Optimisation des requêtes Hibernate (Criteria, Restrictions, Projections).
• Configuration et mise en place d’un cache EHCACHE. Cache de second niveau avec Hibernate mais également mise en place d’un cache de premier niveau (données venant d’appels RMI).
• Exposition des services JAVA en remote http via Spring.
• Appels de services en RMI d’un autre ear déployé sur Weblogic.
• Audit de code, optimisation du code.
• Architecture applicative. (Déportation du code client sur le serveur pour éviter les aller/retour client/serveur).
• Mise en place de la pagination lors d’une requête trop « coûteuse » en performance.
• Paramétrage d’Hibernate (« batch size ») au niveau des fichiers HBM, pour ramener les données par « paquet ».
• Index sur les PK (Primary Key, Foreign Key) au niveau Oracle pour accélérer le temps de réponse des requêtes Hibernate.
Durée : 1 mois.
• Développement Java avec Guava (librairies GOOGLE).
• Développement Java Spring MVC.
• Architecture REST avec Spring 3.0 et notamment avec Spring MVC.
• Tests unitaires avec JUnit.
• Tests d’intégration avec Selenium.
• Développement côté client JSP, JSTL, Jquery.
• Mise en place de spring security.
Durée : 6 mois.
• Développement de Web Service Spring client avec authentification http.
• Tests JUNIT.
• Résolution d’incidents de production.
o Analyse des logs GC.
• Configuration de serveurs WebLogic (sécurité via console weblogic, déploiement d’applications).
• Ajout de composant au FrameWork existant.
• Manipulation Keytool/OpenSSL. (certificats privés/publics).
• Intégration d’outil de log. (Cron linux, Readme.txt).
• Rédaction de manuels utilisateurs, de documentations techniques et de note de cadrage.
• Configuration Apache et Log4j.
• Développement de programmes Shell et Perl.
• Merge de code source Java avec Subversion.
• Développement de prototype en Java.
• Automatisation avec ANT.
• Profiling/Tunning JVM.
Durée : +6 mois.
• Développement côté présentation avec Struts2 et JSP, WAT (Web Assembling Toolkit), SiteMesh et CSS.
• Développement d’intercepteurs STRUTS2, de Validators (contrôle de surface) STRUTS2.
• Développement de services métiers JAX-WS.
• Développement de DAO avec Hibernate.
• Rédaction de documentations techniques.
• Développement de classes utilitaires JAVA.
• Tests unitaires avec Junit et Mockito : Test des actions Struts2, des commandes de services JAXWS et des DAO Hibernate.
• Couverture de tests unitaires avec le plugin Eclemma coverage.
• Audit, conseil sur l’architecture applicative.
Durée : 4 mois.
• Optimisation de code et de la configuration.
• Normalisation de la configuration Spring.
• Intégration de Struts à Spring.
• Préconisations des technologies et conception de l’architecture pour la deuxième version de l’application.
• Rédaction de l’audit et de la nouvelle architecture.
• Utilisation de Jrockit Mission Control afin d’analyser la mémoire utilisée.
• Installation de MAT (Eclipse Memory Analyser) pour auditer la mémoire utilisée.
• Audit de code applicatif (Axis, Spring, log4j, FindBugs…).
• Réalisation de Head Dump afin d’analyser les éventuelles fuites mémoires.
• Option de profiling JVM très intrusive (HPROF).
• Analyse de logs du Garbage Collector.
• Synchronisation des phases critiques de rechargement des données dans les tables de hachages statiques.
• Rédaction de compte rendu de l’application et de DAL.
• Programmation Flex avec CairnGorm.
• Analyse du code source d’Axis 1.4.
• Formation des développeurs.