Dashboard project in Silverlight
Curieux toutes ces sociétés spécialisées dans les grands systèmes de traitement de l'information et qui maintenant développent des "Tableaux de Bords" (Dashboard). En général, elles ont développé des systèmes de traitement de données, des plateformes complexes à l'a fois dans le déploiement des solutions, la maintenance et le contrôle du système. Leurs clients demandent maintenant qu'elles développent des applications simples d'utilisation permettant de contrôler le bon déroulement des opérations sur leur plateforme installée. C'est comme cela que l'on voit fleurir le développement des Dashboards.
On rencontre nombre de Dashboard en Silverlight, le web permettant l'administration et le contrôle des plateformes à distance.
La principale remarque que je ferais, c'est pourquoi ces sociétés éditrices de logiciels n'ont pas intégré ce besoin au moment de la conception et le corollaire en est que le développement de ce type d'application est particulièrement complexe à posteriori.
Et une deuxième pour la route, soit le Dashboard impacte peu sur le système d'information existant mais alors il ne rend compte que partiellement de l'exécution du système et ne permet que de faire peu de choses. Soit il devient une véritable pieuvre, il simisse partout et fini par impacter le système en production.
Silverlight Downloads and Installation
A l'heure actuelle, la dernière version de Silverlight étant la version 5.0 je pars sur l'installe de la v5.0.
Silverlight v5.0
Attention n'installez pas le SDK tout seul si vous l'intention d'installer les Tools : Silverlight 5 Tools for Visual Studio 2010.
Curieusement, elle installe la version 3.0 et la version 5.0
C:\Program Files\Silverlight\v3.0
C:\Program Files\Silverlight\v5.0
C:\Program Files\MSBuild\Microsoft\Silverlight\v3.0
C:\Program Files\MSBuild\Microsoft\Silverlight\v5.0
Hors le projet qui nous intéresse est développé en v4.0 !? Bon ...
Silverlight v4.0
http://www.microsoft.com/fr-fr/download/details.aspx?id=18149
En gros on installe tout ça :
- Runtime Microsoft Silverlight 4 Developer
- Kit de développement logiciel Microsoft Silverlight 4 SDK
- Microsoft Silverlight 4 Tools pour Visual Studio 2010
- Services RIA WCF V1.0 pour Silverlight 4
- F# Runtime pour Silverlight 4
Configuration requise :
Systèmes d’exploitation pris en charge : Windows 7; Windows Vista; Windows XP Service Pack 3
Windows 7
Windows Vista Service Pack 2
Windows XP Service Pack 3
Composants Visual Studio requis :
Microsoft Visual Studio 2010 avec la fonctionnalité Visual Web Developer
Microsoft Visual Web Developer 2010 Express
Très bien, mais moi je travaille sous Windows 2003 Server R2 SP2 ...
Il me semble donc que sur cette plateforme, je ne puisse pas installer SL v4.0 et que je doive passer par Silverlight v5.0 et encore ... en installant au préalable Visual Studio SP1 ...
Merci Silverlight ...
Silverlight pour Windows 2003 Server R2
Pour cette plateforme, il faut donc installer :
Microsoft Visual Studio 2010 Service Pack 1
http://www.microsoft.com/fr-fr/download/details.aspx?id=23691
|
Installation de Microsoft Visual Studio Service Pack 1 |
Le Visual Studio SP1 regarde les produits installé sur votre plateforme afin de les mettre à jour.
Microsoft® Silverlight® 5 Tools for Visual Studio® 2010 SP1
http://www.microsoft.com/en-us/download/details.aspx?id=28358
|
Installation Silverlight 5 Tools for Visual Studio 2010 SP1 |
A guide to create Enterprise Dashboard
C'est le projet qu'il nous intéresse de faire fonctionner, trouvé dans AllInOnSamples
A tutorial to create a sample enterprise dashboard using MVVM pattern.
Au passage, nul besoin de télécharger les composants
Visifire car ils sont déjà dans le projet dans le répertoire :
Visual Studio 2010\A-guide-to-create-6ab135b2\C#\Silverlight Binaries
|
A-guide-to-create Enterprise Dashboard - Solution |
|
A-guide-to-create Enterprise Dashboard - Exécution |
Have fun.
Remarques :
- Composants graphiques :
C'est toujours la même question avec les composants graphiques : Lesquels choisir ... ?
Passer de Silverlight v4.0 à Silverlight v5.0
Lorsque vous ouvrez une solution dont un projet est en Silverlight 4.0, il sera grisé mais Visual vous permet alors d'éditer le fichier projet .csproj.
On l'a vu, dans AllInOneSamples beaucoup de projet Silverlight sont en v4.0, donc adaptation :
Dans le fichier du projet :
ProductAndSales.csproj
Remplacer :
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
Par :
<TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
Supprimer les deux références aux DLL :
System.Windows.Controls.dll
System.Windows.Controls.Data.Input.dll
Qui sont en version v4.0 par les même références en version v5.0
Vous pouvez également modifier dans le fichier .csproj tous les 4.0 en 5.0
Sauvez, bouton droit sur le projet : Reload
Et le tour est joué.
Entityframework et Silverlight
Projet intéressant
Consuming ADO.NET Entity Framework from Silverlight
http://geekswithblogs.net/berthin/archive/2011/05/29/ado_net_entityframework_from_silverlight.aspx
On va vite se rendre compte que cette page manque sérieusement d'explications.
Silverlight stratégie inadaptée aux services SOAP
Lorsque l'on créé une application Silverlight qui utilise un WCF Service References à l'exécution on obtient un message d'un autre monde :
Une erreur s'est produite en tentant d'effectuer une demande à l'URI 'http://localhost:1365/ServiceSaleEntity.svc'. Ce problème peut être dû à une tentative d'accès à un service entre domaines sans qu'une stratégie entre domaines appropriée soit en place, ou une stratégie inadaptée aux services SOAP. Il est possible que vous soyez contraint de contacter le propriétaire du service pour publier un fichier de stratégie entre domaines et veiller à ce qu'il autorise l'envoi d'en-têtes HTTP SOAP. Cette erreur peut également être liée à l'utilisation de types internes dans le proxy de service Web sans utiliser l'attribut InternalsVisibleToAttribute.
Consultez l'exception interne pour plus de détails.
Et pourtant, Il suffit de cocher la case dans les propriétés du projet :
Onglet Silverlight
Case à cocher : Require elevated trust when running in-browser
Silverlight using Entity Framework through WCF Service References
Le sujet était assez intéressant pour que je réalise un projet :
VisualStudio 2010
Silverlight 5
WcfServiceSaleEntity
WCF Service Application
Embarque la BD Sale.mdf dans App_Data
Fournit le ModelEntity : ModelSaleEntity.edmx
SilverlightEntityFramework
Application Silverlight Utilise le Service References : ServiceSaleEntity fournit par WcfServiceSaleEntity
Download Sample : Sivlerlight Consuming Entity Framework
Binding : pourquoi a-ton l'impression de faire de la magie ?
La plus grosse difficulté du projet, devinez ? Je vous le donne en mille : le Binding
Mais pourquoi à t-on l'impression de faire de la magie avec ce fameux binding ?
A mon avis c'est parce que l'intellisense et les outils Visual Studio ne sont pas fait pour ça tout simplement.
Mais aussi, parce que, les données ne sont pas là !
using SilverlightEntityFramework.ServiceSaleEntity;
et
ServiceSaleEntityClient saleService = new ServiceSaleEntityClient();
n'y change rien
Pour écrire la ligne :
<sdk:DataGridTextColumn Binding="{Binding ProductQuantity}"
dans MainPage.xaml c'est démerdez-vous ! Et tous les outils proposés ne vous aident pas !
Silverlight Entity Framework
Bas on n'est pas pret de faire un CRUD !
Create Read Update Delete à travers les Objets de WCF Reference Services utilisé par Silverlight, il faudrait pouvoir faire un DataContext.SaveChanges() pour mettre à jour la BD à partir de EF. Ce n'est pas si difficile mais ce n'est pas du RAD ... encore que ...
Silverlight notes astuces
Lancez une appli silverlight comme Startupproject :
Exception dans :
private void Application_Startup(object sender, StartupEventArgs e)
{
WebContext.Current.Authentication.LoadUser(this.Application_UserLoaded, null);
...
}
Message :
Le modèle d'URI « file » fourni est non valide ; le modèle« http » était attendu.
Nom du paramètre : via
Perso, j'ai mis la ligne en commentaire dans le projet BookShelf.
Silverlight Installation Suite
Il me manque encore quelque chose, c'est curieux de s'apercevoir par exemple que dans le framework de base il n'existe pas de
MenuItem. Et pourtant un Menu cela peut être utile ...
Impossible de trouver l'assembly :
System.Windows.Controls.Toolkit
Téléchargement du : Silverlight 5 Toolkit - December 2011
http://silverlight.codeplex.com/releases/view/78435
Lacement de l'intallation :
|
Installation du Silverlight Toolkit December 2011 |
Ce Toolkit met à jour les templates de Visual Studio 2010 :
|
Silverlight 5 ToolKit December 2011 |
Sur le disque dur :
|
Silverlight 5 ToolKit December 2011 sur le disque dur |
Pour lire un peu de doc concernant ce ToolKit vous avez la page suivante sur votre disque dur :
C:\Program Files\Microsoft SDKs\Silverlight\v5.0\Toolkit\dec11\Welcome.htm