Transcript Document

HYRJE
Microsoft .NET Framework ka provokuar opinione te ndryshme që për
lirimin e saj beta në konferencën Professional Developers Microsoft
(PDC) në korrik 2000. Zhvilluesit e Microsoft e konsiderojnë atë një bazë
e madhe në të cilën mund te programohet . NET Framework përmirëson
në arkitekturën COM te Microsoft-it kërkesat dhe krahasohet favorshëm
me çdo platformë tjeter zhvillimi në përdorim. Shërbimet Web kanë qenë
të keqkuptuar se zhvillimi I tyre ka qenë më i ngadaltë sec pritej.
Megjithatë, ata paraqesin hapin e ardhshëm në shume sherbime si
shperndarja e te dhenave,ndërveprimit, aplikacione të bazuara tek web
,akses në të dhënat... Dhe lista vazhdon.
Por vitet e fundit, zhvilluesit
nuk kane krijuar thjesht nje
aplikacion web service por jane
fokusuar më tepër ne forcimin
dhe nenvizimin e teknologjive
ne te cilin sherbimi ne fjale do
te veproje.
E KALUARA DHE E TASHMJA
Si të gjitha gjërat ,interneti dhe World Wide Web nuk janë krijuar të
përsosur. Kur Tim Berners-Lee krijoi HTML dhe HTTP në vitin
1990, ai e bëri atë të bëjë gazeta akademike dhe tekstet e tjera
lehtësisht të disponueshme për ata që dëshironin ti lexoni ato.
Ky qëllim i thjeshtë vështirë të krahasohet me faqet interaktive
te sotme, me anen e te cilave kompani te ndryshme shesin
produktet e tyre dhe duke I bere te vlefshme për mijëra klientë
në te njejten kohë.
Ndryshime te medha kane ndodhur me HTML që nga fillimi i saj
.Kryesore në atë zhvillim ka qenë një ndryshim i të menduarit.
Në 1993, një faqe interneti ishte menduar si një koleksion
faqesh të lidhura, më shumë si një libër ose një tezë. Sot, një
faqe Web-i është menduar si një aplikacion bazë Web.
APLIKACIONET WEB
Client-side scripting na lejon t'i japim përdoruesve përshtypjen e nje
ndërveprimi të personalizuar, kur ata vizitojne një site. Common
Gateway Interface (CGI) i dha zhvilluesve kontrollin mbi atë që
përdoruesit do te shihnin, por ishte e vështirë nga programuesit
për të mësuar dhe per të lënë çdo gjë përtej lidhjes kryesore input
output te klientit dhe serverit .
Por ne 1996 Filip Carmichael hartoi dhe implementoi versionin 1.0 te
Active Server Pages (ASP) duke I dhene mundesi zhvilluesve te
kishin dicka. Pastaj versioni 2.0 arriti vitin me pas si pjesë e
Windows NT Option Pack. ASP dhe bashkëkohësit e tij-JavaServer
Pages (JSP), PHP, dhe ColdFusion-I ofruan zhvilluesve mundesine
per te bashkangjitur burimet qe ata kishin per aplikacionet
tradicionale server-based ne aplikacionet web-based.
Faqet web nuk ishin me koleksione te
theshta faqesh te vetme. Ata jane kthyer
ne aplikacione individuale pamja e të
cileve dhe përmbajtja mund të ishin të
përshtatura për përdoruesit. Zhvilluesit
kishin një mënyrë të shpejtë dhe të
besueshme të mirëmbajtjes së gjendjes
së sesionit te një përdoruesi në të gjithë
protokollin HTTP dhe mund të
gjeneronin përmbajtje dinamike të
përshtatura për këtë përdorues duke
pyetur per reagimin e të dhëna të tij.
Ata mund të përdornin informacionin e
ruajtur në bazat e të dhënave dhe për të
krijuar komponente biznesi në anën e
serverit, duke çuar në reagime të
shpejtë të klikimeve të përdoruesit dhe
kërkesave te tyre. Ata mund ti
projektonin këto komponente ashtu si
çdo aplikacion tjetër tri-shtresor.
XML
HTML ishte një nga Web teknologjite të parë që u botua si një standard , dhe pak
më shumë se një vit më vonë, në Shkurt 1998, doli versioni 1.0 i specifikimit
XML. Në vend të projektohej për një qëllim të veçantë, si HTML, XML është
dizenjuar si një metalanguage. Duke përdorur XML për të shënjuar të
dhënat, ne mund ti vendosim te dhenat në një format që mund të behet
share online pa marrë parasysh sistemin operativ, bazën e të dhënave,, dhe
firewall qe formati përdor. Ajo cfare kerkohet nga sistemi marres është
aftësia për të parsuar të dhënat XML dhe per te vepruar me to.
Kjo ka problemet e veta.e para eshte qe 2 gramatikat e xml duhet te perdornin
nje tag me te njejtin emer po si mund ta perkthente parseri tagun?Per kete
perdoren namespacet qe formojne standartin e xml.E dyta dhe vete teksti
paraqet probleme .Çdo makinë qe ekzekutohet ne Windows paraqet të
paktën dy skema kodimi-MS-DOS codepages dhe ANSI-encoding dhe shumë
grupe të lokalizuara karakteresh.
Zgjidhja ishte te vendosej XML në versionin aktual i Unicode (2,0) dhe
dokumentet XML te deklarojnë karakterin e vendosur dhe gjuhen e shkruar
.
SKEMAT XML
Pjesa e gramatikës se XML u vendos fillimisht në Document Type
Definitions (DTDs). Nje ide e trashguar nga Standard generalized
Markup Language (SGML). Duke krijuar një DTD, ju specifikoni rendin
ne te cilin elementet do të paraqiten në dokumentin tuaj dhe atributet qe
mund ti jepen.
Në vitin 2001, W3C nxori një pasues të DTDs te quajtur XML Schemas
.Aftësia e skemave te XML eshte te fuqizoi tipin e te dhenave të kaluara
si XML. Ka 44 lloje bazë (i njohur si lloje XSD nga shkurtesa për XML
Schema Definition )
APLIKACIONET E SHPERNDARA
Paralelisht me zhvillimin e aplikacioneve me bazë Web,
industria gjithashtu bëri rruge në ndërtimin e aplikimeve
të shpërndara. Shpërndarë në këtë rast do të thotë
ndarjen e punës ndermjet aplikimeve ne menyre të
sigurt mbi më shumë se një makinë duke përdorur
Remote Procedure Call (RPC) për të thirrur metodat dhe
për të dërguar informacion nga makinë në makinë.
NDERTIMI I PLATFORMES
Si cdo platforme e nje aplikimi te shperndare eshte e nevojshme :
1. Nje format indipendent gjuhe per shkembimin e te dhenave te
strukturuara
2. Menyra e pershkrimit te struktures se te dhenave qe po shkembehen
3. Nje menyre standarte per paketimin e te dhenave
4. N je menyre per te pershkruar nderfaqen publike te klientet
5. Nje framework per te pozicionionuar web service
SOAP
Ne vitin 1999 doli versioni 0.1 i Simple Object Access
Protocol (SOAP), nga Don Box, Tim Ewald, dhe disa të
tjerë. Tani në version 1.2, SOAP përshkruan një
framework mesazhesh për një thirrje funksioni apo
përgjigje nga një makinë në një tjetër në mënyrën e RPC
por formatuar si një tekst XML. Një mesazh i SOAP, të
jetë kjo një kërkesë apo një përgjigje, është i shkruar në
tekst të thjeshtë XML dhe i përmbahet standarteve SOAP,
kështu që çdo sistem mund ta kuptoje atë që thotë dhe të
veprojë në përputhje me rrethanat.
WSDL DHE UDDI
Megjithatë, ndryshe nga SOAP, WSDL(Web Services Description
Language ) nuk është kaq e thjeshtë që ju mund të shkruani një
dokument WSDL në një editor teksti. Në vend të kësaj, shumica
e mjediseve Web Service përmban një mjet që gjeneron
përshkrimin WSDL dhe metodat e tij për ju. Me WSDL në gjendje
të përshkruajnë detajet e shërbimit të klientëve të mundshëm,
ishte e nevojshme një mënyrë për të zbuluar përshkrimin e
shërbimit qe u botua.
UDDI(Universal Description, Discovery, and Integration ) është
standart për Web Service cataloging.Një server UDDI ju lejon të
ruani vende të kontaktit të shërbimit tuaj Web, një përshkrim të
gjerë të qëllimit të shërbimit Web, dhe vendndodhjen e
dokumenteve WSDL të shërbimit.
WEB SERVICE MUND TE JENE NE QENDER TE GJITHCKAJE
Sic shihet nga figura aplikimet nuk jane me te
limituara si ne kthimin e nje informacioni te
thjeshte ashtu dhe ne performimin e funksioneve
Miratimi universal I Web Service është i siguruar për aq kohë sa ato në
zhvillim in aplikacioneve të mbajne tri parimet:
1. Sistemet lidhen me njeri tjetrin me ane te mesazheve SOAP
transmetuar me ane te HTTP ose nga ndonje protokoll tjeter transporti
si TCP ose SMTP.
2. Nje sherbim duhet te pershkruhet nga nje gjuhe e percaktimit te
nderfaqes si WSDL.
3. Nese sherbimi dhe klienti duan te shkembejne te dhenat ,shkembimi
duhet te behet ne nje format universal te dhenash duke perdorur XML
ose skemat XML.
.NET
Shërbimet Web nuk janë vetëm një pjesë e framework .NET,.ata janë në zemër të
strategjisë së Microsoft-it për zhvillimin e aplikimit ne të ardhmen.Figura tregon
modelin .NET per aplikimet e shperndara enterprise:
Në këtë model, shtresa e Web Service vepron si një ndërmjetës midis shtresave te
paraqitjes dhe rregullave te biznesit ,duke marre dhe kthyer të dhëna nga klientët dhe
duke vepruar në përputhje me rrethanat. Sigurisht, kjo supozon se shtresat :paraqitja dhe
rregullat e biznesit janë në makina të ndryshme që janë te lidhur vetem mbi disa lloje të
rrjetit.
SKENARET E WEB SERVICE
Nje sherbim web percaktohet si nje komponet I
aksesueshem aplikimi qe degjon kerkesa te caktura textbased te bera zakonisht mbi protokollin HTTP dhe vepron
me to.
Kemi 3 tipe sherbimesh web :sherbimet e thjeshta,sherbimet
e integruara ne aplikim dhe sherbimet framework
SHERBIMET E THJESHTA
Premisa më themelore për shërbimet Web është që të
sigurojë një pjese te thjeshtë te funksionalitetit të klientit:
rikthim të te dhënave ose llogaritje të thjeshta. Për
shembull, një site e-commerce mund të lejojë një klient
për të bere pyetje për më shumë detaje në lidhje me një
objekt.
SHERBIMET E INTEGRUARA NE APLIKIM
Sherbimet e integruara ne aplikim veprojne si ndermjetes midis
aplikimeve qe nuk kane mundesi te komunikojne me njeri tjetrin
sepse perdorin komponente arkitekturash te ndryshme
.Funksionalitetet dhe te dhenat e tyre mund te ekspozohen ne
nje set sherbimesh web. Aplikacionet e përbëra pastaj mund të
krijohen në një sistem qendror që e di menyren për të bërë qe
sherbimet te marrin informacionin që duhet nga sisteme të
ndryshme.
SHERBIMET FRAMEWORK
Karakteristikat e sherbimeve web nenkuptojne qe nje zhvillues
duhet te shkruaje vetem nje plug-in per aplikimin pavaresisht
platformes ne te cilin ekzekutohet per aq kohe sa nderfaqja e
sherbimit web perputhet me framework-un e aplikimit.
Microsoft BizTalk Framework e suporton zgjidhjen e plug-in I cili
ben te mundur shtimin e kerkesave te reja dhe zgjerimin e
proceseve ekzistuese.Nje sherbim plug-in mund te perdoret
gjithashtu per transformimin e informacionit nga nje gjuhe ne
tjetren.
WEB SERVICE VS .NET REMOTING
•
Performanca-sherbimet web punojne mbi standarte te
hapura,gje qe merr shume kohe.Pershembull,konvertimi I
mesazheve nga dhe te xml ne secilen prej aneve te rrjetit kerkon
kohe.
•
Siguria-sherbimet web nuk jane akoma shume te sigurte,nuk
kane nje standart sigurie
•
Kontrolli-kane nje kontroll te madh mbi aplikimin dhe fuqine e
framework
Zhvillimi i një Shërbimi Web
 Shembull ne ASP.NET - nuk duhet të ketë një IDE të madhe për të zhvilluar një
