Zhvillimi i pjesës së serverit të aplikacioneve celulare. Zhvillimi i aplikacionit celular: Sinkronizimi me serverin Parimet e përditësimit të të dhënave në pajisje

Kompania jonë ofron shërbime për krijimin e pjesës së serverit të aplikacioneve të biznesit celular dhe shërbimeve të uebit të klientëve që operojnë në mjedise me ngarkesë të lartë. Gjatë zhvillimit të çdo projekti, ne përpiqemi të aplikojmë një qasje individuale në mënyrë që produkti që rezulton të bëhet zgjidhja më optimale për qëllimet specifike të klientit.

Nëse jeni duke përdorur një aplikacion kompleks që ruan dhe/ose përpunon të dhënat në një server, atëherë ka një Back-end pas tij - një paketë softuerësh e vendosur në një server në internet dhe punon me një aplikacion, i cili në këtë rast quhet Front- fund. Një aplikacion i vendosur në një server mund të funksionojë njëkohësisht me një numër të madh klientësh, gjë që imponon kërkesa për shpejtësi të lartë dhe sigurinë e funksionimit të tij.

Shpesh pjesa e serverit të aplikacionit shkruhet në PHP, si gjuha më e njohur për zgjidhje të tilla. Për të zbatuar detyra të thjeshta të serverit, mund të përdoren sisteme standarde, por për detyra më specifike, tashmë është e nevojshme të zhvilloni zgjidhjen tuaj ose shtesat në sistemet standarde.

Parimet e zhvillimit të një serveri për një aplikacion celular

Programuesit tanë punojnë me teknologji që na lejojnë të zbatojmë një gamë të gjerë zgjidhjesh për çdo ngarkesë, madje edhe shumë të lartë pune dhe fusha të ndryshme. Ne gjithashtu krijojmë zgjidhje të veçanta serverash për detyra individuale.

Kontrolli organizativ

Çdo projekt krijohet nga një grup i veçantë specialistësh përgjegjës për të gjitha fazat e zhvillimit dhe dorëzimit të projektit në kohë.

Programimi

Projektimi i arkitekturës së serverit është hapi më i rëndësishëm gjatë të cilit krijohen bazat e të dhënave dhe formohen algoritmet e nevojshme.

Duke testuar

Pjesa e softuerit duhet të funksionojë pa gabime dhe dështime. Kjo është përgjegjësi e testuesve që kryejnë verifikimin e sistemit.

Mbeshtetje teknike

Punonjësit tanë kryejnë mbështetje teknike të plotë të programeve, gjë që ju lejon të eliminoni shpejt mangësitë dhe të bëni përditësime.

Karakteristikat e zhvillimit

Për të zhvilluar me kompetencë pjesën e serverit të aplikacionit, kërkohen aftësi dhe njohuri të caktuara të gjuhës së programimit të përdorur në server. Siç tregon praktika, aplikacionet klient-server krijohen në PHP. Ai është lider i padiskutueshëm në këtë fushë. Më shumë se gjysma e faqeve në botë janë të shkruara në PHP, është i përshtatshëm për zhvillim dhe mbështetje.

Korniza

Kjo platformë softuerike ju lejon ta bëni projektin më të shkallëzuar dhe fleksibël. Sidoqoftë, korniza duhet të zgjidhet sa më saktë që të jetë e mundur, prandaj, kërkohet një analizë e thellë e dokumentacionit të punës të projektit, i cili më pas do të ndihmojë në zhvillimin e një produkti me cilësi të lartë.

Ka gjuhë të tjera të përdorura për zhvillimin e fundit. Për shembull, aplikacionet e serverëve të krijuar në mjedisin Delphi janë të njohura. Për shkak të tij, programi ka përmirësuar korrigjimin e gabimeve. Për më tepër, është më e lehtë të zhvillohen programe unike në të, ajo siguron krijimin vizual. E gjithë kjo ju lejon të krijoni një ndërfaqe të qartë dhe të përshtatshme.

Aplikacionet e serverit Java nuk janë më pak të njohura. Ato plotësohen lehtësisht, ekzekutohen lehtësisht në platforma të ndryshme dhe kanë një nivel të lartë sigurie.

Një gjuhë tjetër e përdorur zakonisht. Me të, aplikacionet e serverëve krijohen lehtësisht, shpejt dhe pa kosto shtesë.

Pothuajse të gjitha kompanitë moderne kanë zyrat e tyre virtuale. Faqja e internetit mund të jetë ose një kartëvizitë ose një portal ose katalog online me opsionet e arkëtimit.

Proceset e biznesit në këtë rast varen nga serverët e uebit, përkatësisht aftësia e tyre për t'i bërë ballë sulmeve, tentativave të hakerimit dhe ndikimeve të jashtme negative, si dhe performanca e mjaftueshme për shumë kërkesa të pranuara njëkohësisht.

Fazat e zhvillimit të shërbimit të internetit

Duke krijuar aplikacione për segmente të ndryshme të tregut, ne organizojmë punën tonë sipas një parimi të vetëm - ne e ndajmë të gjithë procesin në hapa të veçantë, progresi dhe rezultatet e të cilave u raportohen klientëve. Kështu, serveri për aplikacionin celular zhvillohet në të njëjtën mënyrë.

1. Zhvillimi i idesë

Deri në 2 javë

Në këtë fazë, po krijohet themeli, duke dhënë një ide se çfarë do të vendoset dhe në çfarë drejtimi do të zhvillohet.

2. Vlerësimi i projektit

