Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction aux technologies JAVA

Introduction aux technologies JAVA

Introduction aux technologies java:
*AOP (Aspect Oriented Programming)
*Apache maven
*oracle ADF (Application Development Framework)
*Spring Framework
*AspecJ
*Vaadin Framework

Réalisé par: Radhouene Rouached
https://www.linkedin.com/pub/radhouene-rouached/69/b76/625

radhouene rouached

September 21, 2015
Tweet

More Decks by radhouene rouached

Other Decks in Technology

Transcript

  1. • Programmation Orientée Aspect POA est une nouvelle manière de

    structurer les applications. Elle est applicable sur les langages procédural et les langages orientés objet. Elle permet d’améliorer les paradigmes utilisés en essayant de les résoudre, , si une classe est une responsabilité, nous pouvons dire qu'un aspect est une fonctionnalité. Un aspect est une entité logicielle qui capture une fonctionnalité transversale à une application. 3
  2. • L'AOP utilise plusieurs concepts qui lui sont propres :

    • Point d'exécution (Joinpoint) : aussi appelé point de jonction, c'est un endroit particulier où il est possible d'invoquer un greffon dans le flot des traitements des composants. Potentiellement n'importe quelle instruction peut être un point d'exécution mais l'AOP propose un sous-ensemble bien définit qui constitue les points d'exécution utilisables. • Point de coupe (jointcut) : aussi appelé point d'action ou point de greffe ou point de recouvrement, c'est l'endroit où le greffon sera précisément invoqué lors du tissage. Un point de coupe est un sous ensemble défini de point de jonction. • Programmation Orientée Aspect Greffon (advice) : aussi appelé perfectionnement, il contient des traitements techniques qui seront insérés à des jointcuts et exécutés Aspect (aspect) : encapsule une fonctionnalité transverse et est composé d'un ou plusieurs points de coupe et greffons Tissage (wearing) : action d'insertion des aspects Tisseur (weaver) : outil qui réalise des tissages des aspects Inter-type déclarations : permet de déclarer de nouveau membres dans une classe 4
  3. Il permet notamment : • d'automatiser la compilation, les tests

    unitaires et le déploiement des applications du projet. • de gérer les dépendances des bibliothèques nécessaires au projet. • de générer des documentations du projet : rapport de compilation et des tests unitaires, javadoc. • de générer un site web complet du projet. • Maven Maven est basé sur le concept de « Project Object Model » (POM). Le développement et la gestion du projet sont contrôlés depuis le POM. Il permet de faciliter et d'automatiser la gestion et la construction d'un projet java. 5
  4. • Aspect J est une extension Java pour implémenter la

    Programmation Orienté-Aspect (POA) • AspectJ permet de réduire la taille d'un programme sans perte de performance, et simplifie la conception d'autant. Il améliore la modularité et la réusabilité du code. Il est particulièrement utile pour déboguer de grands projets. • Les déclarations inter-types, Elles permettent de déclarer des membres dans des classes, ou de changer la relation d'héritages entre classes. Le code suivant montre quelques exemples de déclaration inter-types. Il s'agit d'ajouter un attribut name de type String et deux méthodes: • AspectJ En utilisant Aspect 6
  5. • Spring met en œuvre l'AOP de deux façons :

    • Spring AOP : solution de Spring reposant sur des proxys créés dynamiquement • AspectJ : solution open source du projet Eclipse qui permet un tissage des aspects au runtime ou à la compilation par enrichissement du bytecode. Depuis la version 2.0, Spring propose un support AspectJ pour la mise en œuvre de l'AOP en complément de sa propre solution reposant sur les proxys. • L'AOP peut être mise en œuvre via Spring AOP ou AspectJ de plusieurs manières : • Avec AspectJ avec un tissage au chargement (Load Time Weaving) ou à la compilation • Avec ou sans les annotations AspectJ avec Spring AOP • Avec un mixte de Spring AOP et AspectJ • AspectJ Syntaxe AspectJ Annotation Style Definition du context en XML Tissage par Spring Non Oui Oui Tissage par AspectJ Oui Oui Non 7
  6. • Spring Framework Spring est un framework libre pour construire

    et définir l'infrastructure d'une application java, disponible pour .Net Framework (Spring .Net). C'est un légers conteneur IOC (Inversion Of Control) et plateforme AOP(Aspect Oriented Programming), qui prends en charge les technologies web existantes.  Spring Framework Architecture • Spring Core Container : regroupe les modules de base pour mettre en oeuvre le conteneur. • AOP and Instrumentation : permet de mettre en oeuvre l'AOP. • Data Acces/Integration : regroupe les modules d'accès aux données. • Web : regroupe les modules pour le développement d'applications web. • Test : propose des fonctionnalités pour les tests automatisés avec Spring. 8
  7. • Oracle ADF(Application Developement Framework) est un cadre de bout-en-

    bout Java EE qui simplifie le développement d'applications en fournissant des services out-of-the-box infrastructure et une expérience de développement visuel et déclaratif. • Oracle ADF 9 • Les principales différences entre ADF Essentials et la version payante se situent au niveau de la vue. Alors qu’ADF est orienté vers le développement d’applications multicanal, ADF Essentials se concentre sur le Web et ne dispose pas des outils pour le développement mobile, Desktop et Business Intelligence (BI) comme son homologue.
  8. • Vaadin Le framework Vaadin est un framework de développement

    pour application web Java conçu pour permettre la création et la maintenance facile d'interfaces utilisateur de haute-qualité. Ce Framework incorpore la programmation évènementiel vu qu’il est très proche du développement des GUI. Les applications Vaadin peuvent être déployé en tant que Java servlets pour n’importe quel Java web server, y inclus Google App engine. Les Applications peuvent être déployer comme portails a eXo Platform. Vaadin peut être intégrer dans Liferay portail. 10