WebService Versionierung

MQue

Top Contributor
Hi,

hätte eine Frage zu WebServices bzw. die ihr die Versionierung von Webservices handhabt.
Wir kaufen eine Applikation von einer externen Firma zu welche WebServices anbietet.

Wir gehen dann einfach her und nehmen die WSDL und machen uns über den Eclipse- Wizard einen Client - fertig.

Das Problem ist nur, dass von der externen Firma die WebServices jedes Jahr mindestens 3 mal geändert werden und wir dann 3 mal den Wizard neu anwerfen müssen.
Es werden z.B.: die namespaces geändert. Die heißen bei der Version V3 z.B.: http://firmen.name/V3 und bei der Version 4 dann http://fimen.name/V4.

Meinem Verständnis nach sollte die Version in den Namespaces gar nicht vorkommen denn dann ist ja der WebService nicht mehr abwärzkompartibel. Ich lass mir vielleicht einreden, dass man das so macht, aber in einem Jahr V3, V4 und V5 herauszubringen und als Client muss man das dann nachziehen (Wizard) find ich eher grenzwertig.
Bei einer anderen Appl haben wir das so gelöst, dass es eine Methode bei WebService gibt "getVersion"- mit dieser Methode kann man die Version des WebServices z.B.: über SOAPUI einfach abfragen.

Wie seht ihr das bzw. wie macht ihr das in eurer Firma?
 

TheDarkRose

Gesperrter Benutzer
Sind die Webservices von dieser "Firma" überhaupt dazu gedacht abwärtskompatibel zu sein?

Wobei, bei solch einer Firma würd ich nie einkaufen, aber hab schon schlimmeres gesehen :lol:
 

MQue

Top Contributor
Sind die Webservices von dieser "Firma" überhaupt dazu gedacht abwärtskompatibel zu sein?

Wobei, bei solch einer Firma würd ich nie einkaufen, aber hab schon schlimmeres gesehen :lol:

Naja, es gibt mehrere Appl die von diesen WS abhängig sind - mir ist einfach immer unerklärlich wie man sowas machen kann,
das lustigste ist aber, dass es sich da um eine 5 Personen Firma handelt wo wir da einkaufen und wir sind 500 - die 5 tanzen uns auf der Nase herum und haben wahrscheinlich auch noch einen ziemlichen Spass dabei - naja was solls.

lg
MQue

PS: was hast du da schon schlimmes gesehen - würd mich interessieren - vielleicht könntest dus ja kurz schreiben
 

TheDarkRose

Gesperrter Benutzer
Naja, es gibt mehrere Appl die von diesen WS abhängig sind - mir ist einfach immer unerklärlich wie man sowas machen kann,
das lustigste ist aber, dass es sich da um eine 5 Personen Firma handelt wo wir da einkaufen und wir sind 500 - die 5 tanzen uns auf der Nase herum und haben wahrscheinlich auch noch einen ziemlichen Spass dabei - naja was solls.
tjaaaaa, das blöd :/

PS: was hast du da schon schlimmes gesehen - würd mich interessieren - vielleicht könntest dus ja kurz schreiben

Ach, Anwendungen aus den 70er Jahren die heute noch Produktiv eingesetzt werden. Ist eine Linuxterminalanwendung, die aber spezielle Sachen nutzt und somit nur mit einer einzigen TUN-Software funktioniert. Eigentlich läuft die Anwendung auf dem Linuxserver, aber ganz krank wird es dann, wenn die Anwendung plötzlich ein lokales Batchskript über die TUN-Software aufruft um das lokale Office zu starten, welches dann mit Makros die Word Datei mit Daten aus der Terminalsoftware befüllt. Natürlich alle Pfade hardcodiert, das keine Änderung an der Struktur möglich ist ...
 

Templarthelast

Bekanntes Mitglied
Ach, Anwendungen aus den 70er Jahren die heute noch Produktiv eingesetzt werden. Ist eine Linuxterminalanwendung, die aber spezielle Sachen nutzt und somit nur mit einer einzigen TUN-Software funktioniert. Eigentlich läuft die Anwendung auf dem Linuxserver, aber ganz krank wird es dann, wenn die Anwendung plötzlich ein lokales Batchskript über die TUN-Software aufruft um das lokale Office zu starten, welches dann mit Makros die Word Datei mit Daten aus der Terminalsoftware befüllt. Natürlich alle Pfade hardcodiert, das keine Änderung an der Struktur möglich ist ...