2-3 javë

Ekspertët tanë vlerësojnë kohën dhe koston e punës, pastaj hartohet një propozim paraprak për zhvillim.

3. Termat e referencës dhe kontrata

Deri në 2 javë

Pas diskutimit me klientin për të gjitha nuancat e procesit dhe hartimit të një TOR të detajuar, përgatitet dhe nënshkruhet një kontratë.

4. Zhvillimi i ndërfaqes

2-3 javë

Projektuesit janë përgjegjës për krijimin e ndërfaqeve të nevojshme gjatë shkrimit të moduleve të programit.

6. Testimi

2-3 javë

Një verifikim gjithëpërfshirës i zgjidhjes së softuerit që rezulton kryhet nga testuesit duke përdorur një grup mjetesh të përshtatshme.

7. Përfundimi i projektit

Deri në 2 javë

Brenda afatit kohor të rënë dakord, klientit i dorëzohet një shërbim ueb i gatshëm, i testuar tërësisht.

ekipi ynë

Nëpërmjet analizës së aktiviteteve tregtare dhe nevojave të klientëve tanë, ne krijojmë produkte të botës reale që ndihmojnë në zgjidhjen e një sërë problemesh biznesi. Përdorimi i teknologjive moderne ofron një gamë të gjerë mundësish për zbatimin e softuerit të serverit, i cili garanton performancën e lartë të aplikacioneve celulare përkatëse. Ekipi ynë përfaqësohet nga:

Menaxherët e projektit

Këta punonjës ndërveprojnë si me klientët ashtu edhe me zhvilluesit, duke ofruar komunikim mes tyre. Ata monitorojnë zbatimin e veprimeve tashmë të planifikuara dhe përmirësimet e nevojshme.

Dizajnerë

Në punën e tyre, specialistët tanë marrin parasysh kërkesat për ndërtimin e ndërfaqeve për sistemet operative iOS dhe Android, kështu që aplikacionet e lëshuara funksionojnë saktë në pajisje të ndryshme.

Zhvilluesit

Për të optimizuar performancën e aplikacioneve celulare, programuesit analizojnë kërkesat e sistemit të tyre dhe krijojnë softuer të specializuar serverësh.

Testuesit

Testimi i plotë është një garanci e cilësisë së produktit të përfunduar dhe një garanci e sigurisë së të dhënave të ruajtura dhe të përpunuara. Këta specialistë përdorin mjete të ndryshme dhe një metodologji efektive.

Çfarë shërbimesh krijojmë

Duke qenë një softuer i integruar në faqe ose një program i pavarur, shërbimi në internet përdoret për të kryer detyra që lidhen me reklamat, analitikën, planifikimin e biznesit dhe promovimin. Në këtë drejtim, është e nevojshme të vendosni se cili lloj burimi do të jetë zgjidhja më e mirë.

Projektet e informacionit

Projektuar për të akomoduar përmbajtje të ndryshme.

Faqe tematike

Pothuajse të gjitha faqet e tyre i kushtohen një teme. Kërkesa për to është ende mjaft e lartë.

faqet e lajmeve

Ata informojnë për lajme të ndryshme në kuadrin e një ose më shumë temave, duke pasqyruar fushat kryesore të jetës.

Blogjet

Niveli i popullaritetit të këtyre burimeve po rritet vazhdimisht. Ashtu si faqet e lajmeve, ato përcjellin këtë apo atë informacion në komunitetin e internetit, por në këtë rast, autorët shprehin mendimin e tyre personal.

Projektet sociale

Këto përfshijnë sociale të specializuara rrjete, komunitete, forume etj.

Forumet

Krijuar për të diskutuar lajme të ndryshme, produkte/shërbime, etj. Ato mund të jenë të fokusuara ngushtë dhe të ndryshme.

Mediat sociale

Këto burime kanë një audiencë shumëmilionëshe. Detyra e tyre kryesore është t'u ofrojnë përdoruesve të internetit aftësinë për të komunikuar në internet përmes mesazheve me tekst / zanore dhe video thirrjeve.

Shërbime të ndryshme në internet

Të përhapura sot, ato ndahen në disa lloje.

Katalogjet

Shërbimet postare

Ofroni përdoruesve të gjitha veçoritë dhe përfitimet e postës elektronike, duke përfshirë shikimin, dërgimin, modifikimin e letrave dhe dokumenteve, etj.

Motorë kërkimi

Ato përdoren për të kërkuar faqe dhe informacione të ndryshme për kërkesa specifike.

Tabelat e njoftimeve

Këto janë burime të internetit ku përdoruesit e rrjetit vendosin reklamat e tyre për shitjen dhe blerjen e shërbimeve brenda temave të ndryshme.

Pritja e faqeve

Projektuar për ruajtjen e përkohshme të skedarëve. Disa prej tyre ofrojnë një mundësi për t'u njohur me të dhënat përpara shkarkimit.

FAQ

Më poshtë ofrojmë përgjigje për pyetjet që shpesh u bëhen specialistëve tanë. Nëse nuk e gjeni informacionin që kërkoni këtu, ju lutemi postoni pyetjen tuaj këtu. formë dhe ne do t'i përgjigjemi patjetër.

Sa kohë mund të duhet për të krijuar një aplikacion dhe një server në internet?

Mesatarisht, kjo punë zgjat nga 9 deri në 20 javë. E gjitha varet nga kompleksiteti i detyrës që po zbatohet.

