S T L - C P S - L e s p l u g i n s E c l i p s e. - Une Introduction - 2007, Frédéric Peschanski



Documents pareils
Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

Environnements de développement (intégrés)

Intégration de l interface graphique de Ptidej dans Eclipse

Projet de développement

ECLIPSE RCP. Introduction

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

Introduction à Eclipse

Bases Java - Eclipse / Netbeans

JOnAS Day 5.1. Outils de développements

Etude de la plateforme Eclipse

Comment paramétrer et sauvegarder les configurations d Altium Designer?

Java pour le Web. Cours Java - F. Michel

ECLIPSE ET PDT (Php development tools)

Applications distribuées: le retour du client "riche"

BIRT (Business Intelligence and Reporting Tools)

Export et Import de modèles ICAR sous Trnsys 17

Android 4 Les fondamentaux du développement d'applications Java

CONSERVATOIRE NATIONAL DES ARTS ET METIERS CENTRE REGIONAL RHÔNE-ALPES CENTRE D'ENSEIGNEMENT DE GRENOBLE EXAMEN PROBATOIRE

«Centreon Status Map» Conception et développement d une application j2se

Construire des plug-ins pour SAS Management Console SAS 9.1

Eclipse atelier Java

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Joomla! Création et administration d'un site web - Version numérique

JOnAS 5 Enterprise OSGi javaee compliant

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Un serveur d'archivage

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Documentation module hosting

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Quelques mots à propos de Sage

Machine virtuelle Java pour Palm TX

Vulgarisation Java EE Java EE, c est quoi?

Installation et prise en main

Tutorial pour une application simple

I-JVM: une machine virtuelle Java pour l isolation de composants dans OSGi

Configuration du nouveau Bureau Virtuel (BV) collaboratif de Lyon I

FileMaker Server 14. Aide FileMaker Server

Procédure d installation

Procédure d'installation complète de Click&Decide sur un serveur

Approche Contract First

Exposé Systèmes Réseaux

Installer Enterprise Miner 5.1 en SAS environnement Windows

TP1 : Initiation à Java et Eclipse

Datalift. + + Architecture Modularité Déploiements. d j = 09/04/2015 Laurent BIHANIC

Déployer les Fonts, Icones, et Images avec Forms Services 11G

Développement de plug-ins Eclipse en contexte agile

Etude de cas : PGE JEE V2

Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et

LES ACCES DISTANTS ET SECURISES. Installation et utilisation du client. Cisco AnyConnect VPN Client. pour Windows

Tutoriel code::blocks

KWISATZ MODULE PRESTASHOP

Le moteur de workflow JBPM

CalDav Manager : Gestionnaire d emploi du temps

Fiche produit Site Monitor v4

Catalogue Formation «Vanilla»

Livre Blanc WebSphere Transcoding Publisher

APIs de table pour SQL Server

Table des matières Introduction Démarrage Les composants graphiques... 26

[Projet S9] Rédacteurs & Contributeurs Entité Rédacteurs Contributeurs Imededdine HOSNI Olivier MARTY. Validation du document Nom Date Visa

TP1 : Initiation à Java et Eclipse

Préconisations Techniques & Installation de Gestimum ERP

Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2

Vérifier la qualité de vos applications logicielle de manière continue

Introduction au Déploiement

Guide Expert Comptable Production Coala

Installation FollowMe Q server

TD/TP 1 Introduction au SDK d Android

Auto-évaluation Aperçu de l architecture Java EE

Documentation Projet ASR : Construction d un système réparti multi-échelle

D E S C R I P T I O N D E S É L É M E N T S C L E F S D ' U I M A

FileMaker Server 13. Guide de configuration de l'installation réseau

Formation Découverte du Web

Utiliser un CMS: Wordpress

TP Git. Author : Cedric Dumoulin Date : 2 déc Rev : 9 Dec. 2014

B-web V4 MANUEL D UTILISATION. Espace de travail. Clear2Pay Belgium SA B-web V4 Manuel d Utilisation: Espace de travail

Procédure d'installation de PostgreSQL pour Windows

Développer avec les technologies ESRI. ESRI Developer Network (EDN) Gaëtan LAVENU ESRI France Jérémie MAJEROWICZ ESRI France

Projet De Stijl Plate-forme pour robots mobiles

Logiciel Enterprise Guide Version 1.3 Windows

FileMaker Server 14. Guide de démarrage

Code Produit Nom Produit Dernière mise à jour. AM003 Alias Mobile On Demand Licence 1 mois 27/04/2015

Asterisk QuickRecord. ANTOINE MANSUY IUT DE COLMAR

FreePlane 1.1 Kris Bostoen Drève des Soupirs Bierghes (Rebecq) Juin 2010

Manuel d utilisation du web mail Zimbra 7.1

Visual Paradigm Contraintes inter-associations

Outlook Présentation.

AIDE TECHNIQUE POUR L UTILISATION DE GÉODEQ III VUES D ENSEMBLE DU QUÉBEC

Guide de déploiement

Guide des Développeurs SITools2 V3

