Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e...
Transcript of Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e...
Sistemet e shpërndara
Pjesa 6
Prof. Ass. Dr. Ermir Rogova
Hyrje në web shërbime - Çka janë web shërbimet?
Web shërbimet janë një teknologji e re që mundësojnë qasjen e funksioneve në largësi përmes internetit.
Komunikimi përmes Web shërbimeve
• Komunikimi klient/server (Figura 1) – HTTP protokolli
Figura 1: Komunikimi i klientit me web serverin
• Komunikimi klient/web shërbim (Figura 2) – SOAP përmes HTTP protokollit
• Përgjigjet kthehen si XML dokumente
• HTTP është protokoll i nënkuptuar për web shërbimet, mirëpo nuk është protokolli i vetëm përkomunikimin me web shërbime
Figura 2: Komunikimi i klientit me web shërbimin përmes një web serveri
• Web shërbimet ofrojnë aftësi të komunikimit ndërmjet sistemeve të ndryshme të aplikacionevesoftuerike, të cilat ekzekutohen në platforma të ndryshme dhe në sisteme operative tëndryshme.
• Nuk është e rëndësishme se ç’farë lloji i kompjuterit e dërgon SOAP mesazhin• Nuk është e rëndësishme se ne ç’farë sistemi operativ përdorim• Nuk është me rendësi nga cili kënd i botës dërgohet mesazhi• Nuk është me rendësi gjuha programuese që ndërtohet web shërbimi
Arkitektura e Web shërbimeve
Komponentët kyçe të web shërbimevejanë:
• HTTP – Hypertext Transfer Protocol
• XML – eXtensible Markup Language
• SOAP – Simple Object Access Protocol
• WSDL – Web Services Description Language
• UDDI – Universal Discovery, Description Language
HTTP - është një protokoll që është prezent kudo, që praktikisht ekzekutohet kudo nëInternet.
Figura 3: Modeli i integrimit të web shërbimeve
Arkitektura e web shërbimeve - XML
XML gjuha markuese përshkruan strukturën dhe kuptimin e dokumentit mirëpo nuk përshkruan formatizimin e elementeve në dokument
Web shërbimet bazohen në XML gjuhën
•XML është shkurtesë e EXtensible Markup Language• XML është gjuhë markuese ngjashëm me HTML• XML është dizajnuar për të përshkruar të dhënat• XML tagjet nuk janë te para definuara. Vetë duhet ti definojmë tagjet•XML përdor Document Type Definition (DTD) ose XML Schema për përshkrimin e të dhënave
-DTD i definon tagjet që janë të lejuara në një XML dokument dhe marrëdhëniet në mes tyre.
-XML Schema - XML Schema e bën përshkrimin e strukturës së XML dokumentit.
- XML namespaces – përdoren për te ju ikur konflikteve të emërtimevetë njëjtë të tagjeve
• SOAP është shkurtese e “Simple Object Access Protocol “
• SOAP është protokoll për komunikim• SOAP shërben për komunikim ndërmjet
aplikacioneve• SOAP është format për dërgimin e
mesazheve
Arkitektura e Web shërbimeve - SAOP
Çka është SOAP?• SOAP komunikon përmes Internetit• SOAP është platforme e pavarur• SOAP është gjuhe e pavarur• SOAP bazohet ne XML• SOAP lejon kalimin e mureve mbrojtës (Firewall)
SOAP Envelope - SOAP Envelope është element i obligueshëm i cili paraqet elementin rrënje të një SOAP mesazhi. Ky element e definon XML dokumentin si një SOAP mesazh.
SOAP Header - SOAP heder nuk është element i obligueshëm për një SOAP mesazh. Ky element përmban informacionet e veçanta te aplikacionit (p.sh si autentifikimin, nënshkrime digjitale, pagesat etj.) rreth SOAP mesazhit
SOAP Body - SOAP Body është element i detyrueshëm
për një SOAP mesazh, ku në vete përmban mesazhet
aktuale që janë vendimtare në fund të SOAP mesazhit
PAYLOAD - Paraqet përmbajtjen e dokumentit që ne
dëshirojmë ta dërgojmë.
SOAP Fault – SOAP fault mesazhi është një mekanizëm qe bën raportimin e gabimeve qe ndodhin gjate dërgimit te SOAP mesazhit.
Figura: Struktura e SOAP mesazhit
Arkitektura e web shërbimeve - SAOP
Çka është SOAP?
Figura: Depertimi i SOAP mesazhit nepermjet murit mbrojtes
• WSDL është shkurtese e “Web Services Description Language”
• WSDL shkruhet ne XML
• WSDL është XML dokument
• WSDL përdoret për te përshkruar web shërbimet
• WSDL poashtu përdoret për ti vendosur web shërbimet
Arkitektura e web shërbimeve - WSDL
Çka është WSDL?
Figura: Struktura e WSDL dokumentit
Abstrakte
Konkrete
• <wsdl: types>• <wsdl: message>• <wsdl: operation>• <wsdl: portType>
• <wsdl: binding>• <wsdl: port>• <wsdl: service>
Types - elementi types definon tipin e të dhënave që përdor ai web shërbim.
Message - message përshkruan përmbajtjet e mesazheve duke përdorur XML skemat të ndërtuara
PortType - elementi portType e definon një operacion si një bashkësi të mesazheve që fillon dhe mbaron me web shërbimin.
Binding - elementi binding e definon një format të veçante për secilin portType element në WSDL.
Service - Ky seksion na tregon aktualisht adresat e ndryshme që mund të përdoren për të komunikuar me këtë web shërbim.
Arkitektura e web shërbimeve - UDDI
Çka është UDDI?UDDI është platformë e pavarur, është regjistër i bazuar në XML standardin, kjo ju shërben bizneseve që në mbare botën ti listojnë web shërbimet e tyre dhe të kërkojnë shërbime tjera apo aplikacione softuerike që bashkëveprojnë me internetin.
• UDDI është shkurtese e “Universal Description, Discovery and Integration”
• UDDI është një regjistër i cili shërben për ruajtjen e informacioneve të webshërbimeve
• UDDI komunikon përmes SOAP protokollit
Regjistrat e UDDI-së mund të jenë tëtipeve të ndryshme të cilat janë:
•Publik - Ky regjistër është i hapur për
kërkime publike. Të gjitha të hyrat në regjistrin publik kopjohen në të gjithë regjistrat e tjerë publik.
•Privat - Ky regjistër qëndron prapa murit
mbrojtës të kompanisë[PK03]. Qëllimi i këtij regjistri është kërkimi i web shërbimeve të brendshme. Këtij regjistri mund ti qasen p.sh. vetëm anëtarët e një ndërmarrje.
•Limituar - Regjistrit të limituar mund ti qasen
vetëm disa kompani të caktuara që ju është lejuar e drejta për t’ju qasur këtyre regjistrave.
Informacioni në një regjistër është krijuarnga tri tipe, të cilat janë:
•Faqet e bardha - Faqet e bardha përmbajnë
informacion bazike për kontaktim. Mund të përmbajnë adresat, emrat kontaktues dhe numra të telefonit.
•Faqet e verdha - Faqet e verdha shërbejnë për
shfrytëzuesit që dëshirojnë të kërkojnë dhe të dinë për tipet e shërbimeve biznesore që kompania i ofron.
•Faqet e gjelbërta - Faqet e gjelbërta të japin
informacione teknike për web shërbimet që janë të ekspozuara nga bizneset e ndryshme. p.sh Përshkrimin e shërbimit, rregullat e biznesit etj.
Arkitektura e web shërbimeve - UDDI
Nderlidhja?
XML vs. HTML
XML pershkruan strukturen por jo formatimin
• HTTP kodi
<td>Punëtori</td><td>Bledar</td><td>Hisa</td><td>07091984</td><td>Prishtine </td><td>1450000329990</td>
HTML – kujdeset për pamjen (display) e të të dhënave (Hyper Text Markup Language)
• XML kodi
<Punëtori><Emri>Bledar</Emri><Mbiemri>Hisa</Mbiemri><ID>07091984</ID><Vendi>Prishtine</Vendi><IDBankës>1450000329990</IDBankës></Punëtori>
Përparësitë e përdorimit të web shërbimeve
Avantazhet që sjellin web shërbimet janë:
• Përdorin platformë të pavarur(Windows, Linux, Unix etj.)
• Sigurojnë kanal komunikimi në të njëjtën kohë
(Interneti)
• Mundësi komunikimi me ndërmarrje të ndryshme(B2B dhe B2C)
• Funksionalitet në përdorim
• Gjuhë programuese të pavarur
(C#, C++, Visual Basic etj.)
• Komunikim të sigurtë(web shërbimet për nga siguria janë në nivel të njëjtë me webaplikacionet)
Microsoft .NET vs. Java
më të mira.
.NET• .NET përkrahë më shumë gjuhë programuese C#, VB .NET, C++ etj. dhe ka veglat• Ekzekutohet vetëm në sistemin operativ Windows• .NET përkrahet vetëm nga Microsoft
.J2EE• J2EE – përdor vetëm një gjuhë programuese (Java)• Java përkrah shumë sisteme operative - Windows, Linux, Unix etj.
• Java është e përkrahur nga shumë kompani të mëdha (IBM, ORACLE etj.)
.NET vs. J2EE .NET J2EE
Gjuhet
programuese C#, VB .NET, C++ etj. Java
Veglat zhvilluese Visual Studio .NET WebLogic Workshop,WebSphere
Studio
Middleware .NET runtime, COM + services WebSphere, WebLogic, iPlanet
Sistemetoperative Windows Windows, Linux, Unix etc.
Hardueri Procesorë te ndryshëm prej 1–
deri to33
Procesorë te ndryshëm prej 1 derine
mainframe
Figura: Krahasimi i .NET vs. J2EE
Në aspektin e web shërbimeve mund të themi se Microsoft .NET është me e avancuar ne krahasim me J2EE.
Tregu dhe e ardhmja e web shërbimeve
$1.1
0
$4.5
0
$6.2
0
$8.1
0
$10.2
0
$14.9
0
$0.00
$2.00
$4.00
$2.30
$6.00
$8.00
$10.00
$14.00
$12.00
$16.00
200
3
200
4
200
5
200
6
200
7
200
8
200
9
Çmimi i tregut në vite
Figura: Tregu i web shërbimeve 2003-2009 (në miliardë)
Periudhat e zhvillimit dhe e ardhmja e web shërbimeve
•1999-2001 - periudha fillestare e zhvillimit të web shërbimeve.
• 2002-2004 - periudhë e përmirësimeve të infrastrukturës së web shërbimeve
•2005 (+) - është një periudhe ku ndërmarrjet jo vetëm qe kanë ndryshuar dhe po ndryshojnë
proceset e bizneseve të tyre mirëpo kanë ndryshuar edhe modelin e biznesit pra kanë filluar bashkëpunimin dhe integrimin e proceseve në kohë reale (real-time) si brenda kompanive ashtu edhe jashtë tyre.
Tregu
web shërbimet kanë filluar të përdoren në vitin 2000 me shpresa shumë të mëdha. web shërbimet në përgjithësi llogariten si “hapi i ardhshëm” në zhvillimin e integrimit të aplikacioneve dhe të ndërveprimit të tyre.
Krijimi i web sherbimeve me .NET
Microsoft është njëra ndër kompanitë më të hershme që i ka përkrahurkonceptet dhe standardet e web shërbimeve, po ashtu është njëra ndërkompanitë që është duke bërë hamendje në suksesin dhe të ardhmen eweb shërbimeve. Platforma .NET është dizajnuar për të përkrahurpërpjekjet e zhvilluesve dhe konsumatoreve të web shërbimeve
ParakushtetInstalimi i .NET Framework 4.5Instalimi i IIS
Krijimi
Metoda që kthen Listë të numrave random
[WebMethod]public List<int> ShfaqKombinimin(int _kufiriIPoshtem,
int _kufiriISiperm, int _numri){
List<int> _gjejNumrat = new List<int>();DateTime dt = new DateTime(); dt = DateTime.Now;Random rnd = new Random(dt.Millisecond);for (int i = 0; i < _numri; i++){
if (_kufiriIPoshtem < _kufiriISiperm){
_gjejNumrat.Add(rnd.Next(_kufiriIPoshtem,_kufiriISiperm));
}}
return _gjejNumrat;}
Listimi i metodave
Ekzekutimi i një web shërbimi me VS
Konsumimi i web shërbimit nga klienti
Referenca e web Sherbimit
Ekzekutimi nga ana e klientit
try{
WebService1 Lotari = new WebService1(); //Krijojmenje instance te re te web sherbimit
string rez = "";
foreach (var item inLotari.ShfaqKombinimin(Convert.ToInt32(txtKufiriPoshtem.Text), Convert.ToInt32(txtKufiriSiperm.Text), Convert.ToInt32(txtNrKombinimit.Text)).ToList())
{rez += item + " "; // Konkatenim i vleres se
listes me space}listBox1.Items.Add(rez);
}catch (Exception ex){
MessageBox.Show(ex.Message);}
Ekzekutimi – Windows based