Agora
Media
Libraria Byblos



AgoraNews  





PC Magazine Ro  




NET Report   




Ginfo   




agora ON line   





PC Concrete   





Liste de discuţii   




Cartea de oaspeţi   




Mesaje   





Agora   








Clic aici
PC Report - ultimul numar aparut


IPRO - PC Magazine Romania, Martie 2003
SOLUŢII PENTRU PROGRAMATORII ŞI DESIGNERII WEB

Servicii web realizate cu ASP.NET
Realizarea de aplicaţii-consumatori de servicii Web

Mircea Scărlătescu

Am discutat în numărul trecut despre cât de uşor este de implementat un serviciu Web în ASP.NET (cu VB.NET). Următorul pas pentru a folosi serviciile Web este de a realiza consumatori pentru acestea. Consumatorii de servicii Web sunt, în esenţă, aplicaţii care folosesc informaţiile furnizate de către aceste servicii. Dacă, spre exemplu, în România INMH (Institutul Naţional de Meteorologie şi Hidrologie) ar realiza un serviciu Web prin care ar fi prezentate temperaturile în marile oraşe ale ţării, atunci portalurile româneşti şi nu numai, ar putea introduce în structura lor acest serviciu Web, datele de pe situri actualizându-se fără intervenţia celor care le întreţin. În cazul prezentat, portalurile reprezintă consumatorii de servicii Web.

După ce am schiţat o astfel de aplicaţie, să ne aducem aminte că în articolul anterior am realizat un serviciu Web care prezintă ultima ştire (cronologic) dintr-o bază de date SQL Server 2000. Ceea ce vom realiza în continuare este un consumator de servicii care foloseşte datele furnizate de serviciul nostru.

Primul pas în realizarea unui client (consumator) este de a creea o clasă proxy pentru serviciul nostru. Pentru aceasta, folosim utilitarul wsdl.exe, inclus în pachetul .NET. Acest utilitar se rulează din linia de comandă, iar o listă completă de parametri este disponibilă în documentaţia .NET (on-line sau varianta pe CD-uri). Odată realizat acest pas, utilizarea metodelor definite în serviciul Web este la fel de simplă ca şi utilizarea metodelor din clasele existente în sistem. Acest lucru este deosebit de folositor pentru programatori, fiind de fapt esenţa avantajului pe care Microsoft l-a subliniat deseori: usurinţa în programarea şi utilizarea serviciilor Web cu ajutorul .NET.

După ce am realizat clasa proxy pentru a publica serviciul Web, tot ce mai rămâne de făcut este să-l integrăm într-o aplicaţie Web realizată cu ASP.NET. Iată paşii necesari pentru a realiza acest lucru:

1. Deschidem aplicaţia VisualStudio.NET şi selectăm opţiunea New Project: ASP.NET Web Application. Odată ce stabilim numele aplicaţiei, după ce se vor seta de către mediul de programare opţiunile necesare avem în Solution Explorer componentele aplicaţiei noastre, iniţial vide.

2. Fişierul WebForm1.aspx este fişierul implicit de start al aplicaţiei Web pe care o realizăm. Putem redenumi acest fişier ca index.aspx Ca o paranteză, fişierul de start al aplicaţiei poate fi schimbat după preferinţe . Aici vom scrie codul pentru a consuma serviciul Web.

Odată aceşti doi paşi parcurşi, putem trece la scrierea efectivă a aplicaţiei. Deci, edităm în primul rând fişierul styles.css (creat automat de către sistem la iniţializarea aplicaţiei şi scriem următorul text:

.bodyColor
{
background-color: #336699;
}
.newsText
{
font-family: Verdana;
font-size: 11px;
font-weight: normal;
color: #ffffff
}

Prin aceste declaraţii am stabilit de fapt două stiluri CSS prin care precizăm următoarele:

1. culoarea de fond a paginii va fi cea descrisă de codul #336699; declaraţia din pagina HTML pentru acest lucru se realizează sub forma:
<body class='bodyColor'....>

2. Pentru afişarea textului vom folosi un paragraf cu parametrii specificaţi de .newsText. În acest caz, ca şi cod HTML, definiţia arată astfel: <p class='newsText'>
Odată stabilite aceste detalii grafice, este timpul ca pe partea de scripting să realizăm afişarea textului întors de serviciul Web.

Primul pas este reprezentat de adăugarea unei referinţe Web către serviciul creat de noi. Acesta se realizează prin selectarea opţiunii Add Web Reference din meniul Project al aplicaţiei. Se va scrie în bara de adrese URL-ul serviciului nostru de Web şi apoi se va selecta acest serviciu prin intermediul butonului AddReference. Apoi, programarea se reduce la simpla utilizare de obiecte în VB.NET. Din fereastra ToolBox alegem adăugarea în pagina index.aspx a unui obiect de tip "Label". Proprietatea cssClass se setează către clasa newsText pe care am definit-o mai devreme. Acesta va fi obiectul definit pentru afişarea textului. Legarea lui de serviciul Web se va realiza în procedura Page_Load. Această procedură este predefinită de către sistem, şi reprezintă setul de operaţii ce se efectuează de fiecare dată când această pagină se încarcă. Codul pe care va trebui să-l scriem acolo este:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim pcm1 As New PCMagazine1()
newsLabel.Text=pcm1.getLatestHeadLine();
End Sub

Tot ce face acest cod este să instanţieze un obiect de tipul "serviciu Web" şi apoi să utilizeze metodele definite de el, pentru a obţine informaţiile necesare.

newsLabel.Text=pcm1.getLatestHeadLine(); este linia care leagă eticheta newsLabel definită mai sus de metoda getLatestHeadLine() care întoarce în servicul Web ultima ştire din baza de date.
Aşa am realizat primul consumator de servicii Web realizat în ASP.NET.

Un aspect foarte important care trebuie subliniat aici este faptul că, bazându-se pe SOAP (Simple Object Acces Protocol), serviciile web realizate cu ASP.NET nu sunt accesibile doar aplicaţiilor realizate în ASP.NET, ci se adreseaza oricărui limbaj de programare Web, deci orice sit realizat în ASP, ASP.NET, PHP, JSP, etc poate accesa un astfel de serviciu. Se deschide astfel calea de la situri care prezintă o informaţie (static în trecut, dar mai nou dinamic) la situri care interconectează organzaţii. Şi dacă este să reţinem că, după unii specialişti TI, viitoarele aparate ce se vor conecta la internet vor avea încorporate doar un editor simplu de text şi un browser, atunci e uşor de imaginat cât de folosite pot deveni serviciile web.

Într-un articol viitor ne propunem să realizăm un serviciu Web ceva mai complex, unde vom exemplifica utilizarea funcţiilor ASP.NET pentru e-mail şi vom privi mai îndeaproape tratarea erorilor în ASP.NET, o parte foarte importantă în programarea unei aplicaţii. Vom încerca să realizăm împreună un serviciu Web care permite unei organizaţii să utilizeze servicii de Email în propriul sit, servicii furnizate de o altă firmă prin intermediul serviciilor Web.


PC Magazine Ro | CD ROM | Redactia | Abonamente | CautareArhive

Copyright © 1999-2002 Agora Media.

webmaster@pcmagazine.ro

LG - Life´s Good

www.agora.ro

deltafri

Concurs de Grafica Digitala si Web Design

www.agora.ro

www.agora.ro