STATISTICA Version 12 : Instructions d'installation

Générer du code à partir d une description de haut niveau

La base de données XML exist. A. Belaïd

Alfresco Guide Utilisateur

26 Centre de Sécurité et de

Le meilleur de l'open source dans votre cyber cafe

Fonction Memory Viewer

Areca Backup Première Sauvegarde - Configurez votre premier groupe et votre première cible.

Atelier Le gestionnaire de fichier

Transcription:

S T L - C P S - L e s p l u g i n s E c l i p s e - Une Introduction - 2007, Frédéric Peschanski

L a p l a t e f o r m e E c l i p s e Aperçu de la plateforme Eclipse Runtime Composants OSGI Equinoxe Plugins Development Environment Extensions ActionSets et View (Swt/JFace) Workspace interfaces/objets Platform, PluginRegistry, Selection service, etc. Quoi encore? features, builder, markers, natures, etc.

A r c h i t e c t u r e d e l a p l a t e f o r m e

P l a t f o r m r u n t i m e org.eclipse.osgi org.eclipse.core.runtime Définition du modèle de plugin Gestion du registre des plugins: déploiement (archive) installation/désinstallation Découverte automatique Chargement/déchargement à la demande Résolution dynamique des dépendances Implémentation Bundle OSGI (sorte de super jar )

W o r k s p a c e Gestion des ressources Création, chargement, sauvegarde Projets Fichiers Répertoires Autres types de ressources (extensible) connexion avec le système de fichier répertoire workspace

W o r k b e n c h ( U I ) org.eclipse.ui.workbench Implémentation du modèle d'interface utilisateur basé sur SWT: toolkit portabilité native et JFace: framework MVC: Vues et Editeurs Points d'extension Eclipse ActionSet (menus et actions) Views (vues) etc. Rich client Platform: Sous-ensemble du workbench

I n t e r f a c e d u W o r k b e n c h

F r a m e w o r k O S G I OSGI orienté service bundle = implémenation modulaire et portable de service(s) composants binaires services de base: installation/désinstallation, chargement/activation dynamique, découverte, log, etc. Utilisation dans Eclipse découverte de Plugin chargement à la demande (déchargement?) résolution des inter-dépendances chargement éventuel de plugins requis

C y c l e d e v i e d e s B u n d l e O S G I Installed Starting start Resolved Active stop Uninstalled Stopping

D e m o 1 : c o n s o l e O S G I

P l u g i n E c l i p s e Composant structuré descriptif de bundle OSGI (manifest MANIFEST.MF) descriptif de plugin Eclipse (manifest plugin.xml) code d'implémentation du plugin (généralement en Java) Environnement de développement PDE code d'implémentation Java (JDT) configuration (manifest.mf, plugin.xml, etc.) packaging (création d'un jar)

E c l i p s e S D K

P o i n t s d ' e x t e n s i o n e t e x t e n s i o n s Point d'extension point d'ancrage dans plugins le provide des composants ressemble à la déclaration d'une interface mais description en XML Extension greffon attaché à un point d'extension le require des composants ressemble à une liaison entre une interface et une implémentation (description XML)

L i a i s o n Extension Point Extension Plugin A (provide) (require) Plugin B Liaison statique définie dans plugin.xml <extension-point>... pour le fournisseur <extension>... pour le requiérant Chargement dynamique si chargement nécessaire de Plugin B chargement automatique de plugin A

E t e n d r e E c l i p s e Plugin contributions extension de points d'extension standards des plugins de base d'eclipse Points d'extension du workspace Points d'extension du workbench etc. Plugin contributeur propose de nouveaux points d'extension pour d'autres plugins

P o i n t s d ' E x t e n s i o n d u W o r k b e n c h

C a t é g o r i e s d e c o n t r i b u t i o n s Action Set menus, popup menus, etc. Views affichage d'information Editors édition d'information Perspectives Assemblage d'actions, de vues et d'éditeurs pour supporter un processus global (ex. perspective Java rédiger du code Java)

C a t é g o r i e s d e c o n t r i b u t i o n s ( 2 ) Wizards Suite ordonnée de dialogues pour réaliser une tâche Pages de préférences interface de paramétrage du plugin (global) Pages de propriétés idem pour les ressources (local) Builders, Markers, Natures extensions au niveau projet etc!

E x e m p l e : P l u g i n s T i m e r / C l o c k Plugin Timer Extension du workbench Action sets ajout d'un menu dans la barre de menus Point d'extension: permet l'enregistrement de tâche répétitives ou à déclencher de façon retardée (mini-cron) Plugin Clock Extension du workbench View ajout d'une vue Extension du Timer si actif, se réveille toutes les secondes

D e m o 2 : p l u g i n s T i m e r / C l o c k

L i e n s u t i l e s Eclipse http://www.eclipse.org OSGI http://www.osgi.org/ eclipse equinoxe http://www.eclipse.org/equinoxe Développement de plugins http://www.instantiations.com/eclipseworld2007/commercialqualityplugins07.pdf