Affichage des articles dont le libellé est C#. Afficher tous les articles
Affichage des articles dont le libellé est C#. Afficher tous les articles

mercredi 28 avril 2010

.Net 4 : WCF data services une amélioration de ADO.Net data services

Si on étudie la nouvelle version de .Net, la 4.0, sortie ce 12 avril 2010, pour n’en choisir que la meilleure amélioration ?

que choisir ?

Difficile, ce choix, diront les adeptes. En vue du grand nombre de nouvelles fonctionnalités offertes.

Je vais écarter Workflow Foundation 4.0 (WF4), car il me semble qu’il soit une refonte de l’offre workflow. WF4 est plus qu’une amélioration à WF 3.5…

WCF Data Services Framework

Je pense que la meilleure amélioration concerne ADO.NET Data Services Framework.

Cela s’appelle désormais, WCF Data Services Framework. Bien sûre WCF : Windows Communication Foundation, l’ABC de l’exposition des services dans le Framework .Net et chez Microsoft.

WCF Data Services expose les données au moyen de services de type RESTful accessibles via HTTP. Il utilise le framework Entity Data Model (EDM) pour réaliser facilement, et sans code (ou presque) cette exposition.

Les données sont accessibles directement en utilisant le fameux URI (Uniform Resource Identifier) du HTTP. Un simple GET permet de faire une sélection complexe sur une base de données,  sans se préoccuper des détails. En toute sécurité, bien sûre.

Le data service peut être configuré pour renvoyer les données sous le format Atom et/ou JSON (JavaScript Object Notation).

Lors d’un projet, courant le mois de mars 2010, , j’ai utilisé Jquery pour exploiter des Data Services exposés en moins de 1à lignes de codes C#. Le projet consistait en l’intégration d’ une application basée sur la version 4.0 beta 2 de .Net et une autre déployé sous Tomcat (Java EE) et générée par W4 le fameux moteur de BPM.

Open Data Protocol : Un Protocol pour l’exposition des données

Microsoft a adopté REST et fait la promotion d’un protocole d’échange de données dit Odata (Open Data Protocol). OData est inspiré du protocole Atom Le Protocol des flux RSS.

Dans le. NET Framework 4, il ya eu des améliorations importantes dans les services de données (par rapport à la version .Net 3.5). Il y a eu des améliorations dans le mapping des données, les projections, la pagination coté serveur, le comptage.

Reste à tester les performances (annoncées comme améliorées) de ce nouveau service RESTful offert nativement dans .Net 4.0.

Un dernier mot : ce service est l’exemple typique que SOA n’est pas web service.

OData, est un protocole à suivre de tout près, il se base sur un principe d’uniformité des représentations des données, de l’accès et des opérations  … mais ceci est un autre sujet

mardi 9 mars 2010

Question-Réponse : Comment réaliser de l’héritage avec WPF?

NB : il s’agit d’une nouvelle rubrique dans ce blog Q&A

La question

Comment faire un « vraie » héritage dans WPF ( Si on veut hériter une fenêtre ou un composant)? héritage au sens global :  hériter le design en XAML ainsi que les méthodes et les événements en C#.

La réponse

La réponse vient de Soumow ATITALLAH, Micorsoft Student Parner, qui propose une  solution à travers la suite de ce tutorial, et montre pas à pas comment faire pour obtenir l’héritage souhaité.

Introduction

Le développement en WPF consiste à développer la partie design en langage XAML et la partie code behind en C#(ou VB.NET).

commençons par créer un projet WPF (qu’on appelle  “HeritageWPF” ):

architecture soa, service oriented architecture, java software, open source, eclipse,alm, j2ee, java ,bpm

Dans le fichier “MainWindow” on va ajouter un bouton qu’on appelle “bouton principale” (c’est just pour differencier entre le controle herité et le control donné).

Les étapes

On ajoute un “WPF costom control”.

architecture soa, service oriented architecture, java software, open source, eclipse,alm, j2ee, java ,bpmarchitecture soa, service oriented architecture, java software, open source, eclipse,alm, j2ee, java ,bpm

  On obtient un fichier C# “CustomWindow.cs” qui herite de “Control” et un fichier pour la generation du design XAML “Generic.xaml”:

architecture soa, service oriented architecture, java software, open source, eclipse,alm, j2ee, java ,bpm

architecture soa, service oriented architecture, java software, open source, eclipse,alm, j2ee, java ,bpmarchitecture soa, service oriented architecture, java software, open source, eclipse,alm, j2ee, java ,bpm

Première chose à faire c’est de préciser le Control duquel on va hériter.

On peut heriter de Button, TextBox, TextBloc, etc..


il suffit d’heriter de “UserControl” pour avoir un fenetre interne.


On precise qu’on souhaite heriter de « UserControl ».

public class CustomWindow : UserControl


Dans le ControlTemplate on ajoute une grille avec un bouton.

<Grid x:Name="rootGrid" Background="Blue">

<Button Height="23" Margin="4" Content="Test 1" x:Name="btnTest1"