shërbim Web.
<%@ WebService Language="C#" Class="SimpleServices" %>
using System;
using System.Web.Services;
[WebService(Namespace="HHhttp://www.notashop.com/wscr",
Description="SimpleService1")]
public class SimpleServices : System.Web.Services.WebService
{
[WebMethod(Description="A first warning")] public string WakeUp(string yourName)
{
return "Wake up " + yourName + ". The Matrix has you";
}
}
 Krijojme strukturën e direktorise wscr\01 root te Web serverit
 http://localhost/wscr/01/simple1.asmx.
 Do te gjejme se Microsoft Internet Information Services (IIS) ka
gjeneruar një faqe test për këtë shërbim
 Faqe test mban shënime për çdo metodë qe shërbimi bën
publike, ka një hyrje të vetme për metodën e wakeup
 Nese klikojme do të shohim një formë në të cilën mund të
vendosni vlerën e metodës wakeup te parametri Yourname dhe një
buton kërkoj për të dërguar kërkesën tuaj të shërbimit.
 Përgjigja që marrim është në XML
Cikli i jetes te nje kerkese ne sherbimin Web
Figura tregon ndërveprimin mes një klienti dhe një server kur therritet metoda
wakeup qe kemi krijuar. Në këtë rast, ajo fillon kur ne klikojme në faqen test:
 Klienti i bën një thirrje shërbimit. Ai mbledh parametrat e nevojshme për
