Java à Murex: un retour d'expérience. Jean-Pierre DACHER & Craig MORRISON



Documents pareils
NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

Nouvelles Plateformes Technologiques

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

FOURNIR UN SERVICE DE BASE DE DONNÉES FLEXIBLE. Database as a Service (DBaaS)

Fusion : l interopérabilité chez Oracle

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

Tirez plus vite profit du cloud computing avec IBM

Service des stages et du placement - secteur placement ANNEE 2013 TITRES DE POSTES OFFERTS AUX DIPLOMES DE GENIE INFORMATIQUE

LES SOLUTIONS OPEN SOURCE RED HAT

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

e need L un des premiers intégrateurs opérateurs Cloud Computing indépendants en France

Agile 360 Product Owner Scrum Master

Big Data: comment passer de la stratégie à la mise en œuvre? Big Data Paris Mars 2015

Big Data. Concept et perspectives : la réalité derrière le "buzz"

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

Enterprise Scrum Organisation des développements chez exo. Agile Tour Rennes 2010 / 10 / 07

EFIDEM easy messaging systems. EFIDEM SAS 3 rue de Téhéran Paris T : F : info@efidem.

L'agilité appliquée à nous-mêmes. Philippe Krief, PhD Development Manager IBM France Lab

Présentation du module Base de données spatio-temporelles

Un business model d éditeur open source

MANAGEMENT DES SERVICES INFORMATIQUES

W4 - Workflow La base des applications agiles

Le moteur de workflow JBPM

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

Auto-évaluation Aperçu de l architecture Java EE

OPTIMISER SON PROCESSUS DE TEST AVEC UNE APPROCHE BOITE GRISE

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

SOA Open Source Intégration des services et business process dans une architecture SOA Open Source. Bruno Georges JBoss, a Division of Red Hat

Stratégie et Vision de SAP pour le secteur Banque- Assurance: Data-Management, BI, Mobilité

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles

Moderniser. le système d information et le portefeuille applicatif.

Isabelle Nicolas

Titre : La BI vue par l intégrateur Orange

APX et VCE, Modèle d industrialisation de l intégration et du déploiement. Olivier BERNARD, VCE

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

<Insert Picture Here> Maintenir le cap avec Oracle WebLogic Server

Architecture distribuée

CloudBees AnyCloud : Valeur, Architecture et Technologie cloud pour l entreprise

Hébergement MMI SEMESTRE 4

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2

Le Cloud Computing et le SI : Offre et différentiateurs Microsoft

WEBSPHERE & RATIONAL. Jacques Rage

Cisco Unified Computing Migration and Transition Service (Migration et transition)

en SCÈNE RATIONAL Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com

IBM Tivoli Monitoring, version 6.1

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Nouveautés Ignition v7.7

Comment booster vos applications SAP Hana avec SQLSCRIPT

NEXITY. Nexity développe une stratégie d E-reputation à 360 sur la base des données sociales fournies par BuzzWatcher. CASE STUDY

La reconquête de vos marges de manœuvre

Projet de développement

L EAI. par la pratique. François Rivard. Thomas Plantain. Groupe Eyrolles, 2003 ISBN :

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine Slimane.bah@emi.ac.ma

Visual Paradigm Contraintes inter-associations

GESTION DU CYCLE DE VIE. Albert Amar Avant-vente Middleware

Architectures informatiques dans les nuages

LA RECONNAISSANCE VOCALE INTEGREE

Qu'est-ce que le BPM?

MQPerf un outil de diagnostic en mode SaaS des performances optimales du MOM JORAM

Vers une meilleure gouvernance des plateformes d ingénierie

Catalogue Formations Jalios

1 Actuate Corporation de données. + d analyses. + d utilisateurs.

Architecture pragmatique pour la gestion du cycle de vie des applications (ALM)

Réussir ses Déploiements Applicatifs

REX Scrum Master du terrain

Sauvegarde EMC pour solutions SAP HANA prêtes pour le datacenter. EMC Data Domain avec DD Boost

ORACLE PAAS CLOUD MANAGEMENT

L Intégration Continue & Agilité

Evolution des SI à l heure du Cloud

Master Informatique et Systèmes. Architecture des Systèmes d Information. 03 Architecture Logicielle et Technique

Gestion Mobile avec Afaria 7. Jérôme Lorido blue-infinity Mai 2013

Pilot4IT Tableaux de Bord Agréger et consolider l ensemble de vos indicateurs dans un même portail.

Les nouvelles architectures des SI : Etat de l Art

Cloud computing Votre informatique à la demande

CURRICULUM VITAE. Martin Harnois. Consultant depuis 23 ans Spécialiste en Business Intelligence / entrepôt de données depuis 11 ans.

Business Process Management

Business Objects Planning «Arrêter de jouer avec vos chiffres»

