Soft fluent@md day2011

  • Upload
    mdday11

  • View
    763

  • Download
    2

Embed Size (px)

DESCRIPTION

 

Citation preview

  • 1. Comment AlloCin a russi rduire sa dettetechnique grce CodeFluent Entities,le MDA pragmatique et excutable
  • 2. Retour dexprience sur CodeFluent Entities Jean-Michel TEXIER Chief Technology Officer, AlloCin
  • 3. AlloCin en 3 points 1er mdia sur le secteur entertainment en France (univers du cinma et des sries TV) Prsence multi-devices / multi-crans (Mobiles, Smart phones, Tablettes, IPTV, Consoles, TV) Prsence internationale majeure (Numro 1 sur son secteur en France, Allemagne, Russie, Chine, et Brsil)
  • 4. AlloCin en 3 Chiffres 5 millions dutilisateurs iPhone / Android (premire applications lances en fvrier 2010) 80 millions de visiteurs uniques par mois (dont 20 millions sur allocine.fr) Bientt 1 milliard de pages vues par mois (combinaison web / tablettes / mobiles)
  • 5. Le Contexte (la problmatique) Historique Expansion Dveloppement Internationale et Innovation Un vaste existant agglomrant 10 ans dhistorique Une expansion internationale par acquisition conditionne par une rationalisation technologique Une intgration continue de nouvelles fonctionnalits et services
  • 6. Les Enjeux Rduire la dette technique lie la maintenance de lexistant Basculer progressivement vers une approche mthodologique nouvelle, tout en grant certaines contraintes techniques (base de donnes, ) Optimiser la dure des cycles de dveloppement Permettre de faire contribuer une quipe off-shore sans nuire la qualit et la productivit Mieux grer les contraintes de performance et de monte en charge
  • 7. Les bnfices observs avec CodeFluent Entities Fonctionnalits prtes lemploi performantes Documentation consistante et cohrente Intgration Microsoft Visual Studio Suivi de lvolution des technologies Microsoft Meilleur pilotage des dveloppements Homognit de la qualit et de la performance Intgration facilite des nouveaux dveloppeurs Rduction significative de la dette technique
  • 8. Bilan date Une douzaine de dveloppeurs quips 6 Paris, forms selon le cursus standard 6 en Ukraine, accompagns en support distance Une quipe off-shore efficace, malgr lloignement et lapproche dautoformation + support distance Une rduction des cots de maintenance de 25% observe ds 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 lensemble de lquipe de dveloppement Divers travaux de R&D sur le dveloppement de patterns/producers/sub-producers des fins de gnrations de tests fonctionnels (semi-)automatiss et extension la partie dveloppement mobile (HTML 5)
  • 10. DmonstrationCarl AndersonIngnieur dveloppement - R&D
  • 11. Modeling Generation Customize ExecuteQuest-ce que CodeFluent Entities?Enjoy!Entities PropertiesMethodsRules TemplatesCode C#, T-SQL, PL-SQL .NET Custom rules UI Screens Patterns CodeFluent Entities est un outil pilot par les modles, intgr Visual Studio 2008/2010, pour gnrer de manire continue toutes les couches et leur tuyauterie : base de donnes, mtier, service et interface utilisateur. Dfinissez votre logique mtier, choisissez vos plateformes cibles, gnrez, ajoutez vos rgles mtier et compiler. Fates-le autant de fois quil faut jusqu ce que cela sente bon . CodeFluent Entities fournit une formule qui vous aide construire rapidement des fondations solides, et crer avec succs le reste de votre application .NET, vous permettant de vous concentrer sur ce qui compte vraiment. (i.e. samuser et coder des trucs cool)
  • 12. Modeling Generation Customize ExecuteCycleProperties dune application CodeFluent EntitiesEntities de vieMethodsRules Templates Code .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens Patterns 1 Crez vos entits mtier et leurenums, ressources, (proprits, rgles, mthodes, comportements vues, instances, etc.) Pas besoin dUML. Modliser 2 Choisissez votre producteurs en ajoutant des architecture qui vont traduire votre Validez que lapplication se comporte comme 6 Tester Gnrer modle en du code prvue. spcifique la plateforme. Aucun template requis. Excuter Etendre 3 Ajoutez du codeetc.).main (crans, rgles, fait Dployez et utilisez votre application. 5 Dveloppement .NET standard. Pas besoin dORM. Compiler 4 Compilez votre application avec Microsoft Visual Studio. Dveloppement .NET standard.
  • 13. Modeling Generation Customize ExecuteCodeFluent EntitiesCodeEntities PropertiesMethodsRules Templates Application Lifecycle .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens Patterns 1 Crez vos entits mtier et leurenums, ressources, (proprits, rgles, mthodes, comportements vues, instances, etc.) Pas besoin dUML. Modliser 2 Choisissez votre producteurs en ajoutant des architecture qui vont traduire votre Validez que lapplication se comporte comme 6 Tester Gnrer modle en du code prvue. spcifique la plateforme. Aucun template requis. Excuter Etendre 3 Ajoutez du codeetc.).main (crans, rgles, fait Dployez et utilisez votre application. 5 Dveloppement .NET standard. Pas besoin dORM. Compiler 4 Compilez votre application avec Microsoft Visual Studio. Dveloppement .NET standard.
  • 14. Modeling Generation Customize ExecuteCodeFluent EntitiesCodeEntities PropertiesMethodsRules Templates Application Lifecycle .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens Patterns 1 Crez vos entits mtier et leurenums, ressources, (proprits, rgles, mthodes, comportements vues, instances, etc.) Pas besoin dUML. Modliser 2 Choisissez votre producteurs en ajoutant des architecture qui vont traduire votre Validez que lapplication se comporte comme 6 Tester Gnrer modle en du code prvue. spcifique la plateforme. Aucun template requis. Excuter Etendre 3 Ajoutez du codeetc.).main (crans, rgles, fait Dployez et utilisez votre application. 5 Dveloppement .NET standard. Pas besoin dORM. Compiler 4 Compilez votre application avec Microsoft Visual Studio. Dveloppement .NET standard.
  • 15. Modeling Generation Customize ExecuteCodeFluent EntitiesCodeEntities PropertiesMethodsRules Templates Application Lifecycle .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens Patterns 1 Crez vos entits mtier et leurenums, ressources, (proprits, rgles, mthodes, comportements vues, instances, etc.) Pas besoin dUML. Modliser 2 Choisissez votre producteurs en ajoutant des architecture qui vont traduire votre Validez que lapplication se comporte comme 6 Tester Gnrer modle en du code prvue. spcifique la plateforme. Aucun template requis. Excuter Etendre 3 Ajoutez du codeetc.).main (crans, rgles, fait Dployez et utilisez votre application. 5 Dveloppement .NET standard. Pas besoin dORM. Compiler 4 Compilez votre application avec Microsoft Visual Studio. Dveloppement .NET standard.
  • 16. Modeling Generation Customize ExecuteCodeFluent EntitiesCodeEntities PropertiesMethodsRules Templates Application Lifecycle .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens Patterns 1 Crez vos entits mtier et leurenums, ressources, (proprits, rgles, mthodes, comportements vues, instances, etc.) Pas besoin dUML. Modliser 2 Choisissez votre producteurs en ajoutant des architecture qui vont traduire votre Validez que lapplication se comporte comme 6 Tester Gnrer modle en du code prvue. spcifique la plateforme. Aucun template requis. Excuter Etendre 3 Ajoutez du codeetc.).main (crans, rgles, fait Dployez et utilisez votre application. 5 Dveloppement .NET standard. Pas besoin dORM. Compiler 4 Compilez votre application avec Microsoft Visual Studio. Dveloppement .NET standard.
  • 17. Modeling Generation Customize ExecuteCodeFluent EntitiesCodeEntities PropertiesMethodsRules Templates Application Lifecycle .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens Patterns 1 Crez vos entits mtier et leurenums, ressources, (proprits, rgles, mthodes, comportements vues, instances, etc.) Pas besoin dUML. Modliser 2 Choisissez votre producteurs en ajoutant des architecture qui vont traduire votre Validez que lapplication se comporte comme 6 Tester Gnrer modle en du code prvue. spcifique la plateforme. Aucun template requis. Excuter Etendre 3 Ajoutez du codeetc.).main (crans, rgles, fait Dployez et utilisez votre application. 5 Dveloppement .NET standard. Pas besoin dORM. Compiler 4 Compilez votre application avec Microsoft Visual Studio. Dveloppement .NET standard.
  • 18. Modeling Generation Customize ExecuteCodeFluent EntitiesCodeEntities PropertiesMethodsRules Templates Application Lifecycle .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens Patterns Quelque chose a besoin dtre chang ? 1 Ajouter/Editer/Supprimer des entits, proprits, rgles, fonctionnalits,Modifiez le modle et gnrez nouveau ! instances, etc.CodeFluent Entities permet de gnrercontinuellement tout en gardant vos donneset votre code personnalis. Modliser 2 Re-gnrer les couches de jour toutes pour mettre votre application sans perdre de donnes ni de Tester Gnrer code fait main. Ajout de nouvelles technologies si besoin est. Excution et test. 5 Excuter Etendre 3 Ajout ou modification de code si besoin est. Compiler 4 Nouvelle compilation.
  • 19. Modeling Generation Customize ExecuteCe que vous navez Code vuEntities PropertiesMethodsRules Templates pas .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens Patterns Gnration automatique des membership, role et profile providers en un clique. Identit, Authentification, Tirez parti de la scurit via lattribut .NET PermissionAtttibute sans aucun code. Permissions Gnration automatique des mthodes de tri et de pagination ct server. La liaison de donne est possible Tri, Pagination, Liaison de dans toutes les couches voulues (Winforms, WPF, ASP.NET, etc.) donnes Localisation automatique de proprits en base de donnes. Prise en charge du modle de localisation .NET standard (ressources). Internationalisation Activation de caching sur des entits ou mthodes choisies sans code. Caching Activation de Middle-Of-Word Text Search sur quelques entits ou sur tout le projet sans code. Middle-Of-Word Text Search Gnration des contrats WCF, services, et fichiers de configuration sans interaction. Prise en charge Automatique de Crez des clients (.NET, Silverlight, WP7) sur lunique CodeFluent enhanced proxy . WCF Manipulez facilement fichiers, documents, photos, vidos et leurs mtadonnes (taille, date, nom, etc.) Streaming de BLOB travers toutes les couches avec une gestion de mmoire performante et du streaming de bout-en-bout. Crez via les Aspects CodeFluent des fonctionnalits applicables sur lintgralit du modle de lapplication. CodeFluent Aspects Rutilisez les sur tous vos projets. Rutilisez la librairie de contrles CodeFluent : Librairie de Contrles Moteur de Template, Utilitaires, Contrles ASP.NET Tirez parti du producteur de listes Office pour utiliser Intgration Office Microsoft Excel ou Access (2007/2010) comme des clients connects/dconnects de votre application.
  • 20. Modeling Generation Customize ExecutePoints ClsEntities PropertiesMethodsRules TemplatesCode .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens Patterns Dont Repeat Yourself (DRY) Tirez parti du modle centralis dcrivant votre application et lisible par des fonctionnels. Modle Centralis Gnrer continuellement pendant vos dveloppements, sans jamais perdre vos donnes ni votre code. Gnration continue Prise en charge de multiples bases de donnes (SQL Server 2005/2008/R2, Oracle 9/10/11), services (WCF) ou darchitectures clientes (WPF, Winforms, Web, SmartClient, Silverlight, SharePoint) Evolutivit Crez vos propres producteurs, tendez le produit grce son API. Dveloppez des patterns rutilisables pour implmenter des fonctionnalits sur lensemble de lapplication. Extensibilit et Cohrence Importez des bases existantes et crez des applications .NET par-dessus ou migrez les vers une nouvelle base. Migration et interoprabilit
  • 21. Modeling Generation Customize ExecuteComment le vendreCodevotre n+1 ?Custom rulesEntities PropertiesMethodsRules Templates .NET Enjoy! C#, T-SQL, PL-SQL UI Screens Patterns Augmentez votre contrle sur les cots et dlais tout en garantissant une qualit de code homogne. Minimisez dimportant travaux de fondations et de dveloppement de Framework internes. Matrise des dveloppements Garantissez la cohrence des dveloppements au sein des quipes de dveloppements. Dfinissez implicitement comment les choses doivent-tre faites. Evitez le syndrome Superman . Structurer le travail dquipe Absorbez les changements fonctionnels grce au processus de gnration continue. Amliorez votre flexibilit et renforcez vos relations avec vos partenaires commerciaux. Agilit fonctionnelle Prennisez vos investissements par rapport linnovation technologique. Dcouplez-vous de la technologie Moins de code, cest moins de bugs, et moins de maintenance. Rduisez votre IT Debt Diminution des risques Le modle structurant de CodeFluent Entities aide crer une usine logicielle pragmatique. Utilisez la mtrique quelle fournit. Crez de la prdictibilit
  • 22. Modeling Generation Customize ExecuteCodeFluent EntitiesCode JavaEntities PropertiesMethodsRules Templates & .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens Patterns Nous avons eu plusieurs questions lan dernier de participants motivs par le Modeleur CodeFluent Entities mais souhaitant du code gnr en Java. http://www.softfluent.com/documentation/webframe.html?Generating_Java%20_Using_ CFE_Hibernate.html Voici un article technique qui dmontre que cest possible et que cela fonctionne ! Cest bien lun des intrts dune approche pilote par les modles, que de pouvoir supporter diffrentes technologies, existantes ou futures. Protgez vos investissements daujourdhui !
  • 23. Modeling Generation Customize ExecuteQuestions / RponsesEntities PropertiesMethodsRules Templates Code .NET Custom rules Enjoy! C#, T-SQL, PL-SQL UI Screens Patterns Questions et Rponses
  • 24. Modeling Generation Customize ExecuteRessources en lignes CodeEntities 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 ExecuteMerci Pour Votre Attention .NET Custom rulesEntities PropertiesMethodsRules Templates Code Enjoy! C#, T-SQL, PL-SQL UI Screens Patterns Tlchargez votre licence personnelle illimite et gratuite sur http://www.softfluent.com/products/codefluent-entities Suivez SoftFluent sur les rseaux sociaux Retrouvez les meilleures pratiques de dveloppement .NET sur http://blog.softfluent.com