Marc-Daniel Ortega

Consultant Senior Java/J2ee, Bouygues Telecom

91Villiers le bacleIle-de-France - France

Développeur et Architecte Java/J2EE depuis plus de douze ans dans les secteurs de l'édition logicielle et du service j'affectionne la participation à des projets stimulants techniquement comme fonctionnellement à l’image de ceux que j’ai pratiqué (banque, assurance, transport, logistique, militaire…)

Je souhaite valoriser mes acquis dans l’analyse et la conception d’architectures logicielles de type Java/J2EE (BNP, Coordialis,
Thales,InfoVista…).

Cet objectif me conduira à privilégier des missions offrant des défis orientés vers la réalisation de solutions de type EAI, SOA en contexte J2EE en France ou à l’international dans des lieux comme Londres, le Benelux ou encore la Suisse.

Compétences:

Java JDK 1.3/1.4/ 5.0/6.0 (Swing, I/O, NIO, JCA/JCE, RegExp, Multithreading, JMX, OSGi...)
J2EE 5, 1.4 (JAXP, Servlet, JSP, JSTL, EJB 3, JPA, SOAP, JDBC, JAXB,JAAS...)
Serveurs d'application JBOSS 3.+ et 4.+, WAS4.+,Tomcat 4.+/5+, Weblogic 9+
TDD: JUNIT, JDave, Log4J, UISPec4J
conception:Design pattern ,UML Enterprise Architect, Visio, StarUML
IDE: IntelliJ 7+, Eclipse 2. +/3. +, WSAD 4+, VISUAL AGE , JBuilder 8+
XML/XSLT/XPATH/XML schéma, SOAP, WSDL, UDDI
SGBD: PostgresSQL, Sybase, Oracle, MySQL
OS:UNIX (Solaris, HP, AIX, Free BSD), Linux Red Hat, Windows, Mac OSX
Intégration continue (HUDSON, MAVEN2, ANT, SVN, CVS, UCM ClearCase)
Scala 2.8+
Clojure 1.2+ (bases)

Diplôme BASICS décerné par l'APICS
Certified SCRUM Master - training avec Jeff Sutherland
Cosignataire du Manifesto for Software Craftsmanship

Marc-Daniel Ortega
281 contacts
Depuis 2011

Le composant GESCO assure la prise en charge et la gestion des flux de commandes liées aux offres internet de Bouygues Telecom. Ces offres se déclinent en termes de gestion d’acquisition d’abonnements, ou de migration d’abonnements vers des solutions mixtes (TV + VOIP + accès internet). Les opérations de migrations peuvent intégrer les interactions avec les opérateurs externes ou encore la gestion du quotidien comme un déménagement.

Analyse, conception et conception des web services J2EE (JAXB, JAX-WS) sous Glassfish associés aux nouveaux modules de migration de commande des technologies ADSL vers Fibre optique. Les web services sont crées sous la forme d’EJB 3.0 Stateless.

Externalisation des APIs pour les services clients et création des modules clients vers les web services techniques.

Amélioration des techniques de test pour pose d’un harnais de test autour des couches métiers et techniques existantes. Qualification en cours de la couche de persistance en charge du mapping vers la base de données Oracle .

Développement des templates SOAP UI dédiés aux tests fonctionnels des nouveaux modules pour simulation des tests. Association de scripts Groovy aux procédures de tests SOAP UI.

Refactoring et optimisation des chargements et temps d'accès aux caches mémoires des services Web ouvrant les APIs du coeur aux applications clientes

Mise en place de la méthodologie Scrum avec le soutien actif d’un Scrum Master et en particulier prise des mesures de vélocités de la nouvelle équipe afin de préparer son passage à la prise en main technique de toutes les applications impliquées dans les flux de gestion de commandes.

Informatique - Télécommunications
Expérience professionnelle
2010 - 2011

Développement autour du module VistaMart de la solution InfoVista dédiée à la gestion des performances des systèmes d'information. VistaMart est le composant cœur d'une plateforme multi-tiers de composants distribués (Java/J2EE 5). En charge de la gestion de l'accès aux données critiques de la plateforme mais aussi de la production de calculs à haute valeur ajoutée, son développement et ses évolutions offrent les défis de développement inhérents à la manipulation de données volumineuse dans des intervalles de temps les plus courts possibles.

Analyse, conception, et implémentation des nouvelles évolutions liées à l'accès aux données à travers des APIS de type Web service.

