Frage

Ich erwäge Altova MapForce (oder so ähnlich) entweder XSLT und / oder eine Java oder C # Klasse zu erzeugen, um die Übersetzung zu tun. Heute ziehen sie Daten direkt aus der Datenbank und manuell eine XML-Zeichenfolge erstellen, die wir zu einem Webservice veröffentlichen.

Sollte es dB -> (intern) XML -> XSLT -> (extern) XML? Was tun Sie Leute tun da draußen in der weiten Welt?

War es hilfreich?

Lösung

würde ich eine der Out-of-the-Box-Klassen verwendet XML-Serialisierung Ihre interne XML-Generation zu tun, und dann XSLT verwenden, um das externen XML zu verwandeln. Genauso gut könnte man ein Schema generieren zu erzwingen, dass der Umwandlungs-Code (was auch immer Ihre XSLT-Übersetzung fahren), um die XML bekommt sie weiterhin für die Übersetzung im Fall von Änderungen erwartet auf das Objekt Dinge bricht.

Es gibt eine Reihe von XSLT-Editoren auf dem Markt, die Sie tun, um die Zuordnungen helfen, aber ich lieber nur einen regulären XML-Editor verwenden.

Andere Tipps

ya, ich glaube, du hingehst, den richtigen Weg mit MapForce nach unten. Wenn Sie die tatsächliche Transformation vorzuformen keinen Code schreiben möchten, können MapForce, dass auch für Sie tun. Dies kann besser langfristig b / c es ist weniger Code zu erhalten.

Hände weg von teurer Optionen (z BizTalk), es sei denn Sie benötigen, um die B2B-Integration und Orchestrierung wirklich.

Welche Datenbank verwenden Sie? Oracle hat einige nette XML-Mapping-Tools. Es gibt einige Java-Binding-Tools (eine davon ist http://java.sun.com/developer / technicalArticles / WebServices / jaxb ). Wenn Sie jedoch die luxory haben betrachtet Rubin verwendet, die schön eingebaute „to_xml“ Methoden haben.

Tipp # 1:. Vermeiden Sie jegliche Nutzung von XSLT

Die Werkzeugunterstützung saugt. Die resultierende Lösung wird wartbaren sein.

Tipp # 2:. Beseitigen Sie alle unnötigen Schritte

übersetzen Sie Ihre Suchresultates (vorausgesetzt, Sie JDBC oder equiv verwenden) an den Outbound-XML.

Tipp # 3:. Es sei angenommen, jede Verwendung eines schema-basiertes Tool als nicht korrekt und entsprechend zu planen

Mit anderen Worten, nur vortäuschen. Wenn Sie einige mutierte SOAP herausspritzen haben (redundant, ich weiß) Nutzlast nur eine funktionierende SOAP-Nachricht Mock-up und dann in eine Vorlage machen. Geschwindigkeit nicht saugen.

Das heißt, die beste / richtige Antwort ist ein „XML-Writer“ Stil-Lösung zu verwenden. Es gibt ein paar.

Das Beste ist der, den ich schrieb, LOX (Lightweight Objekte für XML) .

Die öffentliche API verwendet ein Builder Design-Muster. Aufgrund einiger Magie unter der Haube, ist es unmöglich, fehlerhafte XML zu erstellen.

Bitte beachten Sie: Wenn XML die Antwort ist, Sie die falsche Frage gestellt haben. Manchmal sind wir gegen unseren Willen gezwungen, sie in irgendeiner Weise zu verwenden. Wenn das passiert, ist es entscheidend, Werkzeuge zu verwenden, den Entwickler Aufwand minimieren und Code Wartbarkeit verbessern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top