Fermer

janvier 25, 2019

4 façons de sans serveur à Kinvey


La fonctionnalité sans serveur de la plate-forme à haute productivité Kinvey peut offrir de grands avantages pour vos applications. Apprenez quatre façons de créer des fonctions sans serveur avec Kinvey et comment les utiliser.

Certes, il y a beaucoup à digérer autour de toutes les caractéristiques et fonctionnalités de Kinvey . Ce n'est pas plus vrai que pour certaines fonctionnalités "sans serveur". Plutôt que de vendre chacune de ces fonctionnalités à la carte, Kinvey les inclut toutes. C’est un avantage considérable, mais il peut aussi être difficile de savoir où et comment commencer. Le but de ce guide est de vous donner un aperçu des différentes fonctionnalités afin de vous aider à démarrer.

La première chose à comprendre est que Kinvey offre un certain nombre de fonctionnalités qui tombent dans la catégorie des solutions "sans serveur" et multiples. de créer et d’utiliser des fonctionnalités sans serveur. Voyons d'abord comment créer des fonctions sans serveur, puis passons à leur utilisation.

Création de fonctions sans serveur

Il existe essentiellement quatre façons de créer des fonctions sans serveur dans Kinvey. Ce sont:

  1. Créer une fonction personnalisée sans serveur à l'aide de l'éditeur intégré au navigateur
  2. Créer une fonction personnalisée sans serveur à l'aide de Flex Services
  3. Créer des fonctions sans serveur sans code à l'aide de RapidData ou RapidAuth
  4. Créer et exécuter des activités personnalisées logique au sein de votre propre environnement en utilisant une logique métier externe

Examinons brièvement chacune d'elles

NOTE : Nouveau pour Kinvey? Vous pouvez démarrer gratuitement .

Approche n ° 1 – Création de fonctions avec l'éditeur in-console

La console Kinvey comprend un éditeur de code simple permettant de créer rapidement des services pour votre application. Vous pouvez voir un exemple d'une fonction que j'ai écrite dans l'éditeur ci-dessous:

 L'éditeur intégré à la console "data-displaymode =" Original "title =" L'éditeur intégré à la console "data- openoriginalimageonclick = "true" /> </a> </p>
<p> Bien que vous ayez accès à un large éventail de fonctionnalités de Kinvey à partir de fonctions écrites dans l'éditeur intégré à la console, celui-ci est généralement conçu pour des fonctions simples ou de petits éléments de logique applicative. </p>
<p> Vous démarrez un nouveau script de logique métier dans la console en choisissant d'abord le type de logique métier que vous souhaitez créer à partir du hook de navigation – collection, du point de terminaison personnalisé ou du code commun (pour en savoir plus sur ceux-ci). </p>
<p> <a href=  logique métier "data-displaymode =" Original "title =" logique métier "data-openoriginalimageonclick =" true "/> </a> </p>
<p> Une fois que vous avez cliqué sur" Créer ", vous avez sélectionné le type de logique métier. intention de créer, vous choisissez l'option "éditeur de code". </p>
<p> <a href=  éditeur de code "data-displaymo de = "Original" title = "éditeur de code" data-openoriginalimageonclick = "true" /> </a></p>
<h3 id= Approche n ° 2 – Création de fonctions en local avec Flex Services

Bien que l'éditeur intégré à la console fonctionne bien pour des fonctions simples, dans la plupart des cas Dans certains cas, vous souhaiterez pouvoir créer des fichiers multiples pour diviser des portions de code complexes afin de le rendre plus facile à gérer ou importer les bibliothèques npm nécessaires pour répondre aux exigences. Dans ces cas, Kinvey vous permet de créer et de créer votre logique métier localement à l'aide des services Flex .

Les services Flex s'exécutent sur le FlexService Runtime qui repose sur Node.js. Cela signifie que vous pouvez installer, exécuter et développer localement le runtime, puis déployer votre service sur le runtime exécuté sur le cloud Kinvey. Tout cela est géré via la Kinvey CLI .

