Difference between revisions of "VT2020-Ballerina-Fiche"

From air
Jump to navigation Jump to search
(Created page with "'''Ballerina''' est un langage de programmation natif pour le cloud, proposant nativement des solutions d'intégration pour les micro-services. == Présentation == == Rappel...")
 
Line 1: Line 1:
 
'''Ballerina''' est un langage de programmation natif pour le cloud, proposant nativement des solutions d'intégration pour les micro-services.
 
'''Ballerina''' est un langage de programmation natif pour le cloud, proposant nativement des solutions d'intégration pour les micro-services.
  +
  +
== Abstract ==
  +
Ballerina is a new programming language that aims to ease the Integration phase of software development for developers. Indeed as application development evolves, it switches from a monolithic architecture to a serverless, micro-services-oriented one. This means that one program will have to communicate with many others in order to work and it can be extremely difficult, as each program can have its own specificities (protocol, ...). Ballerina thanks to its "integration first" philosophy can help answer this issue.
   
 
== Présentation ==
 
== Présentation ==
  +
Ballerina est un langage open-source créé par WSO2 en 2017. WSO2 est une entreprise spécialisée dans la création de solutions open-source pour l'intégration de micro-services. Le langage contrairement aux existants qui sont plus anciens, a placé au cœur de sa philosophie que les applications vont créer et communiquer avec des APIs. De ce fait, il va intégrer nativement des concepts propres aux micro-services tels que les endpoints, HTTP, les services, les ressources etc.
  +
Mais également : <ref name="lemagit">[https://www.lemagit.fr/conseil/Ballerina-un-langage-qui-accelere-le-developpement-de-microservices Le Mag IT]</ref>
  +
* Support de container : il est facile de créer automatiquement un Dockerfile, le packager dans une image et l'exécuter comme un container;
  +
* Fonctionnalités serverless : N'importe quelle fonction d'un programme Ballerina peut être transformé en endpoint, ainsi chaque fonction peut être vue comme un micro-service indépendant;
  +
* Sécurité : Ballerina possède des outils pour se prémunir contre les injections SQL, et d'autres attaques;
  +
* Documentation et tests : Docerina génère la documentation au format HTML, bien qu'elle puisse s'étendre à d'autres formats. Le framework de test automatisé de Testerina permet d'écrire des tests unitaires.
  +
   
 
== Rappels ==
 
== Rappels ==
  +
=== Micro-services ===
 
  +
Une architecture dite en "micro-services" est une architecture logicielle que l'on peut opposer à une architecture dite "monolithique". Le principe réside en le fait de découper un programme en plusieurs petits blocs autonomes et indépendants appelés "services". Ce découpage a plusieurs avantages et notamment :
=== Microservices ===
 
  +
* Une plus grande flexibité comme chaque bloc est indépendant;
  +
* Une plus grande tolérance aux fautes, en effet si un service cesse de fonctionner le reste de l'application fonctionnera;
  +
* Une réduction de la complexité, chaque service servant à une tâche en particulier nous n'avons pas besoin d'y ajouter la complexité du reste de l'application.
   
 
=== Intégration ===
 
=== Intégration ===
  +
L'intégration est le fait de faire communiquer plusieurs micro-services entre eux. En effet contrairement à une architecture monolithique où tout est "interne" au programme, dans une architecture micro-services nous allons devoir communiquer avec des services externes.
  +
Il faut donc prévoir au préalable quel protocole utiliser et comment formater une requête. Mais également comment interpréter et formater le résultat.
   
 
== Pourquoi Ballerina répond à un vrai problème ==
 
== Pourquoi Ballerina répond à un vrai problème ==
  +
   
   
Line 15: Line 31:
 
: ''Une démonstration du langage et un guide d'installation du langage sont disponibles [[VT2020-Ballerina-Demo|ici]]''.
 
: ''Une démonstration du langage et un guide d'installation du langage sont disponibles [[VT2020-Ballerina-Demo|ici]]''.
   
  +
== Bibliographie et Références ==
  +
<references />
   
 
==Veille Technologique 2020==
 
==Veille Technologique 2020==

Revision as of 19:06, 22 November 2020

Ballerina est un langage de programmation natif pour le cloud, proposant nativement des solutions d'intégration pour les micro-services.

Abstract

Ballerina is a new programming language that aims to ease the Integration phase of software development for developers. Indeed as application development evolves, it switches from a monolithic architecture to a serverless, micro-services-oriented one. This means that one program will have to communicate with many others in order to work and it can be extremely difficult, as each program can have its own specificities (protocol, ...). Ballerina thanks to its "integration first" philosophy can help answer this issue.

Présentation

Ballerina est un langage open-source créé par WSO2 en 2017. WSO2 est une entreprise spécialisée dans la création de solutions open-source pour l'intégration de micro-services. Le langage contrairement aux existants qui sont plus anciens, a placé au cœur de sa philosophie que les applications vont créer et communiquer avec des APIs. De ce fait, il va intégrer nativement des concepts propres aux micro-services tels que les endpoints, HTTP, les services, les ressources etc. Mais également : <ref name="lemagit">Le Mag IT</ref>

  • Support de container : il est facile de créer automatiquement un Dockerfile, le packager dans une image et l'exécuter comme un container;
  • Fonctionnalités serverless : N'importe quelle fonction d'un programme Ballerina peut être transformé en endpoint, ainsi chaque fonction peut être vue comme un micro-service indépendant;
  • Sécurité : Ballerina possède des outils pour se prémunir contre les injections SQL, et d'autres attaques;
  • Documentation et tests : Docerina génère la documentation au format HTML, bien qu'elle puisse s'étendre à d'autres formats. Le framework de test automatisé de Testerina permet d'écrire des tests unitaires.


Rappels

Micro-services

Une architecture dite en "micro-services" est une architecture logicielle que l'on peut opposer à une architecture dite "monolithique". Le principe réside en le fait de découper un programme en plusieurs petits blocs autonomes et indépendants appelés "services". Ce découpage a plusieurs avantages et notamment :

  • Une plus grande flexibité comme chaque bloc est indépendant;
  • Une plus grande tolérance aux fautes, en effet si un service cesse de fonctionner le reste de l'application fonctionnera;
  • Une réduction de la complexité, chaque service servant à une tâche en particulier nous n'avons pas besoin d'y ajouter la complexité du reste de l'application.

Intégration

L'intégration est le fait de faire communiquer plusieurs micro-services entre eux. En effet contrairement à une architecture monolithique où tout est "interne" au programme, dans une architecture micro-services nous allons devoir communiquer avec des services externes. Il faut donc prévoir au préalable quel protocole utiliser et comment formater une requête. Mais également comment interpréter et formater le résultat.

Pourquoi Ballerina répond à un vrai problème

Installation et Utilisation

Une démonstration du langage et un guide d'installation du langage sont disponibles ici.

Bibliographie et Références

<references />

Veille Technologique 2020