Analyse, conception de modules d'exports massifs et temps réels des données collectées auprès des ressources des systèmes d'information. Exposition de ces modules à travers des API de type Web Services (WSDL, JAXB, JAX-WS, niveau J2EE 5).

Refactoring des APIs de communication via le standard JMS (Active MQ)

Tuning et amélioration de la procédure de mise à jour (appelé provisioning) du référentiel VistaMart Oracle 11g. Cette procédure implique l'identification des goulots d'étranglement qu’il s’agisse de limitations inhérentes au système de gestion de base de données ou de la couche applicative (serveur d’application J2EE 5).
Choix des implémentations de solutions appropriées (Java Concurrent API, multithreading, parallélisme des algorithmes) visant à maintenir le niveau d'un taux d’insertion/ lecture de plusieurs millions de données lors des mises à jour.
Enfin profilage du code afin de réduire l’empreinte mémoire de la couche Java pouvant requérir l’utilisation de système offrant jusqu’à 64Go de mémoire.


Refactoring et optimisation des chargements et temps d' accès aux caches mémoires des services Web ouvrant les APIs du coeur aux applications clientes

Isolation intégration du cache Lucene dans la structure d'une machine d'états finis.

Prototypage de la migration du composant VistaMart en environnement Glassfish V3.1 (J2EE6)

Editeurs logiciels
2007 - 2010

Maintenance évolutive autour de l'éditeur tactique militaire STARS (environnement IRS -SIG)

S'appuyant sur une architecture multi tiers Java/J2EE 5 (EJB 3.0 sous JBOSS) l'éditeur STARS permet la saisie, la collecte et l’import d'informations tactiques depuis des sources d'observations stratégiques (radar, postes d’observations automatiques, données observateur etc.) vers un système de base de données ORACLE. Ces données sont ensuite accédées depuis un Middleware propriétaire et rejouées dans le cadre de simulations militaires stratégiques.

*Refonte du socle logiciel de l'éditeur tactique militaire STARS

Analyse, conception et développement des composants du nouveau socle STARS dans le cadre de migrations vers les serveurs d'application JBOSS 5.0 et technologies EJB 3.1.

Analyse, conception et développement des nouveaux composants OSGi afin de proposer des versions de produits facilement modulables en fonction des profils de client


*Maintenance évolutive de la version actuelle de l'éditeur STARS

Analyse, conception et développement de modules de collecte et d’imports de données externes au système STARS dans le respect et la mise en application des méthodologies UP (conception UML, RDD, DDD, et TDD).
Création de la gestion des imports manuels et semi automatiques au format CSV et XML depuis l’éditeur tactique
Création de l’import de données automatiques (services de surveillance de type Watch Dog et import de données vers des services EJB 3.0).
Création de services J2EE implémentant un DSL java pour la formulation de requêtes EJBQL depuis l’éditeur tactique
Traduction et intégration des données collectées auprès des sources externes au domaine de travail de l’éditeur tactique militaire

Analyse, conception et développement d’un module d’échange de sources d’informations (images, documents etc..) s’appuyant sur les technologies EJB3, Servlet, Swing etc… Ce module permet l’import de sources de renseignements au sein de contextes de l’éditeur STARS et s’appuie entre autre sur les mécanismes JMS pour diffuser les mises à jour documentaires.

Analyse, conception et développement du harnais de test associé à l’éditeur tactique en s'appuyant sur les techniques, TDD, BDD. Intégration des Framework JUnit, UISpec4J, JDave avec mise au point de micros DSL adaptés aux domaines couverts. La pose du code de test a été effectuée dans l’esprit de l’approche proposée par M. Feathers dans le cadre de la prise en main de « Legacy Code».

Mise en place d'une politique d'intégration continue de la suite logicielle STARS, dont:
mise en place des outils de reportings
mise en place d'un harnais de tests unitaires métier
mise en place d'un harnais de tests de composants
mise en place d'un harnais de tests de type UI/système

Activité de Refactoring sur l'existant afin de rendre le code testable (passage de simple « legacy code » à code testable puis testé) en vue de le rendre conforme aux contraintes de validation fonctionnelle des clients.

Aéronautique - Marine - Espace - Armement
2007 - 2007

Expert Technique - Architecte logiciel
BNP Arbitrage

