Conception et implémentation d’une solution de Reporting suivant les recommandations d’architectures.
Rédiger les spécifications à partir des « business requirements ».
Architecturer la solution à l’aide des spécifications J2EE.
EJB – Point d’entrée du service.
JPA (Hibernate) – Persistance des données.
JMS – Mise en file d’attente 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’authentification et gestion des autorisations à l’aide 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’autres « 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’ensemble 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’elle é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
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’architectures 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’architecture à 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’architecture.
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’architecture 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.
Mots-clés : J2EE, JCR (JackRabbit), Wicket, JBoss, Eclipse RCP, UML (Use Cases, Activity Diagram, Class Diagram, Component Diagram, Deployment View), Project
Mettre en place une architecture permettant de capitaliser le développement déjà effectué en réduisant les coûts et l’effort à fournir pour créer de nouveaux services à partir des services existants et d’exposer 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’architecture même de l’application 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’architecture 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.
Mots-clés : J2EE (EJB 3, JPA, JMS, JTA, JSP, Servlet), SOAP Web Service (PHP, C, Java, C#), .Net Remoting, ICE, Maven, Ant, JUnit, SQL Server, JBoss, SWT / JFace, Eclipse
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.
Mots-clés : C, HTTP, REST, PHP, SimpleTest, RSA, DSA, AES, OpenSSL, SQL Server, WinDev, Apache, Visual Studio, Zend Studio, UML, Windows
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’application 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’architecture 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 d’abonnement à notre clientèle non informatisée.