Application server pentru aplicatii mobile

AdrianB1

Membru Senior
Sugar daddy
Mi-a venit o idee si o scriu pana nu uit; nu stiu unde se incadreaza, dar o mutam daca e cazul.

Daca as vrea sa fac o aplicatie mobila care sa aibe un application server ca middleware si pe mobil sa aibe doar operatii simple gen citeste un mesaj, aproba o actiune, iar pe aplication server sa fie logica de interactiune cu aplicatiile care trimit inputuri (de pilda cereri de aprobare) si primesc ca output rezultatele actiunii utilizatorilor, in conditiile in care utilizatorii ar putea fi multi-platforma (Android app, iOS app, mobile browser) - in conditiile astea cam ce gen de middleware server s-ar preta?

Ar avea nevoie de ceva storage, dar asta nu e un criteriu; o baza de date, dar asta se poate face cu orice SQL de la Microsoft, Oracle sau altii; un web server (pentru partea de mobile web si poate si pentru comunicatia cu clientii mobili), dar iarasi exista solutii; logica aplicatiei insa pe ce sa ruleze? Ma gandesc ca se poate face ceva gen webserver care sa lucreze cu sesiuni utilizator (push ar fi insa necesar) si cu sesiuni cu backend systems, o fi suficient?
 
Din câte am văzut lumea preferă la bază un JVM (că rulează pe orice și e rapid), peste care se pune un server cu o aplicație web (ruby/python/java/whatever) și cu ceva servicii în spate (implementate cât mai mult de app server) + permanent storage cu acces cvasi-transparent, mijlocit de platformă, (no)SQL. Mai mult de HTTP nu prea ai nevoie; se poate face push pe HTTP, poți pune servicii REST/JSON/XML/etc, cu un pic de muncă poți să-l faci https. Nu prea se chinuie nimeni să facă acces pe sockets, mai ales la acces de pe mobile, unde poți să ai filtrări de porturi, proxy-uri transparente și alte bălării. În fața app server-ului e un nginx sau alt server web care face proxy pentru app server + caching + servire de static data + load balancing, și asta e soluția.

Pentru always-connected (dacă nu vrei să ai și local storage / offline mode), aplicația mobilă poate fi pur și simplu o fereastră customizată de browser, iar paginile să fie servite direct de pe server, cu implementări native doar pentru funcțiile mai complexe (gen utilizarea notification bar-ului din OS). Dacă e doar de aprobat acțiuni/documente aș face-o direct prin e-mail.

Alegerea platformei aș face-o în funcție de ce oameni am în echipă și de cât de complicat e să interfațez cu celelalte aplicații (să aibă biblioteci bune de interfațare).
 
Back
Top