Forums Développement Multimédia

Les formations Mediabox
Les formations Mediabox



Flex avec WebORB pour .NET

Compatible Flex Builder. Cliquer pour en savoir plus sur les compatibilités.Compatible ActionScript 3. Cliquer pour en savoir plus sur les compatibilités.Compatible .NET. Cliquer pour en savoir plus sur les compatibilités.Par tutocat (TutoCat), le 29 décembre 2008

Bonjour, dans ce tutoriel nous allons voir comment accéder à des objets .NET à l’aide de WebORB. WebORB permet de connecter des clients Flex, Flash, AJAX et Silverlight à des objets .Net, des services web, des ressources systèmes, et à des medias en temps réel (audio et vidéo). Vous aurez donc besoin de :

La première chose dont vous avez besoin avant de pouvoir utiliser WebORB est de créer un compte, afin de pouvoir télécharger une version d’évaluation de WebORB pour .NET. Une fois le compte créé, vous devez vous connecter en utilisant le login que vous venez de créer et vous pourrez ainsi accéder à la page des téléchargements. Veuillez donc télécharger le zip webOrb pour .NET, le dézipper à l’endroit de votre choix, et exécuter le fichier setup.exe, qui va installer et configurer l’application sous IIS.

Par défaut webOrb sera installé sous :

c:\inetpub\wwwroot\webOrb30

Vous pouvez accéder à la console d’administration depuis l’adresse suivante :

http://localhost/weborb30/weborbconsole.html

Il y a en plus de nombreux exemples disponibles, que je vous conseille de consulter.

Nous allons maintenant voir comment créer un projet dans Flex builder :

  • File –> New –> Flex project
  • Dans le champ Project Name, veuillez entrer un nom de projet, par exemple « FlexDotNet »
  • Dans la partie « Server technology », veuillez sélectionner « ASP.NET »
  • Puis cliquez sur « Next »

La prochaine étape est très importante pour établir le chemin de configuration :

  • Sélectionnez « Use Internet Information Service (IIS) » et entrez le chemin du répertoire virtuel de votre application .NET :
    • Web Application root : c :Inetpub\wwwroor\webOrb30
    • Web application URL : http://localhost/webOrb30
    • Cliquez sur « validate Configuration » et vous devez avoir le message suivant qui s’affiche: The web application root and the URL are valid.
  • Cliquez ensuite sur « Finish »

Il faut ensuite faire un clique droit sur votre projet Flex et ouvrir le panneau des propriétés, puis sélectionner « Flex compiler », et entrer le paramètre suivant dans le champ « Additional compiler arguments » :
-services c:\inetpub\wwwroot\webOrb30\web-inf\flex\services-config.xml

Il faut également référencer la librairie webOrb.swc, pour ce faire :

  • sélectionnez « Library path » dans le panneau des propriétés, et cliquez sur « ADD SWC… », et pointer sur la librairie qui se trouve sous : c:\inetpub\wwwroot\weborb30\weborbassets\wdm\webOrb.swc
  • Cliquez sur « OK », Notre projet Flex est maintenant prêt.

Nous allons voir maintenant comment accéder à une méthode d’une simple dll crée en VB.NET, dont voici le code :

Imports System
Namespace Exemple
    Public Class RemoteObject
        Public Function Hello(ByVal str As String) As String
            Return "Hello " & str
        End Function
    End Class
End Namespace

Il suffit de compiler ce code, mais vous n’aurez pas besoin de le faire, car je vous joins la dll avec le projet, et de la placer sous le répertoire /bin de l’application webOrb, qui je vous le rappel se trouve par défaut sous (c:\inetpub\wwwroot\weborb30)

Le code dans Flex est alors vraiment très simple, il suffit de créer un « RemoteObject » pour appeler la méthode de notre dll :

<mx:RemoteObject id="test" 
        destination="GenericDestination"
        source="Exemple.RemoteObject" 
        showBusyCursor="true"
        fault="faultHandler(event)" >
    	<mx:method name="Hello" result="HelloHandler(event)"/>
</mx:RemoteObject>

Si il y a une erreur lors de l’appel de la méthode, on affiche un message d’alert :

private function faultHandler( event:FaultEvent ):void 
{
    Alert.show( event.fault.faultString, "Error" ); 
}

Sinon, on affiche les données retournées:

private function HelloHandler( event:ResultEvent ):void
{
    result.text = event.result.toString(); 
}

Voici le code de l’interface permettant à l’utilisateur d’entrer son nom:

<mx:HBox>
		<mx:Label text="Veuillez entrer votre nom:"/>
		<mx:TextInput id="Name"/>
		<mx:Button id="btnSubmit" label="Envoyer" click="test.Hello(Name.text);"/>
		<mx:Label id="result" />
	</mx:HBox>

Il ne vous reste plus qu’à lancer l'application, entrer votre nom et cliquez sur « Envoyer » !

Dans notre exemple, nous avons déployé WebORB de manière globale, c’est-à-dire, qu’il peut être commun à plusieurs projets, mais nous aurions pu aussi le déployer de manière spécifique dans notre propre application ASP.NET, pour ceci, il faut exécuter les manipulations suivantes :

  • Copier les fichiers suivants depuis le répertoire d’installation dans votre application ASP.Net :
    • /weborb.config
    • /bin/weborb.dll
    • /WEB-INF répertoire & tout son contenu
  • Il faut créer un répertoire /logs dans votre application.
  • Modifiez le fichier web.config dans votre application pour enregistrer WebOrb HTTPHandler comme ceci :
<configuration> 
  <system.web> 
    <httpHandlers> 
      <add verb="*" path="weborb.aspx" type="Weborb.ORBHttpHandler"/> 
      <!-- add the codegen.aspx handler, only if you plan to use codegen from the console -->
      <add verb="*" path="codegen.aspx" type="Weborb.Management.CodeGen.CodegeneratorHttpHandler"/> 
    </httpHandlers> 
  <system.web> 
<configuration>
  • si vous voulez utiliser la console depuis votre application, il faut également copier les fichiers suivants :
    • /weborbconsole.html
    • /console
    • /weborbassets
    • /examples
    • all .mdb files from the root

Je vous joins les fichiers utiles à ce tutorial:

le projet Flex

et la dll qu'il faut extraire de l'archive