Free Web space and hosting from dzaba.com
Search the Web

SveZaWeb : Kreiranje Web-a : Web Arhitektura : Xml Web servisi
SveZaWeb SveZaWeb SveZaWeb SveZaWeb SveZaWeb
SveZaWeb SveZaWeb SveZaWeb Web Design + Development Tutorials and Articles SveZaWeb EMail | Pretraga | Rečnik    
SveZaWeb
SveZaWeb SveZaWeb Razvoj SveZaWeb SveZaWeb Dizajn SveZaWeb SveZaWeb Kreiranje SveZaWeb SveZaWeb Panorama SveZaWeb SveZaWeb Usluge SveZaWeb Poslednja izmena: 17.05.2003. g.
SveZaWeb HTMLCSS | XML | XHTML | HTAs | ASP.NET | ASP.NET 2Web servisi
Web Design + Development Tutorials and Articles SveZaWeb Početna strana : Kreiranje 
Web Arhitektura
   
SveZaWeb SveZaWeb SveZaWeb SveZaWeb SveZaWeb

Sadržaj

 

Web servisi

Web servisi reprezentuju revolucionarnu promenu u načinu kreiranja distribuiranih sistema. Jednostavno integrišu podatke, sisteme i aplikacije. Korišćenjem XML za deljenje informacija i SOAP-a za komunikaciju dobijamo sistem koji je nezavisan od programskog jezika i koji je u stanju da komunicira i sa drugim Web servisima. Druga bitna stvar da Web servisi ne uključuju u sebe korisnički interfejs. Korisnički interfejs komunicira sa Web servisom pa možemo imati različite korisničke interfejse. Ukoliko je Web servis raspoloživ preko Interneta, on može da bude u interakciji sa drugim Web servisima, čime se povećava efikasnost i smanjuje cenu informacionih sistema.

U .Net okruženju Web servisi se kreiraju sa lakoćom, mi smo koristili C# (c sharp) za kreiranje WebServisa koji se naziva “ResourceHits” (U Visual Studio.NET otvorite new project a potom odaberite ASP.NET Web Service template for C# i automatski se kreira kod WebServisa sa ZdravoSvete primerom). Web servise mogu se pisati u bilo kom tekst editoru i to za samo nekoliko minuta.

Web servise sačinjavaju metode koji enkapsuliraju funkcionalnost vaših usluga prethodno definisanih u okviru sloja poslovne logike. Da bi pristupili objektima poslovne logike doda se referenca na satelit BLL preko References liste u projektu za Web servis.

Metode koje želite da objavite poseduju [WebMethod] atribut ispred naziva metoda, što je korisno za metode koje mogu da se koriste u okviru lokalne aplikacije ali neće biti vidljive za udaljene pozive preko XML Web servisa tj. HTTP-a.

Fajl za demo prikaz poseduje .ASMX ekstenziju (U suštini je isti kao i .ASPX fajl tj. ASP.NET fajl) i naveli smo dva metoda, jedan za upis a jedan za pregled podataka.

ResourceHits.asmx
using System;
using System.Web.Services;
using BLL;
public class ResourceHits : System.Web.Services.WebService{

string connectionString = ConfigurationSettings.AppSettings["ConnectionString"].ToString();

[WebMethod]
public DataSet CreateUser(int userID, string name, string lastName, string password, string email){

UserInfo ui = UserInfo.GetUserInfo(userID, connectionString);
ui.OpenLog(connectionString);

if (ui.CanWrite)
{
  ui = new UserInfo();
  ui.EMail = email;
  ui.FirstName = name;
  ui.LastName = lastName;
  ui.Password = password;
  ui.Insert(connectionString);
}

DataSet ds = UserInfo.GetUsersDataSet(ui.UserID, 0, connectionString);
ui.CloseLog(connectionString);
return ds;
}

[WebMethod]
public DataSet UserDetails(int userID){
return UserInfo.GetUsersDataSet(userID, 0, connectionString);
}

[WebMethod]
public DataSet GetResourceHits(int userID){
UserInfo ui = new UserInfo(userID);
ui.OpenLog(connectionString);
DataSet ds = ui.GetUserLogingPagesDataSet(connectionString);
ui.CloseLog(connectionString);
return ds;
}
}

Da bi servis bio vidljiv, potrebno ga je postaviti na Web server koji poseduje instalirano Microsoft.Net okruženje. Jednostavno se može startovati preko Web čitača ukoliko se unese adresa:

http://_NAZIV_SERVERA_/DemoWS/ResourceHits.asmx.

Ukoliko unesete : http://_NAZIV_SERVERA_/DemoWS/ResourceHits.asmx?wsdl u Web čitaču dobićete WSDL dokument sa opisom Web servisa u XML-u.

Web servis može se pozvati preko HTTP prosleđujući parametre u okviru URL ili XML. Po pristizanju zahteva na server ASP.NET kreira objekat koje naveden u okviru .ASMX fajla i izvršava logiku unutar metode Web servisa koja može da poziva druge objekte i servise. Potom se rezulta vraća ASP.NET-u koji pre slanja klijentu preko HTTP-a konvertuje rezultat u XML.

Poziv Web servisa preko HTTP-a može se vršiti na sledeća tri načina:

1. HTTP GET

