Une introduction aux
Enterprises Java Bean
Michel RIVEILL – Université de Nice – Sophia Antipolis
http://www.polytech.unice.fr/~riveill -[email protected]
2© 2006, M. Riveill
Cours très complet…
Plus de 500 transparents
Que nous allons faire d’une manière incomplète
Nous allons en regarder uniquement une 100 aines
Nombreux transparents masqués
Mais visible dans version pdf par 4
Pour nous arrêté uniquement sur les principes de
base
3© 2006, M. Riveill
Les promesses des EJB
Enterprise JavaBeans
Standard industriel pour un modèle de composant logiciel
distribué,
Permet d'implémenter des "objets métier" d'une manière propre et
réutilisable,
Pour le développement RAD d'applications côté serveur
Fait partie des spécifications J2EE
4© 2006, M. Riveill
Motivation des EJBs
Considérons :
un site de gestion de portefeuille boursier,
une application bancaire,
un centre d'appel,
un système d'analyse de risque,
5© 2006, M. Riveill
Choses à considérer lorsqu'on
construit une application distribuée
Si on prend une application monolithique
Puis
on la transforme en application distribuée,
plusieurs clients se connectent sur plusieurs serveurs
Les serveurs utilisent plusieurs SGBD.
Que faut-il mettre en place ?
6© 2006, M. Riveill
Choses à considérer lorsqu'on
construit une application distribuée
Protocoles d'accès distants (CORBA, RMI, IIOP…)
Gestion de la charge,
Gestion des pannes,
Persistence, intégration au back-end,
Gestion des transactions,
Clustering,
Redéploiement à chaud,
Arrêt de serveurs sans interrompre l'application,
Gestion des traces, règlages (tuning and auditing),
Programmation multithread
Problèmes de nommage
Securité, performances,
Gestion des états
Cycle de vie des objets
Gestion des ressources (Resource pooling)
Requête par message (message-oriented midddleware)
7© 2006, M. Riveill
Qui s'occupe de tout ceci :
l’intergiciel (middleware) !
Dans le passé, la plupart des entreprises programmaient leur
propre intergiciel
Qui adressaient rarement tous les problèmes,
Qui demandait des compétences spécifiques,
Différentes du secteur d'activité de l'entreprise (banque, commerce…)
Difficulté de développement, de maintenance
Aujourd’hui, les entreprises achètent un produit
Oracle, IBM, BEA, …
proposent depuis plusieurs années des solutions…
Il y a aussi plusieurs proposition ‘libre’
Consortium ObjectWeb (Bull, France Telecom et l’INRIA)
Aujourd’hui les intergiciels intègrent : le web, l’accès aux données…
serveurs d'application.
8© 2006, M. Riveill
Serveur d'application : mutualiser les
compétences !
Un serveur d'application fournit les services
intergiciels les plus courants,
Transaction, sécurité, cycle de vie, …
Permettent de se focaliser sur l'application que l'on
développe, sans s'occuper du reste.
Le code est déployé sur le serveur d'application.
Séparation des métiers et des spécificités :
d'un côté la logique métier,
de l'autre les aspects techniques.
9© 2006, M. Riveill
Serveurs d'application : construction des
applications selon le modèle 3-parties
HTML
Java
Application
Business Logic
Business Logic
Distributed
Objects
Transactions
Content
Management
Scalability Reliability Security Manageability
Enterprise Deployment Services
Development Tools
Presentation
Presentation
Java
HTML
Data
Data Access
Data Access
Enterprise Data
Connectors
Data Access
Objects
10© 2006, M. Riveill
Encore mieux ! Utilisons des
composants
Il est possible d'acheter ou de réutiliser une partie de
la logique métier !
Vous développez votre application à l'aide de
composants.
Code qui implémente des interfaces prédéfinies.
Sorte de boîte noire.
Un bout de logique facilement réutilisable.
Un composant n'est pas une application complète.
Juste un bout.
On assemble les composants comme un puzzle, afin de résoudre
des problèmes importants.
Et on les configure pour les adapter au problème à résoudre
11© 2006, M. Riveill
Composant logiciel réutilisable
Une entreprise peut acheter un composant
On parle alors de COTS
et l'intégrer avec des composants qu'elle a développé.
Par exemple, un composant qui sait gérer des prix.
On lui passe une liste de produits et il calcule le prix total.
Simple en apparence,
mais la gestion des prix peut devenir très complexe :
remises,
promotions,
lots,
clients privilégiés,
règles complexes en fonction du pays,
des taxes,
etc…
12© 2006, M. Riveill
Composant logiciel réutilisable
Ce composant répond à un besoin récurrent
Vente en ligne de matériel informatique,
Gestion des coûts sur une chaîne de production automobile,
Facturation interne à une entreprise,
Etc…
13© 2006, M. Riveill
Composant logiciel réutilisable
14© 2006, M. Riveill
Composant logiciel réutilisable
15© 2006, M. Riveill
Composant logiciel réutilisable
16© 2006, M. Riveill
Quel intérêt ?
Moins d'expertise requise pour répondre à certains
points du cahier des charges,
Développement plus rapide.
Normalement, les vendeurs de composants assurent
un service de qualité (BEA, IBM…)
Réduction des frais de maintenance.
Naissance d'un marché des composants.
Pas encore l'explosion attendue mais…
17© 2006, M. Riveill
Architectures de composants
Plus de 50 serveurs d'applications ont vu le jour
depuis une dizaine d'années,
Au début, composants propriétaires uniquement.
Pas de cohabitation entre composants développés pour différents
serveurs d'application
Dépendant d'un fabriquant une fois le choix effectué.
Dur à avaler pour les développeurs java qui prônent
la portabilité et l'ouverture !
18© 2006, M. Riveill
Architectures de composants
Nécessité de standardiser la notion de composants
Ensemble de définitions d'interfaces entre le serveur d'application
et les composants
Ainsi n'importe quel composant peut tourner ou être recompilé sur
n'importe quel serveur
Un tel standard s'appelle une architecture de
composants
Penser aux CDs audio, à la télé, au VHS, etc…
19© 2006, M. Riveill
Architecture à composants
Qu’est-ce qui est important pour définir un
composant ?
Plusieurs réponses possibles
Java Beans
CCM
.Net components
J2EE components
La notion de composants est en train de dérivé vers
la notion de services
La aussi plusieurs réponses possible
Services Web
20© 2006, M. Riveill
Enterprise JavaBeans (EJB)
Le standard EJB
http://java.sun.com/products/ejb/index.html
EJB est une architecture de composants pour des
composants serveur écrits en java.
Adopté par l'industrie. "Train once, code anywhere"
Portable facilement
Rapid Application Development (RAD)
Attention : EJB != Java Beans
Java beans = composants côté client
http://java.sun.com/docs/books/tutorial/javabeans/index.html
1 / 35 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !