Comment AlloCiné a réussi à réduire sa dette
technique grâce à CodeFluent Entities,
le MDA pragmatique et exécutable
Retour d’expérience sur
  CodeFluent Entities




 Jean-Michel TEXIER
 Chief Technology Officer,
 AlloCiné
AlloCiné en 3 points
 1er média sur le secteur entertainment en France
  (univers du cinéma et des séries TV)

 Présence multi-devices / multi-écrans
  (Mobiles, Smart phones, Tablettes, IPTV, Consoles, TV)

 Présence internationale majeure
   (Numéro 1 sur son secteur en France, Allemagne,
   Russie, Chine, et Brésil)
AlloCiné en 3 Chiffres
 5 millions d’utilisateurs iPhone / Android
  (première applications lancées en février 2010)

 80 millions de visiteurs uniques par mois
  (dont 20 millions sur allocine.fr)

 Bientôt 1 milliard de pages vues par mois
  (combinaison web / tablettes / mobiles)
Le Contexte (la problématique)


                                Historique




                      Expansion          Développement
                    Internationale        et Innovation




 Un vaste existant agglomérant 10 ans d’historique
 Une expansion internationale par acquisition conditionnée par
  une rationalisation technologique
 Une intégration continue de nouvelles fonctionnalités et services
Les Enjeux
 Réduire la dette technique liée à la maintenance de
  l’existant
 Basculer progressivement vers une approche
  méthodologique nouvelle, tout en gérant certaines
  contraintes techniques (base de données, …)
 Optimiser la durée des cycles de développement
 Permettre de faire contribuer une équipe « off-shore »
  sans nuire à la qualité et la productivité
 Mieux gérer les contraintes de performance et de
  montée en charge
Les bénéfices observés avec CodeFluent Entities
   Fonctionnalités prêtes à l’emploi performantes
   Documentation consistante et cohérente
   Intégration à Microsoft Visual Studio
   Suivi de l’évolution des technologies Microsoft

   Meilleur pilotage des développements
   Homogénéité de la qualité et de la performance
   Intégration facilitée des nouveaux développeurs
   Réduction significative de la dette technique
Bilan à date
 Une douzaine de développeurs équipés
   – 6 à Paris, formés selon le cursus « standard »
   – 6 en Ukraine, accompagnés en support à distance
 Une équipe off-shore efficace, malgré l’éloignement et
  l’approche d’autoformation + support à distance

 Une réduction des coûts de maintenance de 25%
  observée dès les premiers mois de mise en œuvre
 Un retour sur investissement en 4 mois

 Une approche « AMDD »
Attentes et prochaines étapes
 Exploitation du nouveau modeleur graphique dans
  Visual Studio 2010
 Augmentation du nombre de producteurs / sous-
  producteurs « maison » pour les couches graphiques
 Extension de la prise en main CodeFluent à l’ensemble
  de l’équipe de développement

 Divers travaux de R&D sur le développement de
  patterns/producers/sub-producers à des fins de
  générations de tests fonctionnels (semi-)automatisés et
  extension à la partie développement mobile (HTML 5)
Démonstration



Carl Anderson

Ingénieur développement - R&D
Modeling           Generation             Customize             Execute
Qu’est-ce que CodeFluent Entities?Enjoy!
Entities Properties
MethodsRules
                    TemplatesCode
                    C#, T-SQL, PL-SQL
                                      .NET Custom rules
                                       UI Screens ……
Patterns ……

        CodeFluent Entities est un outil piloté par les modèles, intégré
        à Visual Studio 2008/2010, pour générer de manière continue
        toutes les couches et leur tuyauterie : base de données,
        métier, service et interface utilisateur.

        Définissez votre logique métier, choisissez vos plateformes
        cibles, générez, ajoutez vos règles métier et compiler. Faîtes-le
        autant de fois qu’il faut jusqu’à ce que cela sente bon .

        CodeFluent Entities fournit une formule qui vous aide à
        construire rapidement des fondations solides, et à créer avec
        succès le reste de votre application .NET, vous permettant de
        vous concentrer sur ce qui compte vraiment. (i.e. s’amuser et
        coder des trucs cool)
Modeling          Generation      Customize         Execute
CycleProperties d’une application CodeFluent Entities
Entities de vie
MethodsRules
                  Templates
                          Code    .NET Custom rules Enjoy!
                                     C#, T-SQL, PL-SQL                   UI Screens ……
