Question

Nous recherchons une bibliothèque ou un moteur de transformation capable de lire toutes les entrées (fichiers EDIfact, CSV, XML, etc.). Ainsi, les fichiers (ou les résultats de services Web) contenant des données devant être transformées en une structure d'objet métier connue. .) Ces données doivent être transformées en un objet métier existant à l’aide de règles personnalisées. XSLT est à la fois complexe (apprendre) et simple (pas assez de fonctionnalités)

Quelqu'un peut-il recommander une bibliothèque ou un moteur C #? J'ai vu Altova MapForce, mais j'aimerais envoyer quelque chose à des dizaines de personnes qui vont construire / concevoir leurs propres transformations sans avoir à payer des dizaines de licences Altova.

Était-ce utile?

La solution

Si vous pensez que XSLT est trop difficile pour vous, je pense que vous pouvez essayer LINQ to XML pour analyser des fichiers XML. Il est intégré dans le framework .NET et vous pouvez utiliser C # (ou, si vous utilisez VB.NET 9.0, est préférable en raison des littéraux XML) au lieu d'apprendre un autre langage. Vous pouvez l’intégrer à l’application existante sans trop d’effort et sans le décalage de paradigme entre le langage et la gestion de fichiers qui se produit avec XSLT.

Bien sûr, ce n'est pas un framework ou une bibliothèque pour analyser les fichiers, mais ni XSLT, donc ...

Autres conseils

XSLT ne va pas fonctionner pour EDI et CSV. Si vous voulez un moteur de transformation complètement générique, vous devrez peut-être débourser de l'argent. J'ai utilisé Symphonia pour faire face à l'EDI, et cela a fonctionné, mais ce n'est pas gratuit.

Le problème, c’est le problème que vous décrivez, les sons "entreprise". (Je suis sûr que personne n’utilise l’EDI pour le plaisir), il n’existe donc aucun outil open source / gratuit permettant de gérer ce genre de choses.

Je ne serais pas si prompt à dire que XSLT est trop complexe ou ne contient pas les fonctionnalités dont vous avez besoin.

Il existe de nombreux livres / sites Web décrivant tout ce que vous devez savoir sur XSLT. Oui, il y a un peu de courbe d'apprentissage mais cela ne demande pas grand-chose, et il y a toujours une grande communauté comme stackoverflow à laquelle se tourner si vous avez besoin d'aide; -)

En ce qui concerne le manque de fonctionnalités, vous pouvez toujours étendre xslt et appeler des assemblys .NET à partir du xslt en utilisant le XsltArgumentList.AddExtensionObject (), qui vous donnerait le pouvoir dont vous avez besoin.

MSDN a un excellent exemple d'utilisation de cette ici

Il est vrai que les applications MapForce et Biztalk facilitent la création de xslt mais coûtent également un peu. De plus, selon votre base d'utilisateurs (en supposant les non-développeurs), je pense que vous constaterez que ces applications possèdent leurs propres courbes d'apprentissage et sont souvent trop riches en fonctionnalités pour répondre à vos besoins.

Je vous recommanderais de créer et de distribuer votre propre outil de mappage personnalisé en fonction des besoins de vos utilisateurs.

Si vous avez besoin d'une bibliothèque pour les conversions de fichiers, je vous recommande FileHelpers sur SourceForge

DataDirect Technologies a un produit qui fait exactement cela. Sur http://www.xmlconverters.com/ , vous trouverez une bibliothèque appelée XmlConverters qui convertit l'EDI en XML et vice versa. Il existe également des convertisseurs pour les formats CSV, JSON et autres. Les bibliothèques sont disponibles en tant que code géré à 100% .net et port parallèle en 100% Java. Le côté .net prend en charge XmlReader et XmlWriter, tandis que le côté Java prend en charge SAX, StAX et DOM. Les deux prennent également en charge les E / S de flux et de lecture / écriture. DataDirect dispose également d'un moteur XQuery optimisé pour la fusion de données relationnelles avec EDI et XML, mais il s'agit uniquement de Java.

Microsoft BizTalk Server fait un très bon travail dans ce domaine.

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