SlideShare ist ein Scribd-Unternehmen logo
1 von 25
tarek.akik@oxiasoft.com
Développeur du framework FormClipse
http://sourceforge.net/projects/formclipse/
Contribution a la réalisation d’un framework open source de
génération des applications RCP RCPGerenartor
http://sourceforge.net/projects/rcpgenerator/
Architecte Junior dans OXIA
Membre de Group TeeJUG
Diplômé de l’ecole national d’ingénieur de sfax, promotion
2006
Introduction Framework Ajax d’eclipse
Architecture de RAP
RWT (Rap Widget Toolkit)
RAP by Example (Mail Demo)
Avantages & Inconvénients de l’approche
RAP
Conclusion
RAP permet de développer des applications
web Ajax
 Codage en Java, avec le développement d'UI SWT,
 JFace, Workbench
  L'application s'exécute sur le serveur et peut être
 consultée avec un navigateur
RAP respecte les normes JEE servlet 2,3, 2,4
et 2,5
Les applications RAP peuvent être déployés
comme des archives web (WAR)
Développeur n'est pas en contact avec le
Javascript, CSS, HTTP ...
Sous-ensemble de SWT,
JFace, Workbench
RWT utilise la
bibliothèque javascript
Qooxdoo pour faire le
rendrering des widgets
sur le client
Differences:
 Environnement multi-
 utilisateur
Support de La plupart
des widgets de base de
SWT
Support de Workbench
de RCP
Ils sont calculés sur le
serveur
Tous les layout habituels:
  GridLayout
  RowLayout
  FillLayout
  FormLayout
  StackLayout
  etc...
algorithmes des layout
fonctionnent
exactement comme
dans SWT
La plupart des Listner
sont implémentés :
  SelectionListener
  ControlListener
  ShellListener
  MenuListener
  ModifyListener
  VerifyListener (new)
  ...
La bibliothéque graphiques RWT fournit pour
l'environnement Web
 Accès à la session HTTP
 les paramètres de requête HTTP
Prise en charge des ressources extérieures
(Javascript, des images,couleurs, polices de
caractères,etc..)
Support de la session singletons
 Environnement multi-utilisateur
Comme dans SWT,
nécessite une bonne
connaissance de la plate-
forme
développeur de
composants a besoin de
Javascript, qooxdoo et
une bonne                   GMap map = new GMap( shell, SWT.NONE );
                            map.setAddress( quot;5001 Great America Pkwy, Santa Claraquot; );
connaissances de RAP
Un Développeur RAP
utilise simplement l’API
Java
Permettre un nouveau LAF
des applications Web
Propriétés des widgets
prédéfinis peuvent être
personnalisés (Simple fichier
.properties)
Prise en charge totale de
vues
Prise en charge aux
perspectives
  Perspective Switcher
  Extensions
Prise en charge des
Éditeurs
  Éditeurs Multi-page
  disponible
Workbench: Jobs
  Support pour les job en
  arrière plan
  Progress View
La configuration du RAP est assez simple. Il ne
nécessite que deux étapes: le téléchargement RAP
et la configuration d'Eclipse pour l'utiliser.
Etape 1: Téléchargement du RAP
http://www.eclipse.org/rap/downloads/ RAP
Étape 2: Configuration de la plate-forme cible
  Window > Preferences... > Plug-in Development > Target
  Platform
Ajouter un point d’entrée de l’application
Configurer le point d’entrée de l’Application
Avantages : le serveur gère tout, il ne peut y avoir de
problèmes de compatibilité d’API ou de version de JDK tels
qu’on le retrouve dans GWT par exemple. Il n’y a
quasiment aucun code JavaScript généré sur le poste
client
Inconvénients :
  le client fait d’incessants aller/retour avec le serveur, même
  pour effectuer des opérations basiques de rendering (click puis
  popup sous un menu).
  RAP s'appuie sur le modèle de composant SWT et l'API RCP, du
  coup il faut dériver de pas moins d'une dizaine de classes telles
  que WorkbenchAdvisor, EntryPoint, ViewPart et
  PerspectiveFactory
La multiplication des Framework AJAX commence à être de plus en plus
problématique. Problématique pour nous développeurs qui
commençons à être de plus en plus submergés par autant de nouveautés

