Question

Je pense qu'Altova MapForce (ou quelque chose de similaire) produit XSLT et / ou une classe Java ou C # pour effectuer la traduction. Aujourd'hui, nous extrayons des données de la base de données et construisons manuellement une chaîne XML que nous publions sur un service Web.

Devrait-il être db - > (interne) XML - > XSLT - > (Externe) XML? Que faites-vous dans le monde entier?

Était-ce utile?

La solution

J'utiliserais l'une des classes de sérialisation XML prêtes à l'emploi pour effectuer votre génération XML interne, puis XSLT pour la conversion en XML externe. Vous pouvez également générer un schéma pour que le code de traduction (quel que soit le moteur de votre traduction XSLT) continue à obtenir le code XML attendu pour la traduction en cas de modification de l'objet.

Il existe sur le marché un certain nombre d'éditeurs XSLT qui vous aideront à effectuer les mappages, mais je préfère simplement utiliser un éditeur XML standard.

Autres conseils

oui, je pense que vous vous dirigez dans la bonne voie avec MapForce. Si vous ne souhaitez pas écrire de code pour effectuer la transformation, MapForce peut également le faire pour vous. C’est peut-être mieux à long terme car c’est moins de code à maintenir.

Évitez les options plus coûteuses (par exemple, BizTalk), sauf si vous avez vraiment besoin d'intégration et d'orchestration B2B.

Quelle base de données utilisez-vous? Oracle dispose de bons outils de cartographie XML. Il existe certains outils de liaison Java ( http://java.sun.com/developer). / technicalArticles / WebServices / jaxb ). Toutefois, si vous avez le luxe, envisagez d’utiliser Ruby, qui possède une fonction intégrée "to_xml". méthodes.

Conseil n ° 1: évitez toute utilisation de XSLT.

Le support d’outil est nul. La solution obtenue ne sera pas maintenable.

Conseil n ° 2: supprimez toutes les étapes inutiles.

Traduisez simplement votre jeu de résultats (en supposant que vous utilisez JDBC ou équivalent) en XML sortant.

Conseil n ° 3: supposez que toute utilisation d'un outil basé sur un schéma soit incorrecte et planifiez en conséquence.

En d'autres termes, il suffit de simuler. Si vous devez éjecter une charge utile mutante SOAP (redondante, je sais), il suffit de simuler un message SOAP opérationnel, puis de le transformer en modèle. La vélocité ne craint pas.

Cela dit, la meilleure solution / bonne réponse consiste à utiliser un "XML Writer". solution de style. Il y en a quelques uns.

Le meilleur est celui que j'ai écrit, LOX (Lightweight Objects for XML) .

L'API publique utilise un modèle de conception Builder. En raison de la magie qui règne sous le capot, il est impossible de créer du XML malformé.

Remarque: si XML est la réponse, vous avez posé la mauvaise question. Parfois, nous sommes forcés contre notre volonté de l'utiliser d'une manière ou d'une autre. Lorsque cela se produit, il est essentiel d’utiliser des outils qui minimisent l’effort des développeurs et améliorent la maintenabilité du code.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top