03 web sherbimet

23
Programimi i aplikacioneve server MSc. Haxhi Lajqi UNIVERSITETI I PRIZRENIT Fakulteti i Shkencave Kompjuterike 14 Maj 2012, Prizren

Upload: kursistat-peje

Post on 24-May-2015

1.284 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 03 web sherbimet

Programimi i aplikacioneve server

MSc. Haxhi Lajqi

UNIVERSITETI I PRIZRENIT

Fakulteti i Shkencave Kompjuterike

14 Maj 2012, Prizren

Page 2: 03 web sherbimet

Ueb sherbimet

Page 3: 03 web sherbimet

Ueb shërbimet janë një teknologji e re që mundësojnë qasjen e funksioneve në largësi përmes internetit.

Hyrje në ueb shërbime - Çka janë ueb shërbimet?

Komunikimi përmes ueb shërbimeve

• Komunikimi klient/server (Figura 1) – HTTP protokolli

Figura 1: Komunikimi i klientit me ueb serverin

• Komunikimi klient/ueb shërbim (Figura 2) – SOAP përmes HTTP protokollit

• Përgjigjet kthehen si XML dokumente

• HTTP është protokoll i nënkuptuar për ueb shërbimet, mirëpo nuk është protokolli i vetëm për komunikimin me ueb shërbime

Figura 2: Komunikimi i klientit me ueb shërbimin përmes një ueb serveri

Page 4: 03 web sherbimet

• Ueb shërbimet ofrojnë aftësi të komunikimit ndërmjet sistemeve të ndryshme të aplikacioneve softuerike, 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 ueb shërbimi

Arkitektura e ueb shërbimeve (1/7)

Figura 3: Modeli i integrimit të ueb shërbimeve

Komponentët kyçe të ueb shërbimeve janë:

• HTTP – Hyper Text Markup Language

• 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

Page 5: 03 web sherbimet

Ueb shërbimet bazohen në XML gjuhën

Arkitektura e ueb shërbimeve (2/7) - XML

XML gjuha markuese përshkruan strukturën dhe kuptimin e dokumentit mirëpo nuk përshkruan formatizimin e elementeve në dokument

• 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ërtimeve të njëjtë të tagjeve

Page 6: 03 web sherbimet

• 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 ueb shërbimeve (3/7) - 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 7: 03 web sherbimet

Arkitektura e ueb shërbimeve (4/7) - SAOP

Çka është SOAP?

Figura: Depertimi i SOAP mesazhit nepermjet murit mbrojtes

Page 8: 03 web sherbimet

• WSDL është shkurtese e “Web Services Description Language”

• WSDL shkruhet ne XML

• WSDL është XML dokument

• WSDL përdoret për te përshkruar ueb shërbimet

• WSDL poashtu përdoret për ti vendosur ueb shërbimet

Arkitektura e ueb shërbimeve (5/7) - 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 ueb 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 ueb 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ë ueb shërbim.

Page 9: 03 web sherbimet

• UDDI është shkurtese e “Universal Description, Discovery and Integration”

• UDDI është një regjistër i cili shërben për ruajtjen e informacioneve të ueb shërbimeve

• UDDI komunikon përmes SOAP protokollit

Arkitektura e ueb shërbimeve (6/7) - 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ë ueb shërbimet e tyre dhe të kërkojnë shërbime tjera apo aplikacione softuerike që bashkëveprojnë me internetin.

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 ueb 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ë krijuar nga 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 ueb shërbimet që janë të ekspozuara nga bizneset e ndryshme. p.sh Përshkrimin e shërbimit, rregullat e biznesit etj.

Page 10: 03 web sherbimet

Arkitektura e ueb shërbimeve (7/7) - UDDI

Nderlidhja?

Page 11: 03 web sherbimet

XML vs. HTML

XML pershkruan strukturen por jo formatimin

• HTTP kodi

<td>Punëtori</td> <td>Filan</td> <td>Fisteku</td> <td>07091984</td> <td>Prishtine </td> <td>1450000329990</td>

