La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Intégration ActiveXML - Xyleme Dan Vodislav Xyleme.

Présentations similaires


Présentation au sujet: "Intégration ActiveXML - Xyleme Dan Vodislav Xyleme."— Transcription de la présentation:

1 Intégration ActiveXML - Xyleme Dan Vodislav Xyleme

2 Dan VODISLAV --- Intégration ActiveXML - Xyleme Plan Contexte et objectifs Architectures possibles Réalisation Conclusions et perspectives

3 Dan VODISLAV --- Intégration ActiveXML - Xyleme Xyleme Entrepôt de données XML à très large échelle –Très efficace pour la gestion de gros volumes de données –API de programmation XyDK Architecture XyStore XyIndex XyLoaderXyQuery Requêtes XyQLDocuments XML

4 Dan VODISLAV --- Intégration ActiveXML - Xyleme ActiveXML Modèle de documents XML dynamiques –XML + appels de services + modèle d'évaluation Plate-forme pour applications distribuées –Communication par services web XOQL processor AXML engine query WSDL service descriptions read update consults SOAP wrapper SOAP AXML peer SOAP service SOAP client AXML peer service call service result AXML store AXML peer AXML XML AXML Paris ../ville/text()

5 Dan VODISLAV --- Intégration ActiveXML - Xyleme Objectifs Rôles dans e.dot –Xyleme: stockage et interrogation de données XML –ActiveXML: distribution de l'application, communication, workflow Objectif: intégrer les rôles de stockage et de communication Intérêt pour ActiveXML –Créer une plate-forme plus puissante, utilisant une vraie base de données Système actuel: documents en mémoire –Étudier différentes architectures de couplage avec une base de données Intérêt pour Xyleme –Modèle ActiveXML intéressant pour Xyleme Données dynamiques compatibles avec le stockage XML Intégration transparente de données et services web –Ouverture vers de nouveaux types d'applications, architectures distribuées, services web

6 Dan VODISLAV --- Intégration ActiveXML - Xyleme Architecture ActiveXML Pair ActiveXML –Stockage de documents ActiveXML: mémoire (DOM) + fichiers –Mise-à-jour dynamique des documents: appels de services –Interrogation: langage XOQL XOQL processor AXML engine query WSDL service descriptions read update consults SOAP wrapper SOAP AXML peer SOAP service SOAP client AXML peer service call service result AXML store AXML peer AXML XML AXML Wrapper SOAP XOQL DOM Mémoire Moteur AXML Fichiers XML mise-à-jour interrogation

7 Dan VODISLAV --- Intégration ActiveXML - Xyleme Intégration de stockage Remplacer le système de fichiers par XyStore –Avantage: les documents ActiveXML sont interrogeables par des applications Xyleme (exemple: Miel++) XOQL processor AXML engine query WSDL service descriptions read update consults SOAP wrapper SOAP AXML peer SOAP service SOAP client AXML peer service call service result XyStore AXML peer AXML XML AXML Wrapper SOAP XOQL DOM Mémoire Moteur AXML XyStore mise-à-jour interrogation

8 Dan VODISLAV --- Intégration ActiveXML - Xyleme Stockage et interrogation Utilisation du moteur d'interrogation XyQL de Xyleme –Avantages: Pas besoin de charger les documents en mémoire pour les interroger Utilisation de l'index et de la puissance d'interrogation Xyleme –Problème: les mises-à-jour ont besoin de la mémoire cache Problèmes de synchronisation cache - XyStore XyQL processor AXML engine query WSDL service descriptions read update consults SOAP wrapper AXML peer XyStore/XyIndex AXML cache Xyleme Wrapper SOAP XyQL Cache DOM Moteur AXML XyStore mise-à-jour interrogation

