I am implementing web services for a PHP application and am trying to understand what both standard web services and RESTful web services have to offer. My intent is to write wrapper code to abstract away the web service details so that developers can just "instantiate remote objects" and use them. Here are my thoughts, perhaps some of you could add your experience and expand this:
RESTful Web Servcies
temelde sadece "XML talep üzerine beslenir", yani örn. Bu şekilde sunucu uygulamasını sorgulamak böylece bir istemci uygulaması için sarıcı kod yazabilirsiniz:
$users = Users::getUsers("state = 'CO'");
- Bu da bir XML feed bir uzak URL oluşturacak alacağı
- $ Kullanıcılara tam kullanıcı nesneleri bir koleksiyon haline, ya da olabilir
- XML, ya da sol
- vb bir dizi, dönüştü
- sorgu komut dosyası ("devlet = 'CO'") sunucu tarafında SQL tercüme olurdu
Dinlendirici Web Hizmetleri genel olarak salt okunur müşteri görünümünde, POST kullanın veya örneğin, sunucu üzerinde değişiklik yapmak için GET olabilir kod yazabilirsiniz rağmen örneğin, güvenlik için şifreli bir belirteç geçen:
$ Users = Kullanıcılar :: adduser ($ encryptedTrustToken, 'jim', $ encryptedPassword, 'James', 'Taylor');
ve bu sunucu uygulaması üzerinde yeni bir kullanıcı oluşturmak istiyorum.
Standard Web Services
Sonunda standart Web Servcies temelde aynı şeyi yapmak. Sahip oldukları tek avantajı istemci WSDL aracılığıyla ayrıntıları keşfetmek olabilir. Ben bir geliştirici, örneğini düzenlemek ve uzaktan nesneleri kaydetmenize olanak verir sarıcı kod yazmak istiyorum ama bunun dışında, ben hala sarıcı kodu uygulamak gerekir. SABUN bu yapabilirim, benim için herhangi yapmaz:
$soap = new nusoap_client('http://localhost/test/webservice_user.php?wsdl', true);
$user = $soap->getProxy();
$lastName = $user->lastName();
ama düzenlemek ve kaydetmek istiyorsanız:
$user->setLastName('Jones');
$user->save();
Sonra reaksiyona sokulması gibi gerek sunucu tarafında devletin tüm idare, SOAP her istemci için sunucu tarafında bu nesneyi tutmak için görünmüyor.
Belki (NuSOAP) kullanıyorum PHP SOAP uygulamasında sınırlamalar vardır. Belki Java ve. NET uygulamaları daha fazlasını yapın.
Bu bulutlar bazı temizlemek için görüşlerinizi işitme keyfine varacaksınız.