Schnittstelle NAV 2009 + Warenmanagementsystem

20. April 2011 10:50

Hallo zusammen,
ich arbeite momentan an einer Schnittstelle zwischen Microsofts Dynamics NAV 2009 und einem Warenmanagementsystem. Es wird überlegt die Schnittstelle mithilfe von XML Dateien zu realisieren. Dabei wird die XML Datei dem einen System erzeugt und in einem Ordner abgelegt und durch das andere System wieder eingelesen.
Da im Hintergrund für beide Systeme ein MSSQL Server R2 läuft frage ich mich, ob eine direkte Kommunikation zwischen beiden Datenbank Systemen nicht viel sinnvoller wäre bzw. überhaupt möglich.
Ich habe gelesen, dass mithilfe von Transaktionsreplikationen der MSSQL Server 2008 R2 Daten in beiden Datenbanken synchronisiert kann. So könnte auch eine Transaktionssicherheit hergestellt werden.
Da es in beiden Systemen Zwischentabellen gibt, in die die XML Dateien eingelesen werden ist nun meine Frage ob ich mithilfe von Transaktionsreplikationen die Daten direkt zwischen beiden Datenbanken austauschen können? Oder gibt es noch eine andere Möglichkeit?
Viele Grüße und besten Dank
Nils

Re: Schnittstelle NAV 2009 + Warenmanagementsystem

20. April 2011 13:59

So eine ähnliche Frage vor kurzem: http://www.msdynamics.de/viewtopic.php?f=40&t=12565

Volker

Re: Schnittstelle NAV 2009 + Warenmanagementsystem

20. April 2011 14:41

Hallo Volker,
danke erst einmal für deine Antwort. In dem Thema auf das du verlinkt hast, kommen die Webservices zum Einsatz. In dem Buch „SQL Server 2008 R2“ was ich mal zurate gezogen habe steht, das die Webservices vor allem in heterogenen Umgebungen (also unterschiedliches Betriebssystem oder Middelware oder so) zum Einsatz kommen. Und das sich bei Anwendungen die sich durch hohe Performance, Hochverfügbarkeit oder hochgradig konkurrierende Zugriffe auszeichnen nicht verwendet werden soll. Das würde heißen, dass sich Webservices sich für diesen Einsatz nicht eignen.
Daher die Idee die Transaktionsreplikation zu nehmen. So wäre es möglich die Daten die ausgetauscht werden sollen in eine Zwischentabelle auf NAV Seite zu schreiben und dann in derselben Transaktion die Daten in die Zwischentabelle des Warenmanagementsystems zu schreiben. Ist dies nicht möglich würde ein Fehler erzeugt und die Transaktion nicht durchgeführt. Zumindest ist so meine Theorie. Ich bin mir aber nicht sicher ob dies wirklich funktioniert und ob dies eine übliche bzw. elegante Lösung ist. Schreibe grade an meiner Bachelorarbeit und bin daher auf der Suche nach einer guten alternative zum Austausch der XML Dateien.
Gruß
Nils

Re: Schnittstelle NAV 2009 + Warenmanagementsystem

20. April 2011 14:52

Transaktionssicherheit ist ein Ding, Business-Logik aber der zweite Punkt. Wenn Du Deine Daten direkt in den SQL-Server schreibst, umgehst Du u. U. die gesamte Logik von NAV und evtl. auch die des anderen Systems. Abes es gibt ja z. B. auch noch MSMQ mit dem man Dein Szenario abbilden könnte.

Volker

Re: Schnittstelle NAV 2009 + Warenmanagementsystem

20. April 2011 15:21

vsnase hat geschrieben: Abes es gibt ja z. B. auch noch MSMQ mit dem man Dein Szenario abbilden könnte.

Meinst du damit die Integration Services? Ja über die habe ich mir auch schon Gedanken gemacht aber hier liegt der Grundgedanke ja auf einfachheit und es findet keine Überprüfung der Daten statt. Daher habe ich diesen Weg erst einmal ausgeschlossen.

vsnase hat geschrieben:Transaktionssicherheit ist ein Ding, Business-Logik aber der zweite Punkt. Wenn Du Deine Daten direkt in den SQL-Server schreibst, umgehst Du u. U. die gesamte Logik von NAV und evtl. auch die des anderen Systems.


Ich hab nicht soviel Erfahrung mit dem MSSQL Server daher bin ich mir nicht sicher, aber sind Webservices, Integration Services und Replikation letztlich nur ein Übertragungsverfahren für die Daten? Daten werden nach meinem Verständnis, so nur von einen Zwischentabelle in die andere bewegt und anders herum. Die Tabellen die NAV nutzt würde ich also nicht verändern. Hätte jetzt eine Export und eine Import Tabelle in beiden Systemen angelegt (die von NAV mit Daten versorgt werden / bzw. aus denen NAV Daten holt) und danach mit der Standart Business-Logik weiter gearbeitet. Geht das nicht?
Gruß
Nils

Re: Schnittstelle NAV 2009 + Warenmanagementsystem

