03 web sherbimet
TRANSCRIPT
Programimi i aplikacioneve server
MSc. Haxhi Lajqi
UNIVERSITETI I PRIZRENIT
Fakulteti i Shkencave Kompjuterike
14 Maj 2012, Prizren
Ueb 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
• 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
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
• 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
Arkitektura e ueb shërbimeve (4/7) - 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 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.
• 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.
Arkitektura e ueb shërbimeve (7/7) - UDDI
Nderlidhja?
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)
• 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ë:
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.
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
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
Krijimi
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;
}
}
Listimi i metodave
Ekzekutimi i një ueb shërbimi me VS
Konsumimi
Referenca e Ueb Sherbimit
Ekzekutimi
Ekzekutimi – Windows based
Përfundimi
Ju faleminderit…