Vers l urbanisation agile d un client mobile ios/android natif, économique, flexible et pérenne



Documents pareils
Webinar. Découvrez Rubedo, la première solution CMS open-source tirant profit des atouts de Zend Framework et du NoSQL. avec la participation de

Vulgarisation Java EE Java EE, c est quoi?

ZABBIX est distribué sous licence GNU General Public License Version 2 (GPL v.2).

Vérifier la qualité de vos applications logicielle de manière continue

W4 - Workflow La base des applications agiles

Point sur les solutions de développement d apps pour les périphériques mobiles

WINDEV MOBILE. ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8.

APPLICATIONS MOBILES Catalogue de services Econocom-Osiatis

Offres de stages 2011/2012

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

Intervenants. Thomas d'erceville Project Manager. Christian NGUYEN Practice Manager IT Quality

Méthodes agiles. CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS. Jean-Louis Bénard jlb@businessinteractif.

Direction des Technologies de l Information. Présentation OCDE. Contribution du Parlement européen. L utilisation de l OPEN SOURCE au PE

Panorama des solutions analytiques existantes

Olivier Deheurles Ingénieur conception et développement.net

25/12/2012

Méthodes Agiles et gestion de projets

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

GWT à l'épreuve du feu. by Sami Jaber (DNG Consulting)

Système d Information du CNRST - SIC -

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Génie logiciel (Un aperçu)

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

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

DEMANDE D INFORMATION RFI (Request for information)

L'automatisation open source pour SI complexes

1. Considérations sur le développement rapide d'application et les méthodes agiles

Iphone vs. Android. Mardi 17 Novembre 2009 Paris, la Défense. Xavier PARADON, Directeur Technique Valtech Training

Formation Certifiante Scrum Master

Conception, architecture et urbanisation des systèmes d information

Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus

Méthode Agile de 3 ème génération J-P Vickoff

Maîtrise d ouvrage agile

Avanade et Xamarin : la voie rapide vers la réussite mobile.

Cours Gestion de projet

Systèmes en réseau : Linux 1ère partie : Introduction

Séance 1 Méthodologies du génie logiciel

Évaluation et implémentation des langages

Refonte front-office / back-office - Architecture & Conception -

Analyse,, Conception des Systèmes Informatiques

Introduction à la modélisation

Introduction au génie logiciel

Les méthodes itératives. Hugues MEUNIER

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

Architecture client riche Evolution ou révolution? Thomas Coustenoble IBM Lotus Market Manager

Stéphane DERACO, DSI CNRS l Argos Devops : de l hyperviseur aux conteneurs l 11/12/2014 DOCKER

INDUSTRIALISATION ET RATIONALISATION

WEA Un Gérant d'objets Persistants pour des environnements distribués

Alexandre Buge Epitech 5 Promo Soutenance de stage du 01/03/2004 au 31/08/2004

Jean-Philippe VIOLET Solutions Architect

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Nouvelles Plateformes Technologiques

Catalogue des stages Ercom 2013

Paul FLYE SAINTE MARIE

Fonctions. Solution professionnelle pour le stockage de données, la synchronisation multi- plateformes et la collaboration

Mise en œuvre des serveurs d application

Compte Rendu d intégration d application

DEMANDE D INFORMATION RFI (Request for information)

WINDOWS Remote Desktop & Application publishing facile!

Environnements de développement (intégrés)

INGÉNIEUR - DÉVELOPPEUR SENIOR PHP. 28 ans - 8 ans d'expérience

Urbanisme du Système d Information et EAI

OpenVPN Manager. Projet M2-ESECURE - Robin BUREL. Date 10 Janvier 2013 Tuteur : M. Richard

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

La mobilité: Perspectives et enjeux de développement d une application mobile. NOTE DE SYNTHÈSE version finale

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Le développement d'applications informatiques

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur Le 23 novembre 2012

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com IBM Corporation

PHP et le Cloud. All rights reserved. Zend Technologies, Inc.

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

TDF Tech 2013 Support de cours

Agile 360 Product Owner Scrum Master

Développement ebusiness

Famille IBM WebSphere Application Server

TP WEBSERVICES. 1 Pré-requis. 1.1 L environnement de développement. 1.2 Les librairies nécessaires 1.3 SOAPUI

Expert technique J2EE

CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)

Agenda 1. Stratégie 2. Devices Management 3. Documents Management 4. Développement 5. Supply Chain 6. Support 7. Et après?

