1. Réalisé par : Hana Charfeddine
Hayfa Lachhab
Jouini Asma
14-05-15
MPDAM
Institut Supérieur des Etudes Technologiques Radès
M1-Master Professionnel en Développement des Applications Mobiles
2. Plan
Les problèmes à résoudre
Définition de middleware
Principe
Caractéristiques
Types de middleware
Middleware orienté accès aux données
Middleware orienté transaction
Middleware orienté message
Middleware orienté objet
Avantages et inconvénients du middleware
Exemple
Conclusion
PlanPlan
2
3. L’intégration de logiciels d’origines divers.
L’accès aux logiciels de l’intérieur ou de l’extérieur de l’entreprise.
Le développement rapide des applications.
3
Les problèmes à résoudreLes problèmes à résoudre
4. • Le middleware désigne les logiciels servant d’intermédiaire entre
d’autres logiciels. On utilise généralement du middleware comme
intermédiaire de communication entre des applications
complexes, distribuées sur un réseau informatique.
• On appelle middleware, l’ensemble des couches réseaux et des
services logiciels qui permettant le dialogue entre les différents
composants d’une application repartie. Ce dialogue se base sur un
protocole applicatif commun, définie par l’API de middleware.
DéfinitionDéfinition
4
5. • Cacher la répartition
• Cacher l’hétérogénéité
• Fournir des interfaces uniformes
• Fournir un ensemble des services communs
Objectif de middlewareObjectif de middleware
5
6. Assure la communication entre les applications quels que soient :
Les ordinateurs impliqués
Les caractéristiques matériel et logiciel
Les réseaux informatiques
Les protocoles réseaux
Les systèmes d’exploitation impliqués
PrincipePrincipe
6
7. En général, le middleware :
n'est pas visible par l'utilisateur final.
est un outil pour le développeur d'applications.
se retrouve enfoui dans les applications.
Middleware permet de mettre en œuvre des serveurs:
à finalité fixe : serveur Web, serveur de fichiers, serveur de
BD…
effectuant des traitements quelconque : CORBA, EJB, .Net,
Web Services…
7
CaractéristiquesCaractéristiques
8. • Le middleware orienté accès aux données(MOA)
• Le middleware orienté transactions (MOT)
• Le middleware orienté objets (MOO)
• Le middleware orienté messages (MOM)
Les différents types de middlewareLes différents types de middleware
8
9. • Dialoguer avec un système de gestion de base de données:
Requêtes select, insert, update, delete…
• Deux couches distinctes :
La couche propre au SGBD ( SQLNet, TDS … )
La couche de l’outil de développement ( ODBC, ADO, JDBC..)
9
Middleware orientés accès aux donnéesMiddleware orientés accès aux données
10. • Transaction: séquence d’opérations élémentaires.
• Elle est exécutée comme une seule opération indivisible.
Transaction valide: toutes les opérations sont menées à terme.
Transaction invalide, si au moins une des opérations n’a pas pu
être achevée.
• Transaction doit avoir les propriétés ACID
Exemple de transaction
Virement bancaire
• Deux opérations indissociables dans une transaction:
Débiter le compte clients
Créditer le compte client
Middleware orienté transactionsMiddleware orienté transactions
10
11. • Points forts
Fonctionnement ACID.
Fiabilité.
Facilité d’intégration avec les bases de données.
• Points faibles
Création d’une surcharge.
Portabilité réduite (pas de standard pour la définition des
services sur les serveurs de composants).
11
Points forts – Points FaiblesPoints forts – Points Faibles
12. • Les middlewares orienté messages sont des outils
permettant aux applications d’interopérer en échangeant
des messages de manières asynchrone et fiable.
Middleware orienté messageMiddleware orienté message
12
13. • Points forts
Tolérance de panne.
Idéal pour la communication de groupes.
• Points faibles
Le même message pourra être délivré plusieurs fois.
L’extensibilité et l’hétérogénéité sont limitées.
Ne supporte pas les propriétés des transactions (ACID).
13
Points forts – Points FaiblesPoints forts – Points Faibles
14. • Gestion d’applications distribuées : Une fonction est sur une
machine et collabore au sein de l’application avec une fonction sur
une autre machine
• Des standards:
CORBA
• Des implémentations propriétaires:
DCOM, RMI
• Une vision très différente de l’interopérabilité:
Parfois accessible par plusieurs langages
Parfois accessible par plusieurs plateformes
Parfois les deux
• Couplage fort ( technique, métier )
14
Le middleware orienté objets (MOO)Le middleware orienté objets (MOO)
15. • Points forts
Fiabilité.
Capacité d’intégrer les messages et les transactions.
• Points faibles
L’extension (scalability) est limitée.
15
Points forts – Points FaiblesPoints forts – Points Faibles
16. • Le middleware vise à faciliter la programmation répartie.
• Développement, évolution, réutilisation des applications.
• Portabilité des applications entre plates-formes.
• Interopérabilité d’applications hétérogènes.
Avantages de middlewareAvantages de middleware
16
17. • La perte de vitesse
– Ordinateur lent pour le serveur d'application
– connexion lente entre les applications serveur et le
serveur de base de données
• Sécurité
– Peut introduire de nouveaux trous de sécurité
• Fiabilité
Inconvénients de middlewareInconvénients de middleware
17
22. • Middleware est une abstraction importante pour
la construction de systèmes distribués.
• Middleware offre de nombreuses fonctionnalités
pour l'intégrateur de systèmes, et est donc devenu
une ressource inestimable.
ConclusionConclusion
22
L'intergiciel (middleware en anglais) est un ensemble de logiciels ou de technologies informatiques qui servent d'intermédiaire entre les applications et le transport des données via le réseau. Ils offrent des services de haut niveau liés aux besoins de communication des applications :temps réel, sécurisation,
sérialisation, transaction informatique...
*le fait qu’une application est constituée de parties interconnectées s’exécutant à des emplacements géographiquement répartis.
*des composants matériels, des systèmes d’exploitations et des protocoles de communications utilisés par les différents parties d’une application.
*normalisées et de haut niveaux aux équipes de développement et d’intégration pour faciliter la construction, la réutilisation, la portabilité et l’ interopérabilité des applications .
*réalisant des fonctions d’intérêt général, pour éviter la duplication des efforts et faciliter la coopération entre applications.
SQL*NET: intrface permettre de communiquer une app client avec base oracle
ODBC : intarfece isloant le client du srveurrs des données
*Asynchrone : les applications ne sont pas en attente d’une réponse a leur message
*Fiable : garantir l’acheminement des messages quelles que soient les circonstances et les aléas ( la connectivité réseau et interrompue, le serveur distant est arreter
*Le message représente les informations échangées par deux applications via le MOM
*Les MOM utilisent des files d'attentes ou queues par lesquelles transitent les messages. Lorsqu'un applicatif envoie un message, il se connecte au broker de messages (courtier de messages) à qui il envoie le message en précisant l'identifiant de la file d'attente. Quand le destinataire du message se connecte à son tour à l'agent de gestion des messages, le message lui est alors délivré lorsqu'il lit la file d'attente en question.
D'un côté, nous avons notre application Android, d'un autre, notre base de données:
L'idée, pour faire communiquer ces deux entités, est d'utiliser un Middleware.
Ce Middleware, par définition, va organiser, adapter et traiter les échanges entre l'application et la BDD.
Ces échanges sont possibles grâce à des Web Services, avec des langages d'échanges adaptés tels que JSON, ou XML.