Command="{x:Static local:CustomWindow.TestButton1}"/>

</Grid>

· Dans le fichier CustomWindow.cs on definit l’evennement du bouton :

public CustomWindow()

{

this.CommandBindings.Add(new CommandBinding(TestButton1, TestButton1_Executed));

}

private void TestButton1_Executed(object sender, ExecutedRoutedEventArgs e)

{

MessageBox.Show("Bonton interne");

}

Pour mettre en évidence l’héritage des méthodes on ajoute une fonction qu’on va appeler dans la fenêtre principale :

public void AfficheMessage(String message)

{

MessageBox.Show(message);

}

· Dans la fenêtre principale :

Dans MainWindow.xaml :

On référence notre projet :

xmlns:local="clr-namespace:HeritageWPF"

Dans la grille on va appeler et placer notre « CustomWidow ».


<local:CustomWindow x:Name="FenetreInterne" Margin="216,49,45,139" />

Tester

On teste le projet en faisant run:

architecture soa, service oriented architecture, java software, open source, eclipse,alm, j2ee, java ,bpm

On voudrait utiliser la fonction qu’on a crée dans la fenêtre interne, pour cela j’ai choisi de l’appeler dans l’événement du bouton principal :

private void btn_click(object sender, RoutedEventArgs e)

{

FenetreInterne.AfficheMessage("Bouton de la fenetre principale");

}

architecture soa, service oriented architecture, java software, open source, eclipse,alm, j2ee, java ,bpm

De cette façon on pourrait imaginer plusieurs scénarios d’héritages des fenêtres ou des différents contrôles selon nos besoins.


NB : le blog de Soumow : http://soumow.blogspot.com/

lundi 9 novembre 2009

ALM, VS2010, Java et .Net: Microsoft achète Teamprise pour enrichir Visual Studio 2010

Encore une nouvelle surprise, à laquelle je ne m’attendais pas: Microsoft a décidé d’acheter la division Teamprise de SourceGear.

En assistant au WE Visual Studio Summit de Rome (du 1 au 4 novembre 2009), aucune information n’a filtré, mais la surprise était que Brian Harry (le Boss de VSTS), lui même avait présenté la solution Teamprise. Un entrainement peu être!

Teamprise est le pont entre le monde Eclipse et Java et Visual Studio. Teamprise permet de simplifier le travail dans un monde hétérogène et multiplateformes (développement .Net et Java), et de limiter les problèmes d'interopérabilité entre les composantes d’un ALM.

Teamprise permet à un développeur Java d’exploiter la solution TFS de Microsoft et à s’intégrer avec VSTS dans soucis.

Ainsi, la solution ALM de Microsoft, la fameux Visual Studio prend des options sérieuses pour jouer dans la cours des grands.

architecture soa, service oriented architecture, java software, open source, eclipse,alm, j2ee, java ,bpm

L 'ALM (Application Life-Cycle Management) permet aux entreprises de mieux gérer le cycle de vie des applications et de leurs projets de développement de logiciels, et d'accroître leur collaboration en équipe et la productivité tout en améliorant la qualité logicielle globale.

Dans se domaine, il est primordiale de développer une expertise, autour des problématiques suivantes :

· Industrialisation des développements et gestion du cycle de vie des applications (Software Factories…)

· Modélisation et mise en place de méthodologies de projet (UML, CMMI, MDA, etc…)

· Qualité des applications (audit de code, tests unitaires, tests de charge, intégration continue…)

· formation et de coaching et une capacité de transfert de savoir faire sur les technologies avancées

Je crois véritablement dans la pratique ALM pour le développement logiciel, et que cette discipline permet de fournir une valeur ajoutée à nos clients.

Reste à savoir si Teamprise sera intégré dans la version VS2010 de mars prochain.

Espérerons

Mais ceci est un autre sujet

information :

http://www.microsoft.com/presspass/press/2009/nov09/11-09TeamprisePR.mspx

http://www.woodwardweb.com/teamprise/a_new_chapter_f.html


Info sur OXIA

Microsoft a nommé OXIA, à son programme partenaire Inner Circle pour Application Lifecycle Management (ALM).

http://www.oxiasoft.com/site/fr/news.php?id_article=50&id_news=44

vendredi 9 janvier 2009

PC payable à l'usage : est que Microsoft va pouvoir Breveter le concept

Il parait que non (pour l’instant) :
L'USPTO (office américain des brevets) a rejeté la demande de brevet concernant : « la facturation à l’usage des PC », déposée par Microsoft
La décision définitive n’est pas encore prononcée,
Que va faire Microsoft pour rendre « brevetable » ce concept,
Mais surtout qu’est ce qui se cache derrière cette manœuvre
A suivre ...

Architecte SOA & Professionnel Open Source Headline Animator

 
Khaled BEN DRISS
Cloud Computing, SOA et Web 2.0 : Des sujets techniques sur SOA et l'Open Source : de Java & .Net, PHP5, Symfony, à SaaS / PaaS en passant par Azure, google appengine, le BPM, la Modélisation et d'autres sujets du coté du serveur et cloud computing.