Développement d'API REST - Qu'est-ce que le contrat d'abord?

Dans cet article, nous examinerons une approche pour développer une API REST basée sur un contrat.

Lors du développement d'une bonne API REST, il est important d'avoir d'excellents microservices. L'approche Contract First vous aidera à développer un bon contrat avant sa mise en œuvre. Mais ce n'est pas si simple!


Vous apprendrez


  • Qu'est-ce qu'une approche Contract First pour développer une API REST?
  • Quels sont les avantages de l'approche Contract First?
  • Quels sont les inconvénients de l'approche Contract First?
  • Quand utilisez-vous l'approche Contract First?

API REST


Il s'agit du troisième article d'une série d'articles sur l'API REST:


Concept de services Web


Il existe plusieurs types de services Web, notamment REST et SOAP. Pour chaque service il y a:

  • Le fournisseur de services qui fournit le service
  • Le consommateur du service qui l'utilise

Le consommateur doit connaître les détails de la prestation fournie. Pour cette raison, un contrat doit être conclu. Le contrat de service définit:

  • Quels sont les tenants et les aboutissants du service?
  • À quelle URL le service est-il disponible?
  • Comment envoyer une autorisation?

Contrat première approche


Avec l'approche « Contract First » (contrat d'abord), vous définissez d'abord le contrat puis implémentez le service. Regardons un exemple.

Wsdl


Examinons d'abord l'utilisation de WSDL, un langage de définition de services Web. Voici un exemple d'utilisation:



WSDL est couramment utilisé avec les services Web SOAP / XML. Dans ce cas, vous définissez généralement:



Qu'entend-on par contrat?


Lorsque nous commençons par conclure un contrat, nous définissons le WSDL puis le partageons avec notre consommateur. Tout cela peut se produire avant même d'introduire le service et de le rendre disponible.

Le contrat indique au consommateur comment l'échange de demandes et de réponses est attendu. Une fois un contrat conclu, un fournisseur de services peut travailler pour fournir un service conforme au contrat. Un consommateur de services peut travailler au développement d'une application pour son utilisation.

Avantages de l'approche du contrat d'abord


Les équipes peuvent se développer en parallèle


Le codage étant basé sur un contrat, les prestataires de services et les groupes de consommateurs comprennent clairement l'approche et les détails de la communication. Par conséquent, le développement peut se produire simultanément.

Les équipes savent à quoi s'attendre.


Le codage étant basé sur un contrat, les équipes de producteurs et de consommateurs ont une idée des attentes de chacun. Par conséquent, si les tests intergroupes ne sont pas possibles en raison de taux de développement différents, un logiciel de remplacement peut être utilisé pour modéliser le comportement de l'autre partie sur la base du contrat.

Compatibilité multiplateforme


Étant donné que les paramètres du service dépendent uniquement du contrat, la structure logicielle réelle utilisée pour développer le service n'a pas beaucoup d'importance. Le fournisseur de services et le consommateur de services peuvent utiliser des technologies différentes.

Permet la réutilisation des schémas


Les schémas utilisés pour définir un contrat de service sont bien définis dans le WSDL. Par conséquent, si des parties des services sont répétées dans d'autres services, les schémas correspondants peuvent également être réutilisés.

Inconvénients de l'approche Contract First


Coûts initiaux supplémentaires requis


La plupart de ces coûts seront centrés sur un accord de service. Vous devez vous assurer que le contrat est clairement défini et ne change pas très souvent.

Mécanisme de renouvellement et d'échange de contrats


Pendant la durée d'utilisation du service, si vous mettez à jour le contrat, cela affecte toutes les autres parties intéressées. Par conséquent, il doit exister un mécanisme approprié pour transférer les modifications aux différents consommateurs.

Sur cette question, il y a une vidéo d'auteur.

Résumé


Dans cet article, nous avons discuté de l'approche Contract First dans le contexte des services Web.

Lecture complémentaire


Développement rapide d'applications avec la première approche de l'API à l'aide du générateur Open-API

Implémentation d'une méthodologie de conception API-First

Source: https://habr.com/ru/post/fr483206/


All Articles