J2EE et les Enterprise Java Beans (EJB)
1
7.8/10
J2EE : les Enterprise Java Beans (EJB)
ARCHITECTURE LOGICIELLE / 22 août 2017

Les Enterprise java Beans (EJB) ont émergé en 1998 afin de proposer aux programmeurs un outil qui leur simplifie la conception et le déploiement d’une couche métier. Avec leur version 2.0, les EJB ont introduit a possibilité de travailler directement sur les données stockées dans une base de données relationnelle. Mais cette évolution et d’autres avec elle, s’est faite au prix d’une certaine lourdeur de mise en œuvre. En effet, les composants 2.0 doivent implémenter de nombreuses interfaces. En conséquence, leur déploiement nécessite d’envoyer au serveur d’applications des fichiers de description relativement lourds rédigés en langage XML. Les 4 grands principes de base Voila pourquoi la version 3.0 publiée en 2006 a tenté de simplifier l’utilisation et le déploiement des Enterprise java Beans en définissant une approche basée sur quatre principes : Les fichiers XML servant au déploiement ont été remplacés par des annotations placées directement dans le code des EJB. Ce principe s’inspire directement des apports apparus dans la version 1.5 de Java SE. Et plus précisément de la définition et de l’exploitation des annotations ; Afin d’assurer les interactions entre les EJB et le serveur d’applications où ils sont installés, il n’est plus nécessaire d’implémenter de nombreuses interfaces…

JEE - JSP - Servlet – JSF
1
8.6/10
JEE : architecture JSP / Servlet / JSF
GÉNIE LOGICIEL / 28 mai 2017

JEE (Java Entreprise Edition) est une plate-forme fortement orientée serveur pour le développement et l’exécution d’applications distribuées. Il s’agit de la version entreprise de la plate-forme “Java“. Elle se compose de l’environnement “JSE” ainsi que de nombreuses API et composants destinés à une utilisation “côté serveur”. Il s’agit donc d’une évolution du Java. Un des avantages majeurs de JEE est de faire abstraction de l’infrastructure d’exécution. En effet, JEE spécifie les rôles et les interfaces pour les applications, ainsi que l’environnement d’exécution dans lequel les applications sont déployées. Cela permet aux développeurs d’application de ne pas avoir à reprogrammer les services d’infrastructure. Et les différentes applications de JEE Le JavaServer Pages (JSP) est une technique basée sur le langage Java. JSP permet aux développeurs de créer dynamiquement du code HTML, XML ou tout autre type de page web. De cette manière, du code Java et certaines actions prédéfinies peuvent être ajoutés dans un contenu statique. Depuis la version 2.0 des spécifications, la syntaxe JSP est totalement conforme au standard XML. Par ailleurs, la syntaxe JSP permet aussi d’ajouter des balises XML, appelées actions JSP. Ces actions peuvent être utilisées notamment pour appeler des fonctions. Il est également possible de créer…

Programmation orientée aspect
2
7.4/10
Programmation Orientée Aspect
GÉNIE LOGICIEL / 28 mai 2017

On oppose généralement la programmation orientée objet et la programmation orientée aspect. Les techniques de conception logicielles actuelles tentent d’architecturer les applications en modules a priori indépendants les uns des autres. En effet, ces modules gèrent des aspects différents du système conçu. C’est le principe même de la programmation orientée objet où le logiciel est découpé en unité de sens : les objets. Mais dans la pratique, on s’aperçoit que ces couches logicielles sont intimement liées : c’est l’entrecroisement des aspects techniques. Ainsi, une couche logicielle initialement dédiée à gérer la logique métier applicative, va se retrouver dépendante de modules gérant les aspects transactionnels, journalisation, etc. Se limiter aux méthodes de programmation ‘classiques’ conduit ainsi à une complexification du code, de son développement et de sa maintenance. Il a donc été introduit un nouveau concept permettant de gérer les aspects transversaux d’une application : la programmation orientée aspect. L’inversion de contrôle mise en œuvre par la programmation par aspect permet d’extraire les dépendances entre objets/modules (aspects techniques entrecroisés). Ces dépendances sont gérées depuis l’extérieur de ces modules. Elles sont spécifiées dans des composants du logiciel nommés aspects. AspectJ et la programmation orientée aspect AspectJ, une extension à Java, permet d’ajouter…

Vagrant
1
7.7/10
Vagrant
GÉNIE LOGICIEL / 27 mai 2017

Vagrant est un logiciel libre et open-source pour la création et la configuration d’environnements virtualisés. En effet, il permet de créer des machines virtuelles qui seront utilisées pendant la phase de développement d’une application. Elles permettent d’obtenir l’environnement souhaité sans pour autant changer la configuration de la machine du développeur. De plus, la configuration de la machine virtuelle sera simple à exporter ou à importer. En effet, le logiciel va stocker la description complète de l’environnement de développement dans un fichier écrit en Ruby. Développé par Mitchell Hashimoto et John Bender depuis début 2010, le groupe HashiCorp a été créé afin d’assurer le développement du logiciel à temps plein. Ce logiciel s’avère être un outil qui simplifie la création ainsi que la gestion d’environnements virtualisés. Vagrant permet de travailler dans un environnement reproductible avec les mêmes versions quelles que soient les dépendances. Il s’avère d’ailleurs compatible avec la majorité des systèmes d’exploitation actuels, puisqu’il utilise le principe de virtualisation. Ainsi, un développeur travaillant sous Mac aura accès au même environnement qu’un développeur travaillant sous Windows ou , et ceci en conservant son IDE favori. Comment Vagrant fonctionne-t-il ? Vagrant est une surcouche développée sur des solutions de virtualisation telles que…

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 ». La méthode Scrum est donc donc considérée 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…