Webservice Design Frage bzw. Problem

14. Februar 2016 16:36

Hallo,
ich entwickle eine Applikation (mit C#), welche mit Navision über Webservice kommuniziert.
Nun verwende ich aktuell ca. 20 Pages und ca. 30 Funktion von drei Codeunits mittels Webservice.
Aktuell wird damit auch schon produktiv gearbeitet und auch noch weiter entwickelt.

Und hier habe ich nun mein Design-Problem. Wenn ich nun eine Funktion in einer Codeunit ändern muss, sprich es kommen weiter Übergabeparamter hinzu
funktionieren die produktiven Clients (beim Aufruf diese geänderten Funktion) natürlich nicht mehr.

Wie könnte ich das lösen bzw. wie könnte ich das designen.

Besten Dank und
lg
stony

Re: Webservice Design Frage bzw. Problem

15. Februar 2016 11:42

Hallo Stony,

eine dynamische Lösung ist hier meines Erachtens nicht möglich, wenn du die Parameter einer Funktion änderst musst du auch den Aufruf in deiner C# Anwedung anpassen.

Kleiner Tipp:
Wenn du deine C# Anwendung als ClickOnce Anwendung veröffentlichst, hast du kaum Probleme solche Änderungen vorzunehmen, da deine User immer den aktuellen Stand haben. :lol:

Re: Webservice Design Frage bzw. Problem

15. Februar 2016 12:46

Das sinnvollste wäre natürlich eine Testdatenbank mit Testserver der völlig unabhängig von der Produktivdatenbank arbeitet und Tests während der Entwicklung ermöglicht.

Findet die Entwicklung auf dem Produktivsystem statt oder kann generell den Produktivbetrieb beeinflussen, dann empfehle ich statt der alten neue Funktionen zu benutzen und die vorhandenen so zu belassen, bis alles komplett ausgerollt ist. Ich nutze manchmal die Endung Ex für erweiterte Funktionen (z.B. GetCustomer(CustomerNo) => GetCustomerEx(CustomerNo, PostCodeFilter)).

Re: Webservice Design Frage bzw. Problem

15. Februar 2016 20:35

Danke mal für die Vorschläge.

Kann man mit Clickonce das Programm aktualisieren. Sprich das ich das von zentraler Stelle aus steuern kann.
Z.B. möchte ich jetzt alle PC's mit diesem Programm aktualisieren.
Das Programm wird nämlich einmal gestartet und dann läuft es eigentlich immer auf den jeweiligen PC.

Die Entwicklung findet je auf eine Testsystem statt. Nur das Problem ist halt, das ich irgendwann die Navision Objekte auf das Echtsystem übertragen muss.
Und dann habe ich die Problem mit den Webservice. Aber der Vorschlag mit den neuen Funktionen wäre eine Lösung.

lg
stony

Re: Webservice Design Frage bzw. Problem

16. Februar 2016 09:27

Clickonce funktioniert so das du all deine Dateien auf einem Server veröffentlichst(z.b. ein FTP Server).
Die User erhalten dann die Clickonce Anwendung, diese prüft beim Start ob ein Update vorhanden ist, und lädt dieses gegebenenfalls herunter.
Hier findest du einige Anleitungen zum ClickOnce Deployment: https://msdn.microsoft.com/en-us/library/wh45kb66%28v=vs.90%29.aspx
Bei Youtube gibt es auch einigee gute Anleitungen dazu.