<Punëtori> <Emri>Filan</Emri> <Mbiemri>Fisteku</Mbiemri> <ID>07091984</ID> <Vendi>Prishtine</Vendi> <IDBankës>1450000329990</IDBankës> </Punëtori>

• XML kodi

HTML – kujdeset për pamjen (display) e të të dhënave (Hyper Text Markup Language)

Page 12: 03 web sherbimet

• 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ë (Ueb shërbimet për nga siguria janë në nivel të njëjtë me ueb aplikacionet)

Përparësitë e përdorimit të ueb shërbimeve

Avantazhet që sjellin ueb shërbimet janë:

Page 13: 03 web sherbimet

Microsoft .NET vs. Java .NET

.J2EE • J2EE – përdor vetëm një gjuhë programuese (Java)

• .NET përkrahë më shumë gjuhë programuese C#, VB .NET, C++ etj. dhe ka veglat më të mira. • Ekzekutohet vetëm në sistemin operativ Windows • .NET përkrahet vetëm nga Microsoft

• 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

Sistemet operative Windows Windows, Linux, Unix etc.

Hardueri Procesorë te ndryshëm prej 1 –

deri to 33

Procesorë te ndryshëm prej 1 deri ne

mainframe

Figura: Krahasimi i .NET vs. J2EE

Në aspektin e ueb shërbimeve mund të themi se Microsoft .NET është me e avancuar ne krahasim me J2EE.

Page 14: 03 web sherbimet

Tregu dhe e ardhmja e ueb shërbimeve

$1.10

$2.30

$4.50

$6.20

$8.10

$10.20

$14.90

$0.00

$2.00

$4.00

$6.00

$8.00

$10.00

$12.00

$14.00

$16.00

2003 2004 2005 2006 2007 2008 2009

Çmimi i tregut në vite

Figura: Tregu i ueb shërbimeve 2003-2009 (në miliardë)

Ueb shërbimet kanë filluar të përdoren në vitin 2000 me shpresa shumë të mëdha. Ueb shërbimet në përgjithësi llogariten si “hapi i ardhshëm” në zhvillimin e integrimit të aplikacioneve dhe të ndërveprimit të tyre.

Periudhat e zhvillimit dhe e ardhmja e ueb shërbimeve

• 1999-2001 - periudha fillestare e zhvillimit të ueb shërbimeve.

• 2002-2004 - periudhë e përmirësimeve të infrastrukturës së ueb 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

Page 15: 03 web sherbimet

Krijimi i ueb sherbimeve me .NET

Microsoft është njëra ndër kompanitë më të hershme që i ka përkrahur konceptet dhe standardet e ueb shërbimeve, po ashtu është njëra ndër kompanitë që është duke bërë hamendje në suksesin dhe të ardhmen e ueb shërbimeve. Platforma .NET është dizajnuar për të përkrahur përpjekjet e zhvilluesve dhe konsumatoreve të ueb shërbimeve

Parakushtet Instalimi i .NET Framework 3.5 Instalimi i IIS

Page 16: 03 web sherbimet

Krijimi

Page 17: 03 web sherbimet

Kodi

[WebService(Namespace = "http://localhost/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

[WebMethod (Description="Ky ueb sherbim gjeneron numrat e llotos")]

public int ShfaqKombinimin(int _kufiriIPoshtem, int _kufiriISiperm,

int _numri)

{

int _gjejNumrat;

DateTime dt = new DateTime();

dt = DateTime.Now;

Random rnd = new Random(dt.Millisecond);

if (_kufiriIPoshtem < _kufiriISiperm)

{

_gjejNumrat = rnd.Next(_kufiriIPoshtem,

_kufiriISiperm);

}

else

{

_gjejNumrat = 0;

}

}

Page 18: 03 web sherbimet

Listimi i metodave

Ekzekutimi i një ueb shërbimi me VS

Page 19: 03 web sherbimet

Konsumimi

Page 20: 03 web sherbimet

Referenca e Ueb Sherbimit

Page 21: 03 web sherbimet

Ekzekutimi

Page 22: 03 web sherbimet

Ekzekutimi – Windows based

Page 23: 03 web sherbimet

Përfundimi

Ju faleminderit…