1 ère Partie Stratégie et Directions Stockage IBM

Cloud Computing Stratégie IBM France

L INFORMATIQUE SOUS FORME DE SERVICE POUR VOTRE ENTREPRISE. Farid BENREJDAL Senior Systems Engineer VMware

Business & High Technology

APPLICATIONS MOBILES Catalogue de services Econocom-Osiatis

Quand la Business Intelligence se met à votre service. Jedox Cloud. La donnée au cœur des solutions. Livre Blanc

Pour une entreprise plus performante

AngularJS pour une application d'entreprise

S10 - Automatisez la compilation et le déploiement de vos applications IBM i avec Arcad Pack for Rational

Virginie!SALAS Janvier!09! NFE107

La gestion de la performance applicative dans des environnements complexes et distribués

Innovative BI with SAP Jean-Michel JURBERT D. de Marché BI, HANA, BIG DATA _ SAP France

Jean-Pierre Vickoff

CATALOGUE DE FORMATIONS BUSINESS INTELLIGENCE. Edition 2012

Développez votre système d'information en toute simplicité

IBM Systems & Technology Recentrer l informatique sur l innovation plutôt que sur la maintenance

ITSM - Gestion des Services informatiques

Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2.

Modéliser et déployer des processus d entreprise avec Biztalk 2006

Déterminer les enjeux du Datacenter

Accélérez la transition vers le cloud

Transcription:

1 Java à Murex: un retour d'expérience Jean-Pierre DACHER & Craig MORRISON

Résumé Description des défis et contraintes d un grand éditeur de logiciel Le cycle de développement Murex pour atteindre les objectifs Un mélange de technique, d approche industrielle et d agilité 2

Jean-Pierre DACHER Chief Operations Officer, Murex Travaille dans l édition logicielle depuis plus de vingt ans, il a été successivement développeur, chef de projet, directeur de programmes et directeur engineering dans les domaines des télécommunications, de la gestion de systèmes et réseaux et de la Business Intelligence. Actuellement en charge de la Chaine de Production logicielle et de l excellence opérationnelle à Murex. 3

Craig MORRISON Senior Development Manager, Murex Longue expérience internationale en tant que développeur, architecte, manager. Actuellement responsable pour le suivi de développements transverses fonctionnels en Java à Murex. 4

Editeur de logiciel pour les marchés capitaux depuis 1986 Introduction à Murex 5

Murex? Éditeur de logiciel dans le domaine des marchés de capitaux 25 ans d expérience dans le domaine > 1 500 salariés dans 11 bureaux à travers le monde Paris / Dublin / Beyrouth / Luxembourg / Singapour / Tokyo / Sydney / Beijing / Seoul / NY / São Paulo > 200 sites installés à travers le monde dans les grandes institutions financières > 35 000 utilisateurs du système dans plus de 65 pays Overall #1 Technology vendor 2011 (Risk Magazine) 6

Développement à Murex? > 200 développeurs pour l évolution continue de la plateforme MX.3 ~ 13 M LoC (C/C++ 70%, Java 30% et en croissance) Défis : Demande constante de nouveauté fonctionnelle pour augmenter la compétitivité de nos clients > Expertise fonctionnelle nécessaire pour pouvoir répondre rapidement aux demandes de développements spécifiques Nouvelles règlementations financières, accélérées dans le contexte de la crise > Adaptation rapide aux contraintes du marché et une capacité de production croissante Exigences très élevées en performance > Créativité algorithmique et adoption des meilleures technologies Évolution continue : - Formation continue sur les nouvelles technologies de développement - Adoption continue des nouvelles méthodes de développement - Veille technologique 7

Challenges techniques de la MX.3 Support multi-plateforme Solaris/Linux/AIX Gestion de volume important de transactions et montée en charge Plusieurs millions de transactions existantes Millions de transactions par jour Milliers de transaction à la seconde Milliers d utilisateurs connectés Performance et latence des traitements Gestion des évènements en dizaines de millisecondes Dizaines de milliers de calculs à la seconde Tolérance aux pannes Résilience dans les environnements de production Réplication en cas de désastre 8

Facteurs clés de succès 1. Compréhension des besoins clients 2. Architecture et plateforme technique robustes et évolutives facilitant les développements fonctionnels 3. Livraisons prédictibles - Software Factory 4. Agilité Pratiques et environnement de développement 9

Facteurs clés de succès Architecture et plateforme Aperçu de l architecture Java et C++ 10

MX.3 Architecture (logique) Scalable Deployment Client Tier Application Tier Database Tier Client Layer Business Layer Sequencing Layer Communication Layer Database Layer Workflow Tasks Workflow Manager MX Clients Calculation Engines (Position keeping, VaR, Datamart Feeder) Position Service Aggregation & Compliance Service Financial Database Datamart Database Object Repository Engine Market Data Service Service Registry 11

