Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 50

Ndertimi i aplikimeve mobile duke perdorur Cloud services per ruajtjen e te

Nje cloud service konsiston ne nje ose me shume web roles dhe/ose worker roles, secili me skedaret e aplikimit dhe konfigurimin e vete. Cdo sherbim cloud ka dy mjedise ku mund te shperndash paketen e sherbimit dhe konfigurimin. Mjedisi prezantues per ta testuar, para se ta promovosh ne prodhim. Promovimi i sherbimeve cloud nga mjedisi prezantues ne prodhim eshte shume i thjeshte, ndryshohen adresat IP virtuale (VIP) qe jane te lidhura me dy mjediset.

Windows Azure eshte nje platforme dhe infrastructure cloud computing , krijuar nga Microsoft, per ndertimin , shperndarjen dhe menaxhimin e aplikacioneve dhe sherbimeve (services) permes nje rrjeti global te datacenters te menaxhuara nga Microsoft.

Multimedia Skedare te medhenj

Enqueue Dequeue Msg asinkrone te qendrueshe m

Database relacionale

Ruajtje e strukturuar e database jorelacionale Pershkallezi m masiv

Ne Qershor 2012. Windows Azure nxorri karakterisitkat e meposhtme: Website-tet lejojne zhvilluesit te ndertojne site duke perdorur ASP.NET, PHP ose Node.js, dhe mund te shperndahen duke perdorur FTP, Git ose Team Foundation Server.

Makinat virtuale, lejojne te migrohen aplikacionet dhe infrastruktura pa ndryshuar kodin, dhe mund te ekzekutohen ne Windows Server dhe makinat virtuale te Linux.
Cloud Services- mjedisi i Microsoft per PaaS, qe perdoret per te krijuar aplikacione dhe sherbime te pershkallezueshme. Suporton skenare shumeshtresor dhe shpernarje te automatizuara. Data Management( Menaxhimi it e Dhenave) baza e te dhenave SQL, njohur si SQL Azure, punon per te krijuar , pershkallezuar dhe zgjeruar aplikacionet ne cloud duke perdorur teknologjine e Microsoft SQL Server. Integrohet me Active Directory, Microsoft System Center dhe Hadoop. Media services- nje Paas qe mund te perdoret per kodim, mbrojtjen e permbajtjes, streaming si dhe per analiza.

Sherbimet cloud ofrojne PaaS. Kjo teknologji eshte dizenjuar per te mbeshtetur aplikacione qe jane te pershkallezueshme, te besueshme, dhe te lira per tu operuar. Figure: Windows Azure Cloud Services provides Platform as a Service. Cloud Services mbeshteten ne . Teknologjia ofron dy opsione te VM: 1. Instancat e web

roles punojne me nje variant Windows Server me IIS

2. worker roles punojne me te njejtin variant te Windows Server , por pa IIS.


Nje aplikacion i sherbimeve cloud mbeshtetet ne nje kombinim te dy opsioneve. Prsh. Nje aplikacion i thjesht mund te perdore vetem nje web role, ndersa nje me i komplikuar mund te perdore web role per te menaxhuar kerkesat e perdoruesve, me pas punen e krijuar nga ato kerkesa tia kalojne nje worker role, per procesim. (ky komunikim mund te perdore Service Bus ose Windows Azure Queues).

Ashtu si tregohen edhe ne figure, te gjitha VM-te e nje aplikacioni te vetem , ekzekutohen ne te njejtin sherbim cloud. Prandaj perdoruesit e aksesojne aplikacionin permes nje adrese publike IP te vetme, me kerkesat qe automatikisht ngarkohen ne menyre te balancuar pergjate VM-ve te aplikacionit. Dhe meqe sherbimet cloud krijohen duke perdorur Makinat Virtuale te Windows Azure, platform do i shperndaje VM-te ne nje aplikacion Cloud Services, ne nje menyre qe shmang prishjen e hardware-it ne nje pike te vetme