FusionInventory. Guillaume Rousse Journées francophones de Perl 2011

Développement itératif, évolutif et agile

INF2015 Développement de logiciels dans un environnement Agile Examen final hiver 2015

Les formations. ENI Ecole Informatique

Java - la plateforme

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

NatRcs Ce document présente la liste des nouvelles fonctionnalités de la 7.00, disponible à partir de Mars 2011.

Règles d engagement. Présentation Diapositives Bibliographie Questions Les vertus de la marche

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

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

Présentation de l entreprise. et de son innovation

4. SERVICES WEB REST 46

GL Le Génie Logiciel

! " # $ % & OPN Day Paris 14 mars 2006

Cloud pour applications PC SOFT Tarification

CAHIER DES CHARGES D IMPLANTATION

<Insert Picture Here> La GRC en temps de crise, difficile équilibre entre sentiment de sécurité et réduction des coûts

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Topologie du web - Valentin Bourgoin - Méthodes agiles & SCRUM

Transcription:

Vers l urbanisation agile d un client mobile ios/android natif, économique, flexible et pérenne Développement des Systèmes Dynamiques, Programmation Sémantique Opérationnelle, Programmation Fonctionnelle Pilotée par les Données, Programmation Fonctionnelle et Développement Natif, Cross-Development Mobile, LiveCode, Interopérabilité du Client Mobile avec les API Serveur We can only see a short distance ahead, but we can see plenty there that needs to be done. The key to performance is elegance, not battalions of special cases. Alan Turing Jon Bentley and Doug McIlroy 1 / 9 17/02/2015 Sahores Conseil

Les 9 principes de base de la DSDM* : 1. Implication des utilisateurs durant tout le cycle de développement. Ils sont considérés comme des membres à part entière de l'équipe projet ; 2. Autonomie. L'équipe projet doit avoir un pouvoir de prise de décision concernant l'évolution des besoins ; 3. Visibilité du résultat. L'application doit être livrée le plus souvent possible afin de permettre un feed-back rapide. Les délais entre les livraisons doivent être le plus court possible ; 4. Adéquation. L'objectif est de livrer une application en adéquation avec le besoin métier du client ; 6. Réversibilité. Toute modification effectuée durant le développement doit être réversible ; 7. Synthèse. Un schéma directeur, défini de manière préalable, fixe les grandes lignes du projet, notamment son périmètre et son échéancier de recette ; 8. Tests. Les tests unitaires sont continus durant tout le développement. Ils permettent de revalider l intégrité fonctionnelle de l'application à chaque étape du développement ; 9. Coopération. Les acteurs du projet doivent faire preuve de souplesse concernant les modifications des fonctionnalités demandées. 5. Développement itératif et incrémental. L'évolution du développement est basée sur le feed-back des utilisateurs ; *Dynamic Systems Development Methodology 2 / 9 17/02/2015 Sahores Conseil

Les 9 principes de base de la PSO* : 1. La *Programmation Sémantique Opérationnelle a pour objet de démembrer le système d information en l ensemble de ses éléments premiers à l effet de pouvoir les représenter en un unique diagramme en 2 dimensions ; 2. La PSO est un nouveau language de description de la complexité du système d information exposant la transformation des datas tout au long de leur traitement ; 3. Le diagramme de PSO se présente sous la forme d un algorithme de flots (source, arêtes, sommets, puits) ; 4. Le diagramme de PSO expose des messages (data) et des traitements (commandes, fonctions, librairies) ; 5. Le diagramme de PSO expose 3 types de messages : les datas entrants (source), les états intermédiaires des datas en cours de traitement (arêtes), les datas sortants (puits); 6. Le diagramme de PSO expose 3 type de traitements : des commandes, des fonctions et des librairies ; 7. La PSO identifie les commandes comme les contrôleurs chargés de dispatcher les messages vers les fonctions, à raison de leur contenu ; 8. La PSO identifie les fonctions comme les traitements chargés d appliquer une transformation aux messages reçus ; 9. La PSO identifie les librairies comme des traitements complexes déjà validés et dont elle n expose que les messages entrants et sortants. 3 / 9 17/02/2015 Sahores Conseil

La modélisation PSO/PF : une alternative flexible et sûre à UML3/POO -> Système d Information Piloté par les Données -> Système Expert de Fouille de Données en mode 24/7 4 / 9 17/02/2015 Sahores Conseil