Intégration de l'équipe technique PRISM en tant qu'expert Java Senior et architecte logiciel.
Cette équipe prend en charge la maintenance et le développement évoltif du logiciel de GRID dédié à la simulation tarifaire des opérations liées aux dérivées actions.
Intégration du groupe d'architectes de BNP Arbitrage


Suivi et maintenance du projet PRISM
- Conception, modélisation (Visio) du nouveau container de plugin favorisant un chargement “à chaud” des plugins (Pattern Generic Factory)
- Suivi et amélioration des modules de connection et de dispatch en place (intégration du serveur de GRID LSF).
- Evolution du site d'administration en environnement servlet 2.4/ JSPX 2.0,
- Aide à la refonte de la base de donnée technique sous-jacente à l'applicatif (Oracle 10i) et participation à la conception et au développement du framework d'accès à la base
- Analyse et paramètrages systèmes des machines virtuelles en environnement sous forte contrainte
serveurs Linux RedHat AMD64
*Tailles de Heap > 4Go
*Choix des algorithmes de collecte, calibrage des tailles de génération, analyse des taux de sortie etc...
*Ecriture et mise en place de scripts shell de collectes des traces GC et analyse quotidienne de ces traces
*Montoring avec SysLoad et JConsole


Conception, développement et mise au point des nouveaux modules du projet PRiSALiD
Le projet PriSALiD est un nouveau middleware de type Event Driven Achitecture. Il a pour objectif de mettre en correlation les performances mesurées de l'application et les
ressources disponibles afin de fournir les meilleures performance, ceci de facon auto adaptative. Il permet
--- la gestion des requêtes selon des protocoles différents (JMS/HTTP/RMI/Raw IO)
--- un instrumentation continue de l’état des serveurs PRISM selon un mode push/pull (instrumentation)
--- levées des alertes ou déclenchement des actions selon des règles métiers (monitoring)
--- gestion des priorités de l'exécution des calculs selon leur criticité (scheduling)

Sa réalisation s'est effectué à travers la concrétisation de chantiers tels que :

--- Modélisation, conception(StarUML) et implémentation logicielle d'un module frontal favorisant le schedule des requêtes vers les réseaux de calculs. Dans ce cadre, mise en place d'un systeme de demultiplexer/dispatcher permettant un control adaptatif des volumes de requêtes multithread envoyées vers les serveurs PRISM. Cette conception logicielle s'appuie sur une mécanique de dispatch de type réactif/proactif en environnement multithread ainsi que sur la mise en place d'activités de scheduling/monitoring pour la gestion du flux de taches (designs patterns reactor, proactor, active object...).
--- Modélisation, conception(StarUML) et implémentation d'un systeme distribué d'agents de monitoring locaux(Local Monitoring Agent) et distribués (Domain Monitoring Agent).L'implémentation s'appuie aussi sur les technologies de composition et de suivi d'évènements supportée par une sous couche JMX.
--- Modélisation, conception(StarUML) et implémentation d'un systeme de monitoring orienté vers la gestion d'évènements composites ayant pour objectif la composition et le suivi d'évènements détectables selon la mise en place de règles métiers .
--- Modélisation, conception(StarUML) et implémentation d'un systeme de scheduling. Notre objectif est de le spécialiser dans la prise de décision auto adaptative en réponse aux performances monitorées et/ou aux évenements simples/composites détectés.
---Intégration sous l'environnement BEA WebLogic avec migration et standardisation de composants métiers en composants service de type EJB.
---Mise en place d'un méthode de conception et développement basée sur mon expertise :
*spécification des besoins
*rédaction du cahier des charges
*analyse
*design
*Implémentation
*Intégration de CAST dans la gestion des sources
- Conception, développement et mise au point des connections de type sleepn' retry avec controle du failover sur echec métier/applicatif

Services informatiques
2006 - 2006

&eResponsable technique 2006
Coordialis
Aide à la création d'une Jeune Pousse Innovante (Aide à la création d'une jeune entreprise d'édition de logiciel d'aide à la saisie en ligne)

Le logiciel d'aide à la saisie développé s'appuie sur l'utilisation des technologies Java/J2EE, les composantes de l'application et les données étant hébergées et géreés par l'entreprise, les modules client/professionnel sont chargés et mis à jour par le biais de l'utilisation des technologies Java Web Start.
Tous les modules applicatifs Java/J2EE sont propriétaires. J'en ai assuré la conception, le développement , la mise au point ainsi que le déploiement en environnement Solaris 10. Le serveur d'application est un serveur Jboss 4.0.x .


