25
Sistemet e shpërndara Pjesa 6 Prof. Ass. Dr. Ermir Rogova

Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

Embed Size (px)

Citation preview

Page 1: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

Sistemet e shpërndara

Pjesa 6

Prof. Ass. Dr. Ermir Rogova

Page 2: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

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

Page 3: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

• 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

Page 4: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

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

Page 5: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

• 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

Page 6: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

Arkitektura e web shërbimeve - SAOP

Çka është SOAP?

Figura: Depertimi i SOAP mesazhit nepermjet murit mbrojtes

Page 7: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

• 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.

Page 8: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

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.

Page 9: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

Arkitektura e web shërbimeve - UDDI

Nderlidhja?

Page 10: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

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>

Page 11: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

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)

Page 12: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

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.

Page 13: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

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.

Page 14: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

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

Page 15: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

Krijimi

Page 16: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore
Page 17: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore
Page 18: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore
Page 19: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

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;}

Page 20: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

Listimi i metodave

Ekzekutimi i një web shërbimi me VS

Page 21: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

Konsumimi i web shërbimit nga klienti

Page 22: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

Referenca e web Sherbimit

Page 23: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

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);}

Page 24: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore

Ekzekutimi – Windows based

Page 25: Pjesa 6 Prof. Ass. Dr. Ermir Rogova i shperndare 07.pdf · Figura 1: Komunikimi i ... lejuar e drejta për t’ju qasur këtyre regjistrave. ... për tipet e shërbimeve biznesore