Nicolas Roux
Fredy Fadel
Aspectize.com
 Développeur
 Plus de 35 ans de programmation
 Entrepreneur
 Winwise
 Aspectize
 Développeur
 curieux et autonome
 d’abord fier du résultat
 motivé par la vitesse de développement
 motivé pour produire des fonctionnalités sans se
répéter : DRY
 qui développe sans cahier des charges en
collaboration directe avec son client (motivé par
la conception et UX)
 Des applications Web métier
 100 % sur mesure : UX et Data
 modernes : Single Page Application, Cloud,Azure
 Produits sophistiqués
 Front office, Back office, Distribués, multi-langue, multi-
tenant, déconnectable, sécurisés, scalable, API (REST)
 des BackEnd pour des applications mobiles dans Azure
 IoT, Objets Connectés
 Parce que :
 Nos clients ne savent pas écrire des cahiers des charges
 Ils veulent un Time to Market court (quelques semaines)
 Leurs besoins évoluent vite
 Ils ne veulent pas que la technique soit sur leur chemin
 Et nous, on n’aime pas
 se répéter
 les cérémonies
 être le goulot d’étranglement
 Concevoir un bout de modèle logique
 Imaginer l’expérience utilisateur (HTML, CSS)
 Ecrire le minimum de code nécessaire
 Javascript (client) et .net (serveur )
 Configurer les bindings
 Tester
 Déployer dans Azure
 Montrer
 Retirer de la satisfaction
Comment : Modèle /Vue / Service
Vues dynamiques
Lecture Data
Paiement
Ecriture Data
LinkedIn Connect
Séparation totale
Vue - Data
Vue - ServicesLiens dynamiques
configurés
 Intégrés à VisualStudio
 Un DSL graphique pour décrire les données
 Entités, Relations, Enums
 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
Ajax,CORS, XDM et Locaux avec paramètres bindés)
▪ Layout Binding (Composition dynamique et déclarative des vues)
 Accès aux données (lecture/écriture) : 100 % automatique
 Relationnelles : SQL
 Azure Storage (Tables, Blobs, Queue…) : NoSQL
 Cache client et serveur
 Sécurité (Authentification, Autorisation)
 Exceptions,Trace, Log
 CRUD sur les données en mémoire côté client en Javascript et côté
serveur en .net
 Manipulation de vues
 Validations, conversions, formatage, traductions…
 Une approche AOP dynamique
 Don't call us we'll call you
 Séparation à 100 %
▪ entre le code technique (déjà écrit) ou les extensions (à
écrire)
▪ et le code métier (à écrire)
 A base d’extensions (Services et Controles) qui
s’intègrent au modèle de binding déclaratif
 Aspectize.com le portail de gestion
 des applications
▪ Versions
▪ Déploiement
▪ Configurations
▪ Monitoring
 des hosts dans Azure ou ailleurs
 On ne perd pas de temps, on n’écrit pas de code pour
 La lecture
 L’écriture
 Le transport
 La conversion des types
 L’affichage
 La manipulation du DOM
 Les communications client/serveur
 Les contrôleurs
 La gestion des exceptions
 Pour l’orchestration du flux de l’information
 Maîtriser le SDK d’Azure
 Avec peu de code on peut changer le
comportement du logiciel et l’adapter
facilement aux besoins du client sans trop
craindre des régressions.

AspectizeWhyHowWhat

  • 1.
  • 2.
     Développeur  Plusde 35 ans de programmation  Entrepreneur  Winwise  Aspectize
  • 3.
     Développeur  curieuxet autonome  d’abord fier du résultat  motivé par la vitesse de développement  motivé pour produire des fonctionnalités sans se répéter : DRY  qui développe sans cahier des charges en collaboration directe avec son client (motivé par la conception et UX)
  • 4.
     Des applicationsWeb métier  100 % sur mesure : UX et Data  modernes : Single Page Application, Cloud,Azure  Produits sophistiqués  Front office, Back office, Distribués, multi-langue, multi- tenant, déconnectable, sécurisés, scalable, API (REST)  des BackEnd pour des applications mobiles dans Azure  IoT, Objets Connectés
  • 5.
     Parce que:  Nos clients ne savent pas écrire des cahiers des charges  Ils veulent un Time to Market court (quelques semaines)  Leurs besoins évoluent vite  Ils ne veulent pas que la technique soit sur leur chemin  Et nous, on n’aime pas  se répéter  les cérémonies  être le goulot d’étranglement
  • 6.
     Concevoir unbout de modèle logique  Imaginer l’expérience utilisateur (HTML, CSS)  Ecrire le minimum de code nécessaire  Javascript (client) et .net (serveur )  Configurer les bindings  Tester  Déployer dans Azure  Montrer  Retirer de la satisfaction
  • 7.
    Comment : Modèle/Vue / Service Vues dynamiques Lecture Data Paiement Ecriture Data LinkedIn Connect Séparation totale Vue - Data Vue - ServicesLiens dynamiques configurés
  • 8.
     Intégrés àVisualStudio  Un DSL graphique pour décrire les données  Entités, Relations, Enums  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 Ajax,CORS, XDM et Locaux avec paramètres bindés) ▪ Layout Binding (Composition dynamique et déclarative des vues)
  • 9.
     Accès auxdonnées (lecture/écriture) : 100 % automatique  Relationnelles : SQL  Azure Storage (Tables, Blobs, Queue…) : NoSQL  Cache client et serveur  Sécurité (Authentification, Autorisation)  Exceptions,Trace, Log  CRUD sur les données en mémoire côté client en Javascript et côté serveur en .net  Manipulation de vues  Validations, conversions, formatage, traductions…
  • 10.
     Une approcheAOP dynamique  Don't call us we'll call you  Séparation à 100 % ▪ entre le code technique (déjà écrit) ou les extensions (à écrire) ▪ et le code métier (à écrire)  A base d’extensions (Services et Controles) qui s’intègrent au modèle de binding déclaratif
  • 11.
     Aspectize.com leportail de gestion  des applications ▪ Versions ▪ Déploiement ▪ Configurations ▪ Monitoring  des hosts dans Azure ou ailleurs
  • 12.
     On neperd pas de temps, on n’écrit pas de code pour  La lecture  L’écriture  Le transport  La conversion des types  L’affichage  La manipulation du DOM  Les communications client/serveur  Les contrôleurs  La gestion des exceptions  Pour l’orchestration du flux de l’information  Maîtriser le SDK d’Azure
  • 13.
     Avec peude code on peut changer le comportement du logiciel et l’adapter facilement aux besoins du client sans trop craindre des régressions.