Migration vers IIS7 : Résoudre les problèmes liés aux handlers

Lors d’une migration vers de IISx vers IIS7, il n’est pas rare d’avoir des problèmes de retrocompatibilité de la configuration(et autres ;-) ). Mon usecase est le suivant:

  • développement VS2008 (donc utilisation du serveur web embarqué)
  • publication sous IIS7 sous un Windows Server 2008 R2 en 64bit
  • rien ne marche.

Après étude rapide, il s’avère que la configuration des handlers n’est pas compatible dans IIS7.

En trois étape, je vais montrer comment résoudre le problème.

Pour expliquer la démarche, j’utilise un handler nommé IISHandler, et qui appelé par l’url:

http://url_de_la_webapp/IISHandler

Etape 1: la migration automatique de la configuration vers IIS7

Pour cela, il existe un outil qui va configurer automatique le contenu du fichier web.config vers le bon format. Cet outil se trouve dans le répertoire « C:\Windows\System32\inetsrv » et se lance par la commande:

appcmd.exe migrate config "Default Web Site/WebApplication"

Lire la suite

Un p’tit cluster NLB sur Windows Server 2008?

Mmm...

Cluster NLB?

Vous avez un service quelconque qui tourne sur une machine. Comment faire pour avoir un architecture en haute disponibilité? En ayant des machines en réseau permettant de répondre à une même demande en faisant du failover ou du loadbalancing.

Les deux systèmes permettent d’avoir une machine qui permet de répondre aux demandes en permanence (tout du moins, tant qu’il reste un serveur opérationnel…). Les différences principales entre les deux solutions sont:

  • failover: avec état. Partage de ressources entre les machines pour garder une consistance (sessions, stockages etc…). Plutôt adapté aux bases de données, aux serveurs de fichiers…
  • loadbalancing: sans état. La communication entre les machines permet de savoir si le service répond toujours et adapter la charge par exemple. Plutôt adapté aux webservices par exemple.

Des solutions sont donc possibles pour y répondre: Lire la suite

Penihip: générer des…générer quoi?

En me promenant sur les pages des projets de l’Apache Foundation (http://www.apache.org/, qu’il est toujours bon d’aller voir pour se tenir au jus des projets), je suis passé faire un tour sur l’incubateur de projet.

J’y ai trouvé un outil, d’une utilité cruciale, et que tout un chacun se doit d’utiliser: Penihip (proposé par David Crossley)

Concept

Du fait, de nos jours, de l’explosion des marques, il devient de plus en plus difficile de trouver:

  • un mot original,
  • caractérisant la marque,
  • facile à retenir,
  • non existant/utilisé.

Cet outil a pour but de trouver des mots, nouveaux et inexistants, à partir d’une suite de mots décrivant un domaine.

Utilisation

Après avoir téléchargé l’implémentation, j’ai donc testé cet outil précurseur.

Lire la suite

ADO.NET Data Service: Une architecture REST en dix minutes

Dans les architectures modernes, la tendance est de fabriquer des services qui vont être exploités par différents outils (IHM ou autres). Ainsi, une couche expose des services qui vont être exploités pour effectuer des opérations dans le système d’information.

Il existe plusieurs possibilités pour répondre à ce besoin. L’architecture de type REST en est une.

REST signifie « Representational State Transfer ». Concrètement, REST c’est:

  • des URI pour référencer les ressources,
  • HTTP comme protocole de transfert,
  • les méthodes standards HTTP pour effectuer des opérations(POST, GET, bien connues, mais aussi DELETE, PUT),
  • des messages au format SOAP/JSON.

Je vais montrer dans cet article comment créer facilement une architecture REST à partir de Visual Studio, en utilisant les composant ADO.NET, que je vais utiliser avec un client lourd (WINFORMS) et un client léger(ASP.NET MVC2).

Le matériel

Lire la suite

OSGi : Mais qui c’est ce Hausse Guy?

Ce billet a pour but d’expliquer brièvement le fonctionnement de la plateforme logicielle OSGi et de montrer un cas d’utilisation.

OSGi (Open Services Gateway initiative) est une spécification « qui définit un modèle de gestion de cycle de vie d’une application, un répertoire (registry) de services, un environnement d’exécution et des modules ». L’implémentation d’un tel système est donc un socle logiciel qui permet de gérer des composants logiciels (appelés des bundles) entre eux:

  • dépendance,
  • version nécessaire,
  • déploiement (à chaud),
  • cycle de vie,
  • fonctionnalités exposées.

Architecture

Une notion à bien comprendre est que OSGi se base sur des composants, des bundles, qui vont dialoguer entre eux pour effectuer des fonctionnalités et appeler les fonctionnalités fournies par les autres bundles. Un bon exemple est le bundle Tomcat qui permet de fournir un moteur de servlets que pourront exploiter les autres bundles.

Lire la suite

SEO Powered by Platinum SEO from Techblissonline