Du coup, plus personne ne sait aujourd’hui ce qu'il doit choisir dans le
cadre d'un nouveau développement Web entre JSF, JSP, Struts, GWT,
Eclipse RAP, Echo2 ou DOJO,etc..

le nombre d’architecture possibles en Java avec les Framework
disponibles aujourd’hui, on arrive au chiffre d'une centaine: 10
(présentation) x 5 (service - spring/manuel/ejb3/guice) x 5 (data -
jpa/toplink/hibernate/jdbc/ibatis)...
Site Officiel RAP : www.eclipse.org/rap
Projet wiki de RAP: http://wiki.eclipse.org/RAP
qooxdoo js library: http://www.qooxdoo.org

Weitere ähnliche Inhalte

Was ist angesagt?

Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Nazih Heni
 
Allons plus loin avec Selenium
Allons plus loin avec SeleniumAllons plus loin avec Selenium
Allons plus loin avec SeleniumSOAT
 
20091008 Tests Interaces Web Riches Selenium
20091008   Tests Interaces Web Riches Selenium20091008   Tests Interaces Web Riches Selenium
20091008 Tests Interaces Web Riches SeleniumGreenIvory
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Nazih Heni
 
Suivi de qualité PIC afup2010
Suivi de qualité PIC afup2010Suivi de qualité PIC afup2010
Suivi de qualité PIC afup2010Gabriele Santini
 

Was ist angesagt? (8)

Selenium
SeleniumSelenium
Selenium
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"
 
Allons plus loin avec Selenium
Allons plus loin avec SeleniumAllons plus loin avec Selenium
Allons plus loin avec Selenium
 
20091008 Tests Interaces Web Riches Selenium
20091008   Tests Interaces Web Riches Selenium20091008   Tests Interaces Web Riches Selenium
20091008 Tests Interaces Web Riches Selenium
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"
 
React xp
React xpReact xp
React xp
 
Suivi de qualité PIC afup2010
Suivi de qualité PIC afup2010Suivi de qualité PIC afup2010
Suivi de qualité PIC afup2010
 
Initiation à ASP.NET 4.0
Initiation à ASP.NET 4.0Initiation à ASP.NET 4.0
Initiation à ASP.NET 4.0
 

Andere mochten auch

bananas
bananasbananas
bananas10cc
 
Presentation Tomcat Load Balancer
Presentation Tomcat Load BalancerPresentation Tomcat Load Balancer
Presentation Tomcat Load Balancertarkaus
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsLinkedIn
 

Andere mochten auch (8)

Unitils
UnitilsUnitils
Unitils
 
La EnergíA
La EnergíALa EnergíA
La EnergíA
 
bananas
bananasbananas
bananas
 
Anahi14
Anahi14Anahi14
Anahi14
 
Anahi56
Anahi56Anahi56
Anahi56
 
Presentation Tomcat Load Balancer
Presentation Tomcat Load BalancerPresentation Tomcat Load Balancer
Presentation Tomcat Load Balancer
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 

Ähnlich wie Rich Ajax Platform

Google Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonGoogle Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonStéphane Liétard
 
GWT Principes & Techniques
GWT Principes & TechniquesGWT Principes & Techniques
GWT Principes & TechniquesRachid NID SAID
 
Gwt oxiane-novae-lr
Gwt oxiane-novae-lrGwt oxiane-novae-lr
Gwt oxiane-novae-lroxmed
 
Introduction à GWT - GTI780 & MTI780 - ETS - A08
Introduction à GWT - GTI780 & MTI780 - ETS - A08Introduction à GWT - GTI780 & MTI780 - ETS - A08
Introduction à GWT - GTI780 & MTI780 - ETS - A08Claude Coulombe
 
Ingénieur en développement logiciel
Ingénieur en développement logicielIngénieur en développement logiciel
Ingénieur en développement logicielFabrice KAKCHA NTICHI
 
Présentation de nodejs
Présentation de nodejsPrésentation de nodejs
Présentation de nodejs13p
 
formations java.pdf
formations java.pdfformations java.pdf
formations java.pdfGhislain13
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partageraliagadir
 
CloudUnit le PaaS par TreeptiK
CloudUnit le PaaS par TreeptiKCloudUnit le PaaS par TreeptiK
CloudUnit le PaaS par TreeptiKAmico Fabien
 