Les 9 principes de base de la DDFP* : 1. La *Programmation Fonctionnelle Pilotée par les Données est un modèle de développement optimisé où chaque composant, client ou serveur, du système d information opère les datas qui le traversent sous la stricte autorité d un contrôleur d intégrité référentielle ; 2. La DDFP délègue le contrôle d intégrité des datas à un moteur d inférence exploitant une base fermée de règles impératives ; 3. En DDFP, seuls les datas dont la structure est reconnue par le contrôleur d intégrité référentielle sont dispatchés pour traitement ; 4. En DDFP, les data de structure non reconnue portent le contrôleur d intégrité référentielle à retourner un simple code de rejet à l émetteur ; 6. La DDFP opère 3 type de traitements : des commandes, des fonctions et des librairies ; 7. La DDFP identifie les commandes comme les contrôleurs chargés de dispatcher les messages vers les fonctions, à raison de leur contenu ; 8. La DDFP identifie les fonctions comme les traitements chargés d appliquer une transformation aux messages reçus ; 9. La DDFP identifie les librairies comme des traitements complexes déjà validés et dont elle n expose que les messages entrants et sortants. 5. La DDFP prend en charge 3 types de messages : les datas entrants, les états intermédiaires des datas en cours de traitement, les datas sortants; *Data Driven Functional Programming (Programmation Fonctionnelle Pilotée par les Données) http://research.microsoft.com/en-us/events/ddfp2013/ 5 / 9 17/02/2015 Sahores Conseil

