Propriétés ACID
1
6.6/10
Les propriétés ACID
BASES DE DONNÉES / 27 mai 2017

Ce mémoire aborde les problématiques ACID dans le contexte du big data. Les propriétés ACID (atomicité, cohérence, isolation et durabilité) forment un ensemble de propriétés dont l’objectif est de garantir la fiabilité d’exécution d’une transaction informatique. En matière de bases de données, on peut identifier une transaction informatique comme étant une opération effectuée sur les données. Il s’agira par exemple d’un transfert de fonds depuis un compte bancaire vers un autre. Bien que ce transfert implique plusieurs actions telles le débit d’un compte et le crédit d’un autre, il s’agit finalement d’une seule transaction. A la fin des années 1970, Jim Gray a défini un ensemble de propriétés à même de garantir des transactions fiables.  Il a lors développé un certain nombre de technologies pour les mettre en œuvre automatiquement. Puis, en 1983, Andreas Reuter et Theo Härder ont créé l’acronyme ACID afin de désigner ces propriétés. Que signifie concrètement ACID ? Atomicité La propriété d’atomicité assure qu’une transaction se fait soit au complet soit pas du tout. Si une partie de la transaction ne peut se faire, il faudra alors effacer toute trace de la transaction. Puis, remettre les données dans l’état où elles étaient avant la tentative de…

La méthode SCRUM
1
8/10
La méthode SCRUM
MÉTHODES AGILES / 26 mai 2017

La méthode Scrum se définit comme un schéma d’organisation de développement de produits complexes. En effet, ses créateurs la définissent comme un « cadre de travail holistique itératif qui se concentre sur les buts communs en livrant de manière productive et créative des produits de la plus grande valeur possible ». Il faut donc considérer la méthode Scrum comme un cadre méthodologique et non à proprement parler comme une méthode agile. Ceci s’explique par la prédictibilité imposée par un carnet de produit en préalable du développement. Ainsi que par l’adaptabilité limitée d’un sprint par le but immuable, donc en contradiction avec la troisième et la quatrième des valeurs Agiles. Expérimentée en 1993, la méthode SCRUM signifie « Mêlée » en anglais. Par ailleurs, il s’agit de loin la méthode Agile la plus utilisée dans le monde. Ainsi, elle bénéficie d’un nombre important de retours d’expérience. Les sprints de la méthode SCRUM Ce schéma d’organisation s’appuie sur le découpage d’un projet en boîtes de temps, nommées « sprints ». Ainsi, les sprints peuvent durer de quelques heures à un mois. La préférence allant à des sprints de deux semaines. Chaque sprint commence par une estimation suivie d’une planification opérationnelle, et se…

Unified Modeling Language (UML) et design patterns
1
7.6/10
UML & Design patterns
ARCHITECTURE LOGICIELLE / 26 mai 2017

UML pour Unified Modeling Language, est né en octobre 1994 au sein de la société Rational Software Corporation sur une idée de Grady Booch et de James Rumbaugh. La version 1.1 d’UML a été standardisée par l’OMG (Object Management Group) le 17 novembre 1997 suite à une demande de collaboration de plusieurs grande entreprises américaines. Parmi celles-ci, nous pouvons notamment citer Hewlett-Packard, IBM,vMicrosoft et Oracle. L’ Unified Modeling Language a été conçu pour modéliser différents types de systèmes, de taille quelconque et ceci pour tous les domaines d’application (gestion, science, temps réel, système embarqué). Ainsi, UML permet de diviser le système d’information (d’une organisation) entre un système métier et le système informatique. Le système métier doit modéliser les aspects statiques et dynamiques de l’activité selon une vision externe et une vision interne. De cette manière, le système métier ignore l’implémentation technique. De son côté, le système informatique recouvre la partie automatisée du système métier concrétisant les choix effectués parmi les différentes technologies disponibles. Les concepts manipulés sont les mêmes, pour chacun de ces deux niveaux d’abstraction. UML est fortement inspiré de l’approche 4+1 vues indépendantes (logique, composants, processus, déploiement et cas d’utilisation) définie par P. Kruchten. Il s’agissait alors d’exprimer les…

Web services REST
1
8.7/10
Web Services REST
WEB SERVICES / 25 mai 2017

Les web services REST font partie de la grande famille des services basés sur une technologie permettant à des applications de dialoguer à distance via Internet. Ceci se fait indépendamment des plates-formes et des langages sur lesquelles elles reposent. Pour ce faire, les services Web s’appuient sur un ensemble de protocoles Internet très répandus (XML, HTTP), afin de communiquer. Cette communication est basée sur le principe de demandes et réponses, effectuées avec des messages XML. Ce sont les documents WSDL (Web Service Description Language) qui décrivent les services web. Ceux-ci précisent les méthodes que le système peut invoquer, leurs signatures et les points d’accès du service (URL, port). Les services Web sont accessibles via SOAP, la requête et les réponses sont des messages XML transportés sur HTTP. Il existe probablement autant de définitions des Web Services que d’entreprises qui les créent. Mais presque toutes ces définitions ont un certain nombre de points communs. Premièrement, les services web proposent aux utilisateurs du Web des fonctionnalités pratiques grâce à un protocole Web standard (dans la plupart des cas, le protocole utilisé est SOAP). Deuxièmement, les Web Services offrent un moyen de décrire leurs interfaces suffisamment en détail pour permettre à un utilisateur…

Architectures n-tiers
1
7.7/10
Architectures N-tiers
ARCHITECTURE LOGICIELLE / 25 mai 2017

Les architectures n-tiers doivent permettre de pallier les limites des architectures trois tiers et de concevoir des applications puissantes et simples à maintenir. Ce type d’architecture permet de distribuer plus librement la logique applicative, ce qui facilite la répartition de la charge entre tous les niveaux. Cette évolution des architectures trois tiers met en œuvre une approche objet pour offrir une plus grande souplesse d’implémentation et faciliter la réutilisation des développements. Théoriquement, ce type d’architecture supprime tous les inconvénients des architectures précédentes. Elle permet l’utilisation d’interfaces utilisateurs riches et sépare nettement tous les niveaux de l’application. Elle offre de grandes capacités d’extension et facilite la gestion des sessions. L’appellation “n-tiers” peut laisser penser que cette architecture met en œuvre un nombre indéterminé de niveaux de services. Mais ces niveaux restent à un nombre maximum de trois (les trois niveaux d’une application informatique). En fait, l’architecture n-tiers qualifie la distribution d’applications entre de multiples services et non la multiplication des niveaux de service. Ainsi, l’architecture prend toujours en compte les trois niveaux d’abstraction d’une application. Rôle de la POO dans les architectures n-tiers Cette distribution est facilitée par l’utilisation de composants métier, spécialisés et indépendants, introduits par les concepts orientés objets…