20. April 2011 15:53

Hallo,

du solltest nicht direkt mit dem SQL-Server arbeiten, wenn du die Businesslogik von NAV benötigst. Wenn du Daten direkt in NAV Tabellen einträgst, wird die Businesslogik von NA V hier nicht ausgeführt, was zu nicht korrekten Daten führen kann.

Zuerst solltest du allerdings klären welche möglichen Schnittstellen beide Systeme bieten, die du verheiraten möchtest. Erst danach kannst du dich für eine Lösung entscheiden, die von beiden System unterstützt wird.

Gruß, Fiddi

Re: Schnittstelle NAV 2009 + Warenmanagementsystem

20. April 2011 16:42

Bin ich da denn so auf dem Holz weg?
Ich habe mal versucht in zwei Grafiken zu verdeutlichen was ich meine.
Aus der einen Tabelle würde ich allerdings eine Export und eine Import Tabelle machen.
Die XML Lösung mit einem Dateisystem in dem die Dateien importiert werden, ist der vom Warenmanagement vorgeschlagene Weg. Ich habe aber ein Problem damit, da so keine Rückmeldungen an das NAV übergeben werden und auch eine Transaktionssicherheit nicht gegeben ist. Daher die Lösung mithilfe von Replikation. Wobei die meinem Wissen nach austauschbar ist gegen Webservice oder Integration Services, da ich es nur als übertragungs- Weg sehe. Ich versteh einfach nicht wo ich bei diesem Prozess die Logik von NAV ändere? Wenn NAV die Daten in die Austauschtabellen schreibt und daraus ließt.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Schnittstelle NAV 2009 + Warenmanagementsystem

20. April 2011 16:51

Gemeint ist schätzungsweise, dass beim Füllen eines Datensatz in NAV beim Vailidieren der Felder/beim OnInsert Daten geprüft und/oder weitere Daten erzeugt werden, die in der Regel absolut notwendig sind. Schiebst du deine Daten einfach über SQL in die NAV-DB, passiert das natürlich nicht, der Weg über Webservices ermöglicht das aber.

Re: Schnittstelle NAV 2009 + Warenmanagementsystem

20. April 2011 17:48

NilsE hat geschrieben:Die XML Lösung mit einem Dateisystem in dem die Dateien importiert werden, ist der vom Warenmanagement vorgeschlagene Weg.


Da stellt sich die Frage, ob dieses System überhaupt Möglichkeiten bietet (und in Zukunft noch bieten wird) Daten direkt in die Datenbank zu schreiben und zu verarbeiten. Die Synchronisation einer Tabelle bedeutet zudem, dass die Systeme festverbunden und von einander abhängig sind. Spätere Anpassungen werden dadurch nicht leichter.

Wenn Du die Daten nun aus Deiner Zwischentabelle in NAV unterbringen willst, mußt Du trotzdem dafür sorgen, dass auch die gesamte notwendige Logik ausgeführt wird.

Weiteres Problem könnte z. b. die unterschiedliche Abarbeitung der Zwischentabellen in den beiden System sein, So könnte z. B. Daten von einem anderen Anwender weiterverarbeitet werden und Ergebnisse liefern oder Ereignisse auslösen, die wiederum Einfluß auf das andere System haben können (oder habe ich falsch verstanden, dass Daten in beide Richtunge ausgetauscht werden sollen?), obwohl noch nicht alle Daten der Zwischentabelle verarbeitet wurden. Im anderen System könnten diese aber schon vollständig berabeitet sein, mit der Folge, dass hieraus abgeleitete Ergebnisse falsch sein können.

MSMQ (http://msdn.microsoft.com/en-us/library/ms711472(v=vs.85).aspx) kann zusammen mit NAS eingesetzt werden umd Daten mit NAV auszutauschen.


Volker

Re: Schnittstelle NAV 2009 + Warenmanagementsystem

21. April 2011 10:38

Hey danke erst einmal für eure Antworten.
Ich habe versucht mich mal etwas mit dem MSMQ auseinander zusetzen. Vom Prinzip her hört sich das so an als wenn es genau das ist was ich brauche.
Leider habe ich nichts gefunden wie dies in NAV implementiert wird, beziehungsweise unterstützt wird. Muss ich für MSMQ nicht auch die Businesslogik von NAV anpassen?
Gruß
Nils

Re: Schnittstelle NAV 2009 + Warenmanagementsystem

21. April 2011 10:46

Lies mal in der Doku unter comunication components nach. Auf der NAV-CD sollte es dazu auch ein Dku geben und wenn ich es richtig im Kopf habe ist da auch ein Beispiel drin.

Und nachdem Du ja offensichtlich tatsächlich erst mal ließt ist http://msdn.microsoft.com/en-us/library/aa496089.aspx auch ein Anlaufpunkt.

Volker

Re: Schnittstelle NAV 2009 + Warenmanagementsystem

27. April 2011 14:20

Danke Volker für den Tipp und für eure Hilfe