Les volutions des strategies de d veloppement .


26 views
Uploaded on:
Description
« Les évolutions des techniques de développement ». Pierre Couzy piercou@microsoft.com Architecte en systèmes d’information DPE – Division Plateforme & Ecosystème Microsoft France. Agenda. Un petit regard en arrière Différenciation retardée dans les langages XAML
Transcripts
Slide 1

« Les évolutions des systems de développement » Pierre Couzy piercou@microsoft.com Architecte en systèmes d\'information DPE – Division Plateforme & Ecosystème Microsoft France

Slide 2

Agenda Un petit respect en arrière Différenciation retardée dans les langages XAML Capturer le framework de développement Les programming industrial facilities Remonter d\'un niveau d\'abstraction Domain Specific Languages Penser pour la generation SDM – SML

Slide 3

Back to the future … Un petit overthrow d\'œil dans le rétro ? 1994-2004 : le règne de COM/VB/ASP Des buts de origination Des promesses Quel résultat ? 2002-???? : le règne de .Net Des buts de origination Des promesses Quel résultat ?

Slide 4

Un peu d\'archéologie 1989 Le standard ANSI C est enfin adopté Fondation de l\'OMG (Object Management Group) 1990 Visual Basic Python 1991 Premiers travaux internes standard Sun sur Java (JDK 1.0 : 1996. RMI : 1997) 1992 CORBA 1.1 1993 COM 1994 Premier draft ANSI C++ (finalisé en 1998) UML

Slide 5

Windows DNA - The Guiding Architecture Windows DNA is Distributed Computing Common protest show on all levels Language unbiased "Auto-everything" - administrations for adaptable, solid, interoperable, disseminated applications Tools accessible today

Slide 6

Microsoft "Babylon" Commerce Server Microsoft SQLServer Microsoft BizTalk Server Windows DNA 2000 New or Enhanced: Application Services Legacy Interoperability E-trade (B2C) Data Access/Storage Development Tools "Engineer Success" + E-business (B2B) + Deployment and Management

Slide 7

File DB In-house frameworks Web Server Browser "Dynamic Pages" 1 st & 2 nd Generation Web Apps Web Server 1-1 correspondence of page to document

Slide 8

File Web benefit Web benefit Web benefit DB In-house frameworks Accessing another webpage today = HTML "screen scratching" or "your modeler calls my planner" Web website Web website Web webpage Web Server Tomorrow, outer Web destinations get to be building squares utilizing XML Web Services Megaservices "The Firewall" Browser "Dynamic Pages" third Generation Web

Slide 9

SOAP Billing Authentication SOAP White Pages Mapping (Location) Calendar Alerting Traffic Combining Web Services

Slide 10

Windows 2000 Windows DNA Application Services "Worked in" coordinated applications server for building dispersed Web applications IIS 5.0 - elite web server Active Server Pages COM+ part benefits Transactions Message Queue and Queued Components Role-based security Network Load Balancing High execution XML bolster

Slide 11

Après ce flashback Qu\'est-ce qui a changé dans la vision MS ? Quels impacts sur votre travail ? Quelles sont nos nouvelles promesses de campagne ?

Slide 12

Développer des logiciels, c\'est complexe ! Comprendre les utilisateurs Définir, modéliser.. Planifier, coordinator.. Développer, analyzer.. Déployer et maintenir Maîtriser les délais, les coûts, les risques... …

Slide 13

Le développement "artisanal", ça a du bon ! Du boulot ! Des outils benchmarks Des processus "simplifiés" Et la upkeep ? Pas de capitalisation Pas de réutilisation Pragmatique Dépassements, Défauts, Sécurité, Pannes… Mais, comme le dit la bar : « l\'artisanat est la in addition to grande entreprise de France »

Slide 14

Productivité & améliorations proceed with Le modèle industriel Economie d\'échelle Pour automatiser et améliorer la creation Le idea de "Boîtes noires" Produire des modèles et des dérivés Exemple : CD & DVD Mais mal adapté à l\'industrie logicielle Eventuellement progiciel

Slide 15

Différenciation retardée Economie de "périmètre" ou de "surface" Réutilisation des principes de origination et des composants Des processus génériques et connus, modélisables Personnalisation conceivable au last, paramétrable Il faut seulement définir ce qui est spécifique à chaque système

Slide 16

Un exemple : XAML Vous percevez sans doute XAML comme un langage de présentation graphique Explorons un peu child mode de fonctionnement

Slide 17

Démo XAML pour les applications Console

Slide 18

Les profils XAML XOML : pour le work process WPF : pour les interfaces utilisateur XPS : pour les reports … On associe à chaque besoin Un tronc commun de développement Un outfit de spécialisations

Slide 19

"Programming Factories" Processus "space particular" Outils et langages "area particular" Contenu "space particular" Automatiser les tâches répétitives et sans valeur ajoutée Amélioration proceed

Slide 20