Offline në të kaluarën, të jesh online sot është një domosdoshmëri. Të paktën për botën moderne të biznesit. Prezantimet e produkteve dhe shërbimeve të markave, porositja dhe shpërndarja në internet, mirëmbajtja e bazës së klientëve, komunikimi me klientët dhe shumë më tepër - e gjithë kjo është thjesht e pamundur pa një prani në internet. Nëse keni nevojë për një aplikacion, duhet të keni edhe një Front-end (ndërfaqja në internet) dhe një Back-End (ana e serverit të aplikacionit tuaj). Dhe nëse doni të jeni në gjendje të redaktoni përmbajtjen e aplikacionit tuaj pa pjesëmarrjen e zhvilluesve, ju duhet një panel i mirë administratori.

Ndërsa pjesa e përparme në aplikacionet celulare është ndërtuar duke përdorur teknologji të tilla si X-Code dhe Java, pjesa e pasme, ku do të ruhet baza e të dhënave dhe e gjithë logjika e aplikacionit, kërkon njohuri profesionale të gjuhës së programimit të serverit. Një shembull i mirë është PHP, e cila është padyshim gjuha më e njohur e programimit që përdoret për të zhvilluar pothuajse çdo back-end. Ky është lideri i padiskutueshëm.

Ka shumë aplikacione për PHP: faqe interneti statike dhe dinamike + sisteme të personalizuara të menaxhimit të përmbajtjes, rrjete sociale, sisteme të specializuara CRM, softuer të tregtisë elektronike dhe shumë më tepër. Sigurisht, ka pjesë të serverit dhe panele kontrolli falas ose të lira. Megjithatë, në shumë raste ato nuk ofrojnë nivelin e nevojshëm të komoditetit, personalizimit dhe përmirësimit.

Programuesit tanë punojnë me teknologji që na lejojnë të zbatojmë një gamë të gjerë zgjidhjesh për qëllime, nevoja dhe kërkesa të ndryshme biznesi. Ne analizojmë kërkesat e sistemit për secilin projekt individualisht dhe aplikojmë softuer të ndryshëm të specializuar të serverit për performancën optimale të aplikacionit tuaj celular.

Nëse jeni duke kërkuar për një ekip që mund t'ju çojë në zgjidhjen më inteligjente dhe me kosto efektive për ndërtimin e një aplikacioni nga e para ose për të rivendosur një ekzistues për një përvojë të përsosur të përdoruesit, mos kërkoni më tej. Appsmob është gati t'ju ndihmojë të gjeni zgjidhjen më të mirë për ju.

488 Pjesa IV. Ajax në shembuj

bots dhe thërret serverin, i cili do të gjenerojë në mënyrë dinamike të dhënat e përgjigjes bazuar në vlerën e vargut të kërkuar të dorëzuar. Parametri i parë i funksionit LoaciXMLXSLTDoc() është URL-ja e faqes PHP që gjeneron dokumentin XML, i lidhur me një varg pyetjesh të formuar duke iu referuar vlerave të fushës HTML Form O. Parametri i dytë është emri i skedarit © XSLT i përdorur në transformimin e të dhënave XML. Parametri i tretë i kërkuar nga funksioni LoadXMLXSLTDoc() është ID e elementit div në të cilin vendosen rezultatet e kërkimit. Identifikuesi është emri i vargut të elementit dalës, jo një referencë objekti; në këtë rast, vargu "rezultat" përdoret si identifikues.

Në hapin tjetër, ne përdorim metoda DOM për të shtuar një imazh tregues në faqen e internetit. Krijohet një element imazhi © dhe atributi i burimit të imazhit vendoset në O. Ky element i krijuar i shtohet elementit div të rezultateve ©. Kështu, kur funksioni ynë thirret nga mbajtësi i ngjarjeve onsubmit të formularit, një skedar imazhi vendoset në faqe. Në përgjithësi, është e rëndësishme që përdoruesi të krijojë reagime vizuale - një mesazh ose një imazh - që tregon se përpunimi është në progres. Kjo e pengon përdoruesin që të klikojë vazhdimisht në butonin e dorëzimit të handikapit duke menduar se asgjë nuk po ndodh (mos harroni, procesi i Ajax është "i padukshëm").

Hapi i fundit është thirrja e funksionit LoadXMLXSLTDoc () ®, i cili fillon procesin e dërgimit të informacionit në server. Funksioni LoadXMLXSLTDoc() i përshkruar në seksionin 12.4 trajton thirrjen për objektin ContentLoader() që kërkon dokumente nga serveri. Duke vendosur pozicionin e daljes si parametër (në vend që të kodojmë me forcë vlerën në funksionin LoadXMLXSLTDoc()), ne mund ta ripërdorim këtë funksion në të njëjtën faqe pa kërkuar procedura të shumta ose deklarata if për të ndarë funksionalitetin. Rrjedhimisht, ne po i ridrejtojmë rezultatet e pyetjeve të ndryshme të kërkimit në pjesë të ndryshme të faqes. Megjithatë, para se të bëjmë të gjitha këto, le të shohim se si të krijojmë dokumente XML dhe XSLT në server.

12.3. Kodi mbështetës i aplikacionit: PHP