Je sais que je viens de vous envoyer beaucoup d’informations et de terminologie, laissez-moi clarifier en passant en revue les points clés que vous devez savoir: [19659024] Les services Flex sont construits en JavaScript – Cela signifie que vous possédez peut-être déjà toutes les compétences nécessaires pour créer un service Flex, car il ne nécessite ni langage, ni outil propriétaires. Vous pouvez créer et déployer sur les branches 6.x, 8.x ou 10.x sur Node.js et importer et accéder à toutes les bibliothèques npm dont vous avez besoin.

  • Les fonctions du service Flex peuvent accéder à toutes les fonctionnalités de Kinvey ou appeler des services externes – Les services Flex sont extrêmement puissants car vous pouvez effectuer des opérations complexes telles que l'appel d'API externes ou de systèmes hérités et leur intégration à la fonctionnalité interne de Kinvey (collections, authentification, etc.). Étant donné que les services Flex s'exécutent sous les informations d'identification de la clé principale dans Kinvey, ils peuvent effectuer toutes les actions nécessaires pour implémenter les fonctionnalités nécessaires.
  • Le principal aspect d'un service Flex est de savoir où et comment vous souhaitez l'insérer dans votre application Kinvey. 19659027] Les services Flex conçus pour développer ou étendre les connecteurs de données intégrés de Kinvey sont appelés FlexData . Ces fonctions doivent implémenter tous les différents événements de données tels que onGetById, onInsert, onDeleteById, onDeleteAll et de car le service devient essentiellement le système d'enregistrement d'une collection Kinvey.

  • Les services Flex qui implémenteront la personnalisation la logique d'authentification est appelée FlexAuth . Ces fonctions personnalisées peuvent être intégrées à Mobile Identity Connect
  • de Kinvey pour développer ou étendre les connecteurs d'authentification intégrés.
  • Les services Flex appelés aussi points de terminaison HTTP ou intégrés via des points d'ancrage de collecte sont simplement appelés FlexFunctions . Un point de terminaison HTTP est simplement une fonction sans serveur appelée de la même manière que toute demande d'API REST standard (bien que les Kinvey SDK fournissent également des méthodes simples pour appeler des points de terminaison Kinvey). Plutôt que d'être appelés manuellement, ils peuvent également être exécutés selon un calendrier défini dans Kinvey. Les crochets sont associés aux interactions de données et peuvent être conçus pour s'exécuter à des points prédéterminés avant et / ou après une interaction avec des données d'une collection Kinvey. Nous en discuterons davantage dans un instant.
  • Je pense qu'il est assez évident que couvrir tout ce que vous devez savoir pour créer et déployer FlexServices est bien plus que ce que je peux couvrir ici. Le Kinvey DevCenter couvre une grande partie des informations. J'ai également écrit un tutoriel complet avec un certain nombre d'exemples complets et détaillés qui peuvent également constituer une bonne référence pour vous aider.

    Il convient de noter que les services Flex peuvent être créés et exécutés par vous-même. environnement interne sous External Flex si vous le souhaitez. Toutes les fonctionnalités et exigences ci-dessus (c.-à-d. Node.js, Flex SDK) sont identiques une fois connecté à Kinvey. L'avantage serait que la sécurité ou d'autres exigences de l'application ne permettent pas à certains codes d'être hébergés dans le cloud. Ceci est également utile pour accélérer le développement et les tests locaux, un sujet que je couvre dans un tutoriel .

    Approche n ° 3 – Création de services à l'aide de RapidData et RapidAuth

    Les méthodes que j'ai décrites jusqu'à présent nécessitent beaucoup de codage – et plus précisément JavaScript – capacité. Cependant, certaines des fonctionnalités sans serveur les plus puissantes de Kinvey ne nécessitent aucun code. Ils vous permettent de créer des connecteurs sans serveur vers une longue liste de sources de données externes et tierces ou de sources d'authentification. Ces connecteurs sont construits à l'aide de la fonctionnalité RapidData de Kinvey (pour les connecteurs de données) et de la fonction RapidAuth (pour les connecteurs d'authentification).

    Les services RapidData offrent des connecteurs intégrés à un réseau de sources de données d'entreprise. Pour créer un nouveau service RapidData, cliquez sur l'onglet "Catalogue de services" dans la console Kinvey, puis sur le bouton "Ajouter un service".

     ajoutez un service "data-displaymode =" Original " title = "ajouter un service" data-openoriginalimageonclick = "true" /> </a> </p>
<p> Choisissez ensuite RapidData dans la liste des types de service. </p>
<p> <a href=  type de service "data-displaymode =" Original "title =" type de service "data-openoriginalimageonclick =" true "/> </a> </p>
<p> À partir de là, vous pouvez choisir l'un des connecteurs de données fournis – REST, Pipeline de données hybride DataDirect, Salesforce, SAP, Sharepoint, ProgressData ou Microsoft SQL Server. </p>
<p> <a href=  connecteurs de données "data-displaymode =" Original "title =" connecteurs de données "data-openoriginalimageonclick =" true "/> </a> </p>
<p> Dans ce cas, vous devez configurer le service pour qu'il se connecte à la source que vous avez choisie. La méthode utilisée dépend du type de source et de son emplacement, mais Vous pouvez parcourir un exemple de <a href= mon tutoriel pour comprendre à quel point c'est simple.

    Avant de passer à RapidAuth, je dois noter que, pour de nombreuses entreprises dont les sources de données sont protégées par un pare-feu , configurer des choses comme RapidAuth a toujours été difficile. Cependant, une nouvelle fonctionnalité appelée Kinvey Secure Gateway vise à faciliter la connexion aux données stockées derrière un pare-feu. Lisez cet article pour en savoir plus à ce sujet.

    RapidAuth fonctionne de la même manière mais pour les services d'authentification. Suivez les deux premières étapes décrites ci-dessus, puis choisissez parmi les connecteurs d'authentification disponibles, notamment Active Directory, LDAP, SAML-Redirect, OAuth2 et OpenID.

     connecteurs d'authentification "data-displaymode =" Original "title =" connecteurs d'authentification "data-openoriginalimageonclick =" true "/> </a> </p>
<p> Là encore, leur configuration dépend de la nature du connecteur que vous souhaitez utiliser et de son emplacement, mais vous pouvez parcourir exemple qui se connecte à Active Directory dans <a href= mon tutoriel ici pour avoir une idée de la facilité avec laquelle il peut être.

    Approche n ° 4 – Création d'une logique métier personnalisée dans votre propre environnement

    J'ai déjà mentionné que vous pouvez créer et exécuter FlexServices dans votre propre environnement hébergé plutôt que dans le nuage Kinvey.Toutefois, si vous avez du code ou une infrastructure existante que vous devez utiliser ou ne possèdent pas l'expertise en JavaScript, il y a une autre option que je souhaitais expliquer mention spéciale – External Business Logic .

    Les fonctions External Business Logic peuvent être écrites dans n'importe quel langage, à condition que le service implémente l'interface attendue (telle que définie par l'API HTTP RPC). Si vous pensez que la logique applicative externe convient parfaitement, obtenez des informations plus détaillées sur son fonctionnement et son utilisation dans la documentation

    .

    . Utilisation de votre code sans serveur

    Jusqu'à présent, nous avons parlé de toutes les façons différentes que vous pouvez créer, mais Kinvey dispose de plusieurs façons différentes d'utiliser ces services. Jetons un coup d'œil.

    Collection Hooks

    Les magasins de données en nuage NoSQL dans Kinvey sont appelés des collections. Les points d'ancrage de collection sont des fonctions conçues pour être appelées à certains moments (événements) du processus d'interaction avec les données d'une collection. En d'autres termes, les crochets de collection vous permettent d'écrire du code piloté par les événements en fonction des interactions de données. Il existe deux groupes de points d'ancrage, ceux qui se produisent avant que vous n'interagissiez avec les données et ceux qui se produisent après.

    Par exemple, vous pouvez effectuer un nettoyage des données pour les formater correctement afin qu'elles soient utilisées par l'interface de votre application. après qu'il soit récupéré. Dans ce cas, vous créez une fonction à l'aide de l'une des méthodes décrites ci-dessus qui doit être déclenchée onPostFetch qui est le crochet appelé après que les données ont été extraites de la collection.

    La liste des types de crochets pris en charge avant et après est visible dans l'image ci-dessous:

     crochets de collection "data-displaymode =" Original "title =" crochets de collection "data-openoriginalimageonclick =" true "/> </a> </p>
<p> Une fois qu'un crochet de collection est affecté à une collection particulière, il s'exécute automatiquement dès que le type de demande spécifié (extraction, enregistrement, suppression) est appelé sur la collection. </p>
<h3 id= Custom EndPoints

    endpoint est essentiellement une fonction qui s'exécute uniquement lorsqu'elle est appelée via l'API REST ou à l'aide de l'un des SDK Kinvey . La fonction peut prendre des paramètres et renvoyer une valeur.

    Les appels d'API REST vers un terminal personnalisé doivent obligatoirement toujours être une demande POST, mais le moyen le plus simple d'appeler un Le point de terminaison ustom se fait via l’un des SDK utilisant la méthode Kinvey.CustomEndpoint.execute () . Pour un exemple d'utilisation de cette méthode, voir la documentation ou celle que je couvre également brièvement dans un didacticiel précédent .

    Code planifié

    Le code planifié est un point de terminaison personnalisé. cela s'appelle sur un horaire. Dans la console Kinvey, vous choisissez la fonction que vous souhaitez exécuter, l'une des options d'intervalle (c'est-à-dire la fréquence à laquelle elle doit s'exécuter) et enfin une date et une heure de début, comme indiqué ci-dessous.

     code planifié "data-displaymode =" Original "title =" code planifié "data-openoriginalimageonclick =" true "/> </a> </p>
<p> Le travail continuera de s'exécuter dans l'intervalle indiqué jusqu'à ce qu'il soit supprimé, sauf" " une fois "intervalle est choisi, auquel cas il ne sera exécuté qu'une fois à la date et à l'heure indiquées. </p>
<h3 id= Code commun

    Le code commun est un moyen simple de créer des fonctions réutilisables dans Kinvey Business Logic. Comme indiqué ci-dessus, la logique applicative créé à l’aide de l’éditeur intégré à la console est un fichier unique. Cependant, il est parfois nécessaire d’appeler la logique partagée à travers plusieurs scripts de logique d’entreprise, ce que le code commun est conçu pour résoudre. Cependant, il est recommandé, si vous créez quelque chose de raisonnablement complexe, vous utilisez FlexServices. Pour plus de détails sur la création et l'utilisation de code commun, lisez la documentation .

    Serverless is More

    Ok, vous allez me pardonner le jeu de mots ringard, mais il y a beaucoup à gagner en comprenant et en utilisant la fonctionnalité sans serveur de Kinvey. Vous bénéficierez d'avantages tels que l'évolutivité que peut offrir le code basé sur un nuage, la maintenabilité et la réutilisabilité d'une architecture de microservice et la sécurité accrue du code de la logique de gestion sortant de votre code frontal peu sécurisé.

    The Kinvey high La plate-forme de productivité offre toute la gamme des fonctionnalités attendues d'une plate-forme sans serveur, mais de manière flexible et facile à utiliser. J'ai hâte de voir ce que vous construisez avec elle.




    Source link