Exemples de Module serveur
Création d'un framework de persistence propriétaire en container J2EE permettant l'invocation transactionnelle de procédures stockées ou de requetes dans une base de données PostgresSQL 8.x. Ce framework exploite les normes J2EE 1.4 (EJB 2.1 stateless, JDBC 3.0, JTA) tout en exploitant les design patterns dédiés à ce type d'environnement.
Conception et mise en place d'un service d'envoi de messages automatiques (JMS, JavaMail ).
Création d'un module de s;rialisation/désérialisation crypté asymétrique propriétaire.
Création d'un module d'Administration des comptes utilisateurs par le biais des technologie de web service (WS-I 1.0, SOAP 1.1, WSDL 1.1, XMLSchema)
Intégration des technologies JSP 2.0/JSF 1.1/Servlet 2.4 pour la mise en service des accès sécurisés au container, mise en service des espaces de validation des contacts et gestion des espaces clients.

Exemples de Modules clients
Création APIs complètes du client lourd (Swing jdk5/6) avec conception, développement et mise au point d'un module de simulation de frappe pour l'aide à la saisie en ligne.
exploitation des APIs concurrentes Java (lock, pool de thread, etc..) pour la gestion de l'assistance à l'accès à l'information (type ahead combo) . Le remplissage automatique des listes est assuré en temps réel en moins de 300ms pour une information mise à jour en permanence à travers le réseau internet
Création d'un framework graphique pour la gestion dynamique du mapping entre les objets de métiers et les composants graphiques

Encadrement d'une équipe de 2 personnes :
le DBA en charge de lui même de la conception/réalisation du schéma de base
un ingénieur stagiaire en informatique ayant validé sa formation dans nos locaux
Analyse des besoins clients et assisatnce conseil pour des intégrations spécifiques
Analyse et traduction technique des besoins exprimés par le management et finalisation des expressions de besoin avec l'équipe technique.
Planification des tâches
Installation et mise en place de la politique de gestion des sources (subversion)
Installation et mise en place de la gestion documentaire (JSPWiki)

Editeurs logiciels
2003 - 2005

Ingénieur développement 11/2003 - 10/2005
Obbisoft (Finmatica France-FINeTMS) - Editeur d'une solution logistique (TMS)

Développement de l'application de gestion en logistique de systèmes de transport au sein d'une équipe d'une dizaine de développeurs. Ce logiciel est une application distribuée multitiers Java/J2EE s'appuyant sur une base de données Oracle 8i/9i et déployée en environnement WAS 5.0. Il est constitué de modules serveurs et de différents clients lourds Java Swing.

Participation au développment et à l'évolution de nouveaux modules serveurs (taxation, tarification), enrichissement du framework logistique (EJB session stateless) FineTMS dans le cadre de l'offre de nouveaux produits .
Développement des nouveaux objets graphiques (composants core du framework) du client lourd (Java Swing). Client et serveur dialoguent via le protocole RMI.
Développement de la génération des messages XML (XML 1.0, XMLSchéma) entrants et sortants. Cette technologie exploite les APIs JMS
Développement et intégration de requêtes PL/SQL à l'application distribuée.
Rédaction de supports de formation
Rédaction de la documentation technique propre à l'utilisation des APIs des nouveaux modules développés.

Intervention technique sur site client.
Analyse et Validation des spécifications de l'équipe de consultation, relatives aux intégrations clients. Implémentations des spécifications de l'équipe de consultation.
Encadrement d'une équipe de deux ingénieurs en développement
Formation d'ingénieurs en développement à l'utilisation du framework avec création et mise au point des supports de cours.

Logistique
2002 - 2003

Ingénieur en développement 10/2002 - 11/2003
Crédit Lyonnais – service dans le secteur bancaire