Mit sowas in der Arbeit darf ich auch gerade arbeiten, aber es kann ja nur noch besser werden.

@TO Warum baut ihr keine Schnittstelle zwischen den Webservices und dem Wizard? Damit bekommt der Wizard die Daten immer in der gleichen Weise und ihr müsst nur noch die Schnittstelle updaten. Wenn es nur um die NameSpaces gehen würde, könntet ihr auch ein Proxy einrichten der von http://firmen.name/V zu http://firmen.name/Vxxx umleitet und dann nur noch diese geupdated währden müsste.
 

MQue

Top Contributor
Mit sowas in der Arbeit darf ich auch gerade arbeiten, aber es kann ja nur noch besser werden.

@TO Warum baut ihr keine Schnittstelle zwischen den Webservices und dem Wizard? Damit bekommt der Wizard die Daten immer in der gleichen Weise und ihr müsst nur noch die Schnittstelle updaten. Wenn es nur um die NameSpaces gehen würde, könntet ihr auch ein Proxy einrichten der von http://firmen.name/V zu http://firmen.name/Vxxx umleitet und dann nur noch diese geupdated währden müsste.

Das wäre der Idealfall, aber kein Geld, keine Leute usw. vorhanden ...

Das einfachste wäre halt, einfach keine versionsspezifischen Sachen in die WSDL - aber das wäre zu einfach ... :)
 

Noctarius

Top Contributor
ESB :) oder einfach Apache Camel, dafür braucht man auch nicht mehr Leute als für die regelmäßige Anpassung an den Webservice
 

DerFeivel

Bekanntes Mitglied
Also nen Proxy kostet m.E. auch nicht mehr Aufwand...

Was ändert sich eigentlich sonst noch zwischen einzelnen Versionsnummern?


Wenn sich bei meinen/unseren Webservices die Schnittstelle (in der Struktur) geändert hat, war dies meist in einer fachlichen Änderung begründet. Daher musste dann in der Regel auch der Client angepasst werden.
Wenn sich die zur Verfügung gestellten wsdl's nur in den von dir benannten Punkt unterscheiden, dann kapsele das halt wie schon beschrieben über eine Schnittstelle (DAO-Pattern) die du dann nur noch anpassen musst.


Eine WSDL nach euren WÜnschen wäre natürlich auch machbar, sofern die WSDLs nur euch zur Verfügung gestellt werden und dein Chef auch weiß, dass euch das massiv Zeit kostet.


@Noctarius:

Ist ne neue Technologie / ein ESB nicht etwas viel des Guten?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Error beim Versuch, einen Webservice zu kontaktieren SOA 4
J SOA WebService JAX-WS Java-Klasse per wsimport generieren lassen SOA 3
K Webservice: 4 counts of IllegalAnnotationExceptions SOA 0
D Zertifikat Authentifizierung am Webservice SOA 0
P JBOSS 7 und Restful Webservice SOA 1
N WebService Ausgabe einer ArrayList SOA 2
N Web Services Client aus externen WebService erstellen SOA 4
I SOAP Webservice Methoden und Parameter auslesen SOA 3
F [WebService] Array von eigenen Objekten SOA 0
P SOAP Webservice mit HTTP Basic Authentifizierung SOA 1
M JAVA Webservice Währungsrechner DRINGEND Hilfe SOA 1
A Up-/ Download von Dateien zu WebService SOA 6
D WebService Technik - Aufwand Änderung des Application Server SOA 3
R Webservice Timeout Konfiguration SOA 3
D SOAP Webservice (SAP) SOA 3
L [AXIS2] OutOfMemory Exception bei Übertragung von größerer Datei via Webservice SOA 3
A Funktion mit Map als WebService SOA 4
T Webservice serviceName im Handler ermitteln SOA 3
N Webservice Einbinden wsdl SOA 7
M Edit und Remove über Webservice SOA 3
F Client Problem gegen Webservice SOA 3
P Java Webservice mit JWS Bindingnamen customizen SOA 4
L wie ArrayList an Webservice geben? SOA 3
B Webservice Config / SoapStub: Best Practice SOA 3
S Objektübertragung Fehler über Webservice SOA 10
E Webservice durch Java ansprechen SOA 7
L Webservice HTTPS Netbeans SOA 2
G NullPointerException bei Parameterübergabe an Webservice mittels kSoap2 SOA 2
M Webservice per URL ansprechen SOA 14
M Webservice Client erstellen und XML Request senden SOA 3
T Verwendung von Eclipse Projekten im Axis2 Webservice SOA 8
S Webservice als "CronJob" SOA 4
M Webservice (JaxWS) extern verfügbar machen SOA 5
M Welches WebService Framework ist denn das beste FRAMEWORK? SOA 5
D Webservice fürs Internet sichtbar machen SOA 2
W WebService aus einer HTML-Seite SOA 9
T WebService innerhalb von Seam-Projekt, komplexe Datentypen SOA 6
N JAX-WS WebService und Tomcat 7 SOA 11
E Trennung von Daten und WebService und Wiederverwendung der Daten SOA 2
D Sicherheit bei REST-Webservice SOA 19
G WebService, was darf der Client alles sehen SOA 19
M Nutzen des Webservice AWSECommerceService SOA 1
S AXIS2 Webservice: Umgang mit komplexen Datentypen SOA 5
G Webservice Contract first SOA 8
G WebService -> ServletFilter SOA 2
G WebService Concurrency SOA 19
M Fehler beim Veröffentlichen eines Webservice SOA 6
G WebService Types SOA 7
G OpenLigaDB Webservice Client SOA 4
G WebService WSDL SOA 3
A PHP WebService aus Java aufrufen SOA 2
R Proxy WebService erstellen SOA 3
G JPA/ Webservice: Passwort Feld einer Klasse fürs Lesen "verschleiern" SOA 10
G WebService mit wsdl erstellen SOA 4
P WebService SOA 6
H Webservice: BindingProvider SOA 6
D WebService DB abfrage SOA 4
mabe83 EJB Klassen für Webservice nutzen SOA 2
S Webservice-Client-Klasse gibt immer null zurück SOA 3
G WebService mit komplexen Objekten SOA 5
C Problem mit Java Webservice - SOAPBinding.Style - Wrapper class fehlt SOA 1
T Rest Webservice der 2 verschiedene XML Objekte(JaxB) entgegennimmt SOA 10
S Webservice, Vererbung und Netbeans SOA 3
E Lesen der kompletten SOAP als WebService Provider/Server SOA 4
T WebService Authentifizierung SOA 11
mabe83 Suche Hilfe zum Thema Webservice + EJB SOA 3
T WebService erstellen SOA 28
T Krankes Vorhaben: Von VB auf Java Webservice SOA 10
M Webservice RuntimeModelerException? SOA 5
G Webservice mit Java aufrufen SOA 2
G WebService: mehrere methoden mit demselben Namen SOA 4
T einfacher Webservice SOA 3
G Webservice im JBoss: runtime modeler error SOA 3
V webservice von aussen (webbrowser) ansprechen SOA 2
V Webservice, allgemeine Fragen SOA 9
G Alfresco - WebDav oder WebService SOA 2
0 Webservice nutzen (rpc/enc style) SOA 2
R XML verschicken mit Webservice Server Client SOA 2
R Webservice aufrufen mit SOAP Style.DOCUMENT ? SOA 5
G Webservice zugreifen SOA 6
G Deploy Apache CXF WebService mit Eclipse SOA 2
G Webservice mit JSON SOA 8
T Webservice über Tomcat loggen SOA 5
thE_29 WebService - JAXBElement - richtige Klasse? SOA 2
L Probleme mit komplexen Datentypen in einen Webservice SOA 2
O brauche hilfe bei java/webservice geschichte SOA 29
M Webservice/ Axis/ Bea Weblogic Server 8.1 SOA 12
E Webservice konfigurieren SOA 2
Y Webservice erstellen SOA 4
F Tutorial zu WebService mit JBoss, Eclipse und Jax-ws? SOA 3
C Webservice im Unternehmen SOA 4
L webservice frage (eclipse/wtp, wsdl) SOA 12
U Webservice mit Axis, Hello World Beispiel SOA 2
J Frage zu Webservice SOA 3
L WebService TestClient Problem SOA 2

Ähnliche Java Themen

Neue Themen


Oben