Technologies


Le projet OpenPaaS::NG utilise des technologies modernes et des standards ouverts.


AngularJS est un framework JavaScript développé par Google. Il possède une grande communauté qui lui permet de bénéficier d'une pléthore de modules. Il est conçu pour séparer complètement le code métier et le code d'interaction utilisateur. Cela permet d'aider les développeurs à séparer correctement les problématiques ( application du SRP ), de tester correctement l'ensemble de l'application Web et de réutiliser les services métiers avec d'autres interfaces.


NodeJs sert en général de dispatcheur de requêtes puis d'agrégateur de résultats. Il fournit les ressources statiques (HTML Templates, clientside, javascript files, CSS files, images...) ainsi que l'API REST aux clients OpenPaaS. Il sert aussi de serveur websocket, assurant les fonctionnalités temps-réel de la plateform


MongoDB est une base de données NoSQL orientée documents qui permet entre autres de rajouter des clés sans reconfiguration. Les données sont manipulables à l'aide de JavaScript et d'autres langages. Cette base de données utilise également la réplication ce qui permet d'assurer la sécurité des données, et le sharding pour mettre en oeuvre la scalabilité.


Elasticsearch est un moteur de recherche, s'appuyant sur un puissant système d'indexation qui inclue notamment la possibilité de customiser les index. Il bénéficie aussi d'une grande scabilité. C'est pourquoi il est utilié par des géants de l'internet, tel que Github.


WebRTC est un projet qui permet aux navigateurs et aux applications mobiles d'avoir accès à la communication en temps réel via des APIs simples. La technologie WebRTC permet à un serveur central de mettre en relation des clients pour une communication pair-à-pair. Les pairs peuvent alors échanger des données et des flux audio et vidéo.


Cassandra est une base de données NoSQL orientée colonnes conçue notamment pour les bases de données très importantes installées sur plusieurs serveurs. Il permet d'éviter la perte de données en copiant automatiquement les données sur de multiples noeuds. C'est un outil utilisé par des sociétés d'envergure comme le CERN, eBay, Instagram, Netflix, Github, ...


Spark est un framework Open Source de calcul distribué pensé pour les grandes bases de données. Il est en général utilisé pour effectuer les opérations de data mining et machine learning sur un nombre important de données. Spark bénéficie d'un large nombre de contributeurs.