Reprise d'existant sur un logiciel Back Office Java/J2EE 1.3 dédié à la remontée de reportings sur les calculs des montants des opérations boursières (PNB)
stabilisation et suivi de production du logiciel back office.
Migration d'un module externe VB au logiciel back office en Java (intégration des technologies Servlet , EJB).
Audit fonctionnel de l'existant,
conception et développement de la fonctionnalité en environnement J2EE 1.3.
Finalisation du développement et mise en production d'un logiciel front office de saisie journalière d'opérations boursières, s'appuyant sur les technologies Servlet, EJB.
Stabilisation et finalisation de l'architecture multi-tiers J2EE en environnement WSAD4 .
Finalisation du modèle de données sur Systeme SYBASE 12.5 et migrations des bases des versions précédentes - déploiement de l'application J2EE sur serveur d'applications WAS 4.03.
Assistance sur serveur applicatif Websphere 4.0.3
Conception à l'aide des design patterns de la nouvelle version du logiciel front Office.
Introduction de la sérialisation XML JAXB 1.0, et de l'utilisation des schémas XML pour le transfert et la validation des données échangées.
audit de recrutement d'un ingénieur en développement Java/J2EE.

Banque
2000 - 2002

Ingénieur en développement 8/2000 - 6/2002
FuturMaster - Edition de logiciel d'aide à la décision

proposition, validation, conception et développement d’une architecture trois tiers exploitant les techniques COM/COM+(c++, visual Basic), ASP et VBSCript favorisant l’accès à distance des ressources métiers du logiciel FuturMaster. Cette architecture permet aux filiales de nos clients (ELA médical, V33, Sanofi Synthélabo,…) d’intégrer directement leurs filiales étrangères (Japon, amérique du sud, USA, …) dans les processus supply-chain (validation de stocks, validation de prévision, …)
Développement des différents composants COM/DCOM en Java et VB associés à cette interface.
Exploitation du potentiel des API IIS(ISAPI) de microsoft windows : utilisation du pré-processing ASP2.0/3.0.
Implementation de la GUI utilisateur de l'architecture 3 tiers FuturMaster. Cette GUI s'appuyant sur les API Swing/JFC(Java 1.3). (+API JAXP1.1+ , servlets/JSP, JDBC).
Introduction des flux de données XML pour les échanges de données inter-composant (Utilisation des normes associées XSLT et XPATH). La manipulation de ces formats d'échanges est effectuée par le biais des technologies MSXML3.0/4.0 et ADO 2.5+.
Etude et conception du système de gestion des ressources clients, interne à l'entreprise (Servlets + JSP + EJB). Mise en application des modèles de conception standard (design patterns interpreter, facade, iterator, factory etc...)
Premiers tests sur les technologies des Web Services (SOAP,WSDL,UDDI) et étude des solutions standards du marché (Apache SOAP, MSToolkit, MS UDDI, UDDI4j, Apache Axis, ...) .
Portage de l'architecture 3-tiers ASP/COM/DCOM vers la plateforme .NET, et développement d'une version alpha intégrant les nouvelles technologies de Web Service (SOAP,WSDL) sur plateforme .NET (Utilisation du langage C# et de la technologie ASP.NET).
Formation technique du nouvel ingénieur en développement web : formation au développement OO en Java, et au développement de solutions sous serveur d’application Microsoft.
Certification APICS

Editeurs logiciels
1998 - 2000

Ingénieur responsable action qualité 11/1998 - 7/2000
Technologies-GID - Edition de système de gestion de bases documentaires

Contrôle de qualité des nouvelles versions des deux progiciels d'ingénierie documentaire SPIRIT V.2 (gestion et recherche de l'information en langage naturel) et SPIRNET (SPIRIT version internet )
Activité d'interface entre les services du développement, de l'avant-vente et du support-client.
Conception et réalisation des interfaces WEB de consultation des bases documentaires sur sites internet couplées avec les deux produits cités.
Propositions et développement de solutions internet/intranet adaptées aux besoins des clients.
Interventions sur sites en maintenance et support technique.
Elaboration des aides en ligne et de la documentation utilisateur.
Encadrement de deux ingénieurs dont un rédacteur technique.

Editeurs logiciels
Ancien élève de
Hobbies
Design patterns / méthodes de conception / Passionné Scala et programmation fonctionnelle/ Collection Volvo Youngtimers (340 , 740 , 850) - membre du VOC
Prestations de Marc-Daniel Ortega
PrestationsInformatique | Internet | Système d'information
ExpertiseAnalyse et conception logicielle d'architectures Java/J2EE
Expert Java/J2EE
Environnements distribués
Certification APICS
Références ClientsInfoVista, Thales, BNP, LCL, Finmatica, FuturMaster, GEFCO
Tarif journalier525/575 HT
RégionFrance
Disponible Immédiatement

Blog de Marc-Daniel Ortega
Viadeo pour votre carrière : Créez votre profil | Offres d'Emploi | MBA / Masters