3. Platform As A Service
Applications Web Html5
• Réversibilité OnPremise / Cloud
• Sécurité, Identité, Data Access, API
• Full Ajax
• Applications Mobile avec Cordova
• Approche DevOps
Back End Applications mobiles
• Sécurité, Identité, Data
• Paiement, Administration, API REST
• Mobile natif (Android, iPhone, iPad,
Windows 8, Windows Phone…)
Partage de ressources (Data / UI / Services) avec des
extensions et des Applications partagées
4. Pas de cahier des charges
Cycles de développement courts
Drivés par l’expérience utilisateur
Valeur par l’usage
5. Applications 100 % custom
95 % du code déjà écrit
Baisse du besoin d’expertise technique
Coûts de développement divisés / 5-10
Coûts de maintenance divisés / 10-20
Travail fluide Client Final/MOA/MOE
9. Pourquoi
• Le rôle du développeur
o Découvrir et comprendre le besoin métier
o Imaginer une solution informatique
Expérience utilisateur
Données
Traitements
o Coder la partie subtile
10. Pourquoi
• Le rôle de l’environnement et de l’outillage
o C’est d’automatiser les aspects
Bêtes et méchants
Répétitifs
Prévisibles
Qui ont un best practice connue
11. Pour qui
• Un développeur
o Qui développe sans cahier des charges en
collaboration directe avec son client
o Qui est motivé par la conception et UX
o Qui est motivé par la vitesse de développement
o DRY : qui n’aime pas se répéter
12. Pour qui
• Un développeur
o Full-stack (client / serveur / données / IHM)
o Qui connait la syntaxe des langages C# et Javascript
o Qui connait les notions d’HTML et de CSS
o Qui travail avec Visual Studio
13. Pour qui
• Un développeur
o Qui développe des produits sophistiqués
front office, back office,
distribués, multi-langue, multi-tenant,
déconnecté, sécurisés, scalable,
avec un API (HTTP, REST)
BackEnd pour des applications mobiles
dans Azure
IoT, Objets Connectés
14. Architecture
• Serveur IIS ou Azure
• HttpHandler d’ASP.net
• Serveur sans état « stateless »
• Client avec état « stateful »
• Etat géré automatiquement dans le client
• Application SPA 100 % sur mesure (UI et Data)
• HTML produit dans le client
• Le serveur ne renvoie que des données
• Echanges Client/Serveur de données relationnelles
15. Comment
• Séparation à 100 % entre :
• le code technique (déjà écrit)
• le code métier (à écrire)
• des extensions (à écrire)
• Un modèle de binding déclaratif qui intègre
automatiquement les extensions (Services et
Contrôles) métier
17. Comment (outils)
• Deux DSL intégrés à Visual Studio
• Un DSL graphique pour décrire les données
• Entités, Relations, Enums, DataBaseEnum
• Un DSL textuel (6 verbes) pour décrire les bindings
• Data Binding (Simple, List, Grille, Arbre)
• Command Binding (Appels automatiques des services client et
serveur avec paramètres bindés)
• Layout Binding (Composition dynamique et déclarative des vues)
19. Comment (exploitation)
• Portail DevOps Aspectize.com permet
• La gestion des applications
• Versions
• Déploiement
• Configurations
• Monitoring
• La gestion des hosts logiques dans Azure
20. Comment
• Cycle de développement : 1-2 heures
• Concevoir un bout de modèle logique
• Imaginer l’interface utilisateur (HTML, CSS)
• Ecrire le minimum de code nécessaire : Javascript et C#
• Configurer les bindings
• Tester
• Déployer dans Azure
• Montrer
• Retirer de la satisfaction