aspectizewhyhowwhat

13
Nicolas Roux Fredy Fadel Aspectize.com

Upload: fredy-fadel

Post on 20-Jul-2015

88 views

Category:

Documents


0 download

TRANSCRIPT

Nicolas RouxFredy FadelAspectize.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.