9 Dan VODISLAV --- Intégration ActiveXML - Xyleme Stockage, interrogation et mise-à-jour Mises-à-jour directement dans Xyleme –Module XyUpdate (janvier 2005) –Pas besoin de maintenir un cache, de le synchroniser avec XyStore –Séparation architecturale "propre" ActiveXML – base de données –Difficultés pratiques: Optimisation de l'accès disque pour les mises-à-jour Modification du modèle de document XS QL processor AXML engine query WSDL service descriptions read update consults SOAP wrapper AXML peer XyStore/XyIndex XyUpdate update Xyleme Wrapper SOAP XyQL Moteur AXML XyStore mise-à-jourinterrogation XyUpdate

10 Dan VODISLAV --- Intégration ActiveXML - Xyleme Réalisation Intégration de stockage, interrogation et mise-à-jour –Stage d'ingénieur CNAM d'Eric Darondeau (depuis sept. 2005) –Étude approfondie du code Java ActiveXML –Intégration au niveau des principales fonctionnalités ActiveXML Conception d'une solution plus générique –Séparation des fonctionnalités ActiveXML "pur" de celles liées à la base de données –Classes clé à spécialiser / remplacer: ActiveXMLDocument ActiveXMLServiceCall DocumentRepository –Rendre possible le couplage avec d'autres bases de données

11 Dan VODISLAV --- Intégration ActiveXML - Xyleme Résultat Pair ActiveXML + Xyleme –Code utilisable pour lancer, au choix, un pair ActiveXML classique ou un pair ActiveXML+Xyleme –Réalisation des fonctionnalités ActiveXML de base Fonctionnalités serveur –Stockage et indexation de documents ActiveXML dans Xyleme –Offre de services web réalisées par des requêtes XyQL paramétrées Fonctionnalités client –Détection d'appels de service dans les documents ActiveXML du pair –Planification et exécution d'appels de service avec paramètres –Mise-à-jour des documents ActiveXML avec le résultat des appels

12 Dan VODISLAV --- Intégration ActiveXML - Xyleme Exemple: un service web Xyleme

13 Dan VODISLAV --- Intégration ActiveXML - Xyleme Difficultés rencontrées Complexité du code ActiveXML Langage XyQL –Axes XPath "parent" et "frère" non supportées –Découverte, enregistrement, mise-à-jour services web moins efficaces Langage XyUpdate –Insertion/suppression au niveau des "frères" non supportée –Opération de base à l'exécution de services web Optimisation des performances –Chaque mise-à-jour se fait par une requête XyUpdate séparée

14 Dan VODISLAV --- Intégration ActiveXML - Xyleme Enseignements et perspectives Enseignements –Intégration qui profite aux deux systèmes Puissance et passage à l'échelle pour ActiveXML avec Xyleme Ouverture vers des applications distribuées pour Xyleme avec ActiveXML –Améliorations suggérées pour Xyleme: langage de requêtes, fonctionnalités XyUpdate, cache DOM, etc. Perspectives –Extension de l'intégration à d'autres fonctionnalités ActiveXML, amélioration de la généricité –Intégration de fonctionnalités ActiveXML dans Xyleme –Validation par des applications ActiveXML – Xyleme à grand volume de données, à large distribution, etc.

15 Dan VODISLAV --- Intégration ActiveXML - Xyleme Exemple: mise-à-jour Un appel de service insère son résultat dans le document –Traitement générique de la mise-à-jour, en utilisant l'API XyUpdate static private String insertSc = "SELECT TAG2URL(parentSc) " + "FROM xyDoc IN AtpStore, parentSc IN xyDoc//NAMEPARENTSC " + "WHERE parentSc/axml:sc/id CONTAINS \"IDSC\";"; String queryInsertSc = replaceWithConcreteService(insertSc, serviceName, serviceId); UpdateIterator itGroup = queryMgr.openUpdateQuery(new QueryInfo(queryInsertSc)); while (itGroup.hasNext()) { UpdatePlan plan = new UpdatePlan(); Iterator itResult = (Iterator)itGroup.next(); while (itResult.hasNext()) { String parentSc = (String)itResult.next(); plan.add(UpdateKind.INSERTCHILD, 0, tuple, parentSc); } docMgr.updateDocument(plan, null); }


Télécharger ppt "Intégration ActiveXML - Xyleme Dan Vodislav Xyleme."

Présentations similaires


Annonces Google