Title: Interoprabilit Composants et services : Fractal
1Interopérabilité Composants et services Fractal
SCA09/10/2006
2Introduction
- Nombreux modèles à composant
- Fractal, SCA, CCM, OSGi
- Quel support pour linteropérabilité ?
- Echange de données
- Workflow
- Etude de cas
- Interopérabilité entre Fractal SCA
3Agenda
- Cadre du stage
- Modèles à composant
- Introduction
- Fractal - AOKell
- SCA - Tuscany
- Rapprochement des modèles
- SOAP
- Utilisation de services
- Publication de services
4Cadre du travail
- Stage de recherche (5 mois)
- Master TIIR (Technologies de lInformation,
Internet et Réseaux) - LIFL projet INRIA JACQUARD équipe GOAL
- Encadré par L.Seinturier.
5Fractal
- Modèle à composant
- Consortium ObjectWeb
- France Telecom RD / INRIA
- Construction dIntergiciels et de Systèmes
- V1 2002 V2 2004
- Les notions de base
6Fractal
- Particularités
- Architecture hiérarchique
- Partage de composant
- Ouvert
- Introspectable et reconfigurable
7Fractal
- Ouverture des propriétés non fonctionnelles
- Interface de contrôle
- Contrôleur
- Membrane
- Permet Persistance, SécuritéSession,
Transaction - Séparation des préoccupations
contenu
8Fractal
- Description de larchitecture Fractal-ADL
- Fichiers XML avec grammaire particulière
- Composants
- Interfaces
- Liaisons
- Extensible
9Fractal AOKell
- Implémentation de Fractal
- Développé dans le cadre dun CRE avec FT RD
- Contribution scientifique par rapport à
lexistant - Contrôleurs sous forme de composant
- Tissage des contrôleurs dans le composant
- Injection du code de contrôle dans le composant
- AOP AspectJ ou Spoon
10Agenda
- Cadre du stage
- Modèles à composant
- Introduction
- Fractal - AOKell
- SCA - Tuscany
- Rapprochement des modèles
- SOAP
- Utilisation de services
- Publication de services
11SCA
- Service Component Architecture
- Spécifié par IBM, BEA, Oracle (nov. 2005)
- Moyen simple de composer et de structurer les
WebServices (SOA) - WebServices
- Accès à distance de services
- Contrats sur les interactions entre clients /
serveur - Faiblement dépendant, évolution facile
12Service Component Architecture
Component
Service
Reference
- Service et Reference définies par
- Java Interface
- WSDL PortType
- Composants implémentés
- JAVA, BPEL, JavaScript, C
13Service Component Architecture
Module
ComponentA
ComponentB
EntryPoint
Extern.service
Wire
14Service Component Architecture
- Deux niveaux de composition
- Composition de composants à petits grains
- Composition de modules à gros grains
- Liaisons entre les modules
- WebServices (SOAP)
- SCA link (appels locaux)
- Extensible Bindings
- par exemple JMS, JCA, SLSB,serialization
adhoc
15Service Component Architecture
16Service Component Architecture
- Service Component Definition Language
- Même principe que Fractal ADL
- fichier XML définissant larchitecture
- Un fichier .module par module
- Des fichiers .subsystem optionnels
- Annotation de composant
- .componentType file
- JAVA 5 annotations
17Service Component Architecture
- Tuscany (Milestone 1 sortie le 07/06/2006)
- Implémentations des spécification SCA
- JAVA and C runtimes
- Service Data Object (SDO)
- Data Access Service (DAS)
- http//incubator.apache.org/tuscany
18Agenda
- Cadre du stage
- Modèles à composant
- Introduction
- Fractal - AOKell
- SCA - Tuscany
- Rapprochement des modèles
- SOAP
- Utilisation de services
- Publication de services
19Rapprochement des architectures
- Collaboration Fractal / SCA
- Etude de cas sur une application bancaire
20Rapprochement des architectures
- Extension des implémentations
- Ajouter le support de SOAP dans Fractal
- Ajouter le support de Fractal-RMI dans SCA
21Rapprochement des architectures
- Couche de communication SOAP
- Echange de données en XML
- Transporté par un protocole quelconque (http,
smtp, ftp, ) - Contrat déchange
- WSDL
- Schéma XSD ou DTD
22Rapprochement des architectures
- Méta-modèles SOAP à deux niveaux
- Concept de message en XML
- Notions spécifiques de SOAP
SOAP
XML
Transport
23(No Transcript)
24Agenda
- Cadre du travail
- Modèles à composant
- Introduction
- Fractal - AOKell
- SCA - Tuscany
- Rapprochement des modèles
- SOAP
- Utilisation de services
- Publication de services
25Rapprochement des architectures
- Lier les composants
- Génération de composant proxy (délégation)
- Ajout dun contrôleur dédié à SOAP
26Rapprochement des architectures
27Rapprochement des architectures
- Composant proxy
- Avantages
- Méthode simple
- Description explicite dans larchitecture
- Inconvénients
- Génération statique, à la compilation
28Rapprochement des architectures
Java interface
SOAPBC
Fractal Cpn.
SOAP Layer
SCA Cpn.
EP
29Rapprochement des architectures
- SOAP Controller
- Avantages
- Service lié dynamiquement
- Inconvénients
- A la charge du programmeur
- Aucune représentation dans larchitecture
30Agenda
- Cadre du travail
- Modèles à composant
- Introduction
- Fractal - AOKell
- SCA - Tuscany
- Rapprochement des modèles
- SOAP
- Utilisation de services
- Publication de services
31Rapprochement des architectures
- Client SCA, serveur Fractal
32Rapprochement des architectures
Requête SOAP
33Rapprochement des architectures
Comanche
Fractal Cpn.
SOAP Layer
SCA Cpn.
ES
register(/services/AccountService, this)
34Rapprochement des architectures
JVM
JVM
ClientImpl
AccountImpl
SOAP !
35Valeur ajoutée pour Fractal
- Ouverture vers les Services Web
- Ouverture vers les clients riches utilisant ajax
Comanche
Navigateur
XML - SOAP
lthtmlgt
JavaScript
36Perspectives
- Sur le projet
- Génération dInterface Java depuis WSDL
- Utilisation des schémas XSD
- Appels asynchrones
- Gestion des sessions et transactions
- De manière plus générale
- Description générale et hétérogène darchitecture
à composant
37Conclusion
- Etude de Fractal (AOKell)
- Etude de SCA (Tuscany)
- Rapprochement des deux architectures
- Couche de communication SOAP
- Liaison par représentant ou par contrôleur
38- Des questions ?
- Pour essayer
- Tuscany SCA
- http//incubator.apache.org/tuscany
- Fractal SOAP layer
- Available upon request Guillaume.Dufrene_at_lifl.fr