REST Webservice

Status
Nicht offen für weitere Antworten.
G

gast2

Gast
Hallo,

kann mir einer REST etwas näher erklären? Ich beschäftige mich gerade generell mit Webservices, aber bei REST steig ich nicht durch. Die Architektur an sich ist schon klar, aber z.b. die xml-Docs die da hin und hergeschickt werden...muß nicht irgendwo (in einer config oder so) definiert sein wie die aufgebaut sind?

Dann, woran wird bekannt gemacht das es sich um einen Webservice handelt? Im falle von Axis/SOAP gibt es ja die *.wsdd die definiert wo der Service liegt und wie er angesprochen werden darf.

Genauer gesagt wo ist der Unterschied zw. einem normaler Servletaufruf .../warenkorb und den RESTwebservice-Aufruf Warenkorb (um mal bei dem viel genannten Warenkorbbsp. zu bleiben)???

Wenn ich vom Service einen Antwort-XML bekomme...muß ich die auf meiner HMTL/JSP(whatever) dann per Hand auseinander auseinanderpflücken und auswerten oder wie soll das Ganze aussehen?

Irgendwie finde ich da kein gutes Tutorial bzw. meist nur Artikel die die Bedeutung von REST erläutern.

Kann mir da wer Licht ins Dunkle bringen?

Danke,
gast2
 

JUnkie

Mitglied
Du denkst zu kompliziert: Das schöne an REST ist ja, dass es so einfach ist. REST muss ja nichtmal XML verwenden. Es gibt daher auch keine DTDs oder so. SOAP ist kompliziert, die einzige Gemeinsamkeit mit REST ist eigentlich, dass es wie REST auf HTTP aufsetzt.
 
G

gast2

Gast
Du denkst zu kompliziert:

das denke ich mittlerweile auch. Aber dennoch kannst du mir sagen wie die warenkorb-xml die der Client zurückbekommt (<warenkorb><item>1</item><item>2</item></warenkorb>)...oder besser deren Inhalte nun in meine tolle HTML zur Darstellung kommen? Das raff ich nicht so wirklich...

Ich mein wenn das ganze Web auf Rest basiert dann ist doch quasi jede Antwort auf ne http-Anfrage ein Webservice oder wie?

gruß,
gast2
 

JUnkie

Mitglied
Anonymous hat gesagt.:
wenn das ganze Web auf Rest basiert dann ist doch quasi jede Antwort auf ne http-Anfrage ein Webservice oder wie?

Ja, so könnte man es sehen.

Das XML, was Du zurück bekommst, kannst Du verwerten, wie Du willst. Natürlich musst Du daraus HTML machen, um es im Web darzustellen. Als Standard für diesen Vorgang gibt es XSLT. Du kannst auch selbst einen Parser schreiben, wenn Du Lust hast.
 
G

gast2

Gast
wie sieht das denn bei Axis/SOAP aus da wird ja über xml kommuniziert. wie wird das Ergebnis dann umgewandelt? muß man sich da auch selbst drum kümmern?

gruß,
gast2
 

JUnkie

Mitglied
Bei SOAP geht es ja besonders um RPCs. Nicht jede Antwort möchte man darstellen, nicht jede Antwort eignet sich überhaupt dazu bzw. ist dafür gedacht. Ich denke, ich weiß schon, was Du willst. Aber ein bisschen muss man schon dafür tun. Axis kenne ich nicht genau. Aber ich kann Dir sagen, dass es verschiedene Java-APIs zum Parsen von XML gibt. Damit hast Du es schon sehr einfach.
 
G

gast2

Gast
also ich will eigentlich gar nichts :)
Ich beschäftige mich nur mit dem Thema und den möglichen Techniken. Die Axis-Geschichte hab ich soweit gut verstanden (denke ich), nur bei REST ist irgendwie immer alles so schön schwammig geschrieben.

Ich hab mir mal Axis installiert und einige Testanwendungen, die dabei waren ausgefürt. Mich hat halt gewundert das bei den mit glieferten Testanwendungen auch immer nur xml dargestellt wurde ala:

Code:
<soapenv:Envelope>
	<soapenv:Body>
	<simpleEchoResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<simpleEchoReturn xsi:type="xsd:string">3</simpleEchoReturn>
</simpleEchoResponse>
</soapenv:Body>
</soapenv:Envelope>

allerdings bekomme ich da vom Browser immer auch die Meldung:

Mit dieser XML-Datei sind anscheinend keine Style-Informationen verknüpft. Nachfolgend wird die Baum-Ansicht des Dokuments angezeigt.

Ist damit sowas wie das von dir angesprochene XSLT gemeint? Oder etwas ähnliches das quasi xml in html "mappt"?
Dann wär ich zufrieden :D

Kennst du dich zufällig noch mit Uddi aus? :wink:

gruß,
gast2
 

JUnkie

Mitglied
Der Code ist eine einfache SOAP-Antwort. Im Body ist kein XML zu sehen, das man konvertieren und darstellen könnte.

XSLT wird normalerweise benutzt, um auf der Serverseite aus XML irgendwas abderes zu machen, häufig halt HTML. Das was Dein Browser (also Dein Client) da ausgibt, heißt nur, dass er verzweifelt versucht, dass beste aus einem Dokument zu machen, das überhaupt nicht für ihn geschaffen wurde. Diese SOAP-Antwort wird auf einem Server verwertet.

UDDI ist keine große Sache. Google mal.
 
G

gast2

Gast
danke erstmal für deinen ganzen Antworten :D

Also eigentlich ist der Soap-Code von oben ja die Response die an den Clienten soll...wenn das nicht für den Browser gedacht ist, an welcher Stelle muß das dann Browserkonform gemacht werden? Alle mitgelieferten Beispiele geben mir sowas zurück wenn ich den Service mit den entsprechend zugelassenen Methoden und Parametern über den Browser aufrufe...