thirrjen duke shkruajtur vlerat në nje formë dhe kjo përkthehet në formatin e
dëshiruar për transmetim në Web në procesin e njohur si serialization.
Në shembullin tonë forma e faqes test dërgon parametrat dhe emrin e
metodës tek URL në server. Thirrjet janë më shpesh te serializuara nga kërkesa
mesazheve SOAP te ruajtura në trupin e mesazhit HTTP.
 Mesazhi i kërkesës SOAP është deserializuar dhe thirrja është ekzekutuar në
server. Në qoftë se komunikimi është one-way (ne nje drejtim) cikli mbaron këtu.
Nëse klienti pret një vlerë ose vlera që do të kthehen, serveri serializon vlerat e
kthimit dhe parametrat në një format të caktuar dhe i transmeton ato mbrapa.
 Klienti merr përgjigje nga serveri dhe vepron në përputhje me rrethanat.
Browseri nuk ka udhëzime se çfarë do të bëhet me XML e kthyer, kështu që
vetëm e shfaq atë. Klienti në fakt ka dy opsione: të punojë me XML siç ishte
kthyer apo ta deserializoj atë në objekte .NET dhe të punoj me to. Në. NET, kjo
e fundit është paracaktuar(default).
Klienti përdor dokumentin WSDL (Web Services Description Language) që
përshkruan qartë nderfaqen e shërbimit të gjeneruar nga klasa proxy
(Wsdl.exe). (http://localhost/wscr/01/simple1.asmx?wsdl)
WSDL - eshte nje gjuhe e bazuar ne XML per pershkrimin e WS dhe menyren si
ti aksesojme ato.
Klasa Proxy permban metoda sikrone dhe asinkrone per cdo WS.
(Add,BeginAdd,EndAdd)
Në varësi të faktit nëse një metodë Web është one-way ose two-way, dokumenti
WSDL gjithashtu përcakton formatin që do të pritet për mesazhin e kthimit.
Formati i mesazheve
Në formen për kërkesë të shërbimit, do të gjejme template për mesazhet e kërkesave dhe
përgjigjeve për dhe nga shërbimi në tre formate-HTTP-GET, HTTP-PAS, dhe HTTP-SOAP.
SOAP
Specifikimi i SOAP përcakton një mesazh SOAP si një dokument XML të përbërë nga deri në
tre elemente kryesore.
<Envelope> është nje element ne nivelin e lartë të një mesazhi SOAP dhe përfshin
përmbajtjen aktuale të mesazhit dhe çdo informacion përpunimi që mund të nevojitet për
shpërndarjen e tij të suksesshme.
<Header> element qe përmban instruksione për shpërndarjen e mesazhit dhe çdo
informacion tjetër që nuk është vet mesazhi , çdo informacion transaksional, çelësat
kriptografik, rrugët e shperndarjes. Shtimi i një SOAP header për mesazhin është fakultative.
<Body> element qe përmban mesazhin aktual nga derguesi, mund të jetë kjo një kërkesë, një
përgjigje.
<fault> element qe përmban një mesazh gabimi.
<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>
<WakeUp xmlns="http://www.notashop.com/wscr">
<yourName>Dan</yourName>
</WakeUp> </soap:Body>
</soap:Envelope>
Një shembull në Visual Studio. NET
Për të shtuar nje projekt te ri Web service ne C # ndiqni këto hapa:
1. Zgjidhni New Project nga menuja File dhe në kutinë e dialogut New Project , zgjidhni
Visual C # Projects nga e majta dhe ASP.NET Web service nga e djathta.
2. Në kutinë e Location, shkruani URL nëpërmjet të cilit shërbimin tuaj Web do të jetë
i aksesueshem.
3. Klikoni OK dhe Visual Studio. NET gjeneron një direktori virtuale të re për
shërbimin dhe krijon disa skedare të rinj, duke përfshirë asmx file.
Project Files
Kur Visual Studio. NET fillimisht krijon një projekt shërbimi Web, ajo prodhon disa
skedare, si në figurë. Nëse ju nuk i shihni të gjithë ata, zgjidhni opsionin Show All Files
nga grup i ikonave në Solution Explorer window :
Global.asax, AssemblyInfo.cs, Global.asax.cs, Global.asax.resx dhe Web.config
punojne në të njëjtën mënyrë si për një projekt me format standard Web.
Skedar asmx është në qendër të Web Serviceve. Ky është skedari që përmban
shërbim Web dhe që, së bashku me .asmx.cs ose .asmx.vb implementojne
funksionalitetin e tij.
Right-click ne design view dhe zgjidhni View Code per te hapur nje kopje te skedarit
.asmx.cs.
Vetëm System.Web.Services dhe System.ComponentModel janë vërtetë të nevojshme
për kodin e tone.
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Web;
using System.Web.Services;
namespace Simple3
{
Ashtu si çdo aplikacion tjetër . NET, një shërbim Web është shkruar si një klasë, kështu
që kjo mund të ilustrohet si një objekt per aplikacionin tuaj. Duke vepruar kështu, ju
fitoni akses në objektet e përbashkëta ASP.NET, të tilla si Application, Session, User,
dhe Context, te cilat do të jenë në dispozicion, kur ju duhet të menaxhojë gjendjen e
sesionit dhe për të identifikuar përdoruesit e shërbimit tuaj.
public class Service1 : System.Web.Services.WebService
{
public Service1()
{
InitializeComponent();
}
Konstruktori për këtë klasë therret vetem metodën InitializeComponent që
Visual Studio. NET autogjeneron të iniciojnë për komponentët që do të
përdoren nga ana e shërbimit. Kjo, së bashku me një metodë Dispose për të
mundësuar një dalje të pastër nga shërbimi, duhet t’i lihet IDE-s për të rinovuar
(update), nese eshte e nevojshme.
#region Component Designer generated code
private IContainer components = null;
private void InitializeComponent()
{
}
protected override void Dispose( bool disposing )
{
if(disposing && components != null)
{
components.Dispose();
}
base.Dispose(disposing);
}
#endregion
Deklarimi i një Shërbimi Web
Kur keni krijuar një skedar asmx, ju së pari duhet të deklaroni se ai është një shërbim
Web. Ne e bëjmë duke shtuar direktorine @Webservice në krye të skedarit tonë asmx.
Kjo tregon ASP.NET si shërbim Web është zbatuar.
<%@ WebService language="C#" class="SimpleServices" %>
Direktoria ka katër atribute që të na lejojë të specifikojmë :
1. gjuhën e kodit te shkruajtur,
2. klasën e implementimit te shërbimit Web,
3. vendndodhjen e kodit dhe
4. nëse shërbimi duhet të kompilohet me simbole të debug.
<%@ WebService Language="C#" Codebehind="Service1.asmx.cs"
Class="Simple3.Service1" %>
Atributi webservice
Atributi webservice është përdorur perpara deklarimit te klasës për Web shërbimin.
Në C #, kjo duket si në vijim:
[WebService(Namespace="http://www.notashop.com/wscr",
Description="SimpleService1",
Name="Try This Out")]
public class SimpleServices : System.Web.Services.WebService
{
Atribut webservice ju lejon të deklaroni namespace për shërbimin tuaj të Web,
emrin e tij dhe një përshkrim të shkurtër të asaj që ai bën. Përdorimi i tij është
fakultativ.
Atributi WebMethod
Tani skedari jonë është njohur si një Web shërbim unik, ne nga e majta mund të
deklarojmë cilat metoda në klasën tonë do të bëhen publike në bazë të shërbimit
dhe të përfshihet si një operacion në dokumentin WSDL të shërbimit. Kjo që ne
bëjmë me atribut WebMethod, në të njëjtën mënyrë që kemi përdorur atribut
webservice, si në shembullin:
[WebMethod]public string WakeUp(string myName)
{ return "Wake up " + myName + ". The Matrix has you";}
End Function
Atributi WebMethod gjithashtu ka një koleksion të kualifikuesve që mund t'i përdorni
për të vendosur se si metoda punon brenda kontekstit të një Web aplikacioni.
Nëse përgjigjja nga metoda është buffered (BufferResponse)
Nëse metoda mund të trajtojë informacionin e gjendjes (EnableSession)
Sa kohë përgjigjja e metodës e është mbajtur në server cache (CacheDuration)
Nëse metoda i mbështet transaksionet ( TransactionOption)
Një alias për klientin për të thirrur metoda me të në vend të emrit të saj aktual
(MessageName)
Një përshkrim të shkurtër të metodës së përdorur (Description)
E fundit por jo më pak e rendesishme, eshte se metodat Web nuk kanë nevojë të
kthejne vlera. Është krejtësisht e realizueshme për komunikimet Web shërbim të jetë
një mënyrë e vetme:
code-Behind Files
Si cdo faqe tjetër apo formë, klasa që i jep një shërbimit Web funksionalitetin e saj nuk
duhet të jenë ruajtur në skedarin asmx. Ka dy mundësi të tjera. Ju mund ta ruani atë
në një-pas kod (asmx.cs. Ose. Asmx.vb) file, ose ju mund të vendoseni në një asamble
precompiled. Kjo është vetëm një çështje e përdorimit të direktivës @webservice për
të të treguar NET runtime se ku eshte kodi:
<%@ WebService Language="C#" Class="LocalClassName" %>
<%@ WebService Language="VB" Class="LocalClassName" %>
<%@ WebService Language="C#" Class="Wscr.SimpleServices, WscrAssembly" %>
<%@ WebService Language="VB" Class="Wscr.SimpleServices, WscrAssembly" %>
Assembly qe u emërua në direktivë duhet të ndodhet në skedarin bin e aplikacionit
Web hosting ne shërbimin Web XML.
Zhvillimi i një Shërbimi Web Client
Le të krijojme një klient Windows Forms te thjeshtë për tre shërbime Web.
Secila nga këto shërbime Web ka një metodë të vetme që merr një vlerë të përcaktuar
nga perdoruesi si një parametër dhe kthen një string, kështu që për çdo shërbim do
të ofrojmë një kuti teksti, një Submit buton dhe një emërtim për shërbimin për ta
populluar. Krijojme një projekt të ri ne C# Windows Forms Aplikimi në Visual Studio
.NET dhe e quajme atë SimpleClient.
Gjetja e sherbimit
Mund te aksesojme faqen Web duke perdorur nje kerkese HTTP dhe te punojme ne te
njejtin server edhe me web serviset. Per te dalluar se cilin web servis dua te perdorim
sherben UDDI e cila është një bazë standarde XML që i lejon kompanitë për të shpërndarë
informacion rreth shërbimeve Web qe ata u kanë vendosur klientëve në Web.
Katër root servera UDDI (te njohur tashmë si regjistrat e biznesit) mirembajne nje direktori
te vlefshme per web si http://uddi.microsoft.com ku programuesit mund te kerkojne per
web servicet. Qëllimi i tyre është që të sigurojë vendndodhjen e skedarit WSDL per
sherbimin.
Locally with DISCO
Alternativë tjeter për të përdorur business -centric UDDI directory është që të përdorin
skedaret DISCO .disco dhe .vsdisco per Web service discovery.
DISCO është një protokoll I Microsoftit që nuk eshte standard, kështu që përdorimi i
tij ka tendencë të jetë i kufizuar në mjediset Microsoft-centrike, zakonisht ne servera
lokale në një LAN.
DISCO mund t’ju ofrojnë një listë më të drejtpërdrejtë të shërbimeve në dispozicion te
gjeneruara automatikisht me skedarin vsdisco ose manualisht me skedaret .disko.
Me Dinamik Discovery te ndezur (eshte off ne default), duhet të bëjme nje query në
listën e skedarëve te zbulimit lokale të mbajtur në një file të quajtur default.vsdisco në
server root directory.
Cdo shërbim Web ka një disko file te autogjeneruar qe mund të gjendet duke bere
appending ?disco në adresën për shërbimin e .asmx file
Shtimi i një Reference
Ne Visual Studio, right-click ne SimpleClient > Solution Explorer dhe zgjedhim
Add Web Reference nga shortcut menu kemi 5 opsione:
Specifikojme vendndodhjen e një skedari .disco apo WSDL
Kerkojme Web shërbimet në kompjuterin lokal
Kerkojme serverat UDDI në rrjetin lokal
Kerkojme direktorine UDDI te shërbimeve Web
Kërkojme në direktorine e UDDI per shërbime Web ende në zhvillim
Shtimi i një Reference
Do të përdorim Web Matrix për të ndërtuar një klient Form Web për simple1.asmx . Ne do
te therrasim SimpleWebClient dhe shtojme një kuti teksti, një buton, dhe një etiketë për
formën, ashtu si ne e bëmë me klientin Format Windows.
Referenca manuale
Ajo qe duhet të bëjmë është të krijojë një shembull të klasës dhe të thërrasë një metodë
në të, siç bëmë me klientin Format Windows. Përsëri, ne i japim thirrjen tonë për
ngjarjen e klikimit te butonit Submit:
void Submit1_Click(Object sender, EventArgs e)
{ TryThisOut svc1 = new TryThisOut();
SvcOutput1.Text = svc1.WakeUp(SvcInput1.Text);}
Ne vetem therrasim file-in SimpleWebClient.aspx si ne figure:
Kjo eshte për ndërtimin e shërbimeve të thjeshta dhe klientet qe I perdorin ato