Patterns ……

                                                      1 Créez vos entités métier et leurenums, ressources,
                                                        (propriétés, règles, méthodes,
                                                                                         comportements

                                                         vues, instances, etc.)
                                                         Pas besoin d’UML.


                                                         Modéliser
                                                                                                 2 Choisissez votre producteurs
                                                                                                   en ajoutant des
                                                                                                                    architecture

                                                                                                     qui vont traduire votre
 Validez que l’application
     se comporte comme
                             6          Tester                                    Générer
                                                                                                     modèle en du code
                  prévue.                                                                            spécifique à la plateforme.
                                                                                                     Aucun template requis.




                                       Exécuter                                   Etendre
                                                                                                 3 Ajoutez du codeetc.).main
                                                                                                   (écrans, règles,
                                                                                                                    fait
  Déployez et utilisez votre
               application.      5                                                                   Développement .NET standard.
        Pas besoin d’ORM.                                Compiler

                                                   4 Compilez votre application avec
                                                     Microsoft Visual Studio.
                                                      Développement .NET standard.
Modeling            Generation          Customize                                                             Execute
CodeFluent EntitiesCode
Entities Properties
MethodsRules
                    Templates Application Lifecycle
                                        .NET Custom rules                                                     Enjoy!
                                     C#, T-SQL, PL-SQL                   UI Screens ……
Patterns ……

                                                      1 Créez vos entités métier et leurenums, ressources,
                                                        (propriétés, règles, méthodes,
                                                                                         comportements

                                                         vues, instances, etc.)
                                                         Pas besoin d’UML.


                                                         Modéliser
                                                                                                 2 Choisissez votre producteurs
                                                                                                   en ajoutant des
                                                                                                                    architecture

                                                                                                     qui vont traduire votre
 Validez que l’application
     se comporte comme
                             6          Tester                                    Générer
                                                                                                     modèle en du code
                  prévue.                                                                            spécifique à la plateforme.
                                                                                                     Aucun template requis.




                                       Exécuter                                   Etendre
                                                                                                 3 Ajoutez du codeetc.).main
                                                                                                   (écrans, règles,
                                                                                                                    fait
         Déployez et utilisez
           votre application.    5                                                                   Développement .NET standard.
          Pas besoin d’ORM.                              Compiler

                                                   4 Compilez votre application avec
                                                     Microsoft Visual Studio.
                                                      Développement .NET standard.
Modeling            Generation          Customize                                                             Execute
CodeFluent EntitiesCode
Entities Properties
MethodsRules
                    Templates Application Lifecycle
                                        .NET Custom rules                                                     Enjoy!
                                     C#, T-SQL, PL-SQL                   UI Screens ……
Patterns ……

                                                      1 Créez vos entités métier et leurenums, ressources,
                                                        (propriétés, règles, méthodes,
                                                                                         comportements

                                                         vues, instances, etc.)
                                                         Pas besoin d’UML.


                                                         Modéliser
                                                                                                 2 Choisissez votre producteurs
                                                                                                   en ajoutant des
                                                                                                                    architecture

                                                                                                     qui vont traduire votre
 Validez que l’application
     se comporte comme
                             6          Tester                                    Générer
                                                                                                     modèle en du code
                  prévue.                                                                            spécifique à la plateforme.
                                                                                                     Aucun template requis.




                                       Exécuter                                   Etendre
                                                                                                 3 Ajoutez du codeetc.).main
                                                                                                   (écrans, règles,
                                                                                                                    fait
         Déployez et utilisez
           votre application.    5                                                                   Développement .NET standard.
          Pas besoin d’ORM.                              Compiler

                                                   4 Compilez votre application avec
                                                     Microsoft Visual Studio.
                                                      Développement .NET standard.
Modeling            Generation          Customize                                                             Execute
CodeFluent EntitiesCode
Entities Properties
MethodsRules
                    Templates Application Lifecycle
                                        .NET Custom rules                                                     Enjoy!
                                     C#, T-SQL, PL-SQL                   UI Screens ……
Patterns ……

                                                      1 Créez vos entités métier et leurenums, ressources,
                                                        (propriétés, règles, méthodes,
                                                                                         comportements

                                                         vues, instances, etc.)
                                                         Pas besoin d’UML.


                                                         Modéliser
                                                                                                 2 Choisissez votre producteurs
                                                                                                   en ajoutant des
                                                                                                                    architecture

                                                                                                     qui vont traduire votre
 Validez que l’application
     se comporte comme
                             6          Tester                                    Générer
                                                                                                     modèle en du code
                  prévue.                                                                            spécifique à la plateforme.
                                                                                                     Aucun template requis.




                                       Exécuter                                   Etendre
                                                                                                 3 Ajoutez du codeetc.).main
                                                                                                   (écrans, règles,
                                                                                                                    fait
         Déployez et utilisez
           votre application.    5                                                                   Développement .NET standard.
          Pas besoin d’ORM.                              Compiler

                                                   4 Compilez votre application avec
                                                     Microsoft Visual Studio.
                                                      Développement .NET standard.
Modeling            Generation          Customize                                                             Execute
CodeFluent EntitiesCode
Entities Properties
MethodsRules
                    Templates Application Lifecycle
                                        .NET Custom rules                                                     Enjoy!
                                     C#, T-SQL, PL-SQL                   UI Screens ……
Patterns ……

                                                      1 Créez vos entités métier et leurenums, ressources,
                                                        (propriétés, règles, méthodes,
                                                                                         comportements

                                                         vues, instances, etc.)
                                                         Pas besoin d’UML.


                                                         Modéliser
                                                                                                 2 Choisissez votre producteurs
                                                                                                   en ajoutant des
                                                                                                                    architecture

                                                                                                     qui vont traduire votre
 Validez que l’application
     se comporte comme
                             6          Tester                                    Générer
                                                                                                     modèle en du code
                  prévue.                                                                            spécifique à la plateforme.
                                                                                                     Aucun template requis.




                                       Exécuter                                   Etendre
                                                                                                 3 Ajoutez du codeetc.).main
                                                                                                   (écrans, règles,
                                                                                                                    fait
         Déployez et utilisez
           votre application.    5                                                                   Développement .NET standard.
          Pas besoin d’ORM.                              Compiler

                                                   4 Compilez votre application avec
                                                     Microsoft Visual Studio.
                                                      Développement .NET standard.
Modeling            Generation          Customize                                                             Execute
CodeFluent EntitiesCode
Entities Properties
MethodsRules
                    Templates Application Lifecycle
                                        .NET Custom rules                                                     Enjoy!
                                     C#, T-SQL, PL-SQL                   UI Screens ……
Patterns ……

                                                      1 Créez vos entités métier et leurenums, ressources,
                                                        (propriétés, règles, méthodes,
                                                                                         comportements

                                                         vues, instances, etc.)
                                                         Pas besoin d’UML.


                                                         Modéliser
                                                                                                 2 Choisissez votre producteurs
                                                                                                   en ajoutant des
                                                                                                                    architecture

                                                                                                     qui vont traduire votre
 Validez que l’application
     se comporte comme
                             6          Tester                                    Générer
                                                                                                     modèle en du code
                  prévue.                                                                            spécifique à la plateforme.
                                                                                                     Aucun template requis.




                                       Exécuter                                   Etendre
                                                                                                 3 Ajoutez du codeetc.).main
                                                                                                   (écrans, règles,
                                                                                                                    fait
         Déployez et utilisez
           votre application.    5                                                                   Développement .NET standard.
          Pas besoin d’ORM.                              Compiler

                                                   4 Compilez votre application avec
                                                     Microsoft Visual Studio.
                                                      Développement .NET standard.
Modeling            Generation          Customize                                                      Execute
CodeFluent EntitiesCode
Entities Properties
MethodsRules
                    Templates Application Lifecycle
                                        .NET Custom rules                                              Enjoy!
                                C#, T-SQL, PL-SQL                     UI Screens ……
Patterns ……

Quelque chose a besoin d’être changé ?
                                                 1 Ajouter/Editer/Supprimer des entités,
                                                   propriétés, règles, fonctionnalités,
Modifiez le modèle et générez à nouveau !           instances, etc.
CodeFluent Entities permet de générer
continuellement tout en gardant vos données
et votre code personnalisé.
                                                    Modéliser
                                                                                           2 Re-générer les couches de
                                                                                             jour toutes
                                                                                                         pour mettre à

                                                                                              votre application sans
                                                                                              perdre de données ni de
                                     Tester                                Générer            code fait main.
                                                                                              Ajout de nouvelles
                                                                                              technologies si besoin est.


       Exécution et test.   5

                                    Exécuter                               Etendre
                                                                                           3 Ajout ou modification de code si
                                                                                             besoin est.

                                                    Compiler

                                               4 Nouvelle compilation.
Modeling            Generation                                               Customize                                       Execute
Ce que vous n’avez Code vu
Entities Properties
MethodsRules
                    Templates pas                                            .NET Custom rules                               Enjoy!
                               C#, T-SQL, PL-SQL                              UI Screens ……
Patterns ……


                                                     Génération automatique des membership, role et profile providers en un clique.
   Identité, Authentification,                      Tirez parti de la sécurité via l’attribut .NET “PermissionAtttibute” sans aucun code.
           Permissions
                                      Génération automatique des méthodes de tri et de pagination côté server. La liaison de donnée est possible
   Tri, Pagination, Liaison de                            dans toutes les couches voulues (Winforms, WPF, ASP.NET, etc.)
            données
                                                               Localisation automatique de propriétés en base de données.
                                                          Prise en charge du modèle de localisation .NET standard (ressources).
      Internationalisation
                                                        Activation de « caching » sur des entités ou méthodes choisies sans code.
            Caching
                                           Activation de « Middle-Of-Word Text Search » sur quelques entités ou sur tout le projet sans code.
  Middle-Of-Word Text Search
                                                   Génération des contrats WCF, services, et fichiers de configuration sans interaction.
 Prise en charge Automatique de                   Créez des clients (.NET, Silverlight, WP7) sur l’unique « CodeFluent enhanced proxy ».
               WCF
                                         Manipulez facilement fichiers, documents, photos, vidéos et leurs métadonnées (taille, date, nom, etc.)
       Streaming de BLOB                à travers toutes les couches avec une gestion de mémoire performante et du streaming de bout-en-bout.

                                      Créez via les “Aspects CodeFluent” des fonctionnalités applicables sur l’intégralité du modèle de l’application.
     “CodeFluent Aspects”                                                  Réutilisez les sur tous vos projets.

                                                                    Réutilisez la librairie de contrôles CodeFluent :
      Librairie de Contrôles                                       Moteur de Template, Utilitaires, Contrôles ASP.NET

                                                                  Tirez parti du producteur de listes Office pour utiliser
       Intégration à Office              Microsoft Excel ou Access (2007/2010) comme des clients connectés/déconnectés de votre application.
Modeling                     Generation                                  Customize                                         Execute
Points Clés
Entities Properties
MethodsRules
                             TemplatesCode                               .NET Custom rules                                 Enjoy!
                             C#, T-SQL, PL-SQL                            UI Screens ……
Patterns ……




                                                                            Don’t Repeat Yourself (DRY)
                                             Tirez parti du modèle centralisé décrivant votre application et lisible par des fonctionnels.
       Modèle Centralisé

                                       Générer continuellement pendant vos développements, sans jamais perdre vos données ni votre code.
       Génération continue
                                     Prise en charge de multiples bases de données (SQL Server 2005/2008/R2, Oracle 9/10/11), services (WCF)
                                                ou d’architectures clientes (WPF, Winforms, Web, SmartClient, Silverlight, SharePoint)
            Evolutivité

                                                       Créez vos propres producteurs, étendez le produit grâce à son API.
                                    Développez des patterns réutilisables pour implémenter des fonctionnalités sur l’ensemble de l’application.
    Extensibilité et Cohérence

                                    Importez des bases existantes et créez des applications .NET par-dessus ou migrez les vers une nouvelle base.
   Migration et interopérabilité
Modeling            Generation  Customize                                                                               Execute
Comment le vendreCodevotre n+1 ?Custom rules
Entities Properties
MethodsRules
                    Templates à .NET                                                                                    Enjoy!
                               C#, T-SQL, PL-SQL                          UI Screens ……
Patterns ……



                                        Augmentez votre contrôle sur les coûts et délais tout en garantissant une qualité de code homogène.
                                           Minimisez d’important travaux de fondations et de développement de Framework internes.
  Maîtrise des développements

                                               Garantissez la cohérence des développements au sein des équipes de développements.
                                         Définissez implicitement comment les choses doivent-être faites. Evitez le syndrome « Superman ».
   Structurer le travail d’équipe

                                               Absorbez les changements fonctionnels grâce au processus de génération continue.
                                              Améliorez votre flexibilité et renforcez vos relations avec vos partenaires commerciaux.
       Agilité fonctionnelle

                                                      Pérennisez vos investissements par rapport à l’innovation technologique.
 Découplez-vous de la technologie

                                                           Moins de code, c’est moins de bugs, et moins de maintenance.
                                                                             Réduisez votre « IT Debt »
      Diminution des risques

                                             Le modèle structurant de CodeFluent Entities aide à créer une usine logicielle pragmatique.
                                                                        Utilisez la métrique qu’elle fournit.
     Créez de la prédictibilité
Modeling            Generation                    Customize                 Execute
CodeFluent EntitiesCode Java
Entities Properties
MethodsRules
                    Templates &                   .NET Custom rules         Enjoy!
                      C#, T-SQL, PL-SQL            UI Screens ……
Patterns ……



        Nous avons eu plusieurs questions l’an dernier de participants motivés
        par le Modeleur CodeFluent Entities mais souhaitant du code généré en
        Java.

        http://www.softfluent.com/documentation/webframe.html?Generating_Java%20_Using_
        CFE_Hibernate.html

        Voici un article technique qui démontre que c’est possible et que cela
        fonctionne !

        C’est bien l’un des intérêts d’une approche pilotée par les modèles, que
        de pouvoir supporter différentes technologies, existantes ou futures.

        Protégez vos investissements d’aujourd’hui ! 
Modeling            Generation        Customize           Execute
Questions / Réponses
Entities Properties
MethodsRules
                    Templates
                            Code      .NET Custom rules   Enjoy!
                  C#, T-SQL, PL-SQL    UI Screens ……
Patterns ……




                               Questions
                                  et
                               Réponses
Modeling             Generation               Customize           Execute
Ressources en lignes Code
Entities Properties Templates                 .NET Custom rules   Enjoy!
MethodsRules         C#, T-SQL, PL-SQL         UI Screens ……
Patterns ……


         Site
         http://www.softfluent.com

         Documentation
         http://www.softfluent.com/documentation

         Forums
         http://forums.softfluent.com

         Webcasts
         http://www.softfluent.com/community-support/webcasts

         Blog
         http://blog.codefluententities.com
Modeling            Generation   Customize                   Execute
Merci Pour Votre Attention .NET Custom rules
Entities Properties
MethodsRules
                    Templates
                            Code                             Enjoy!
                  C#, T-SQL, PL-SQL      UI Screens ……
Patterns ……



      Téléchargez votre licence personnelle illimitée et gratuite sur
        http://www.softfluent.com/products/codefluent-entities


                Suivez SoftFluent sur les réseaux sociaux



       Retrouvez les meilleures pratiques de développement .NET
                     sur http://blog.softfluent.com

Soft fluent@md day2011

  • 1.
    Comment AlloCiné aréussi à réduire sa dette technique grâce à CodeFluent Entities, le MDA pragmatique et exécutable
  • 2.
    Retour d’expérience sur CodeFluent Entities Jean-Michel TEXIER Chief Technology Officer, AlloCiné
  • 3.
    AlloCiné en 3points  1er média sur le secteur entertainment en France (univers du cinéma et des séries TV)  Présence multi-devices / multi-écrans (Mobiles, Smart phones, Tablettes, IPTV, Consoles, TV)  Présence internationale majeure (Numéro 1 sur son secteur en France, Allemagne, Russie, Chine, et Brésil)
  • 4.
    AlloCiné en 3Chiffres  5 millions d’utilisateurs iPhone / Android (première applications lancées en février 2010)  80 millions de visiteurs uniques par mois (dont 20 millions sur allocine.fr)  Bientôt 1 milliard de pages vues par mois (combinaison web / tablettes / mobiles)
  • 5.
    Le Contexte (laproblématique) Historique Expansion Développement Internationale et Innovation  Un vaste existant agglomérant 10 ans d’historique  Une expansion internationale par acquisition conditionnée par une rationalisation technologique  Une intégration continue de nouvelles fonctionnalités et services
  • 6.
    Les Enjeux  Réduirela dette technique liée à la maintenance de l’existant  Basculer progressivement vers une approche méthodologique nouvelle, tout en gérant certaines contraintes techniques (base de données, …)  Optimiser la durée des cycles de développement  Permettre de faire contribuer une équipe « off-shore » sans nuire à la qualité et la productivité  Mieux gérer les contraintes de performance et de montée en charge
  • 7.
    Les bénéfices observésavec CodeFluent Entities  Fonctionnalités prêtes à l’emploi performantes  Documentation consistante et cohérente  Intégration à Microsoft Visual Studio  Suivi de l’évolution des technologies Microsoft  Meilleur pilotage des développements  Homogénéité de la qualité et de la performance  Intégration facilitée des nouveaux développeurs  Réduction significative de la dette technique
  • 8.
    Bilan à date Une douzaine de développeurs équipés – 6 à Paris, formés selon le cursus « standard » – 6 en Ukraine, accompagnés en support à distance  Une équipe off-shore efficace, malgré l’éloignement et l’approche d’autoformation + support à distance  Une réduction des coûts de maintenance de 25% observée dès les premiers mois de mise en œuvre  Un retour sur investissement en 4 mois  Une approche « AMDD »
  • 9.
    Attentes et prochainesétapes  Exploitation du nouveau modeleur graphique dans Visual Studio 2010  Augmentation du nombre de producteurs / sous- producteurs « maison » pour les couches graphiques  Extension de la prise en main CodeFluent à l’ensemble de l’équipe de développement  Divers travaux de R&D sur le développement de patterns/producers/sub-producers à des fins de générations de tests fonctionnels (semi-)automatisés et extension à la partie développement mobile (HTML 5)
  • 10.
  • 11.
    Modeling Generation Customize Execute Qu’est-ce que CodeFluent Entities?Enjoy! Entities Properties MethodsRules TemplatesCode C#, T-SQL, PL-SQL .NET Custom rules UI Screens …… Patterns …… CodeFluent Entities est un outil piloté par les modèles, intégré à Visual Studio 2008/2010, pour générer de manière continue toutes les couches et leur tuyauterie : base de données, métier, service et interface utilisateur. Définissez votre logique métier, choisissez vos plateformes cibles, générez, ajoutez vos règles métier et compiler. Faîtes-le autant de fois qu’il faut jusqu’à ce que cela sente bon . CodeFluent Entities fournit une formule qui vous aide à construire rapidement des fondations solides, et à créer avec succès le reste de votre application .NET, vous permettant de vous concentrer sur ce qui compte vraiment. (i.e. s’amuser et coder des trucs cool)
  • 12.
    Modeling Generation Customize Execute CycleProperties d’une application CodeFluent Entities Entities de vie MethodsRules Templates Code .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens …… Patterns …… 1 Créez vos entités métier et leurenums, ressources, (propriétés, règles, méthodes, comportements vues, instances, etc.) Pas besoin d’UML. Modéliser 2 Choisissez votre producteurs en ajoutant des architecture qui vont traduire votre Validez que l’application se comporte comme 6 Tester Générer modèle en du code prévue. spécifique à la plateforme. Aucun template requis. Exécuter Etendre 3 Ajoutez du codeetc.).main (écrans, règles, fait Déployez et utilisez votre application. 5 Développement .NET standard. Pas besoin d’ORM. Compiler 4 Compilez votre application avec Microsoft Visual Studio. Développement .NET standard.
  • 13.
    Modeling Generation Customize Execute CodeFluent EntitiesCode Entities Properties MethodsRules Templates Application Lifecycle .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens …… Patterns …… 1 Créez vos entités métier et leurenums, ressources, (propriétés, règles, méthodes, comportements vues, instances, etc.) Pas besoin d’UML. Modéliser 2 Choisissez votre producteurs en ajoutant des architecture qui vont traduire votre Validez que l’application se comporte comme 6 Tester Générer modèle en du code prévue. spécifique à la plateforme. Aucun template requis. Exécuter Etendre 3 Ajoutez du codeetc.).main (écrans, règles, fait Déployez et utilisez votre application. 5 Développement .NET standard. Pas besoin d’ORM. Compiler 4 Compilez votre application avec Microsoft Visual Studio. Développement .NET standard.
  • 14.
    Modeling Generation Customize Execute CodeFluent EntitiesCode Entities Properties MethodsRules Templates Application Lifecycle .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens …… Patterns …… 1 Créez vos entités métier et leurenums, ressources, (propriétés, règles, méthodes, comportements vues, instances, etc.) Pas besoin d’UML. Modéliser 2 Choisissez votre producteurs en ajoutant des architecture qui vont traduire votre Validez que l’application se comporte comme 6 Tester Générer modèle en du code prévue. spécifique à la plateforme. Aucun template requis. Exécuter Etendre 3 Ajoutez du codeetc.).main (écrans, règles, fait Déployez et utilisez votre application. 5 Développement .NET standard. Pas besoin d’ORM. Compiler 4 Compilez votre application avec Microsoft Visual Studio. Développement .NET standard.
  • 15.
    Modeling Generation Customize Execute CodeFluent EntitiesCode Entities Properties MethodsRules Templates Application Lifecycle .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens …… Patterns …… 1 Créez vos entités métier et leurenums, ressources, (propriétés, règles, méthodes, comportements vues, instances, etc.) Pas besoin d’UML. Modéliser 2 Choisissez votre producteurs en ajoutant des architecture qui vont traduire votre Validez que l’application se comporte comme 6 Tester Générer modèle en du code prévue. spécifique à la plateforme. Aucun template requis. Exécuter Etendre 3 Ajoutez du codeetc.).main (écrans, règles, fait Déployez et utilisez votre application. 5 Développement .NET standard. Pas besoin d’ORM. Compiler 4 Compilez votre application avec Microsoft Visual Studio. Développement .NET standard.
  • 16.
    Modeling Generation Customize Execute CodeFluent EntitiesCode Entities Properties MethodsRules Templates Application Lifecycle .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens …… Patterns …… 1 Créez vos entités métier et leurenums, ressources, (propriétés, règles, méthodes, comportements vues, instances, etc.) Pas besoin d’UML. Modéliser 2 Choisissez votre producteurs en ajoutant des architecture qui vont traduire votre Validez que l’application se comporte comme 6 Tester Générer modèle en du code prévue. spécifique à la plateforme. Aucun template requis. Exécuter Etendre 3 Ajoutez du codeetc.).main (écrans, règles, fait Déployez et utilisez votre application. 5 Développement .NET standard. Pas besoin d’ORM. Compiler 4 Compilez votre application avec Microsoft Visual Studio. Développement .NET standard.
  • 17.
    Modeling Generation Customize Execute CodeFluent EntitiesCode Entities Properties MethodsRules Templates Application Lifecycle .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens …… Patterns …… 1 Créez vos entités métier et leurenums, ressources, (propriétés, règles, méthodes, comportements vues, instances, etc.) Pas besoin d’UML. Modéliser 2 Choisissez votre producteurs en ajoutant des architecture qui vont traduire votre Validez que l’application se comporte comme 6 Tester Générer modèle en du code prévue. spécifique à la plateforme. Aucun template requis. Exécuter Etendre 3 Ajoutez du codeetc.).main (écrans, règles, fait Déployez et utilisez votre application. 5 Développement .NET standard. Pas besoin d’ORM. Compiler 4 Compilez votre application avec Microsoft Visual Studio. Développement .NET standard.
  • 18.
    Modeling Generation Customize Execute CodeFluent EntitiesCode Entities Properties MethodsRules Templates Application Lifecycle .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens …… Patterns …… Quelque chose a besoin d’être changé ? 1 Ajouter/Editer/Supprimer des entités, propriétés, règles, fonctionnalités, Modifiez le modèle et générez à nouveau ! instances, etc. CodeFluent Entities permet de générer continuellement tout en gardant vos données et votre code personnalisé. Modéliser 2 Re-générer les couches de jour toutes pour mettre à votre application sans perdre de données ni de Tester Générer code fait main. Ajout de nouvelles technologies si besoin est. Exécution et test. 5 Exécuter Etendre 3 Ajout ou modification de code si besoin est. Compiler 4 Nouvelle compilation.
  • 19.
    Modeling Generation Customize Execute Ce que vous n’avez Code vu Entities Properties MethodsRules Templates pas .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens …… Patterns …… Génération automatique des membership, role et profile providers en un clique. Identité, Authentification, Tirez parti de la sécurité via l’attribut .NET “PermissionAtttibute” sans aucun code. Permissions Génération automatique des méthodes de tri et de pagination côté server. La liaison de donnée est possible Tri, Pagination, Liaison de dans toutes les couches voulues (Winforms, WPF, ASP.NET, etc.) données Localisation automatique de propriétés en base de données. Prise en charge du modèle de localisation .NET standard (ressources). Internationalisation Activation de « caching » sur des entités ou méthodes choisies sans code. Caching Activation de « Middle-Of-Word Text Search » sur quelques entités ou sur tout le projet sans code. Middle-Of-Word Text Search Génération des contrats WCF, services, et fichiers de configuration sans interaction. Prise en charge Automatique de Créez des clients (.NET, Silverlight, WP7) sur l’unique « CodeFluent enhanced proxy ». WCF Manipulez facilement fichiers, documents, photos, vidéos et leurs métadonnées (taille, date, nom, etc.) Streaming de BLOB à travers toutes les couches avec une gestion de mémoire performante et du streaming de bout-en-bout. Créez via les “Aspects CodeFluent” des fonctionnalités applicables sur l’intégralité du modèle de l’application. “CodeFluent Aspects” Réutilisez les sur tous vos projets. Réutilisez la librairie de contrôles CodeFluent : Librairie de Contrôles Moteur de Template, Utilitaires, Contrôles ASP.NET Tirez parti du producteur de listes Office pour utiliser Intégration à Office Microsoft Excel ou Access (2007/2010) comme des clients connectés/déconnectés de votre application.
  • 20.
    Modeling Generation Customize Execute Points Clés Entities Properties MethodsRules TemplatesCode .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens …… Patterns …… Don’t Repeat Yourself (DRY) Tirez parti du modèle centralisé décrivant votre application et lisible par des fonctionnels. Modèle Centralisé Générer continuellement pendant vos développements, sans jamais perdre vos données ni votre code. Génération continue Prise en charge de multiples bases de données (SQL Server 2005/2008/R2, Oracle 9/10/11), services (WCF) ou d’architectures clientes (WPF, Winforms, Web, SmartClient, Silverlight, SharePoint) Evolutivité Créez vos propres producteurs, étendez le produit grâce à son API. Développez des patterns réutilisables pour implémenter des fonctionnalités sur l’ensemble de l’application. Extensibilité et Cohérence Importez des bases existantes et créez des applications .NET par-dessus ou migrez les vers une nouvelle base. Migration et interopérabilité
  • 21.
    Modeling Generation Customize Execute Comment le vendreCodevotre n+1 ?Custom rules Entities Properties MethodsRules Templates à .NET Enjoy! C#, T-SQL, PL-SQL UI Screens …… Patterns …… Augmentez votre contrôle sur les coûts et délais tout en garantissant une qualité de code homogène. Minimisez d’important travaux de fondations et de développement de Framework internes. Maîtrise des développements Garantissez la cohérence des développements au sein des équipes de développements. Définissez implicitement comment les choses doivent-être faites. Evitez le syndrome « Superman ». Structurer le travail d’équipe Absorbez les changements fonctionnels grâce au processus de génération continue. Améliorez votre flexibilité et renforcez vos relations avec vos partenaires commerciaux. Agilité fonctionnelle Pérennisez vos investissements par rapport à l’innovation technologique. Découplez-vous de la technologie Moins de code, c’est moins de bugs, et moins de maintenance. Réduisez votre « IT Debt » Diminution des risques Le modèle structurant de CodeFluent Entities aide à créer une usine logicielle pragmatique. Utilisez la métrique qu’elle fournit. Créez de la prédictibilité
  • 22.
    Modeling Generation Customize Execute CodeFluent EntitiesCode Java Entities Properties MethodsRules Templates & .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens …… Patterns …… Nous avons eu plusieurs questions l’an dernier de participants motivés par le Modeleur CodeFluent Entities mais souhaitant du code généré en Java. http://www.softfluent.com/documentation/webframe.html?Generating_Java%20_Using_ CFE_Hibernate.html Voici un article technique qui démontre que c’est possible et que cela fonctionne ! C’est bien l’un des intérêts d’une approche pilotée par les modèles, que de pouvoir supporter différentes technologies, existantes ou futures. Protégez vos investissements d’aujourd’hui ! 
  • 23.
    Modeling Generation Customize Execute Questions / Réponses Entities Properties MethodsRules Templates Code .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens …… Patterns …… Questions et Réponses
  • 24.
    Modeling Generation Customize Execute Ressources en lignes Code Entities Properties Templates .NET Custom rules Enjoy! MethodsRules C#, T-SQL, PL-SQL UI Screens …… Patterns …… Site http://www.softfluent.com Documentation http://www.softfluent.com/documentation Forums http://forums.softfluent.com Webcasts http://www.softfluent.com/community-support/webcasts Blog http://blog.codefluententities.com
  • 25.
    Modeling Generation Customize Execute Merci Pour Votre Attention .NET Custom rules Entities Properties MethodsRules Templates Code Enjoy! C#, T-SQL, PL-SQL UI Screens …… Patterns …… Téléchargez votre licence personnelle illimitée et gratuite sur http://www.softfluent.com/products/codefluent-entities Suivez SoftFluent sur les réseaux sociaux Retrouvez les meilleures pratiques de développement .NET sur http://blog.softfluent.com