Projets Réalisés et Postes Occupés
4 mois Experian DA, Monaco, Architecte Java J2EE SOA
Conception et implémentation d’une solution de Reporting suivant les recommandations d𠆚rchitectures.
Rédiger les spécifications à partir des « business requirements ».
Architecturer la solution à l𠆚ide des spécifications J2EE.
EJB – Point d𠆞ntrée du service.
JPA (Hibernate) – Persistance des données.
JMS – Mise en file d𠆚ttente des rapports à générer et notification des rapports générés.
JTA – Coordination des transactions des différentes sources de données impliquées.
JAAS – Configuration d’un mécanisme d𠆚uthentification et gestion des autorisations à l𠆚ide d’un serveur LDAP / Active Directory.
JMX – Implémentation de composants permettant de configurer les services déployés.
NetBeans Platform – Utilisation de la plateforme pour l’implémentation du client à base de plugins (Report Navigator, Report Viewer, …) pouvant être réutilisés dans d𠆚utres « Studio ».
Coordonner et participer au développement de la partie service de la solution dont l’équipe de Monaco avait la charge.
Participer à des réunions hebdomadaires impliquant l’équipe de Monaco et celle de Nottingham.
Rédiger l𠆞nsemble de la documentation : Installation, Administration & Development Guide.
Livraison de la première version à la date attendue. Grâce au Framework J2EE (JAAS) la notion de sécurité a pu être intégrée dans cette version alors qu𠆞lle était à l’origine prévue dans une version ultérieure. De plus cette solution servira de modèle pour les autres centres de développements lors de la migration des applications existantes vers la nouvelle architecture.
Mots-clés : J2EE (EJB, JMS, JPA, JTA, JAAS, JMX, Servlets), Hibernate, JBoss, LDAP, MySQL, NetBeans Platform, UML
4 mois Experian DA, Monaco, Architecte Java J2EE SOA
Suite au choix stratégique d’utiliser Java comme langage de programmation au sein de tous les centres de développements (Monaco, Nottingham, Washington, etc.), l’objectif était de proposer des recommandations d𠆚rchitectures pour le développement des nouvelles versions des solutions. Chaque solution étant composée d’un environnement de développement « Studio » et d’une partie service « Engine » servant à exécuter les systèmes développés au travers du « Studio ». Chaque centre de développement a à la charge une ou plusieurs solutions. Cette nouvelle architecture devait permettre de réutiliser plus facilement les composants communs entre les différents centres que ce soit au niveau des « Studio » ou des « Engine » et de pouvoir créer à la demande de nouvelles solutions en assemblant les composants déjà existants.
Identifier les applications existantes, les technologies utilisées et le niveau d’interopérabilité demandé pour migrer vers la nouvelle architecture étape par étape sur un horizon de 2 ans.
Proposer des solutions pour améliorer l’implémentation et les performances de composants qui seront réutilisés dans la nouvelle architecture.
Expérimenter et évaluer des Frameworks pour implémenter des « Studio » à partir de composants : Eclipse Platform et NetBeans Platform.
Expérimenter et évaluer des Frameworks SOA pour implémenter des « Engine » : J2EE, SCA, OSGi.
Rédiger des recommandations pour la partie « Studio » et la partie « Engine ».
Participer à des réunions dans un contexte international.
Coordonner des collaborateurs.
Implémenter des « proof of concepts » connexes aux recommandations.
Présentation des recommandations à l’« architecture board » chargé de statuer sur l𠆚rchitecture à retenir. Les recommandations ont été accueilles avec enthousiasme puisqu’une solution de Reporting impliquant 2 centres de développements (Monaco et Nottingham) a été initiée pour valider l𠆚rchitecture.
Dans le cadre d’un appel d’offres lancé par Naseba et à partir d’un cahier des charges une société de Web Design basée sur Nice avait besoin d’une architecture Java J2EE et d’un « development plan » pour la réalisation d’une application de gestion de contenus de sites événementiels.
Identifier les rôles, et les cas d’utilisation.
Rédiger des spécifications fonctionnelles & techniques.
Concevoir l𠆚rchitecture des services et des différents clients.
Chiffrer le temps de développement.
Spécifications complètes tirées des cas d’utilisation identifiés, identification des technologies existantes à réutiliser et évaluation du temps de développement pour produire la solution demandée.
Mettre en place une architecture permettant de capitaliser le développement déjà effectué en réduisant les coûts et lort à fournir pour créer de nouveaux services à partir des services existants et d𠆞xposer les services au travers de nos différents canaux de diffusion (serveurs vocaux, applications web, …).
Expérimenter de nouvelles technologies.
Migrer une application type client / serveur servant de « proof of concept ». L𠆚rchitecture même de l𠆚pplication a été améliorée en intégrant certaines API de J2EE dont JMS afin de distribuer la charge de calculs sur plusieurs serveurs.
Analyser l’impact en termes de performances, de risques et de coûts.
Migration complète d’une application en utilisant JBoss (implémentation open source du Framework J2EE), d’un client riche et d’un client léger Java consommant la couche service développée avec les EJB 3.0. L𠆚rchitecture Java/J2EE a été sélectionnée pour ses nombreuses qualités : productivité, performances, couche service indépendante du protocole (RMI, WebServices), ses APIs, et sa communauté Open Source.
Développer un serveur de licences permettant de limiter la copie des logiciels livrés en clientèle.
Définir le format d’une licence sécurisée en utilisant la cryptographie (clé publique / privée, authentification).
Réaliser un Web Service permettant de gérer le cycle de vie des licences.
Gérer la création des licences à partir d’une application riche interne au travers du Web Service.
Développer un SDK permettant d’intégrer la validation des licences dans les applications à protéger au travers du Web Service.
Intégration du SDK à toutes nos applications clientes pour vérifier la validité des licences et limiter le piratage de nos applications.
Créer des applications Internet e-Commerce afin de présenter à la vente les produits et les services de la société.
Créer un système de catalogue, de panier et de commande.
Concevoir un système de « tracking » pour connaître les centres d’intérêts des visiteurs.
Sécuriser l𠆚pplication contre les attaques (vol de sessions, SQL injection, …).
Développer une librairie pour piloter la plateforme ATOS (traitement des cartes bancaires).
Publier la solution sur un serveur dédié en interne.
Configurer l’infrastructure réseau (routeur, reverse proxy, etc.).
Configurer le serveur Web pour chiffrer les connexions via SSL.
Référencer le site sur les annuaires.
Optimiser le site pour les moteurs de recherche.
Applications Web permettant à notre clientèle de commander directement en ligne lors de nos opérations de marketing direct. Ces applications nous permettaient également de récupérer des adresses ciblées pour nos opérations commerciales.
Elaborer un serveur vocal interactif permettant de diffuser du service sur abonnement ou par accès surtaxé.
Etudier et sélectionner les outils pour réaliser l𠆚rchitecture matérielle souhaitée.
Développer un serveur vocal interactif avec un système de « plugin » afin d’intégrer facilement à la plateforme de nouveaux services.
Réaliser un client riche pour administrer les services et les accès des utilisateurs.
Serveur vocal modulaire permettant d’intégrer de nouveaux services sans interruption de services et permettant de fournir des services sous forme donnement à notre clientèle non informatisée.
Fournir la probabilité de gagner d’un participant (cheval, jockey, …) à partir de ses performances passées, des participants et des conditions de la course.
Extraire les informations depuis la base de données locale.
Rechercher les « variables » explicatives par analyse statistique.
Créer des tables de « scoring » à l𠆚ide de réseaux de neurones.
Implémenter le réseau sous la forme d’une librairie C.
Librairie en C intégrant un modèle de « scoring » permettant d’être utilisée par de nouveaux services (abonnement par émail, serveur vocal, …), et par conséquent de générer de nouvelles sources de revenus.
16 mois Micro Concept Software, Nice, Directeur du SI
Concevoir une base de données de courses hippiques et développer les outils nécessaires pour extraire à partir de plusieurs sources d’informations les données des courses (~ 6000 / an) et les fusionner.
Imaginer un mécanisme pour gérer des sources de donnée sous forme de « plugin ».
Implémenter l𠆞xtraction de différentes sources de données.
Développer des modules de surveillance des extractions et des fusions.
Réaliser un module d𠆚udit temps réel avec notification par SMS.
Système permettant de mettre à jour environ 20 courses par jour, soit 200 participants, 2000 performances, 1800 cotations sans aucune intervention manuelle. La flexibilité du système permet d’être encore en production actuellement.
Intégré au sein d’une équipe de développement internationale, j𠆚i eu pour mission de développer et de déployer une application Intranet permettant aux utilisateurs de saisir le temps passé par projet et par tâche.
Définir des spécifications techniques & fonctionnelles.
Concevoir et implémenter : l𠆚pplication web dynamique, l𠆚pplication Palm OS (utilisable en mode déconnecté), le conduit pour Palm OS responsable de la synchronisation des données, la feuille Excel intégrant des modèles de rapports se mettant à jour à partir de l𠆚pplication web au travers du protocole HTTP.
Rédiger la documentation de l𠆚pplication : Installation Guide, Maintenance Guide, Developer Guide & User Guide.
Transférer les connaissances acquises.
Former les utilisateurs.
Le rôle « Consultant » avait la possibilité dtuer des saisies via l𠆚pplication web et depuis l𠆚pplication sous Palm OS (fonctionnement en mode offline avec synchronisation). Le rôle de « Project Manager » avait en plus accès à une feuille Excel permettant de générer des rapports prédéfinis sur une période donnée.