Web servis primiće zahtev za pozivanje metoda proslat HTTP GET-om sa parametrima u okviru URL-a . Kada zahtev stigne na server, ASP .NET parsira parametar iz URL-a i kreira objekat koji poziva zahtevani metod.

Zahtev:
GET /VojevidWS/ResourceHits.asmx/UserDetails?userID=string HTTP/1.1
Host: : _NAZIV_WEB_SERVERA_
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

Odgovor:
<?xml version="1.0" encoding="utf-8"?>
<DataSet xmlns="http://tempuri.org/">
<schema xmlns=http://www.w3.org/2001/XMLSchema >schema</schema>
xml
</DataSet>

Šema podataka schema opisuju tipove informacije koje se koriste u komunikaciji dok parametar xml nosi same podatke.

Primer u Web čitaču otkucajte npr:

http://_NAZIV_WEB_SERVERA_/ResourceHits.asmx/UserDetails?userID=1

Po obradi zahteva u Web čitača nalazi se XML sa odgovorom Web servisa.

2. HTTP POST

Web servis prihvata HTTP POST zahteve, gde se parametri prenose u samom telu zahteva. Kada zahtev stigne na Web server, ASP.NET preuzima iz zahteva parametre, i poziva metod naveden u URL-u.

Zahtev:
POST /VojevidWS/ResourceHits.asmx/UserDetails HTTP/1.1
Host: _NAZIV_WEB_SERVERA_
Content-Type: application/x-www-form-urlencoded
Content-Length: length

userID=string
 

Odgovor:
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<DataSet xmlns="http://tempuri.org/">
<schema xmlns="http://www.w3.org/2001/XMLSchema">schema</schema>
xml
</DataSet>

3. SOAP

Simple Object Access Protocol (SOAP) je sintaksa koja dopušta kreiranje aplikacija za udaljeno pozivanja metoda i objekata, ta sintaksa je XML. SOAP dokument predstavlja elektronsko pismo (envelope) koje odgovra prirodno postanskom pismu u kome možemo smestiti podatke. Pismo sadrži dva elementa zaglavlje (header) poruke i telo poruke (body).

  • Header - U okviru zaglavlja mogu da se nalze informacije o učesnicima u komunikaciji i drugim bitnim paramtrima vezanih za poruku.
     
  • Body - U okviru tela poruke prosleđuje se sam zahtev i u povratku dobijamo odgovor, a predstavlja sadržaj pisma. Sadržaj tela prema potrebi se kriptuje i potpisuje od strane pošljaoca kao dodatni stepen zaštite poverljivih i osetljivih informacija.
     
  • Fault - Takođe u oviru pisma opciono postoji element koji sadrži podatke o grešci ukoliko je SOAP server imao problema oko procesiranja samog zahteva.

SOAP pismo koje se šalje serveru sadrži naziv funkcije i parametre u vidu XML-a po šemi definisanoj u okviru Web servisu, a koja se preuzima sa mreže navodeći URL šeme u okviru parametra SOAPAction. Kada pismo stigne na server, ASP.NET prepoznaje tip, parsira poruku, kreira objekat i poziva potraživanu funkciju.

Zahtev:
POST /VojevidWS/ResourceHits.asmx HTTP/1.1
Host: _NAZIV_WEB_SERVERA_
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/UserDetails"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UserDetails xmlns="http://tempuri.org/"><userID>int</userID> </UserDetails>
</soap:Body>
</soap:Envelope>

Odgovor
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UserDetailsResponse xmlns="http://tempuri.org/">
<UserDetailsResult>
<xsd:schema>schema</xsd:schema>xml</UserDetailsResult>
</UserDetailsResponse>
</soap:Body>
</soap:Envelope>

U sledećem delu očekuje nas izrada prezentacionog dela

Slične teme


OBAVEŠTENJE: Samo za članove SveZaWeb zajednice na ovom linku 
http://groups.yahoo.com/group/svezaweb/files/WebArhitektura.pdf
 
možete preuzeti kompletan pdf fajl vezan za Web arhitekturu.


  SveZaWeb : Web Design + Development Tutorials and Articles
OBAVEŠTENJE: Samo za članove SveZaWeb zajednice na ovom linku http://groups.yahoo.com/
group/svezaweb/files/
WebArhitektura.pdf
možete preuzeti kompletan pdf fajl vezan za Web arhitekturu.

Slične teme

Prijavite se na naš informator
 
SveZaWeb Informator
Unesite vašu email adresu i kliknite na sliku.  

Powered by groups.yahoo.com

[ Informator SveZaWeb ]

»» Preporuči prijatelju

»» Upišite komentar

»» Knjiga otisaka

Pomoć!

Trudimo se da SveZaWeb bude koristan i ispravan, međutim uvek postoje greške, molimo Vas da nam pomognete kako bi ih ispravili.
 
Javite se : webmaster@
svezaweb.dzaba.com

  Politika privatnosti | Copyright ©  SveZaWeb 1998 - 2003.  Sva prava zadržana. Najbolji pregled u 800*600 sa najpopulanijim Web čitačima.
SveZaWeb SveZaWeb SveZaWeb SveZaWeb SveZaWeb
 Razvoj   Dizajn   Kreiranje   Panorama   Usluge