programmation d’applications...
TRANSCRIPT
![Page 1: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/1.jpg)
Programmation d’applications distribuees
Francois Charoy
Universite Henri Poincare
8 octobre 2007
![Page 2: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/2.jpg)
Premiere partie I
Developpement d’applications distribuees
![Page 3: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/3.jpg)
Objectifs du cours
I Comprendre ce qu’est une application distribuee.
I Comprendre la problematique de leur developpement.
I Apprendre les bases de leur developpement dans unenvironnement JEE
I Apprendre a les concevoir
![Page 4: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/4.jpg)
Probleme
Construire des applications pour entreprises
I Sures
I Securisees
I Distribuees
I Supportant la montee en charge (scalable)
I Disponibles
I Favorisant la reutilisation
I Maintenables et extensibles
I Pour moins cher
![Page 5: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/5.jpg)
Quelles applications ?
I Applications de commerce ou de trading
I Applications bancaires
I Call Centers
I Applications d’assurances
I Nombreuses sources d’informations potentielles
I Interactions entre des systemes heterogenes
I Grand nombre de transactions (high throughtput)
I Evolutives
![Page 6: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/6.jpg)
Les questions a resoudre
I Les invocations de methodes : connection d’un client a unserveur et appels de methodes distances
I L’integration avec le back-end : Il faut ecrire du code pouracceder aux bases de donnees et aux systemes d’informationexistant
I Le cycle de vie des objets : La vie des objets (creation,destruction) doit etre geree par le serveur
I Les transactions : Que faire quand deux clients accedent auxmemes donnees. et si un client crash ?
I L’audit et les traces : Si quelque chose se passe mal, commentpeut on savoir ce qui s’est effectivement passe.
I Le redeploiement : Comment mettre a jour une applicationquand le serveur est en production ?
![Page 7: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/7.jpg)
Les questions a resoudre (2)
I Les arrets du serveurs : Comment s’assurer d’un arret propredes serveurs quand c’est necessaire ?
I Les threads : Le serveur doit pouvoir gerer les requetes deplusieurs clients simultanement
I La gestion des messages : Certaines requetes peuvent etreenvoyees sous forme de messages (faible couplage)
I La transparence des defaillances/clustering : Si un serveurcrash, les requetes d’un client doivent etre reroutees vers unautres serveurs. Quel temps d’indisponibilite est acceptable ?
I L’equilibrage de la charge : les requetes des clients doiventetre dirigees vers le serveur le moins charge.
![Page 8: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/8.jpg)
Les questions a resoudre (3)
I La gestion des ressources : Le serveur doit permettre lepartage des ressources entre les clients (connections aux basesde donnees, objets du serveur)
I La securite : le serveur doit etre a l’abri des acces interdits oupar des personnes n’ayant les autorisations necessaires
I La gestion des caches
I Et encore plein d’autres trucs
![Page 9: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/9.jpg)
RAS
Surete (Reliability)
Probabilite qu’un systeme fonctionne a t+1 s’il fonctionnait al’instant t En clair, plus le systeme est fiable plus il est Sure
Disponibilite (Availability)
Pourcentage du temps pendant lequel un systeme est disponibleS’exprime en nombre de 9 (99, 99,9 ... 99,999)
Serviceability
Facilite avec laquelle la maintenance corrective et preventive peuts’effectuer. Une plus grande serviceability ameliore en general ladisponibilite
![Page 10: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/10.jpg)
Passage a l’echelle
Mon systeme marche quand je suis tout seul
Marche-t-il encore pour 2 clients, 100 clients, 1000000 de clients
Quel est le cout pour augmenter la charge acceptable par monsysteme
Ajout de machines, Mise a jour des machines, Modification ducode,
![Page 11: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/11.jpg)
Middleware ou intergiciel
DefinitionIn a distributed computing system, middleware is defined as thesoftware layer that lies between the operating system and theapplications on each site of the system.
![Page 12: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/12.jpg)
Le Middleware
Composants ou systemes permettant de rendre transparent lesproblemes de distribution
I Transparence de l’heterogeneite
I Transparence de la localisation des services
I Transparence des appels de services
I Transparence de la gestion de la persistence
I Transparence de la gestion des transactions distribuees
I Transparence de la securite
I Transparence de la replication des services
![Page 13: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/13.jpg)
Comment faire ?
Utiliser un serveur d’application
I Prise en charge des aspects middleware par un systemespecialise
I Utiliser une architecture distribuee
I Fournit une solution aux differents problemes precedents
Plusieurs tiers
I Les clients (front end)
I Les sources de donnees (back end)
I Un ou plusieurs tiers entre eux pour
I Implanter les nouveaux services
I Integrer les differentes sources de donnees
I Masquer la complexite de l’entreprise aux clients
![Page 14: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/14.jpg)
Architecture Multi Tiers
![Page 15: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/15.jpg)
Architecture par Composants
Un composant respecte des regles d’ecriture pour pouvoirs’executer dans un containerPar exemple :
I Java Bean et la Bean Box
I Servlet et un container de Servlet
I EJB et un container d’EJB
I Un CD dans un lecteur de compact disque
![Page 16: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/16.jpg)
Architecture orientee service (SOA)
Un service ?
I Un service est un ensemble de composants fournissant desfonctions metier de haut niveau
I Les services sont autonomes (pas les composants)
I Un service est toujours disponible
I Les Web Services sont un moyen de fournir des services dansune architecture orientee service
I Souvent un service est developpe a partir de composants.
![Page 17: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/17.jpg)
Web Services
Un moyen de mettre en oeuvre une SOA
I XML technologies : SOAP, WSDL, WS-*
I Protocole pour echanger des informations dans un reseaudistribue - RPC, HTTP, SMTP...
I WSDL Web Service Description Language. XML pour decrirel’interface des services
I Neutralite par rapport aux langages et aux protocoles
![Page 18: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/18.jpg)
Reutilisabilite des services
Composer des services
I construire des services simples et reutilisables
I composer les services avec un couplage faible
I exemple : verification de carte bancaire, authentification,transfer d’argent
![Page 19: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/19.jpg)
Les Service Bus (Brokering)
Un ESB
I Mediateur entre les services et les clients
I Routeur pour les appels de services et pour les evenements
I Decodeur, encodeur pour l’interoperabilite
![Page 20: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/20.jpg)
Objets distribues
Un objet distribue est utilisable depuis un client distant
I d’un autre processus,
I d’un autre point du reseau
![Page 21: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/21.jpg)
Developpement d’un objet distribue
Prise en compte dans l’objet de son contexte d’execution
Middleware explicite
Le developpeur est charge des appels aux services transversaux(transaction, securite) Prise en compte par l’environnement ducontexte d’execution
Middleware implicite
Contexte declaratif C’est l’environnement qui se charge de tout (lecontainer)
![Page 22: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/22.jpg)
Middleware Explicite
1 t r a n s f e r ( Account account1 , Account account2 , l ong amount ) {2 // 1 : C a l l midd leware API to per fo rm a s e c u r i t y check3 // 2 : C a l l midd leware API to s t a r t a t r a n s a c t i o n4 // 3 : C a l l midd leware API to l oad rows from the database5 // 4 : Sub t r a c t the ba l ance from one account , add to the o th e r6 // 5 : C a l l midd leware API to s t o r e rows I n the da tabase7 // 6 : C a l l midd leware API to end the t r a n s a c t i o n8 }
![Page 23: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/23.jpg)
Middleware Implicite
1 t r a n s f e r ( Account account1 , Account account2 , l ong amount ) {2 // 1 : Sub t r a c t the ba l ance from one account , add to the o th e r3 }
![Page 24: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/24.jpg)
Les solutions existantes
I .NET (implantation Microsoft) Windows NT + DCOM +MSMQ (message queue) + MTS (transactions) + Wolfpack(clustering) + IIS (web server)+ MMC (administration etdeploiement)
I Sun J2EE (specification)
I OMG Corba (specification) et les composants Corba.
![Page 25: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/25.jpg)
Deuxieme partie II
L’environnement J2EE
![Page 26: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/26.jpg)
J2EE
Definit une architecture standard incluant
I Un modele de programmation (application multi-tiers, clientlegers)
I Une plate-forme (ensemble de specifications et de politiquesrequises)
I Un ensemble de tests de compatibilite
I Une implantation de reference
I Des patrons de conceptions (blueprints)
![Page 27: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/27.jpg)
Architecture d’une appli J2EE
![Page 28: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/28.jpg)
La plateforme J2EE
I EJB : definit la facon dont les composant doivent etre ecrit etle contrat qu’ils doivent respecter avec le serveur d’application
I RMI : communication inter procedes
I JNDI : service de nommage
I JDBC : connection avec les bases de donnees
I JTA : service de transaction
I JCA : service de connection
I JMS : service de messagerie
I JSP : servlet et Java Server Page adapte a la construction decomposant reseau
I JSF : framework de construction d’interfaces et de controleur(V et C de MVC)
![Page 29: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/29.jpg)
La plateforme J2EE (suite)
I Java IDL : permet l’integration avec d’autres langages (enparticulier a travers CORBA)
I JavaMail
I JAX-WS : java API pour les Web Services.
I Web Services Metadata pour la plateforme Java. Facilite ledeveloppement et le deploiement de Web Services.
I JAXP : Java API pour le parsing XML
I JAXB : Java API for XML Binding (transformation dedocument XML en objets)
![Page 30: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/30.jpg)
JNDI
Java naming and directory interface
I Permet d’acceder a des systemes de repertoires
I Permet d’acceder a des services ou a des objets enconnaissant uniquement un nom
![Page 31: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/31.jpg)
JDBC
Java Database Connectivity
I API pour acceder a des bases de donnees relationnelles
I Driver pour la plupart des SGBD majeurs (oracle, sybase,mysql, mssql,...)
I Permet de porter une application d’un SGBD a un autre
![Page 32: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/32.jpg)
JTA
Java Transaction ServiceInterface standard de gestion de transactions
![Page 33: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/33.jpg)
JMS
Java Messaging Service
I Permet de faire communiquer des applications par envois demessages
I Interface standard permettant l’acces a differents MessageOriented Middleware (IBM MQSeries, MSMQ)
I Utile pour des interaction asynchrones
![Page 34: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/34.jpg)
Java Servlet
I Utilises pour etendre les fonctionnalites d’un serveur Web
I Les servlets sont des composants executables dans un servletcontainer (Tomcat, Jetty)
I Equivalent a des scripts CGI (Perl, sh) mais en Java
![Page 35: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/35.jpg)
JSP
Java Server Pages
I JSP scripts peuvent etre inclus dans des pages Web
I Scripts executes du cote serveurs (compiles sous forme deservlets)
I Simplification de l’ecriture de page Web
I equivalent a PHP pour Java (hum...)
![Page 36: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/36.jpg)
JSF
Java Server Faces
I Framework pour le developpement d’applis Web
I Modele de composants et API pour les developper
I Tags specialises pour utiliser les composants dans une pageJSP et les faire communiquer avec les objets serveur.
I Modele d’evenements adaptes a l’environnement Web
![Page 37: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/37.jpg)
Java IDL
Implantation par Sun de l’interface CORBA Permetl’interoperabilite avec des applications ecrites dans d’autreslangages
![Page 38: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/38.jpg)
Java Mail
I Permet l’envoi de courrier electronique de facon independantede la plate-forme utilisee
I Permet l’acces a des serveurs de mail selon differentsprotocoles (pop, imap)
I Interface standardisee pour la gestion de boites aux lettres etde messages sous differents formats (gestion des multi partmime message avec JAF)
![Page 39: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/39.jpg)
J2EE CA
Permet l’acces aux EIS depuis une plate-forme J2EE Une appliJ2EE doit pouvoir interfacer les systemes d’information existant(mainframe, ERP systems ou autres)
![Page 40: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/40.jpg)
JAAS
Java Authentication and Authorization Service
I Fournit des services d’authentification et de securite
I Permet une specification declarative des moyens d’autorisationet de gestion des droits d’acces.
![Page 41: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/41.jpg)
JAX-WS
Java API for WML Web Services
I Permet l’appel de services web depuis un client Java
I Mapping WSDL to Java et Java to WSDL
I Binding SOAP et HTTP
![Page 42: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/42.jpg)
JAXB
Java Architecture for XML Binding
I Fournit les services permettant de lier des objets Java a leurrepresentation XML
I transformation Java XML Java
![Page 43: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/43.jpg)
Les technologies
![Page 44: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/44.jpg)
Conclusion
I J2EE est un framework complet
I Ensemble de services pour applications distribuees
I Complique a maitriser entierement
I Standard
![Page 45: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/45.jpg)
JEE 5
![Page 46: Programmation d’applications distribu´eespagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/j2eeintr… · I L’int´egration avec le back-end : Il faut ´ecrire du code](https://reader033.vdocuments.mx/reader033/viewer/2022042414/5f2f3756ee4b0a5514274d52/html5/thumbnails/46.jpg)
Autres Solutions
I Utilisation de container generique
I Composition de services middleware
SolutionsSpring Jboss AS Hibernate