Professional Documents
Culture Documents
,
(730)
2013.
________________________
1.
........................................................................................................ 2
1.1 ?........................................................................................ 2
2. SOAP .................................................................................................. 4
2.1 SOAP ...........................................................................5
2.2 .................................................................................8
2.3 ........................................................................................................ 10
3. REST ................................................................................................ 11
3.1 REST .............................................................................12
3.2 SOAP ............................................................13
3.3 REST .........................................................................13
3.4 REST .............................................................................14
3.5 ........................................................................................................ 15
1.
1.1 ?
(. Web service)
. W3C1
- --
. ,
.
. ,
w . ,
.
:
(IE, Firefox, Chrome). w
HTML
.
.
.
,
.
.
-
URLa.
http://wsf.cdyne.com/WeatherWS/Weather.asmx
1W3C (. World Wide Web Consortium)
2
URL
,
:
GetCityForecastByZIP -
7 ZIP
GetCityWeatherByZIP - ZIP
GetWeatherInformation - ID-
.
XML
.
XML .
w SOAP .
.
2. SOAP
SOAP SOAP
.
:
(Service Provider) -
.
(Service Requester) -
.
f(x)
.
.
SOAP -XML .
SOAP - XML ,
,
, SOAP - XML
.
XML- .
, ""
.
URL-a.
, URL-
http://wsf.cdyne.com/WeatherWS/Weather.asmx
URL
?WSDL .
http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL .
URL XML ,
. XML
WSDL (Web Services Description Language).
, .
URL
.
WSDL
(WSDL). UDDI
(Universal Description, Discovery and Integration)
.
WSDL .
, WSDL
.
UDDI .
w .
2.1 SOAP
C#, ASP.NET Visual
Studio. Add >> New Item... >> Visual C# >>
Web, "Web service" .
( WebServis) Visual Studio
:
WebServis.asmx - URL-
WebServis.asmx.cs - C#
ASMX .
:
?
<%@ WebService Language="C#"
1
Class="WebServisi. WebServis " %>
CodeBehind="
WebServis.asmx.cs"
http://...../WebServis.asmx.
asmx.cs .
.
ASMX.CS
URL-a. asmx.cs
:
?
1 [WebService(Namespace = "http://www.moj-web-servis.org/")]
2 public class MojWebServis : System.Web.Services.WebService
3 {
4
[WebMethod]
7
8
return DateTime.Now;
}
9
10
[WebMethod]
11
12
13
return x + y;
14
15 }
, [WebService]
.
[WebMethod].
URL WebServis.asmx
.
SOAP
SOAP -XML .
, Saberi
3 8, XML:
?
1
<soap:Envelope
3 instance"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-
4 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
6
7
<soap:Body>
<Saberi xmlns="http://www.moj-web-servis.org/">
<x>3</x>
<y>8</y>
1
0
</Saberi>
</soap:Body>
1
</soap:Envelope>
1
x y - XML-a
SOAP (. SOAP Envelope).
SOAP - XML :
?
1 <?xml version="1.0" encoding="utf-8"?>
2 <soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance"
3
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
4
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
5
<soap:Body>
6
<SaberiResponse xmlns="http://www.moj-web-servis.org/">
7
<SaberiResult>11</SaberiResult>
8
</SaberiResponse>
9
</soap:Body>
1
0 </soap:Envelope>
SOAP .
,
XML
.
, 99% SOAP
SOAP WSDL
. ,
SOAP SOAP .
[WebService] [WebMethod] .
2.2
,
. Visual Studio
. .
8
(Namespace). , Visual Studio
SOAP
.
.
.
, SOAP-XML ,
, SOAP-XML ,
.
, MojWebServis
,
:
var ws = new WebServisi.MojWebServisSoapClient();
var rezultat = ws.Saberi(3, 6);
var datum = ws.Sad();
w Sad() Saberi(). Client
SOAP .
.
2.3
W
. ASP.NET-
SOAP Visual Studio
.
SOAP . SOAP
- REST
SOAP HTTP
.
10
3. REST
REST
, . ,
, ,
.
CRUD
.
:
InsertProduct
UpdateProduct
DeleteProduct
.
URL . REST
. URL-
URL .
, http://www.urlservera.com ,
URL-:
http://www.url-servera.com/Proizvod -
http://www.url-servera.com/Osoba -
http://www.url-servera.com/Kompanija -
URL- REST
HTTP . HTTP
URL-.
GET POST
. HTTP
PUT, DELETE HEAD .
11
REST
, , .
, URL
-
17
- ://www..//17.
w
http://www.url-servera.com/Proizvod(17). URL-
HTTP REST
:
GET
PUT
POST
DELETE
URL
HTTP REST .
(C#, Java, JavaScript, PHP)
HTTP
XML
.
XML, JSON .
3.1 REST
REST . Netflix
,
. ,
.
URL- ,
:
12
http://odata.netflix.com/v2/Catalog/People -
XML
http://odata.netflix.com/v2/Catalog/Genres
XML
http://odata.netflix.com/v2/Catalog/Titles -
XML
Netflix REST
URL:
http://odata.netflix.com/v2/Catalog/People(291) -
291
XML
http://odata.netflix.com/v2/Catalog/Titles('red')
red
XML
REST
- Netflix (
OData
REST ). Netflix
REST XML
JSON :
http://odata.netflix.com/v2/Catalog/People(291)?$format=json
http://odata.netflix.com/v2/Catalog/Titles('red') )?$format=json
,
,
. Netflix w
- OData
. ,
OData, Netflix
REST .
3.2 SOAP
REST (.
SOAP) . REST w SOAP ,
SOAP -X
.
13
SOAP
SOAP .
JavaScript x
REST .
.
, -X
.
,
.
3.3 REST
REST REST
. C# REST
WCF .
Visual Studio, w
WCF (Add > New Item > Wb > WCF
Service) :
REST
. WCF
ProizvodRESTServis,
IProizvodRESTServis.cs :
?
1 [ServiceContract]
2 public interface IProizvodRESTServis
3{
4
[OperationContract]
[WebInvoke(Method = "GET",
14
UriTemplate = "/Proizvod/{id}",
ResponseFormat = WebMessageFormat.Json)]
9}
w
VratiDetaljeProizvoda.
- URI
/Proizvod/{id}. JSON
URL
/ProizvodRESTServis.svc/Proizvod/17 .
HTTP GET .
REST Dt
. Dt
. Dt Netflix
.
3.4 REST
REST
SOAP ,
. REST
URL-a .
URL . x
REST ID-
17 :
?
1 $.ajax({
2
type: "GET",
url: "/ProizvodRESTServis.svc/Proizvod/17",
15
success: function(odgovor){
5
6
alert(odgovor.NazivProizvoda);
}
7 })
REST x
.
x URL , HTTP
.
REST x
.
3.5
REST
SOAP . REST
,
JavaScript x
. REST
.
REST
.
16