Programmation Fonctionnnelle et Développement Natif 1. Android Studio/SDK/NDK/JNI -> Prog. Fonctionnelle/UXIE/Dév. Natif/OpenSource : NON/ OUI/Android/OUI; Retour d expérience : Favorable; Apps publiées : > 10 K; 2. Delphi XE7 -> Prog. Fonctionnelle/UXIE/Dév. Natif/ OpenSource : NON/OUI/OUI/NON, Retour d expérience : NC -> Apps publiées : NC; 3. Frameworks HTML5/CSS3/JS -> Prog. Fonctionnelle/ UXIE/Dév. Natif/OpenSource : NON/NON/NON/OUI; Retour d expérience : Négatif; Apps publiées > 10 K; 4. LiveCode Mobile -> Prog. Fonctionnelle/UXIE/Dev. Natif/OpenSource : OUI/OUI/OUI/GPL&COM; Retour d expérience : Favorable; Apps publiées : > 500; 5. Objective-C -> Prog. Fonctionnelle/UXIE/Dév. Natif/ OpenSource : NON/NON/iOS/NON; Retour d expérience : Favorable -> Apps publiées > 10 K; 6. Oracle MAF : Prog. Fonctionnelle/UXIE/Dév. Natif/ OpenSource : NON/SWING/OUI/NON; Retour d expérience : NC -> Apps publiées : NC; 7. Scala/Migeran/Scaloid : Prog. Fonctionnelle/UXIE/ Dév. Natif/OpenSource : OUI/OUI/OUI/OUI; Retour d expérience : Favorable -> Apps publiées : NC; 8. SWIFT : Prog. Fonctionnelle/UXIE/Dév. Natif/ OpenSource : OUI/NON/iOS/NC; Retour d expérience : Favorable -> Apps publiées : > 1 K; 9. Windev Mobile -> Prog. Fonctionnelle/UXIE/Dév. Natif/OpenSource : NON/OUI/OUI/NON; Retour d expérience : Favorable -> Apps publiées : NC; 10. Xamarin (C#,.NET, Mono) -> Prog. Fonctionnelle/ UXIE/Dév. Natif/OpenSource :?/OUI/OUI/NON; Retour d expérience : Rdio : 50 000 lignes de code -> Apps publiées : NC; 6 / 9 17/02/2015 Sahores Conseil

Les 10 principes de base du Cross-Development Mobile 1. Le Cross-Development Mobile doit, idéalement, adresser un language de programmation fonctionnelle (fonctions de rang supérieur, récursivité des parcours de liste,...); 2. Le Cross-Development Mobile doit adresser les API et librairies natives dédiées au contrôle applicatif et matériel des plateformes mobiles prises en charge; 3. Le Cross-Development Mobile doit mettre en oeuvre un éditeur d IHM complet (UXIE wisiwig, drag n drop, clavier, souris, génération automatique du code source des Vues) capable de s interfacer avec tous types d éditeurs externes (image, son, video, icones, texte,...); 4. Le Cross-Development Mobile doit mettre en oeuvre un éditeur de programmation interactif (debugger, documentation, variable scope,...); 5. Le Cross-Development Mobile doit adresser un système de ramasse-miettes (garbage collector) efficace; 6. Le Cross-Development Mobile doit, à l occasion, savoir déléguer certains traitements à des fonctions externes propres à chaque plateforme adressée ; 7. Le Cross-Development Mobile Natif ne doit pas s interdire le recours ponctuel à des ressources hybrides exploitées en accès local sandboxé (HTML5/CSS3/JS Natif); 8. Le Cross-Development Mobile doit être pensé en termes de modularité, favorable au versioning, à la réutilisation et à l optimisation continue du code généré de projet en projet; 9. Le Cross-Development Mobile doit être pensé en termes de flexibilité, au regard des API réseau qui pourront lui être présentées, idéalement sans adaptations spécifiques; 10. Le Cross-Development Mobile doit permettre un fonctionnement des applications adressées en mode semi-connecté (mode avion, persistance locale des données en mode ACID); 7 / 9 17/02/2015 Sahores Conseil

Les 8 caractéristiques principales de LiveCode 1. LiveCode est un RAD de développement intégré (IDE/UXE, ByteCode Compiler JIT singlethread) mature et fiable, disponible depuis 1991; 2. LiveCode est surtout un puissant langage fonctionnel sans changement d état qui permet de gérer les tests unitaires de validation de l intégrité applicative en mode continu, tout au long du développement (cf : DSDM 3, 5, 6, 8); 3. L enregistrement et l appel de procédures distantes (file, http, include, start using) étant nativement supporté, LiveCode rend la gestion de dépôts et le team-coding techniquement transparent. 4. Une syntaxe verbe, valeur, container rend la courbe d apprentissage du language très plate, dès lors que les concepts de base de la programmation fonctionnelle sont acquis; 5. La puissance de LiveCode découle du nombre réduit de lignes nécessaires au codage de fonctions complexes. Cette caractéristique constitue un des points forts du language en termes de maintenance évolutive (debuggage, optimisation, scalabilité), le besoin de commenter le code s en trouvant allégé d autant. 6. Le ByteCode Compiler LiveCode est écrit en C/C ++. Très économique en termes d empreinte mémoire (3.5 < LC < 6 Mo / thread), il se compare à PHP en termes de vitesse de calcul. 7. LiveCode adresse ios, Android (Mobile), Windows, MacOS X, Linux (Desktop), Windows, MacOS X, Linux (CGI Server), Solaris, SunOS, SGI IRIS, HP/UX, IBM RS, BSD, NetBSD, MacOS (Non Officiellement Supportés); 8. LiveCode est distribué en dual-licence (GPL3, Commercial) et regroupe une communauté d experts très resserrée autour de RunRev Ltd, l éditeur du produit depuis 2003; 8 / 9 17/02/2015 Sahores Conseil

Interopérabilité du Client Mobile avec les API Serveur 1. Favoriser la réutilisation des API serveur existantes chaque fois que c est possible : dès lors qu une API de présentation des datas adresse déjà d autres types de clients (Web, WebServices, Windows Natif, MacOS X Natif), il sera généralement optimal de reporter, côté Mobile, la couche d abstraction permettant de la réutiliser sans modification ; à défaut, le codage d un Web Service HTTP(S) REST ou JSON(B) dédié sera souvent le moyen le plus simple de traiter le besoin ; 2. Le Client Mobile constitue, dès lors qu il s affranchit des frameworks Javascript issus du Responsive Web, un terminal ntiers efficace (serveurs ACID-SQL, NewSQL ou NoSQL, serveurs de Streaming AV, SendMail, PostFix, serveurs Push, Opérateurs de Paiement, Authentification Forte,...) ; 3. Persistence Locale des Données : le Client Mobile Natif autorise une persistance locale sandboxée des datas (flat-files, SQLite) lui permettant de supporter avec flexibilité le Mode Avion ; 9 / 9 17/02/2015 Sahores Conseil

Merci! Programmation fonctionnelle et urbanisation du SI Mobile : Use Case SI SaaS de Commerce Web et Mobile WS Stores 2012-2015 Sahores Conseil 17/02/2015 Sahores Conseil