Në këtë seksion, ne do të krijojmë një dinamikë Dokument XML duke përdorur PHP, një gjuhë popullore skriptimi me burim të hapur (siç e dini, kuadri Ajax është i pajtueshëm me çdo gjuhë ose platformë nga ana e serverit). Dokumenti XML gjenerohet në mënyrë dinamike nga grupi i rezultateve të marra në përgjigje të një pyetjeje të klientit kundër bazës së të dhënave. Përveç kësaj, ne do t'ju tregojmë se si të krijoni një dokument XSLT statik që qëndron në server dhe merret sa herë që kërkohet një skedar dinamik. Të dy këto dokumente i kthehen klientit në mënyrë të pavarur kur objekti ContentLoader kërkohet në dy kërkesa të veçanta (Lista 12-7). XSLT transformon dokumentin tonë dinamik XML në anën e klientit dhe krijon një tabelë HTML që i shfaqet përdoruesit.

Kapitulli 12 Kërkimi i drejtpërdrejtë duke përdorur XSLT 489

12.3.1. Krijimi i një dokumenti XML

Meqenëse po përdorim XSLT, na duhet një dokument i strukturuar XML që është një regjistrim i thjeshtë informacioni në mënyrë që skedari XSL të mund të kryejë një transformim standard. Në këtë projekt, ne do të krijojmë një skedar dinamik XML kur një klient kërkon një skedar PHP.

Zhvillimi i strukturës XML

Para se të fillojmë të krijojmë skedarin XML, duhet të krijojmë një shabllon për të. Ky model duhet të pasqyrojë strukturën e të dhënave të kthyera nga kërkimi. Në formulimin e detyrës së zgjedhur (libri i telefonit), ne do të kthejmë emrin e kompanisë, emrin e kontaktit, vendin dhe numrin e telefonit. Lista 12-3 tregon një shabllon bazë XML që përmban katër fusha.

Listimi 12.3. Skedari bazë XML

Emri i Kompanise emri i kontaktit Emri i vendit Numri i telefonit

Elementi i parë është libri i telefonave. Tjetri është një element hyrje që përmban nënelemente me të gjitha detajet që lidhen me të gjithë numrat e kontaktit që gjenden në kërkesë. Nëse kemi pesë rezultate, do të ketë pesë elemente hyrëse në dokumentin XML. Emri i kompanisë shfaqet në elementin e kompanisë. Përveç kësaj, ne kemi shtuar emrin e personit të kontaktit, emrin e shtetit dhe numrin e telefonit. Ne nuk jemi të kufizuar në fushat e specifikuara; Fushat mund të shtohen ose hiqen në varësi të informacionit që dëshironi të shfaqni.

Nëse nuk gjenden rezultate, në vend që të shfaqni një mesazh paralajmërues, mund të krijoni një element që shfaq këtë informacion tek përdoruesi. STO do ta bëjë më të lehtë për ne kthimin e rezultatit te përdoruesi dhe nuk do të kërkojë kod shtesë në anën e klientit të aplikacionit. Kodi në Listimin 12-4 është pothuajse i njëjtë si në Listimin 12-3, por këtë herë ne po fusim tekst në elementët XML që duam t'i tregojmë përdoruesit për të treguar se nuk u gjetën rezultate.

Listimi 12.4. Skedar XML pa rezultate

nuk ka rezultate

// O Shfaq "No R e s u l t s" në vend të emrit të kompanisë N/A

490 Pjesa IV. Shembuj të Ajaxin

// © Fushat e mbetura janë zëvendësuar nga "N/A"

N/A

N/A

Me këtë kod, ne i shfaqim përdoruesit një rresht të vetëm duke i thënë përdoruesit se informacioni i kërkuar mungon. Përshkruesi i kompanisë O shfaq informacion që tregon se nuk ka rezultate. Përshkruesit e tjerë 0 i tregojnë përdoruesit se nuk ka informacion. Nëse nuk duam të shfaqim tekstin "N/A" ("nuk disponohet"), mund të shtojmë në vend të kësaj një hapësirë ​​pa ndërprerje, e cila do të shfaqë qelizat e tabelës. Nëse nuk do të kishim shtuar asnjë informacion fare, qelizat në tabelë nuk do të shfaqeshin.

Siç mund ta shihni, formati XML ka një strukturë shumë të thjeshtë. Nëse ky skedar XML do të ishte statik, do të ishte relativisht e lehtë për përdoruesin të shtonte një pajtimtar të ri në skedar. Meqenëse gjenerohet në mënyrë dinamike, na duhet një lak që krijon një dokument XML nga grupi i rezultateve.

Krijimi i një dokumenti dinamik XML

Si gjithmonë, ne krijojmë një dokument XML në server. Në përputhje me politikën e përdorimit të gjuhëve të ndryshme të serverit në shembuj, kodi i serverit për këtë kapitull është shkruar në PHP. Kujtoni edhe një herë se korniza Ajax mund të krijohet duke përdorur çdo gjuhë nga ana e serverit, dhe ne do të përshkruajmë vetëm parimin e zbatimit të kodit nga ana e serverit pa hyrë në detaje. Pra, Lista 12-5 tregon kodin për anën e serverit të aplikacionit. Kodi merr një parametër të vargut të pyetjes dhe gjeneron shumë rezultate të pyetjeve të bazës së të dhënave. Më pas ne përsërisim grupin e rezultateve, duke krijuar një element në skedarin XML, siç tregohet në Listimin 12.4, për çdo numër telefoni të kthyer në përgjigje të pyetjes.

Listimi 12.5. Script phoneXML.php: gjenerimi i një dokumenti XML në server

// Rreth Deklarimit të Llojit MIME header ("Lloji i përmbajtjes: tekst/xml"); jehonë ("\n");

// © Lidhu me bazën e të dhënave

$db = mysql_connect ("localhost", "ajax", "veprim"); rnysql_select_db("ajax",$db);

