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.

[email protected]

LG - LifeŽs Good

www.agora.ro

deltafri

Concurs de Grafica Digitala si Web Design

www.agora.ro

www.agora.ro