Vielleicht hab ich einfach nur ein Brett vor dem Kopf aber ich raff diese Schnittstelle SOAP/Browser nicht...

Ich hab leider bisher noch kein "vollständiges" Bsp im Web gefunden...die Prinzipien sind soweit klar nur die "Antwortverwertung" nicht so recht...

Ich dachte schon mir fehlen irgendwelche Bibiloteken...es sind teilweise komplexe BSP mit wsdds und auch einfache jws...



Was Uddi betrifft, da hab ich mich schon belesen und bin am installieren/ausprobieren. Bekomme nur nen komischen Fehler bei der Ausführung...der sich aber als SaxParser-Fehler herausstellte (SOAPException: faultCode=SOAP-ENV:Client - das schließende "</HR>" Tag fehlt, aber ich hab keinen blassen schimmer auf welches Dokument er sich da bezieht). FLiegt immer wenn ich mit dem TModel was mache (Inquery). Na mal schaun...


gruß,
gast2
 

JUnkie

Mitglied
Okay, hatte mich missverständlich ausgedrückt:

Mit "auf der Serverseite" meinte ich eine Webanwendung. Damit wollte ich ausdrücken, dass Dein Browser mit SOAP nichts zu tun hat, außer, dass er Dir Antworten darstellen kann.

Ein Server kann über SOAP oder REST Deinem Server XML senden, das Du dann auf einem Server mit XSLT meinetwegen in HTML umwandelst und dann an einen Browser schickst. Das ist dann eine Webanwendung, die einen fremden Webservice nutzt, um Clients darauf basierende Webseiten zu bieten.
 

AlArenal

Top Contributor
Bei REST ist alles "schwammig" weil REST nicht definiert wie der Content auszusehen hat. Ob Text, binäre Daten, XML - egal!

SOAP kommt gleich mit recht viel Komplexizität daher, die man eben nicht immer braucht. Kein Mensch mag WSDL.. ;)

Übrigens wird man in der nächsten großen Version des Ruby on Rails Frameworks den AJAX-Kram von SOAP auf REST als Default-Mechanismus umstellen. Die ganzen Features, die man vielleicht im Enterprise-Bereich noch unterbringen kann und die SOAP so fett machen, brauchts nämlich nicht.

Es gibt sie immer wieder, die gute alte 80/20-Regel...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M einfacher REST Webservice Allgemeines EE 4
N Authentication/UserPrincipal mit Rest Webservice? Allgemeines EE 6
D Fehler wegen Rest-Schnittstelle Allgemeines EE 4
J rest-schnittstelle Allgemeines EE 3
LimDul Rest-Client/DTOs aus JSON Ergebnis generieren Allgemeines EE 3
M Rest mit Java 11 Allgemeines EE 6
OnDemand REST Json Response Mapping ist null Allgemeines EE 2
L Tcp-IP Server an Rest Schnittstelle Allgemeines EE 20
K Unterschied zwischen JSP & Servlet gegenüber REST mittels JAX-RS Allgemeines EE 1
L Spring REST Application (Data Retrive) API und Architectur hilfe Allgemeines EE 11
C Servlet Tomcat/Jersey findet REST-Service nicht Allgemeines EE 3
T Servlet REST-Full Object per QueryParam Allgemeines EE 2
P ArrayIndexOutOfBoundsException: 48188 bei REST-WebServices Allgemeines EE 1
S Jersey, REST: Vererbung Allgemeines EE 0
G RMI vs REST Allgemeines EE 12
F REST-Service: GET erkennt Veränderungen an der DB nicht. Allgemeines EE 2
M RESTful Webservice mit json Allgemeines EE 2
A Webservice (SOAP) Lookup Allgemeines EE 1
D Webservice benutzen Allgemeines EE 4
S Welcher Java EE Applikationserver für RESTful Webservice? Allgemeines EE 2
N WebService WAR-File auf Tomcat-Server Allgemeines EE 1
B Inject webservice von cxf.xml Allgemeines EE 1
F ein wenig Hilfe - Webservice Allgemeines EE 1
D Servlet Webservice Konfigurationsdateien Best Practice Allgemeines EE 3
D Java Projekt goes Webservice Allgemeines EE 6
H SQL Daten von Webservice an Client übergeben Allgemeines EE 3
G WebService Concurrency Allgemeines EE 6
G WebService portieren Allgemeines EE 11
H Webservice testen Allgemeines EE 7
M Webservice - Anhang senden und codieren Allgemeines EE 4
M Spring: Bean als Webservice freigeben Allgemeines EE 9
O eclipse - tomcat: Problem bei einfachem Webservice Allgemeines EE 16
O webservice mit java erstellen. was brauch ich alles dazu? Allgemeines EE 53
B .net-Webservice aufrufen Allgemeines EE 9
C HashMap über Webservice übertragen Allgemeines EE 2
H WebService mittels SessionBean aufrufen? Allgemeines EE 7
F JBoss WebService Allgemeines EE 3
S webservice mit tomcat und axis ohne eclipse laufen lassen? Allgemeines EE 2
G WebService Client: Parameterübergabe Allgemeines EE 9
R Bei AXIS-Start gleich WebService starten Allgemeines EE 2
R Embedded WebService-Server Allgemeines EE 4
L WebService Problem mit SessionBean Allgemeines EE 14
L Web-Client - SessionBean - WebService Allgemeines EE 2
C WebService deployen .Verzweiflung. Allgemeines EE 2
M Google - WebService Allgemeines EE 3
M Probleme beim Webservice Deployment(Sun ApplicationServer) Allgemeines EE 2

Ähnliche Java Themen

Neue Themen


Oben