$result = mysql_query("SELECT *

FROM Kontaktet WHERE Emri i kontaktit si "%". // © Plotësoni kërkesën

$_GET["q"] ."%"",$db); ?>

// O Kontrolloni rezultatet

nëse ($myrow = mysgl_fetch_array($rezultat)) ( bëj (

// © Shikoni grupin e rezultateve

Kapitulli 12 Kërkimi i drejtpërdrejtë me XSLT 491

001">

)while ($myrow - mysql_fetch_array($result)); ) tjeter(

12.3.2. Krijo një dokument XSLT

Duke përdorur XSLT, skedari ynë XML mund të konvertohet në një tabelë të bukur HTML me disa rreshta kodi. Një dokument XSLT lejon përputhjen e shablloneve nëse është e nevojshme të shfaqen të dhënat në çdo format të dëshiruar. Përputhja e shabllonit përdor një strukturë shabllon për të shfaqur të dhënat. Në të njëjtën kohë, ne kalojmë nëpër nyjet e pemës

492 Pjesa IV. Ajax në shembuj

burim duke përdorur XSLT. Një dokument XSLT merr një skedar të strukturuar XML dhe e konverton atë në një format që është i lehtë për t'u parë, përditësuar dhe modifikuar. Në rastin tonë, dokumenti XSLT është i përcaktuar në mënyrë statike.

Struktura XSLT

Një transformim XSLT përmban rregulla për përkthimin e një peme burimore në një pemë destinacioni. I gjithë procesi XSLT duhet të përputhet me një strukturë shabllon. Kur elementet e pemës burimore përputhen me strukturën e dhënë, pema e destinacionit krijohet sipas shabllonit të dokumentit.

Struktura e pemës së destinacionit nuk ka pse të jetë e lidhur me strukturën e pemës burimore. Prandaj, skedari origjinal XML mund të konvertohet në çdo format të kërkuar. Nuk është e nevojshme të përdoret vetëm një pamje tabelare e grupit të të dhënave.

Një transformim XSLT quhet një fletë stili sepse përcakton stilin e pemës që rezulton. Fleta e stilit përmban rregullat e shabllonit, të cilat përbëhen nga dy pjesë. Pjesa e parë është struktura e shabllonit me të cilën krahasohen nyjet e pemës burimore. Pasi ka gjetur një përputhje, procesori XSLT përdor pjesën e dytë - një shabllon që përmban përshkrues për ndërtimin e pemës burimore.

Krijo një dokument XSLT

Gjenerimi i një transformimi XSLT për një projekt të caktuar është relativisht i thjeshtë. Meqenëse do të marrim një tabelë, nuk kërkohet përputhja e modeleve të zbukuruara; ne thjesht kalojmë në mënyrë sekuenciale nëpër të gjitha nyjet e elementeve të pemës burimore. Më poshtë do të zhvillojmë një shabllon që gjeneron një tabelë HTML me katër kolona. Skedari përkatës XSLT për këtë projekt shfaqet në Listimin 12-6.

i Listimi 12.6. skedar XSLT

"ISO-8859-l"?>

// О Vendosni versionin dhe kodimin XML

// © Caktoni hapësirën e emrave XSLT"http://www.w3.org/1999/XSL/Transform">

// © Vendos rregullat e shabllonit

// Rreth Shto një element tabele

// © Krijo një shirit titulli

Kapitulli 12 Kërkimi i drejtpërdrejtë duke përdorur XSLT 493

// 0 Kaloni në mënyrë sekuenciale elementet e librit të telefonit

select="Libri i telefonit/hyrje"> // © Formatoni daljen

Kompania kontakt Vendi Telefoni

Kur krijoni një transformim XSLT, duhet të specifikoni kodimin dhe versionin XML O, dhe të specifikoni hapësirën e emrave XSLT ©. Hapësira e emrave përcakton rregullat dhe specifikimet me të cilat duhet të përputhet një dokument. Elementet në hapësirën e emrave XML njihen në dokumentin burimor, por nuk njihen në dokumentin e rezultatit. Prefiksi xsl përdoret për të përcaktuar të gjithë elementët tanë në hapësirën e emrave XSLT. Më pas, mund të vendosni një rregull shabllon - kërkoni një strukturë / © që përputhet me të gjithë dokumentin.

Tani mund të fillojmë të krijojmë një shabllon tabele që shfaq rezultatet tona. Shtojmë një përshkrues të tabelës O që paraqet një identifikues në tabelë. Kjo pasohet nga një rresht i titullit të tabelës © që përmban emrat e kolonave që i tregojnë përdoruesit se çfarë informacioni përmban tabela.

Duke kaluar në mënyrë sekuenciale nëpër grupin e nyjeve të pemës burimore, marrim rreshtat e mbetur të tabelës. Në këtë rast, përdoret një lak për çdo ©, në procesin e përpunimit të hyrjeve, lëshimit të nyjeve të vendosura në librin e telefonave/hyrje.

Meqenëse po përshkojmë në mënyrë sekuenciale pemën e dokumentit, duhet të zgjedhim vlerat e kolonës. Për të zgjedhur vlerat nga nyjet, vlera e operatorit përdoret për të nxjerrë vlerën e elementit XML dhe për ta shtuar atë në rrjedhën dalëse të transformimit. Për të specifikuar elementin XML, tekstin e të cilit duam ta nxjerrim, përdorni atributin select me emrin e elementit. Pasi të keni krijuar skedarin XSLT dhe të keni krijuar kodin për të gjeneruar në mënyrë dinamike dokumentin XML, mund të plotësoni kodin JavaScript dhe të shihni sesi kombinimi i një transformimi XSLT me një skedar të strukturuar XML prodhon një tabelë të lehtë për t'u shfletuar.

Në hapin tjetër, kthehemi përsëri në anën e klientit, duke marrë skedarët që sapo krijuam me përgjigjen HTTP.

Ana e kundërt e klientëve celularë është serveri.

Kërkesat shtesë varen nga specifikat e aplikacionit:
shkallëzueshmëria e serverit - për SaaS, aplikacionet sociale, ku në mënyrë ideale pritet një fluks i madh vizitorësh, ky kusht është i detyrueshëm. Për aplikacionet e biznesit ku ka kufizime në numrin e përdoruesve ose numri është i parashikuar, kjo pronë nuk kërkohet;
interaktiviteti: një numër aplikacionesh duhet të pajisen me një mekanizëm njoftimi - për të informuar aplikacionin (përdoruesin) për ndodhjen e ngjarjeve të caktuara, dërgoni një mesazh te përdoruesi. Për shembull, një sistem shkëmbimi ose një dispeçer automatik taksie duhet ta ketë këtë pronë.
hapur API: supozohet se zhvilluesit e palëve të treta mund të përdorin funksionalitetin e sistemit përmes një protokolli të dokumentuar. Në fund të fundit, klienti mund të jetë edhe një aplikacion celular dhe një server i jashtëm.
kërkesa të tjera...

Ekipi
Përbërja e ekipit të projektit për zhvillimin e sistemit në mënyrë ideale do të ishte si më poshtë:
menaxher i projektit: menaxhon, kontrollon projektin, ndërvepron drejtpërdrejt me klientin;
zhvilluesi i aplikacionit të serverit: zhvillon serverin logjik të biznesit, bazën e të dhënave, protokollin e rrjetit;
zhvilluesi i aplikacionit të administratorit: zhvillon një aplikacion ueb, një ndërfaqe përdoruesi për konfigurimin dhe menaxhimin e një aplikacioni serveri;
Zhvilluesi i aplikacionit të klientit Android;
zhvillues i aplikacionit të klientit iOS;
zhvilluesi i aplikacionit të klientit për...
testues: teston aplikacionin e administratorit dhe aplikacionet e klientit.

Një lexues i vëmendshëm do të vërejë se nëse shkruani një aplikacion serveri me një ndërfaqe grafike, për shembull, në HTML5, mund të kurseni para. Në këtë rast, zhvillimi i aplikacioneve të klientit nuk kërkohet - ndërfaqja e përdoruesit sigurohet nga shfletuesi. Ky artikull nuk e konsideron një rast të tillë, ne po flasim për zhvillimin e aplikacioneve "amtare" (amtare) për pajisjet mobile.

Unë pata një shans për të punuar në një ekip me një plotësim të plotë, por jini realist - jo gjithmonë burimet njerëzore dhe buxheti ju lejojnë të mblidhni një ekip të tillë. Dhe ndonjëherë rolet duhet të kombinohen: menaxher projekti + zhvillues i aplikacionit të serverit, zhvillues i aplikacionit të klientit + testues.

Teknologjitë, mjetet, bibliotekat
Për të zhvilluar një server klienti celular, unë zakonisht përdor grupin e mëposhtëm të teknologjive "falas":
Apache Tomcat është një kontejner servlet;
MySQL - DBMS;
Subversion është një sistem i kontrollit të versionit;
Maven - një kornizë për automatizimin e montimit të projekteve;
JUnit - do të sigurojë ;
Apache Log4j - biblioteka e prerjeve;
Jenkins është një sistem i vazhdueshëm integrimi;
Hibernate - ORM (cilësimet, konfigurimi në vetitë, skedarët xml dhe shënimet);
hibernate-generic-dao - Zbatimi i DAO nga Google, zbaton metodat kryesore për të punuar me të dhënat e bazës së të dhënave, thjeshton zbatimin e filtrimit dhe renditjes në metoda;
- zbatimi i vërtetimit dhe autorizimit (sigurisë), një kontejner shërbimesh dhe fasule (konfigurim në skedarë xml dhe shënime), ne gjithashtu e përdorim atë kur krijojmë teste.

Në varësi të specifikave të sistemit dhe kërkesave për të, unë përdor një nga 2 opsionet për zbatimin e protokollit të shkëmbimit të të dhënave.
Kur kërkohet ndër-platformë, shpejtësia, thjeshtësia, efikasiteti, shkallëzueshmëria, API e hapur, atëherë unë marr Jersey - zbatimin e shërbimeve REST Web (RESTful Web services). Kjo bibliotekë ju lejon të përdorni serializimin e të dhënave në format JSON ose/ose XML. Konfigurimi REST mbahet përmes shënimeve. Për shkëmbimin me pajisje celulare, formati JSON është marrë për faktin se ka një zbatim më të thjeshtë në anën e klientit (për këtë arsye nuk përdorim shërbimet "klasike" të Uebit), gjenerohet një sasi më e vogël trafiku. Jersey ju lejon të përshtateni me "llojin" më të përshtatshëm të JSON.
Përndryshe, nëse keni nevojë për ndër-platformë, performancë të lartë, thjeshtësi, efikasitet, interaktivitet, atëherë unë marr
Apache MINA është një kornizë për krijimin e aplikacioneve të rrjetit,
Google protobuf është një bibliotekë e strukturuar e kodimit dhe dekodimit të të dhënave. Struktura e të dhënave përcaktohet nga skedarët e kokës *.proto, përpiluesi gjeneron klasa Java prej tyre (është e mundur gjithashtu t'i gjenerojë ato për gjuhë të tjera programimi: C++, Objective-C, etj., e cila siguron vetinë ndër-platformë) ;
java.util.concurrent - përdorni paketën standarde.
Ky opsion mund të shkallëzohet, por duhet të planifikohet në fazën e projektimit në nivelin e arkitekturës, duke marrë parasysh logjikën e biznesit.

Konsideroni një detyrë hipotetike duke përdorur shembullin e zgjedhjes së teknologjive për një shërbim të vërtetë SaaS - "Auknem Services Auction", i cili u lejon njerëzve të bëjnë një porosi për kryerjen e shërbimeve ose punëve të kërkuara, dhe organizatat, nga ana tjetër, lënë ofertat e tyre për ta . Ne i marrim të gjitha kërkesat themelore si parazgjedhje. Duke qenë se regjistrimi në këtë sistem është falas dhe falas, është patjetër e nevojshme t'u shtohet shkallëzueshmëria. Po në lidhje me interaktivitetin? Do të ishte mirë të informohen kontraktorët (ekzekutuesit) për krijimin e porosive të reja, dhe të informohen klientët për propozimet e marra në të njëjtin moment në aplikim, dhe jo vetëm me e-mail. Bazuar në këtë, ne do të marrim Apache MINA, Google protobuf për zbatim. Ne shikojmë pronën e mëposhtme - hapni API. Shërbimi është publik, kështu që le të supozojmë se zhvilluesit e jashtëm mund të jenë të interesuar të integrohen me të. Prisni! Jo aq e thjeshtë. Protokolli i bazuar në Apache MINA është mjaft i varur nga zbatimi dhe integrimi pa i ditur nuancat nuk është aspak transparent. Në një situatë të tillë, do të duhet të peshoni se cili faktor është më i rëndësishëm dhe të bëni një zgjedhje.

konkluzioni
Do të ishte interesante për mua të di se çfarë teknologjish, bibliotekash keni përdorur kur zhvilloni një server për pajisje celulare ose sisteme të ngjashme? Gjithçka ndryshon, asgjë nuk zgjat përgjithmonë, në çdo nivel ka alternativa me avantazhet dhe disavantazhet e veta: MySQL -

Zhvillimi i anës së serverit të aplikacionit

Prezantimi

Prania në internet është bërë një domosdoshmëri për kompanitë moderne. Pa këtë, është e pamundur të ndërtohet një ndërveprim i plotë me klientët. Shpesh, për të zgjidhur një problem të tillë, ata përdorin krijimin e aplikacioneve klient-server. Secila prej tyre përbëhet nga pjesa e klientit dhe nga Back-end. Termi i fundit i referohet anës së serverit të aplikacionit. Nëse në të ardhmen duhet të ndryshoni në mënyrë të pavarur përmbajtjen e programit celular, atëherë Back-end duhet të krijohet me cilësi veçanërisht të lartë. Appomart garanton përmbushjen e detyrave të ngarkuara në përputhje me kërkesat. Prandaj, kur porosisni krijimin e aplikacioneve të serverit, mund të jeni të sigurt për rezultatin e duhur.

Për çfarë është Back-end?

Zhvillimi i aplikacioneve klient-server përfshin krijimin e dy pjesëve. E para, Front-end, pranon kërkesat nga përdoruesit. Është e dukshme nga ekranet e pajisjeve mobile të klientëve. E dyta, aplikacioni i serverit, përpunon kërkesat e marra dhe vepron si një panel administrativ. Bazat e të dhënave dhe logjika e programit ruhen këtu. Pa këtë, asnjë aplikacion klient-server nuk do të funksionojë. Në fakt, pjesa e pasme është zemra e programit. Kjo është inteligjenca që është përgjegjëse për përpunimin e kërkesave të klientëve, shpejtësia e aplikacionit. Prandaj, është e rëndësishme që arkitektura e aplikacionit të serverit të jetë e menduar deri në detajet më të vogla, në mënyrë që edhe shërbimet e ngarkuara shumë të funksionojnë pa probleme dhe shpejt.

Si të zgjidhni një gjuhë programimi?

Gjatë përgatitjes së termave të referencës (pjesë e dokumentacionit të punës për projektin), arkitekti harton një sistem bazash të dhënash dhe lidhjesh, përshkruan objektet dhe vetitë e tyre, si dhe zhvillon metodat e nevojshme të serverit (kërkesat që aplikacionet celulare do të " përdorni" kur kontaktoni serverin).

Rëndësia e dokumentacionit dhe projekteve të braktisura

Appomart kontaktohet mjaft shpesh nga klientët që janë "braktisur" për një arsye ose një tjetër nga kontraktorë të tjerë. Dhe ne marrim projektin e dikujt tjetër, ndonjëherë edhe në mënyrë të gabuar, ne kryejmë auditimin e tij dhe rishikimin dhe mbështetjen e mëvonshme. Në procesin e studimit të kodit burimor dhe materialeve të marra nga klienti, ne jemi përballur me faktin se shumë zhvillues nuk dokumentojnë qëllimisht metodat e serverit në mënyrë që të lidhin klientin me veten e tyre, për shkak të pamatshmërisë së kostove të punës së transferimit. projekti për të mbështetur një zhvillues tjetër, për shkak të mungesës së dokumentacionit për pjesën e serverit, dhe ndonjëherë thjesht për shkak të joprofesionalizmit. Ky fakt, për fat të keq, është jo vetëm i trishtuar, por edhe i përhapur. Klienti, në këtë rast, duhet të paguajë për zhvillimin e dokumentacionit për një projekt ekzistues, si dhe një auditim të kodit burimor, përpara se të jetë e mundur të gjykohet efikasiteti, komoditeti dhe përshtatshmëria e mbështetjes së projektit. Appomart ruan dokumentacionin elektronik të metodave mbështetëse në një format të mbështetur nga Postman dhe Swagger për përdorim të mëvonshëm.

Si të kontrolloni kontraktorin përpara nënshkrimit të kontratës?

Ne ju bëjmë thirrje që të zgjidhni me kujdes një kontraktor dhe të përqendroheni jo vetëm në një çmim joshëse, por edhe në listën e dokumenteve që do të merrni së bashku me projektin, si dhe kushtet për transferimin e kodit burimor dhe mbulimin e kodit me komentet, skemat e bazës së të dhënave (qoftë Mongo DB ose MySQL). Çelësi i suksesit, si rregull, është dokumentacioni kompetent i punës, i cili tregon qartë kërkesat për materialet e transferuara tek ju pas përfundimit të secilës fazë të punës.

Karakteristikat e zhvillimit

PHP për pjesën e pasme

Krijimi i anës së serverit të aplikacioneve (të mos ngatërrohet me serverët si "hardware" apo kompjuterë, meqë po flasim për anën softuerike) kërkon aftësi specifike profesionale dhe njohuri të gjuhës programuese që përdoret në anën e serverit. Nëse shikojmë shembuj të aplikacioneve klient-server, mund të shohim se PHP është popullor. Është lider i padiskutueshëm në zhvillimin e aplikacioneve të serverëve. Më shumë se gjysma e faqeve në botë janë shkruar në këtë gjuhë në një konfigurim ose në një tjetër. PHP është e lehtë për t'u zhvilluar dhe mirëmbajtur, dhe përveç kësaj, ka korniza të veçanta për të përshpejtuar zhvillimin në PHP.

Korniza

Framework (platformë softuerike) - përdoret për të organizuar dhe rritur nivelet e abstraksionit, gjë që e bën projektin më fleksibël dhe më të shkallëzuar. Megjithatë, duhet kuptuar se korniza duhet të zgjidhet saktë, bazuar në një analizë të thellë të dokumentacionit të punës së projektit, pa të cilin është e pamundur të zhvillohet një produkt cilësor.

Delphi, JAVA, Python

Ka gjuhë të tjera që përdoren për të krijuar Back-end. Pra, aplikacionet e serverëve të krijuar në mjedisin Delphi janë të përhapura. Me ndihmën e tij, programi merr korrigjimin e përmirësuar, është gjithashtu e lehtë të krijohen programe unike në mjedis, sigurohet krijimi vizual, gjë që bën të mundur krijimin e një ndërfaqe të bukur, të kuptueshme dhe të përshtatshme. Aplikacionet e serverit Java gjithashtu kanë fituar popullaritet. Këto plotësohen lehtësisht, ekzekutohen lehtësisht në çdo platformë dhe kanë një nivel të mirë sigurie. Një gjuhë tjetër popullore është Python. Aplikacionet e serverit me ndihmën e tij krijohen shpejt, thjesht, pa shpenzime serioze.

Përhapja

Krijimi i aplikacioneve klient-server është i kërkuar në mjedisin e korporatës. Shpesh programe të tilla përdoren për grupe pune ose për krijimin e sistemeve të informacionit brenda një ndërmarrje. Shumica dërrmuese e aplikacioneve celularë për ruajtjen e komunikimit me klientin gjithashtu kanë një arkitekturë të ngjashme. Popullariteti është për faktin se përdorimi i aftësive të serverit ju lejon të siguroni kontrollin dhe integritetin e sistemit, duke reduktuar ngarkesën e rrjetit.

Ne do të krijojmë një aplikacion klient-server për Android, iOS me cilësi të lartë dhe në kohë

Zhvillimi në dorë

Programuesit e Appomart janë me përvojë dhe të kualifikuar për të zbatuar detyra të niveleve të ndryshme. Ne jemi po aq të mirë në zbatimin e rrjeteve sociale, projekteve të biznesit me ngarkesë të lartë ose pjesës së softuerit për startup-et e vogla. Nëse është e nevojshme, ne do të krijojmë pjesën e klientit të aplikacionit me Android, iOS në përputhje me nevojat dhe kërkesat ekzistuese.

Fundi i pasëm në Appomart

Programuesit tanë punojnë me teknologji të ndryshme dhe e bëjnë atë po aq mirë. Në Appomart, mund të porosisni një aplikacion klient-server në Java, PHP dhe Node.JS. Kërkesat e sistemit analizohen për secilin prej projekteve individualisht, gjë që ju lejon të siguroni performancën optimale të programit. Ne do të krijojmë një aplikacion klient-server Java, PHP dhe Node.JS nga e para ose do të marrim një ekzistues për të mbështetur përmirësimet dhe përditësimet. Nëse jeni të interesuar të zhvilloni një pjesë të re të serverit ose të mbështesni një ekzistues, lini një kërkesë për të marrë një llogaritje të detajuar të kostos së punës dhe opsioneve për bashkëpunim.



Artikuj të ngjashëm: