WebService Technik - Aufwand Änderung des Application Server

dbausnnd

Aktives Mitglied
Hallo,

wir nutzen als Schnittstellen zwischen den großen Softwarepaketen Webservices. Diese wurden durch die Lieferanten auf Basis des Websphere Application Server realisiert. Jetzt steht eine Aktualisierung des Application Server an. Weiter soll ein weiterer Application Server aktiviert werden und über die DNS eine Art Lastenverteilung aufgebuat werden.

Einer der Hersteller hat einen aus meiner Sicht einen hohen Aufwand für die Anpassung angesetzt. Nach seiner Aussage muss bei den kleinsten Änderungen am Web Server eine neue WSDL Datei erzeugt werden die anschliessend durch ein AXIS Compiler gejagt wird. Daraus resultiert eine JAva Zugriffsklasse die in die Anwendunge eingebunden wird. Dadurch muss die komplette Anwendung überarbeitet und ausgerollt werdne.

Ich war ziemlich verwundert über die nötigen Arbeiten und kann mir einfach nicht vorstellen das jegliche Änderung am Web Server eine solchen Aufwand bedeuten. Meine Kenntnisse im Bereich Webservice ist gleich null jedoch habe ich gedacht, das dem Aufrufer egal ist wo der Webservice liegt. Auch wenn sich die URL ändert sollte das doch kein Problem sein oder?

Hoffentlich konnte ich mich verständlich ausdrücken. Besten Dank schon mal für die Hilfe.

Gruß

dbausnnd.
 
Soweit ich weiß muss am Client nur etwas geändert werden, wenn der Web Service methoden umdeklariert. Also eine Methode
Code:
public byte[] getSomething(String)
nun
Code:
public String getSomething(byte[])
heißen würde. Der Client würde sonst immer noch versuchen einen String an den Service zu schicken, der aber nur byte[] versteht. Bei der Rückgabe dann genau so.

In der Regel sollte es dem Client aber egal sein, ob der Server seine Businesslogik ändert. In wie weit hier die Schnittstellen betroffen sind kann ich aber nicht beurteilen. Da fehlt mir wohl auch noch etwas die Erfahrung.
 
Genau so habe ich da auch verstanden. Laut dem Dienstleister geht die Problematik sogar noch weiter. Sogar ein Update des zu grundeliegenden Application Server soll zu einer Neukompilierung führen.

Dem Aufrufer des Web Service sollte doch egal sein von wo er die Antwort erhält. Der Aufrufer hat eine URL mit einem Port die Ihm bekannt ist. Durch die URL wird die IP ermittelt und dort wird der Web Service angesprochen. Ob das jetzt Server A oder Server B ist kann dem Aufrufer doch egal sein solange er sein Ergebnis in der korrekten Form erhält.

Für weitere Informationen wäre ich dankbar.
 
Hallo dbausnnd,


die WSDL beschreibt die Schnittstelle eines Dienstes. Diese ist natürlich unabhängig von der Technik die hinten rum eingesetzt wird. THEORETISCH sollte sie sich also nicht ändern.

Praktisch ist es aber so, dass beim Code-First Ansatz (die WSDL des Services wird aus den Java-Klassen erzeugt) je nach Applikationsserver (und/oder version) unterschiedliche WSDLs erzeugt werden (könnten), die praktisch dasselbe beschreiben.
In vielen Fällen sollten der Zugriff trotz geringfügig anders aussehender WSDL trotzdem möglich sein.


Ob das nun hier der Fall ist (bin in Axis nicht mehr so firm), kann ich nicht sagen.
In jedem Fall ist es aber ein Manko des verwendeten Ansatzes.


Dem Aufrufer des Web Service sollte doch egal sein von wo er die Antwort erhält. Der Aufrufer hat eine URL mit einem Port die Ihm bekannt ist. Durch die URL wird die IP ermittelt und dort wird der Web Service angesprochen.
Das hier klingt für mich doch sehr danach, dass dein Dienstleister keine Möglichkeit vorgesehen hat den Endpunkt zu konfigurieren und stattdessen den in der WSDL hinterlegten Endpunkt als Fix ansieht.
Dies ist in meinen Augen ein deutlicher (bewusster?) Designfehler den ich per Anforderungen abstellen lassen würde.
 

Neue Themen


Zurück
Oben