Ces outils qui vous font gagner du temps
Ces outils qui vous font gagner du tempsCes outils qui vous font gagner du temps
Ces outils qui vous font gagner du tempsAntoine Rey
 
GWT Approfondissement - GTI780 & MTI780 - ETS - A09
GWT Approfondissement  - GTI780 & MTI780 - ETS - A09GWT Approfondissement  - GTI780 & MTI780 - ETS - A09
GWT Approfondissement - GTI780 & MTI780 - ETS - A09Claude Coulombe
 
Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?Quentin Adam
 
20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders BattleArnaud Héritier
 
Introduction à GWT - GTI780 & MTI780 - ETS - A09
Introduction à GWT - GTI780 & MTI780 - ETS - A09Introduction à GWT - GTI780 & MTI780 - ETS - A09
Introduction à GWT - GTI780 & MTI780 - ETS - A09Claude Coulombe
 
Formation JAVA SWING, Initiation à JAVA SWING
Formation JAVA  SWING, Initiation à JAVA SWINGFormation JAVA  SWING, Initiation à JAVA SWING
Formation JAVA SWING, Initiation à JAVA SWINGelnsouley
 

Ähnlich wie Rich Ajax Platform (20)

Google Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonGoogle Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative Common
 
GWT Principes & Techniques
GWT Principes & TechniquesGWT Principes & Techniques
GWT Principes & Techniques
 
Gwt oxiane-novae-lr
Gwt oxiane-novae-lrGwt oxiane-novae-lr
Gwt oxiane-novae-lr
 
Java j2ee
Java j2eeJava j2ee
Java j2ee
 
Introduction à GWT - GTI780 & MTI780 - ETS - A08
Introduction à GWT - GTI780 & MTI780 - ETS - A08Introduction à GWT - GTI780 & MTI780 - ETS - A08
Introduction à GWT - GTI780 & MTI780 - ETS - A08
 
Ingénieur en développement logiciel
Ingénieur en développement logicielIngénieur en développement logiciel
Ingénieur en développement logiciel
 
Présentation de nodejs
Présentation de nodejsPrésentation de nodejs
Présentation de nodejs
 
formations java.pdf
formations java.pdfformations java.pdf
formations java.pdf
 
Gdd07 Gwt Dig
Gdd07 Gwt DigGdd07 Gwt Dig
Gdd07 Gwt Dig
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partager
 
CloudUnit le PaaS par TreeptiK
CloudUnit le PaaS par TreeptiKCloudUnit le PaaS par TreeptiK
CloudUnit le PaaS par TreeptiK
 
Ces outils qui vous font gagner du temps
Ces outils qui vous font gagner du tempsCes outils qui vous font gagner du temps
Ces outils qui vous font gagner du temps
 
GWT Approfondissement - GTI780 & MTI780 - ETS - A09
GWT Approfondissement  - GTI780 & MTI780 - ETS - A09GWT Approfondissement  - GTI780 & MTI780 - ETS - A09
GWT Approfondissement - GTI780 & MTI780 - ETS - A09
 
Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?
 
Java Server Faces - Beyond
Java Server Faces - BeyondJava Server Faces - Beyond
Java Server Faces - Beyond
 
20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle
 
Introduction à GWT - GTI780 & MTI780 - ETS - A09
Introduction à GWT - GTI780 & MTI780 - ETS - A09Introduction à GWT - GTI780 & MTI780 - ETS - A09
Introduction à GWT - GTI780 & MTI780 - ETS - A09
 
Introduction JavaEE
Introduction JavaEEIntroduction JavaEE
Introduction JavaEE
 
gradle_lavajug
gradle_lavajuggradle_lavajug
gradle_lavajug
 
Formation JAVA SWING, Initiation à JAVA SWING
Formation JAVA  SWING, Initiation à JAVA SWINGFormation JAVA  SWING, Initiation à JAVA SWING
Formation JAVA SWING, Initiation à JAVA SWING
 

Rich Ajax Platform

  • 2. Développeur du framework FormClipse http://sourceforge.net/projects/formclipse/ Contribution a la réalisation d’un framework open source de génération des applications RCP RCPGerenartor http://sourceforge.net/projects/rcpgenerator/ Architecte Junior dans OXIA Membre de Group TeeJUG Diplômé de l’ecole national d’ingénieur de sfax, promotion 2006
  • 3. Introduction Framework Ajax d’eclipse Architecture de RAP RWT (Rap Widget Toolkit) RAP by Example (Mail Demo) Avantages & Inconvénients de l’approche RAP Conclusion
  • 4. RAP permet de développer des applications web Ajax Codage en Java, avec le développement d'UI SWT, JFace, Workbench L'application s'exécute sur le serveur et peut être consultée avec un navigateur RAP respecte les normes JEE servlet 2,3, 2,4 et 2,5 Les applications RAP peuvent être déployés comme des archives web (WAR)
  • 5.
  • 6. Développeur n'est pas en contact avec le Javascript, CSS, HTTP ...
  • 7. Sous-ensemble de SWT, JFace, Workbench RWT utilise la bibliothèque javascript Qooxdoo pour faire le rendrering des widgets sur le client Differences: Environnement multi- utilisateur
  • 8. Support de La plupart des widgets de base de SWT Support de Workbench de RCP
  • 9. Ils sont calculés sur le serveur Tous les layout habituels: GridLayout RowLayout FillLayout FormLayout StackLayout etc... algorithmes des layout fonctionnent exactement comme dans SWT
  • 10. La plupart des Listner sont implémentés : SelectionListener ControlListener ShellListener MenuListener ModifyListener VerifyListener (new) ...
  • 11. La bibliothéque graphiques RWT fournit pour l'environnement Web Accès à la session HTTP les paramètres de requête HTTP Prise en charge des ressources extérieures (Javascript, des images,couleurs, polices de caractères,etc..) Support de la session singletons Environnement multi-utilisateur
  • 12. Comme dans SWT, nécessite une bonne connaissance de la plate- forme développeur de composants a besoin de Javascript, qooxdoo et une bonne GMap map = new GMap( shell, SWT.NONE ); map.setAddress( quot;5001 Great America Pkwy, Santa Claraquot; ); connaissances de RAP Un Développeur RAP utilise simplement l’API Java
  • 13. Permettre un nouveau LAF des applications Web Propriétés des widgets prédéfinis peuvent être personnalisés (Simple fichier .properties)
  • 14. Prise en charge totale de vues Prise en charge aux perspectives Perspective Switcher Extensions Prise en charge des Éditeurs Éditeurs Multi-page disponible Workbench: Jobs Support pour les job en arrière plan Progress View
  • 15. La configuration du RAP est assez simple. Il ne nécessite que deux étapes: le téléchargement RAP et la configuration d'Eclipse pour l'utiliser. Etape 1: Téléchargement du RAP http://www.eclipse.org/rap/downloads/ RAP
  • 16. Étape 2: Configuration de la plate-forme cible Window > Preferences... > Plug-in Development > Target Platform
  • 17.
  • 18.
  • 19.
  • 20. Ajouter un point d’entrée de l’application
  • 21. Configurer le point d’entrée de l’Application
  • 22.
  • 23. Avantages : le serveur gère tout, il ne peut y avoir de problèmes de compatibilité d’API ou de version de JDK tels qu’on le retrouve dans GWT par exemple. Il n’y a quasiment aucun code JavaScript généré sur le poste client Inconvénients : le client fait d’incessants aller/retour avec le serveur, même pour effectuer des opérations basiques de rendering (click puis popup sous un menu). RAP s'appuie sur le modèle de composant SWT et l'API RCP, du coup il faut dériver de pas moins d'une dizaine de classes telles que WorkbenchAdvisor, EntryPoint, ViewPart et PerspectiveFactory
  • 24. La multiplication des Framework AJAX commence à être de plus en plus problématique. Problématique pour nous développeurs qui commençons à être de plus en plus submergés par autant de nouveautés Du coup, plus personne ne sait aujourd’hui ce qu'il doit choisir dans le cadre d'un nouveau développement Web entre JSF, JSP, Struts, GWT, Eclipse RAP, Echo2 ou DOJO,etc.. le nombre d’architecture possibles en Java avec les Framework disponibles aujourd’hui, on arrive au chiffre d'une centaine: 10 (présentation) x 5 (service - spring/manuel/ejb3/guice) x 5 (data - jpa/toplink/hibernate/jdbc/ibatis)...
  • 25. Site Officiel RAP : www.eclipse.org/rap Projet wiki de RAP: http://wiki.eclipse.org/RAP qooxdoo js library: http://www.qooxdoo.org