Xamarin - Démonstration de bout en bout

improve this page | report issue

Présentation

Cette démonstration présente un processus complet :

  1. Une application exemple fournie avec le kit SDK client Xamarin MobileFirst est enregistrée auprès de la console MobileFirst Operations Console.
  2. Un nouvel adaptateur ou un adaptateur fourni est déployé sur la console MobileFirst Operations Console.
  3. La logique d’application est changée afin d’effectuer une demande de ressource.

Résultat final :

  • Interrogation par commande ping du serveur MobileFirst Server réussie.

Prérequis :

  • Xamarin Studio
  • Facultatif - Serveur MobileFirst Server autonome (téléchargement)

1. Démarrage du serveur MobileFirst Server

Assurez-vous d’avoir créé une instance Mobile Foundation, ou
Si vous utilisez le kit MobileFirst Developer Kit, accédez au dossier du serveur puis exécutez la commande ./run.sh sous Mac et Linux ou run.cmd sous Windows.

2. Création d’une application

Dans une fenêtre de navigateur, ouvrez la console MobileFirst Operations Console en entrant l’URL http://your-server-host:server-port/mfpconsole. Dans le cas d’une exécution locale, entrez l’URL http://localhost:9080/mfpconsole. Le nom d’utilisateur et le mot de passe sont admin/admin.

  1. Cliquez sur le bouton Nouveau en regard de l’option Applications
    • Sélectionnez la plateforme Android
    • Entrez com.ibm.mfpstarterxamarin en tant qu’identificateur d’application (en fonction de la structure d’applications téléchargée à l’étape suivante)
    • Entrez 1.0 dans la zone Version
    • Cliquez sur Enregistrer l’application

    Enregistrement d'une application

3. Edition d’une logique d’application

  • Créez un projet Xamarin.
  • Ajoutez le kit SDK Xamarin en suivant les instructions du tutoriel Adding the SDK.
  • Ajoutez une propriété de type IWorklightClient dans un fichier classe, comme présenté ci-dessous.

     /// <summary>
     /// Gets or sets the worklight sample client.
     /// </summary>
     /// <value>The worklight client.</value>
     public static IWorklightClient WorklightClient {get; set;}
    
  • Si vous effectuez le développement pour une utilisation sous iOS, collez le code suivant dans la méthode FinishedLaunching du fichier AppDelegate.cs :

     <ClassName>.WorklightClient = WorklightClient.CreateInstance();
    

    Remplacez <ClassName> par le nom de votre classe.

  • Si vous effectuez le développement pour une utilisation sous Android, incluez la ligne de code suivante dans la méthode OnCreate du fichier MainActivity.cs :

     <ClassName>.WorklightClient = WorklightClient.CreateInstance(this);
    

    Remplacez <ClassName> par le nom de votre classe.

  • Définissez une méthode afin d’obtenir le jeton d’accès et d’effectuer une demande de ressource auprès du serveur MFP, de la manière suivante.

      public async void ObtainToken()
             {
              try
                     {
    
                         IWorklightClient _newClient = App.WorklightClient;
                         WorklightAccessToken accessToken = await _newClient.AuthorizationManager.ObtainAccessToken("");
    
                         if (accessToken.Value != null && accessToken.Value != "")
                         {
                             System.Diagnostics.Debug.WriteLine("Received the following access token value: " + accessToken.Value);
                             StringBuilder uriBuilder = new StringBuilder().Append("/adapters/javaAdapter/resource/greet");
    
                             WorklightResourceRequest request = _newClient.ResourceRequest(new Uri(uriBuilder.ToString(), UriKind.Relative), "GET");
                             request.SetQueryParameter("name", "world");
                             WorklightResponse response = await request.Send();
    
                             System.Diagnostics.Debug.WriteLine("Success: " + response.ResponseText);
                         }
                     }
                     catch (Exception e)
                     {
                         System.Diagnostics.Debug.WriteLine("An error occurred: '{0}'", e);
                     }
                 }
             }
      }
    
  • Appelez la méthode ObtainToken dans un constructeur de classe ou en cliquant sur un bouton.

4. Déploiement d’un adaptateur

Téléchargez cet artefact .adapter préparé et déployez-le à partir de la console MobileFirst Operations Console en sélectionnant Actions → Déployer un adaptateur.

Vous pouvez également cliquer sur le bouton Nouveau en regard de la zone Adaptateurs.

  1. Sélectionnez l’option Actions → Télécharger des exemples. Téléchargez l’adaptateur Java exemple “Hello World”.

    Si Maven et MobileFirst CLI ne sont pas installés, suivez les instructions de configuration de votre environnement de développement s’affichant à l’écran.

  2. A partir d’une fenêtre de ligne de commande**, accédez au dossier racine du projet Maven de l’adaptateur et exécutez la commande :

    mfpdev adapter build
    
  3. Une fois la génération terminée, déployez-la à partir de la console MobileFirst Operations Console en utilisant l’option Actions → Déployer un adaptateur. L’adaptateur est disponible dans le dossier [adaptateur]/target.

    Déploiement d'un adaptateur

5. Test de l’application

  1. Dans Xamarin Studio, sélectionnez le fichier mfpclient.properties puis modifiez les propriétés protocol, host et port en indiquant les valeurs correctes de votre serveur MobileFirst Server.
    • Si vous utilisez un serveur MobileFirst Server local, les valeurs sont généralement http, localhost et 9080.
    • Si vous utilisez un serveur MobileFirst Server distant (sur IBM Cloud), les valeurs sont généralement https, your-server-address et 443.
    • Si vous utilisez un cluster Kubernetes sur IBM Cloud Private et si le déploiement est de type NodePort, la valeur du port est généralement celle de NodePort exposée par le service dans le cluster Kubernetes.
  2. Appuyez sur le bouton Play.


Résultats

  • Si vous cliquez sur Ping MobileFirst Server, la mention Connected to MobileFirst Server s’affiche.
  • Si l’application a pu se connecter au serveur MobileFirst Server, un appel de demande de ressource utilisant l’adaptateur Java déployé aura lieu.

La réponse de l’adaptateur s’affiche alors dans la console Xamarin Studio Console.

Image de l'application ayant appelé avec succès une ressource de MobileFirst Server

Etapes suivantes

Pour en savoir plus notamment sur l’utilisation d’adaptateurs dans des applications et sur le mode d’intégration de services supplémentaires (notifications Push, par exemple) à l’aide de l’infrastructure de sécurité MobileFirst :

Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.
Last modified on July 12, 2019