MX.3 Architecture (technique) Tiers applicatif Couche fonctionnelle Gestion des transactions & évènements, calculs financiers Interfaçages avec des systèmes externes Couche infrastructure Couche de transport/communication développée en interne Parallélisation des traitements (multi-threading, parallel processing et grid computing) Monitoring temps réel à travers JMX (état, exceptions, perf) Tiers Base de données Persistance transactionnelle de l état applicatif Support de Sybase ASE et Oracle DB Tiers Client Client leger en Java Swing standalone Matériel Processeur multi-cœur/multi-thread GPU (Graphical Processing Unit) Stockage (RAID, SSD) Milliers d utilisateurs connectés Langages de programmation Java C++ OpenCL Python 12

Java & C++ dans une architecture adaptée Architecture facilitant les développements fonctionnels : la séparation des préoccupations (SoC) Calculs Orchestration & distribution Présentation Stockage Java Interfaçages avec des systèmes externes Monitoring (JMX), MOM (JMS, MQ), authentification (JAAS), services web (JAX- WS), Orchestration des divers composants du système Montée à la charge horizontale et verticale Agrégation et caching des résultats Orchestration fonctionnelle Interface utilisateur C++ Calculs financiers («close to the metal») Logique métier Extension des modèles financiers (langage des «quants») 13

Java : retour d expérience Bénéfices Portabilité Gain de productivité (langage plus haut niveau, écosystème de logiciels libres et d outils) Grande communauté de développement (accès aux développeurs) Risques l'explosion de librairies (richesse de l'environnement peut être un piège) OSS et propriété intellectuelle classpath hell optimisation Contexte Murex : nombreuses années d'investissement dans C++ grande sensibilité vis-à-vis des calculs (précision 10-6...) Conclusion : C++ pour les calculs, de plus en plus de Java pour le reste

Facteurs clés de succès Livraisons prédictibles Software Factory Complexité sous-jacente Organisation et structure de développement Cycle de vie logiciel «juste assez de processus» 15

Complexité Constat : la livraison de nouveaux modules fonctionnels est complexe Aspect Team Correspond au besoin fonctionnel, configurable Performance, resilience, montée en charge PES PAC Product Owner Performance & Arch. Testé et test-able Ergonomie Opérable Modulaire, ouvert (API), respect de l architecture QC UX Operate Quality Control User experience Operate Gouvernance de développement Sécurité PAC Performance & Arch. 16

Organisation adaptée PES: Product Evolution Services (Product Owner) Spécialistes du métier de la finance PAC: Production and Architecture Consulting Responsable de la satisfaction technique des clients Pre-sales technique, implémentation: déploiement, résilience et performance Évolution technique de la plateforme (besoins techniques, portabilité) Qualité technique (stabilité, performance) Equipes de développement métier Traduction des besoins fonctionnels en code Equipes de développement technique Mise en place des couches technique de la plateforme Equipes transverses : suivi technique et suivi projet (gouvernance) S assurer de l avancement des projet de développement tout en assurant l intégrité de la plateforme Test, ergonomie, infrastructure et outillage sont des vrais métiers: Equipes dédiées 17

Cycle de vie Logiciel Platform evol Feature Dev branch Bug/enhcmt PO: Arch/DEV PO: PES PO: PES QC DEV PES PAC KPIs: - #REG @Customer - Defect Escape - Code Coverage - New Feature coverage - REG coverage - Verification (PO) - Unit test (DEV) Performance PO: PAC System (live env./upgradability) PO: QC Dev-fix branch PAC QC Integration (QL1-4) QC DEV Operate Release (QL1-5) Mainstream Verification LEGEND DEV PES QC Test actors Mainstream drop (or dev branch) Compliance (third party, vulnerability,security, ) PO: PAC QL5 Validation Project PO: Product Owner Support MAD Operate QSA PO: Project Manager QC Test Lead PAC Tester @Project? Project

Facteurs clés de succès Agilité Pratiques et environnement de développement 19

Développement Agile Livraison itérative de fonctionnalité Coordination et arbitration entre besoins fonctionnels et techniques Visibilité à travers des cycles bien définis (quotidien, itération, s intégrant dans la feuille de route) Revue d architecture au début du projet Cadre de «l architecture émergeante» Définition de tests à plusieurs niveaux Approche risk-based (documentée) Unitaire, intégration, performance, manuel, UI Définition et suivi de métriques de qualité

CI environment tools - Hudson, sync avec Perforce - Nexus - Sonar (métriques) - Fitnesse - Hébergé par machine virtuelle / Linux CI 2 Environnement d Intégration Continue (CI 2 ) - Toute configuration stocké en git - Une branche par équipe - Configuration de l OS scripté en cours

Q & A