Menu

Marc-Daniel ORTEGA

Paris

En résumé

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

Mes compétences :
Scala
Play Framework
JAVA / J2EE
Oracle
SCRUM
Développement
J2EE
Akka
REST
Play! framework
Design Patterns
Base de données
Conception
JMS
Architecture logicielle

Entreprises

  • Irdeto - Principal Software engineer

    Paris 2014 - maintenant
  • Eligotech BV - Consultant/Developpeur Scala

    2012 - 2014 Eligotech BV développe des applications web distribuées a haute scalabilité ainsi que des solutions de Business intelligence s'appuyant sur des technologies de type Big Data.

    Leur passion est la résolution de challenges se déclinant en termes de gros volume d informations a travers la mise en application de technologies innovantes dans les secteurs bancaires et les plateformes de jeu en ligne.

    Réalisation d'un prototype de plateforme destinée a le gestion de jeux de paris en ligne.

    Développement d'une application permettant l'organisation de compétitions de projets de creations d'entreprise (Scala, Play, Akka ...)

    Développement des modules de securite et d'integration pour le workflow Harpoon, produit phare de Eligotech
  • Bouygues Telecom - Consultant Senior Java/J2ee

    Meudon 2011 - 2012 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.
  • InfoVista - Développeur Sénior

    Les Ulis 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)
  • Thales - Ingenieur expert Java/J2EE free-lance

    Courbevoie 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.
  • BNP arbitrage - Expert java

    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
  • Coordialis - Responsable technique informatique

    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)
  • Obbisoft - Ingénieur en développement

    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.
  • LCL - Ingénieur en développement

    Villejuif 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.
  • FuturMaster - Ingénieur en développement

    Boulogne-Billancourt 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
  • Technologies GID - Ingénieur Qualité - développeur

    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.

Formations

  • Institut National Des Sciences Appliquées (Toulouse)

    Toulouse 1993 - 1996 Doctorat INSA
  • Institut National Des Sciences Appliquées (Toulouse)

    Toulouse 1988 - 1993 Ingénieur INSA en Génie Physique

Réseau

Annuaire des membres :