# Webservice mit JSON



## Guest (31. Mrz 2008)

Hallo,

ich habe gelesen, dass ein Webservice sich über die Technologien  SOAP, UDDI und WSDL definiert.
Es gibt nochandere Merkmale, aber diese Technologien sollten wohl zum EInsatz kommen, damit es sich um einen WebService handlet, oder ? 

Was ist jedoch, wenn ich anstatt SOAP lieber JSON einsetzen möchte ?

Ich habe dann kein XML im Einsatz. Handlet es sich dann noch um einen Webservice. 

Hintergrund:  Ich habe eine Webanwendung, die mit einem Server kommuniziert (Tomcat) , der eine DB Anbindung hat. Die Daten werden dann zurück an die Webanwendung gegeben, die mit einem Client kommuniziert. 

Nur wollte ich das ohne WSDL und SOAP machen. Wenn das nun kein WebService ist, was ist es dann ?



Vielen Dank


----------



## Wildcard (31. Mrz 2008)

UDDI hat ist lediglich ein Webservice Verzeichnis, kein intregraler Bestandteil.
SOAP ist AFAIK nicht wirklich erforderlich, wenn auch die Regel.
Aber ohne eine WSDL? Was für ein Webservice soll das sein wenn er nicht über eine WSDL beschrieben werden kann?
Ohne XML? Also dann ist es definitiv kein Webservice.


----------



## Guest (1. Apr 2008)

Hallo ,

vielen Dank für Deine Antwort. Ich habe hier mal ein Zitat gefunden: "Webservices sind im Grunde genommen nur entfernte Methodenaufrufe." und vielleicht dieses hier noch :  "Webservices sind primär für die Server -Server Kommunikation geschaffen."

Warum muss ich nun WSDL benutzen ?  Das könnte ich auch mit RMI über HTTP getunnelt haben.

Ist der Grundgedanke eines Webservices nicht der, einer Webanwendung verschiedene Methoden zur Verfügung zu stellen, um Daten oder sonstige Rechenleistung auszutauschen ?

Wäre der Einsatz mit JSON ohne XML dann eine Application-To-Application Implementierung als Teil einer EAI

http://de.wikipedia.org/wiki/Enterprise_Application_Integration#Arten

ICH MÖCHTE DER WEBANWENDUNG INTERNE KUNDENDATEN ZUR VERFÜGUNG STELLEN.

 :bahnhof: Ich stehe total auf dem Schlauch...


----------



## foobar (1. Apr 2008)

> Warum muss ich nun WSDL benutzen ? Das könnte ich auch mit RMI über HTTP getunnelt haben.


WSDL brauchst du damit eine Software, die in einer anderen Sprache geschrieben ist, auch auf den Webservice zugreifen kann. Das ist ja gerade Vorteil gegenüber RMI.



> Wäre der Einsatz mit JSON ohne XML dann eine Application-To-Application Implementierung als Teil einer EAI


Soweit ich weiß wird JSON nur für die Payload verwendet. SOAP oder XML-RPC brauchste aber trotzdem. JSON hat eben den Vorteil, daß es einen wesentlich kleineren Footprint hat und in JavaScript-Anwendungen wie AJAX nativ ausgeführt werden kann. Das kann die Performance beschleunigen.


----------



## Guest (1. Apr 2008)

OK. Wahrscheinlich werde ich dann für den Request auch mit soap und WSDL arbeiten. Ich werde mich mit
Axis2 mal auseinandersetzen.

Aber noch einmal so als Kommentar: Ich kann doch auch einfach einen einfachen POST zwischen 2 Servern versenden. Hierbei habe ich auch Wertepaare. Auch tiefere Strukturen sind bei einem assozativen Array möglich.
So kann auch eine PHP Anwendung Daten an ein Servlet senden. 
Das funktioniert das ganze, ziemlich simpel, ohne WSDL und SOAP . 

Und ob ich nun JSON oder SOAP verwende, in beiden Fällen wird nur ein formatierter String übertragen 


Viele Grüße


----------



## Wildcard (1. Apr 2008)

Ein Webservice dient zum standartisierten Austausch XML basierter Nachrichten unabhängig von der verwendeten Programmiersprache. Wenn du keine XML Nachrichten hast, kannst du auch nicht von einem Webservice sprechen.


----------



## byte (1. Apr 2008)

Anonymous hat gesagt.:
			
		

> Das funktioniert das ganze, ziemlich simpel, ohne WSDL und SOAP .


Du willst doch offenbar gar keine Services plattformunabhängig deployen. Warum dann überhaupt die Gedanken über Webservices? Die sind nämlich sinnfrei, wenn Du nicht von unterschiedlichen Plattformen (Sprachen) drauf zugreifen willst.


----------



## foobar (2. Apr 2008)

> Ich werde mich mit
> Axis2 mal auseinandersetzen.


Guck dir lieber mal CXF an: http://incubator.apache.org/cxf/
Damit kann man sehr schnell Webservices entwickeln.


----------



## Guest (3. Apr 2008)

Also : WebService ist ja mittlerweile ein breitgefächerter Begriff und ich persönlich distanziere mich ein wenig von der Definition des W3C, dass ein WebService aus den 3 Technologien SOAP, WSDL und UDDI besteht. Es gibt mittlerweile auch simplere Definitionen. 

@byto : Man kann auch ohne "WebService" Plattformunabhängigkeit erreichen. Auf meinem WebServer habe ich gar kein Java und trotzdem kann ich doch einfach via PHP Daten an ein Servlet senden. 

Ich gebe aber zu, dass WSDL / SOAP für solche Fälle prädestiniert sind. Über PHP kann ich ziemlich einfach mit nusoap oder PHP:ear Nachrichten versenden. 

Was mich halt gestört hat, ist dass jeder diese WSDL Datei einbinden kann, wenn er den URI kennt. Da soll bei mir natürlich nicht sein. Dazu gibt es aber bestimmt noch ein Sicherheitskonzept, damit nicht jeder einfach den Service nutzen kann. 

@foobar : Dankeschön. Habe mir jetzt erst einmal ein Buch zum Thema Axis2 bestellt. Werde mir Dein Framework mal anschauen.

DEF Webservice: 

Web Services are a new, standards-based approach to build integrated applications that run across an intranet, extranet, or the Internet. The approach represents a major evolution in how systems connect and interact with each other.
Quelle: CWM Web Services Specification, OMG-Dokument ad/2001-10-07

Finde ich nicht schlecht.

VG


----------