Présentation & Challenges Un troupe de pratiques « éprouvées » , d\'outils, de code source, et de guides d\'architecture pour concevoir des applications distribuées Des challenges : Suivre l\'évolution des innovations Migration WS, WSE vers .NET 3.0 Supporter WCF/WF/CardSpace Pour les architectes & les développeurs Documentation écrite « guidance packages » pour dialoguer avec VS 2005 Une implémentation de référence (Global Bank) Bénéfices : Amélioration de la qualité Être prédictible Augmenter la productivité Flexibilité : paramétrage

Slide 21

Service Software Factory Une activity du groupe Pattern & rehearses Des collaborators dans Visual Studio 2005 pour définir les caractéristiques d\'un benefit et child implémentation : Sécurité, déploiement, contexte Patterns de origination des administrations Des exemples d\'implémentation Utilize le GAT (Guidance Automation Toolkit) Utilization des tests unitaires Intégration avec Enterprise Library Patterns WCF La variant finale du Service BAT

Slide 22

Prise en fundamental Un direct complet de prise en mains Un instructional exercise complet (HOL) en 10 étapes sur un scénario réaliste Création de la arrangement et de sa structure Conception des sorts de données Conception des sorts de messages Définition des opérations Création des entités métiers Passer des messages aux entités métiers Création des accès aux données (CRUD) Création d\'un référentiel de classes d\'accès aux données Invoquer la couche d\'accès aux données Connecter un customer et activer ses administrations Une vidéo (1h00)

Slide 23

Un control interactif Un exemple de origination, en 17 itérations Modifiable Intégré à VS 2005

Slide 24

De l\'architecture à l\'implémentation

Slide 25

Prérequis .NET FrameWork 2.0 VS 2005 SQL Server 2005/SQL Express GAT – Guidance Automation Toolkit LAB à part. OU ? : Sur gotdotnet Sur MSDN

Slide 26

Démo Software Factories – WCF

Slide 27

Software Factories En développement intensif chez Microsoft .. ne mettez pas la charrue avant les bœufs D\'abord une expérimentation Puis la collecte des bonnes pratiques Puis la documentation associée .. Et enfin la capitalisation Il nous reste un problème à régler …

Slide 28

Ou est la complexité ? «entity» 0..1 «entity» User Credit Card 1 + address : String + accountNumber : String + city : String + cardType : String Concepts de haut niveau + nation : String + expirationDate : Long + email : String + nameOnCard : String + groupId : String + uid : String + watchword : String + userUid : String + secretNumber : Integer 1..* + state : String + setValues ( ) + status : String + getValues ( ) + uid : String 1 + userId : String «derived» + zip : String «entity» Seller Buyer 1... «entity» Auction Bid + categoryUid : String + sum : Float + creditCardAccount : String + auctionUid : String + creditCardExpiration : Long + buyerUid : String 0..1 + creditCardName : String + cancelExplanation : String + creditCardType : String + date : Long + endTime : Long + status : String + itemUid : String + uid : String + minimumBidIncrement : Float + sellerUid : String + startingPrice : Float + startTime : Long + status : String + timezoneUid : String + uid : String + setValues ( ) + getValues ( ) ? The "Business-IT Gap" Langages d\'implémentation de bas niveau bundle com.microsoftpearlcircle.auction.auctionmanager.business.auctionmanager ; import java.rmi.RemoteException;

Slide 29

Abstractions "Space Specific" Abstractions de portée générale C#, Java, and so forth Abstraction pour réduire la complexité Bytecode ou langages machines Assembler, Pcode, CLR IL

Slide 30

Abstractions "Area Specific" Frameworks "Area Specific" Frameworks Ex : ASP.Net Des structures pour réduire la complexité Abstractions de portée générale C#, Java, and so on Bytecode ou langages machines Assembler, Pcode, CLR IL

Slide 31

Manipulations de ideas dans Visual Studio 2005 L\'exemple des fichiers de settings et ressources Persistance dans des fichiers XML (.settings, .assets) Resources.Designer.cs namespace WindowsApplication1.Properties { inside class Resources { inner static string Gagné { get {return ResourceManager.GetString( "Gagné", resourceCulture);}} inward static string Perdu { get {return ResourceManager.GetString( "Perdu", resourceCulture);}} } private static global::System.Resources. ResourceManager resourceMan; private static global::System.Globalization. CultureInfo resourceCulture; inner static global::System.Globalization. CultureInfo Culture { get { return resourceCulture;} set {resourceCulture = value;} } inner static global::System.Resources. ResourceManager { get { if (object.ReferenceEquals(resourceMan, invalid)) { global::System.Resources. ResourceManager temp = new global::System.Resources. ResourceManager( "WindowsApplication1.Properties.Resources", typeof( Resources).Assembly); resourceMan = temp; } return resourceMan; } ResXFileCodeGenerator

Slide 32

.

Recommended
View more...