Me Cloud Services, nuk krijon makina virtuale, por ti ofron nje skedar konfigurimi qe i thote Windows Azure sa te duhen nga secila, si prsh 3 instanca te web role dhe 2 te worker role, dhe ato krijohen nga platforma. Ti zgjedh cfare madhesie do kene keto VM. Nqs aplikacioni ka nevoje per ngarkim me te madh, kerkon per VM te tjera dhe Windows Azure do krijoje instancat e kerkuara. Nqs ngarkimi zvogelohet, atehere mund ti ndalosh ato instanca dhe te mos paguash me per to.

Windows Azure Mobile Services eshte nje sherbim i Windows Azure qe ofron nje menyre te thjeshte per te krijuar aplikacione mobile me funksionalitet te larte duke perdorur Windows Azure. Ai ofron nje pakete te sherbimeve te Windows Azure ne lidhje me kapacitetin backend te aplikacioneve .

Ofron keto kapacitete:


Client libraries suportojne zhvillimin e aplikacioneve mobile ne pajisje te ndryshme, perfshire Windows 8, Windows Phone 8, iPhone, and iPad.

Menaxhim i thjesht i tabelave per ruajtjen e te dhenave.


Integrim me sherbimet e njoftimeve per te shperndare njoftimet push ne app tuaj. Integrim me ofruesit e njohur te identitetit per autentifikim. Kontroll i imtesishem per te autorizuar aksesin ne tabela. Suporton scripte per te futur logjiken e biznesit ne operacionet e aksesimit te te dhenave. Integrim me sherbime te tjera cloud. Ofron aftesin e pershkallezimit te instancave te sherbimit mobile. Monitorim dhe dokumentim te sherbimit.

Windows Azure Mobile Services e ben shume te thjeshte lidhjen midis nje backendi te pershkallezueshem ne cloud dhe aplikacioneve klient dhe mobile. Lejon te ruani te dhena te strukturuara ne cloud te cilat mund te bashkojne pajisjet me perdoruesit, integrojne me autentifikimin e perdoruesit, si dhe te dergojne perditesime klienteve nepermjet njoftimeve push.

Storing Data in the Cloud Ruajtja e te dhenave ne cloud me Windows Azure Mobile Services eshte shume e thjeshte. Kur krijon nje Windows Azure Mobile Service, ai lidhet automatikisht me nje database SQL brenda Windows Azure. Me pas Windows Azure Mobile Service backend ofron suport built-in per te lejuar apps remote te ruajne te dhena si dhe ti aksesojne ato ne menyre te sigurte - pa pasur nevoje te shkruani apo shperndani server code manualisht. Brenda portalit te Windows Azure ofrohet edhe menaxhimi Built-in , per krijimin e tabelave te reja, kerkimin e te dhenave, caktimin e indekseve si dhe kontrolli i lejeve te aksesit.

Menaxhimi dhe monitorimi i sherbimeve mobile: Mund te monitorosh perdorimin dhe metrikat e sherbimit mobile duke perdorur tab-in Dashboard

Tabi dashboard ofron nje pamje monitoruese built-in te thirrjeve te API-t, Bandwidth, dhe ciklet e CPU se serverit te Windows Azure Mobile Service. Gjithashtu mund te perdorni tabin Logs per te pare mesazhe gabimi . Ne kete menyre behet e lehte monitorimi i mbarvajtjes se aplikacionit tuaj.

Do tregohet si mund te shtoni nje sherbim backend i bazuar ne cloud, ne nje app Windows Phone 8 , duke perdorur Windows Azure Mobile Services. Do krijoni nje sherbim mobile dhe nje app te thjeshte To do list qe ruan te dhenat ne sherbimin e krijuar.

Tregohet app i perfunduar

Krijo nje sherbim mobile


1.Logohu ne Portalin e Menaxhimit. 2. ne fund te panelit te navigimit kliko +NEW.

3. Hap Compute dhe Mobile Service, dhe kliko Create.

Do shfaqet kutia e dialogut New Mobile Service .

Ne faqen Create a mobile service , shkruaj nje emer per subdomain in e sherbimit te ri mobile , ne textbox URL dhe prit derisa te verifikohet. Me pas kliko shigjeten per te shkuar ne faqen tjeter.

Shfaqet faqja Specify database settings .

Name, emri i database, Login name, qe eshte emri i administratorit per serverin SQL Database te ri. Shkruaj passwordin dhe konfirmoje, dhe kliko butonin check per te perfunduar.

Krijimi i nje app Windows Phone


1. Ne Portalin e Menaxhimit, kliko Mobile Services, dhe kliko sherbimin qe sapo krijuam. 2. Ne tabin quickstart , kliko Windows Phone 8 nen Choose platform dhe hap Create a new Windows Phone 8 App

Shfaqen 3 hapa te thjeshte per te krijuar Windows Phone app , te lidhur me sherbimin mobile

3. Shkarko dhe instalo Visual Studio 2012 Express for Windows Phone. 4. Kliko Create TodoItem table per te krijuar tabelen qe do ruaje te dhenat e app. 5. Nen Download and run app, kliko Download. Ne kete menyre do shkakrohet projekti me shembullin To do list app .

Ekzekutimi i Windows Phone app


1.Gjej folderin qe shkarkove(te shembullit) dhe hap skedarin solution ne Visual Studio 2012 Express per Windows Phone.

4. Kthehu ne Portalin e Menaxhimit, kliko tabin Data dhe me pas tabelen TodoItems

Ne Browse shfaqen te dhenat qe u futen

Mobile Services perdorin nje baze te dhenash SQl per ruajtjen e te dhenave. Megjithate , te dhenat BLOB ( Binary Large Object) ruhen ne menyre me eficente ne sherbimin blob storage te Windows Azure.

Me ane te aplikacionit klient nuk mund shperndash ne menyre te sigurte, kredencialet e kerkuara , per te ngarkuar ne menyre te sigurte te dhena ne sherbimin Blob Storage. Kredencialet ruhen ne skripte te serverit dhe perdoren per te gjeneruar SAS(Shared Access Signature) , e cila perdoret per ngarkimin e nje imazhi te ri. SAS eshte nje kredencial me kohe te limituar ( e percaktojme ne) i kthehet aplikacionit klient ne menyre te sigurte nga sherbimet mobile. Me pas aplikacioni perdor kete kredencial te perkoheshem, per te ngarkuar imazhin.

Instalimi i Storage client per Windows Store apps 1. Shkarko Storage client library for Windows Store apps dhe extracto skedaret ne kompjuterin lokal. 2. Ne menune Project ne Visual Studio, kliko Add Reference, dhe me pas kliko Browse.

3. Kerko ne vendin qe ekstraktove skedaret kliko skedarin Microsoft.WindowsAzure.Sto rage.winmd kliko Add, dhe me pasOK. Ne kete menyre shtohet nje reference e Storage Client Library ne projekt. Me pas, do update-oni aplikacionin quickstart app per te kapur dhe ngarkuar imazhe.

Ndryshimi i scriptit insert te regjistruar ne Portalin e Menaxhimit


1. Ne Portalin e Menaxhimit, kliko Storage, kliko storage account, me pas Manage Keys

2. Shkruaj Storage Account Name dhe Access Key.

3. Ne sherbimin tuaj mobile kliko tabin Data dhe me pas kliko tabelen TodoItem.

4. Ne todoitem, kliko tabin Script dhe zgjidh Insert.

Kjo shfaq funksionin qe thirret kur ndodh nje insert ne tabelen TodoItem.

5. Zevendeso funksionin insert me kodin e meposhtem:


var azure = require('azure'); var qs = require('querystring'); function insert(item, user, request) { var accountName = '<storage-account-name>'; var accountKey = '<storage-account-key>'; var host = accountName + '.blob.core.windows.net'; var canonicalizedResource = '/' + item.containerName + '/' + item.resourceName; if ((typeof item.containerName !== "undefined") && ( item.containerName !== null)) { // Set the BLOB store container name on the item, which must be lowercase. item.containerName = item.containerName.toLowerCase(); // If it does not already exist, create the container with public read access for blobs. var blobService = azure.createBlobService(accountName, accountKey, host); blobService.createContainerIfNotExists(item.containerNam e, { publicAccessLevel: 'blob' }, function(error) { if (!error) { // Provide write access to the container for the next 5 mins. var sharedAccessPolicy = { AccessPolicy: { Permissions: azure.Constants.BlobConstants.SharedAccessPermissions.WRITE, Expiry: new Date(new Date().getTime() + 5 * 60 * 1000) } }; // Generate the upload URL with SAS for the new image. var sasQueryUrl = blobService.generateSharedAccessSignature(item.containerName, item.resourceName, sharedAccessPolicy); // Set the query string. item.sasQueryString = qs.stringify(sasQueryUrl.queryString); // Set the full path on the new new item, which is used for data binding on the client. item.imageUri = sasQueryUrl.baseUrl + sasQueryUrl.path; } else { console.error(error); } request.execute(); }); } else { request.execute(); }}

Ky script gjeneron nje SAS te ri per insertin, i vlefshem per 5 minuta, dhe i cakton vleren e SAS te gjeneruar , property-is sasQueryString te item te kthyer. Property imageUri, gjithashtu caktohet ne pathin burim te BLOB te ri, per te lejuar shfaqjen e imazhit gjate lidhjes (binding) ne nderfaqen e klientit.

6. Ne skriptin e mesiperm,zevendeso vlerat e <storage-accountname> dhe <storage-account-key> me ato qe percaktove ne hapin e 2 , me pas kliko Save.

Update app klient quickstart per te kapur dhe ngarkuar imazhe


1. Ne Visual Studio 2012, hap skedarin Package.appxmanifest dhe ne tabin Capabilities zgjidh Webcam dhe Microphone .

Kjo siguron qe aplkiacioni mund te perdori nje kamera te lidhur me kompjuterin. Perdoruesve do i kerkohet te lejojne aksesin e kameras heren e pare qe do ekzekutojne app-in.

2. Hap skedarin MainPage.xaml dhe zevendeso elementin StackPanel direct pas elementit te pare Task me kodin e meposhtem:

<StackPanel Orientation="Horizontal" Margin="72,0,0,0"> <TextBox Name="TextInput" Margin="5" MaxHeight="40" MinWidth="300"> </TextBox> <Button Name="btnTakePhoto" Style="{StaticResource PhotoAppBarButtonStyle}" Click="OnTakePhotoClick" /> <Button Name="ButtonSave" Style="{StaticResource UploadAppBarButtonStyle}" Click="ButtonSave_Click"/> </StackPanel>

3. Zevendeso elementin StackPanel ne DataTemplate me kodin: <StackPanel Orientation="Vertical"> <CheckBox Name="CheckBoxComplete" IsChecked="{Binding Complete, Mode=TwoWay}" Checked="CheckBoxComplete_Checked" Content="{Binding Text}" Margin="10,5" VerticalAlignment="Center"/> <Image Name="ImageUpload" Source="{Binding ImageUri, Mode=OneWay}" MaxHeight="250"/> </StackPanel>

Ne kete menyre shtohet nje imazh ne ItemTemplate dhe caktohet burimi i lidhjes ne shebimin Blob Storage si URI i imazhit te ngarkuar.

4. Hap skedarin projekt MainPage.xaml.cs dhe shto keto rreshta : using Windows.Media.Capture; using Windows.Storage; using Windows.UI.Popups; using Microsoft.WindowsAzure.Storage.Auth; using Microsoft.WindowsAzure.Storage.Blob; 5. Ne klasen TodoItem class, shto propertit e meposhtme: [DataMember(Name = "containerName")] public string ContainerName { get; set; } [DataMember(Name = "resourceName")] public string ResourceName { get; set; } [DataMember(Name = "sasQueryString")] public string SasQueryString { get; set; } [DataMember(Name = "imageUri")] public string ImageUri{ get; set; }

6. Ne klasen MainPage class, shto kodin e meposhtem: // Use a StorageFile to hold the captured image for upload. StorageFile media = null; private async void OnTakePhotoClick(object sender, RoutedEventArgs e) { // Capture a new photo or video from the device. CameraCaptureUI cameraCapture = new CameraCaptureUI(); media = await cameraCapture .CaptureFileAsync(CameraCaptureUIMode.PhotoOrVideo); }

Ky kod shfar nderfaqen e kameresper te kapur nje imazh, dhe ruan imazhin ne nje skedar.

7. Zevendeso metoden InsertTodoItem me kodin e meposhtem:


private async void InsertTodoItem(TodoItem todoItem) { string errorString = string.Empty; if (media != null) { // Set blob properties of TodoItem. todoItem.ContainerName = "todoitemimages"; todoItem.ResourceName = media.Name; }

Ky kod dergon nje kerkese ne sherbimin mobile per te shtuar nje TodoItem te re, perfshire emrin e skedarit te imazhit. Pergjigjia permban SAS-n, e cila perdoret per te future imazhin ne Blob, dhe URI i imazhit qe perdoret per lidhjen e te dhenave.

// Send the item to be inserted. When blob properties are set this generates an SAS in the response. await todoTable.InsertAsync(todoItem); // If we have a returned SAS, then upload the blob. if (!string.IsNullOrEmpty(todoItem.SasQueryString)) { // Get the new image as a stream. using (var fileStream = await media.OpenStreamForReadAsync()) { // Get the URI generated that contains the SAS and extract the storage credentials. StorageCredentials cred = new StorageCredentials(todoItem.SasQueryString); var imageUri = new Uri(todoItem.ImageUri); // Instantiate a Blob store container based on the info in the returned item. CloudBlobContainer container = new CloudBlobContainer( new Uri(string.Format("https://{0}/{1}", imageUri.Host, todoItem.ContainerName)), cred); // Upload the new image as a BLOB from the stream. CloudBlockBlob blobFromSASCredential = container.GetBlockBlobReference(todoItem.ResourceName); await blobFromSASCredential.UploadFromStreamAsync(fileStream.AsInputStream()); } } // Add the new item to the collection. items.Add(todoItem); }

Tesimi i njoftimeve push ne app


1. Ne Visual Studio, shtyp tastin F5 per te ekzekutuar aplikacionin. 2. Fut tekst ne textbox nen Insert a TodoItem, me pas kliko Photo.

Kjo shfaq nderfaqen e kameres.

3. Kliko imazhin per te bere nje foto, me pas kliko OK.

4. Kliko Upload per te shtuar item e ri dhe per te ngarkuar imazhin.

5. Itemi i ri , bashke me imazhin e ngarkuar shfaqet ne liste.

PROJECT HAWAII CLOUD SERVICES

Ne Project Hawaii SDK perfshiehn Cloud Services e meposhtme:

Relay Service Ky sherbim ofron nje pike abstrakte ne cloud qe aplikacionet mobile mund ta perdorin per te komunikuar. Ofron nje pike fundore bufferi per msg te derguar midis nje ose me shume pikave fundore. Rendezvous Service Ky eshte nje sherbim mapping nga emra te njohur te lexueshem nga njeriu ne pika fundore te Hawaii Relay Service. Perdor emra te njohur te lexueshem nga njeriu si pika takimi te qendrueshme qe mund te kompilohen ne aplikacione. Optical Character Recognition (OCR) Service Ky sherbim merr nje imazh fotografik qe permban tekst dhe kthen teksitn. Prsh nqs jepet ne imazh JPEG i nje shenje rrugore, sherbimi do ktheje tekstin e shenjes. Speech-to-Text Service Ky sherbim merr nje shprehje te folur dhe e kthen ne tekst (aktualisht vetem ne Anglisht) This service takes a spoken phrase and returns text (currently in English only).

intelligentME

Aktualisht ne te gjithe kryejme disa rutina ne venda te caktuara. Prsh. 1) Dergojme SMS dikujt kur arrijme ne shtepi 2) vendosim telefonin ne modalitet te heshtur kur jemi ne teate/kinema/shkolle. 3) eksekutojme app te caktuara ne vende te caktuara (prsh. bus arrival app ne ndalesen e autobuzit). Meqe ekziston nje lidhje mes vendodhjes dhe listes se veprimeve per te cilat duam qe telefoni yne te kryeje, ath do ishte mire ndertimi i nje app i ndjeshem ndaj vendndodhjes, kjo do ndryshoje menyren si njerezit perdorin smartphone-et e tyre.

You might also like