dimanche 22 août 2010

ASP.NET

représente l'ensemble d'outils et de librairies du Framework .NET
dédié aux applications Web. Avec l’apparition du Framework .NET en 2002, les Actives Server Pages ont été entièrement repensées.

ASP.NET 1.0, la refonte d'ASP

ASP.NET 1.0 garde les caractéristiques de base des ASP: il combine HTML, langages de programmation, composants serveur et il s’exécute côté serveur. En revanche certaines limitations reconnues des ASP classiques sont dépassées avec ASP.NET:
  • Séparation présentation/traitements. Le style de programmation des ASP imposait au sein d'une même page un mélange de HTML et de script. La clarté du code et donc la maintenabilité de l'application Web en souffrait, il était difficile de réaliser des sites Web complexes. Pour améliorer ce point, ASP.NET permet une séparation claire entre la présentation (le HTML) et la logique applicative (par exemple le code C#). Cette séparation est rendue possible par l'introduction du concept de page de code cachée (code-behind) associée à chaque page HTML.
  • Objets. L'orientation objet vient combler les limites de l'aspect procédural des ASP classiques en permettant, voire en imposant une structuration de la logique de traitement.
  • Performances. Les pages ASP classiques n'étaient pas compilées mais interprétés ce qui entrainait des performances moindres que les technologies concurrentes. ASP.NET compile le code.
  • Réutilisabilité. Une amélioration importante d'ASP.NET est l'introduction de parties de pages Web réutilisables – les contrôles serveurs. Ils permettent de développer une seule fois des parties de
    pages Web qui seront réutilisées dans de multiples pages.
  • Homogénéité. Les ASP classiques avaient l'inconvénient de mélanger les technologies ASP et COM, forçant le développeur à passer d'un environnement de développement à un autre. A l'inverse ASP.NET repose entièrement sur le Framework .NET, socle homogène contenant le traitement des pages Web comme les traitements métier.
  • Ouverture. Les ASP classiques verrouillaient les accès à la mécanique de bas niveau de traitement de requêtes HTTP. En revanche ASP.NET ouvre ces couches de bas niveau à la programmation. Il est ainsi possible de développer son propre code de gestion des requêtes dans le cas d'impératifs spécifiques non couverts par les fonctions par défaut d'ASP.NET (modéle de pipeline HTTP).

ASP.NET 2.0, l’aboutissement

Avec ASP.NET 2.0 le temps de développement de sites Web classiques est considérablement réduit. Les fonctionnalités récurrentes sont en effet prises en charge par de nouvelles librairies du Framework .NET 2.0 consacrées:
  • Les Pages Maîtres (Master Pages)sont des modèles de mise en page d’un site Web. Les zones définies par les pages maîtres seront remplies dynamiquement par les contenus adéquats, typiquement une bannière d'entête, un menu de navigation, une colonne de news ...
  • Les Web Parts permettent la personnalisation des pages par l'utilisateur final.
  • Des nouvelles librairies de classes facilitent l'implémentation de fonctionnalités souvent réécrites telles que la gestion des menus et la navigation du site, la gestion des utilisateurs et des droits associés, la gestion de caches sur le serveur, ...

Liens intéressants

Active Server Pages

Introduction

Active Server Pages (ASP) est une technologie Microsoft permettant de développer des pages Web dynamiques. Elle utilise des scripts insérés aux pages HTML qui sont exécutés sur le serveur Web IIS. Ces scripts peuvent intégrer des composants COM (Component Object Model) et grâce aux ADO (ActiveX Data Objects) établir des connexions à des bases de données. La principale avancée des ASP par rapport aux technologies du moment (1996-2000) telles que les scripts CGI, était de fournir des composants prêts à l'emploi facilitant:
  • la gestion des sessions ou contexte utilisateur.
  • la gestion des requêtes HTTP clientes et des réponses.
Ce modèle de composants a d'ailleurs donné lieu à des développements similaires avec d'autres technologies, notamment les Java Server Pages (JSP).

Architecture

Les Active Server Pages s'inscrivent dans une architecture 3-tiers. Cela signifie qu'un serveur supportant les Active Server Pages peut servir d'intermédiaire entre le navigateur du client et une base de données en permettant un accès transparent à celle-ci grâce à la technologie ActiveX Data Objects. ADO fournira les éléments nécessaires à la connexion au système de gestion de bases de données (SGBD), à la manipulation des données grâce au langage SQL.


Liens intéressants

Silverlight

Liens intéressants

DWM


Liens intéressants

samedi 21 août 2010

WF/Biztalk

Workflow Foundation

Un des éléments de base des applications composites et des Architectures Orientées Service (SOA) est l’échange de messages en mode asynchrone. Dans de tels systèmes, la complexité des développements est en grande partie liée au suivi des états des systèmes expéditeurs et destinataires des messages. En supposant que la complexité des communications inter-systèmes soit prise en charge par WCF, la gestion des états du système (workflow) pourra être confiée à Windows WorkFlow Foundation (WF). Un workflow modélisera les états d’un système, la logique de transition entre états, les évènements extérieurs et les conditions de transition, ...

Windows Workflow Fondation (WF) est composé d’un ensemble de classes qui couvrent les fonctionnalités suivantes:
  • La définition d’un worflow. Les éléments de base d’un workflow (WF)sont les activités, qui rendent compte des actions et interactions du workflow. WF est livré avec des activités prédéfinies comme l’appel à des services Web, la réponse à des évènements ou des activités de contrôle (boucle while, exécutions parallèles, etc.).
  • L’hébergement du workflow. Ces classes incluent un moteur d’exécution et des outils de contrôle de l’exécution des instances d’un même workflow. Elles permettent d’héberger le moteur d’exécution dans tout type d’application, console, WinForms ou ASP.NET.
  • La persistance du workflow. En entreprise les processus qui durent plusieurs heures voire plusieurs mois sont possibles (support IT, commandes, ...). Dans ce cas l’état du workflow ne peut se permettre de résider en mémoire: le flot doit pouvoir s’interrompre éventuellement au milieu d’une activité transactionnelle, et se réveiller par la suite.
  • La définition et l’exécution de règles métier. WF comprend un moteur de règles capable de déduire l’ordre d’exécution des règles à partir de leurs dépendances.



Biztalk

Biztalk complète le Framework .Net notamment avec l’orchestration de processus distribués, longues durées ou encore transactions. Il propose aussi un moteur de règles métiers, et des aspects intégration (connecteurs aux données et applications du système d'information globale de l'entreprise), le tout complété de métriques d’activités (Business Activity Monitoring).

Liens intéressants

WCF

ASP.NET et les services Web

Depuis l'apparition du Framework .NET, l'environnement de développement Visual Studio permet de créer ou consommer un service Web en quelques clics grâce aux composants ASMX. Au-delà de cette facilité, la mise au point des caractéristiques étendues du service est à la charge du développeur, avec le risque de produire un service Web peu interopérable car muni d'une configuration exotique. En ce qui concerne la consommation de services Web, des points d'extension rendent possible les traitements spécifiques sur les messages, ce qui procure la possibilité d'exploiter n'importe quel service aux caractéristiques imprévues.

La diversité des technologies de transport, encodage, cryptographie, et l'évolution des standards a justifié la création de l'organisme Web Service Interoperability (WS-I), chargé d'identifier et de conseiller des profils de standards. Avec la publication du couple .NET 2.0/ASMX 2.0, la pile de composants Web Services s'enrichit du moyen de rendre un service Web conforme à ces standards en ajoutant une instruction devant l'interface du service.

Par ailleurs, afin de rester en phase avec l'évolution des standards et étendre la déclaration de conformité à la sécurité et à la fiabilité des échanges, Microsoft délivre aussi des compléments sous la forme d'une librairie qui étend ASMX via des points d'extension prévus à cet effet: Web Services Enhancements (WSE).

Windows Communication Foundation

Windows Communication Foundation (WCF) est un composant majeur du Framework .NET 3.0. C'est une refonte des services supportés par ASMX et WSE, étendue aux communications hors services Web. Cette nouvelle bibliothèque de classes a été pensée pour unifier l'accès aux différents moyens de communication de .NET. Là où l'architecte devait intégrer les interfaces de .NET Remoting, WSE, des Enterprises Services (Transactions distribuées) ou MSMQ, WCF fournit une vue homogène pour les besoins de communication.

WCF repose sur des messages échangés entre deux points selon les modalités définies par l'adressage, le mode de liaison et le contrat de service. Ces trois points sont résumés selon Microsoft par le triplet A, B et C : Address, Binding et Contract.
  • Address: Un point de destination (endpoint) d'une communication WCF doit avoir une adresse représentée sous forme d'un URI.
  • Binding: Une liaison comprend trois types d'éléments.
    1. Le protocole définit la sécurité, la fiabilité, le contexte de communication ou un protocole personnalisé pour les messages qui circuleront entre les points de destination. Dans cette catégorie figurent des spécifications telles que WSReliableMessaging ou WS-Federation.
    2. Le transport définit la couche réseau qui servira de base au transport des messages, par exemple tcp ou http.
    3. L'encodage définit la méthode de codage du contenu des messages, par exemple text/XML, Binary ou MTOM.
  • Contract: Le contrat expose les opérations que le service est capable d'assurer. En plus de la signature des opérations qui décrivent les données échangées dans les messages, la nature de l'échange est aussi déterminée par le contrat (uni- ou bidirectionnelle, synchrone ou asynchrone), ainsi que la mécanique de gestion des erreurs.

Toutes ces informations sont exposées dans un modèle objet unifié qui vise à assurer la productivité des développements quel que soit le niveau de spécificité de l'application distribuée à mettre en oeuvre. Le développeur gagne en temps de codage et évite l’éparpillement et les apprentissages de multiples
APIs. De plus WCF est extensible (possiblité d’ajouter ses protocoles, ses formats de compression, ses mécanismes de trace) en venant s’insérer dans le pipeline de traitements des messages.
Autre facteur de productivité, les bindings les plus courants, tels que ceux correspondants aux standards WS-BasicProfil et WS-Federation, sont prédéfinis. Ils peuvent toutefois être paramétrés dans les détails (algorithme de cryptage, types de clés, types de jeton de sécurité, etc.) pour assurer l'interopérabilité avec des services existants. D'autres bindings moins courants sont prédéfinis : peer-to-peer sur tcp, canaux nommés, échanges convoyés par MSMQ, ...

Liens intéressants

WPF

Windows Presentation Foundation

Windows Presentation Foundation (WPF) est la spécification par Microsoft d'un nouveau type d'interface graphique. Partie essentielle de .NET 3.0, elle amène des ruptures à plusieurs points de vue avec l'ancienne génération interfaces graphiques représentée par les Winforms (Windows Forms):
  • Le Look and Feel ainsi que la qualité des graphiques changent la relation entre l’utilisateur et l’application. WPF permet en effet de présenter des interfaces qui comportent des animations, des effets de transition, de transparence et de 3D.
  • La conception et le développement des applications WPF impliquent une nouvelle organisation du développement. Le travail de design peut être conduit indépendamment du travail de codage de la logique applicative et de l’accès aux données. L’élément clé dans cette séparation des tâches est le langage de description XAML.
  • La technologie elle-même fait rupture. Côté matériel, au lieu de s’appuyer sur le processeur 2D de la carte graphique, l’affichage des visuels WPF tire parti de la puissance de traitement des processeurs
    3D habituellement inexploitée par les applications d’entreprise. Côté logiciel, DirectX est le point d’accès à cette puissance. Les API Win32 d’accès aux fonctions de dessin 2D ne sont plus employées.

XAML

XAML est l’élément central de description des interfaces graphiques WPF. Indépendamment de WPF, XAML est une grammaire XML qui permet de définir une arborescence d’objets. Appliqué à la logique de Windows Presentation Foundation, cela signifie que les styles, modèles de comportement, animations, contrôles utilisateur et sources de données peuvent être décrits de manière déclarative dans un fichier XML. XAML permet de distinguer la conception de l’interface et son code sous-jacent, facilitant la collaboration entre développeurs et designers.

XBAP

XAML Browser Application (XBAP) désigne un mode d’exécution d’une application décrite en langage XAML dans lequel l’interface graphique est captive du navigateur Microsoft IE ou Mozilla Firefox. Une application XBAP est typiquement RIA (Rich Internet Application) puisque contrainte par des limites de sécurité qui l’empêche d’interagir avec le bureau de l’utilisateur, le système de fichier ou la base de registre. Il s'agit d'une application WEB reposant sur le Framewok .NET du poste de travail, qui obtient ses données de machines distantes.

Silverlight

Il s'agit d'une CLR .NET livrée sous la forme d'un plug-in pour navigateur Internet. Une application Silverlight ne nécessite pas la présence d'un Framework .Net sur le poste de travail puisqu'elle repose entièrement sur le plug-in Silverlight du navigateur internet qui l'exécute.

WPF, XBAP, Silverlight ...

WPF est donc une spécification d'interface graphique qui se retrouve sous différentes formes:
  • Une application indépendante (Standalone) qui s'installe sur un ordinateur en utilisant un installateur comme Microsoft Windows Installer. (msi).
  • Une applet sous forme d'un fichier XAML Browser Application (XBAP) qui s'exécute sur la CLR du poste de travail au travers du navigateur IE ou Firefox
  • Un composant embarqué dans une page HTML, puis exécuté sur n'importe quel navigateur Internet supportant le plug-in Silverlight

Architecture

WPF présente une architecture où les couches supérieures proposent un ensemble de services écrits entièrement en code managé. Une couche intermédiaire dénommée Media Integration Library (Milcore) assure le lien entre ces services managés de haut niveau et la couche native DirectX.


Toujours Plus !

WPF inclut de nombreux composants destinés à enrichir les interactions homme-machine:
  • Les vidéos peuvent être très simplement incluses dans une interface. Les transformations applicables aux éléments visuels classiques s'appliquent de la même façon aux vidéos. C'est donc une nouvelle
    possibilité qui est offerte aux concepteurs de logiciels pour, par exemple, présenter l'aide d'un logiciel en mode multimédia.
  • WPF propose un ensemble de classes dédiées à la reconnaissance de l'écriture manuscrite temps réel. Les moyens de saisie de textes s'étendent ainsi au périphérique de saisie manuscrite sans surcoût de développement.
  • Un synthétiseur vocal est inclus dans WPF. Sa mise en oeuvre à travers la classe SpeechSynthetizer est extrêmement simple: il suffit d'appeler la méthode Speak en lui passant le texte à faire entendre.
  • La reconnaissance de la parole est aussi fournie clé-en-main dans WPF via les nouvelles classes de System.Speech.Recognition.
  • WPF concrétise le concept de document au travers d'un ensemble de fonctionnalités et services qui couvrent la présentation des documents dans l'interface graphique leur annotation par l'utilisateur, leur
    persistance et leur impression.

Liens intéressants