vendredi 25 septembre 2009

F# .Net, Programmation fonctionnelle et web service : Storm un projet open source de chez codeplex, un concurrent à SOAPUI en .Net

Codeplex ; la forge de projets open source de Microsoft, et aussi le nom de la nouvelle fondation open source de Microsoft, a vue la mise à jour d’un projet intéressant à compter parmi les outils du monde SOA.

Il s’agit de STORM : un outil open source pour le test des web services.

STORM c’est quoi ?

STORM permet de

-· Tester de services web (développés en utilisant n'importe quelle technologies (. NET, Java, etc)

-· Dynamiquement invoquer les méthodes de service Web, même ceux qui ont des paramètres d'entrée avec des types de données complexes

-· Test de multiples services Web à partir d'une interface utilisateur.
-. Modifier / manipuler les requêtes SOAP

L’équipe de SOAPUI, n’a pas à avoir peur de ce nouveau projet (existe depuis moins d’une année), qui dans sa version 1.1.0, ne peut rivaliser avec le numéro un du domaine.

STORM est développé en F# .Net

L’originalité de STORM se trouve dans le fait qu’il est développé en F#

Ce qui lui confère les bases pour les tests fonctionnels de web services.

Bref,

Un projet intéressant à double raison

1) Utilise le nouveau langage Fonctionnel de Microsoft : on sait maintenant que F#, fonctionne

2) Permet de Tester des web service

F# (F Sharp) c’est quoi ?

F# (F Sharp) est un langage de programmation fonctionnelle de la famille des .NET. F# est orienté-objet et fait partie de la famille des langages ML ( Meta Language).

clip_image001

SOTRM exploite le Framework.NET 2.0 et se base sur F# 1.9.3.14 (F# n’est forcément installé sur la machine d’exécution)

Testons STORM ?

Avant de commencer, télécharger à partir de http://www.codeplex.com/storm (depuis octobre 2008, c’est la version 1.1.0 qui est disponible).

A première vue, je suis séduit

1) Ça fonctionne sans problème, sur Windows XP SP3, il faut préciser que j’ai installé .Net Framework 3.5 (ça arche pour .Net 2.0)

Utilisons un web service Publique dont le WSDL est publié au

http://www.deeptraining.com/webservices/weather.asmx

dont le WSDL est le suivant

clip_image003

STORM présente les services fournis :

clip_image004

Choisir un Ville, Tunis par exemple

clip_image005

Lancer l’appel au web service avec la Valeur City=Tunis

La requête SOAP est la suivante

clip_image006

On peut avoir une vue POXO

clip_image007

Comme d’habitude, le temps annoncé est « super »é à Tunis !

clip_image009

La console de log présente les séquences d’appel et les temps d’exécution du point de vue du consommateur du service.

http://www.deeptraining.com/webservices/weather.asmx

loading http://www.deeptraining.com/webservices/weather.asmx

Acquiring the wsdl...

Resolving the wsdlendpoint...

Generating code...

Code generated successfully.

Compiling into an assembly...

Analyzing the compiled assembly generated from http://www.deeptraining.com/webservices/weather.asmx

Found method : GetWeather from type Weather

Elapsed Time : 9,3125(sec)

Invoking...

Done.

Elapsed Time : 0,765625(sec)

Invoking...

Done.

Elapsed Time : 0,546875(sec)

Invoking...

Done.

Elapsed Time : 0,515625(sec)

Done.

Retour sur Codeplex

Reste que je m’étonne du faible, nombre de développeurs .Net connaissant codeplex, sans commune mesure avec sourceforge, très célèbre dans la communauté Java par exemple, autant

Une histoire de culture de l’open source, peut être, et ça pourrait expliquer la création de la fondation open source de Microsoft du même nom.

Mais ceci est un autre sujet

0 commentaires :

Enregistrer un commentaire

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.