Skocz do zawartości
swierzy89

Tracker i komunikacja klient-serwer

    Rekomendowane odpowiedzi

    Cześć:) od razu mówię, że jestem swieżakiem w programowaniu na androida,

    chcę napisać trackera zintegrowanego ze stroną internetową, na której będą wyświetlone statystyki i trasy . Do tej pory napisałem aplikację, która w oparciu o GPS odczytuje położenie, rysuję trasę i przechowuje ją w bazie danych. Chcę aby telefon komunikował się z zewnętrzną bazą danych, np. wysyłał bieżącą lokalizację

    Poradzcie mi co mam wykorzystać do zrobienia komunikacji klient - serwer, czy to ma być jakiś RESTful web service? czy servlet? o tym pierwszym trochę sie naczytałem i sporo jest tych frameworków;/ jeśli web service to jaki wybrać?

    chcę napisać prostą komunikację klient - serwer, klient wysyła do serwera login io haslo, serwer dokonuje

    uwierzytelnienia na podstawie informacji w bazie danych, i ustanawia sesje.

    później chcialbym aby byla mozliwosc bieżącego wysyłania lokalizacji na serwer oraz wysyłanie całych tras;]

    proszę też o wskazówki w napisaniu uwierzytelniania, jakoś nie mogłem tego znaleźć w necie;/

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    servlet = serwer Java czyli najpewniej Tomacat w każdym razie zwykły hosting PHP nie przyda się na wiele, musisz postawić własny serwer ewentualnie skorzystać z Googlowego AppEngine

    daj sobie spokój z RESTfull web service bo to wymaga użycie serwera Java, poczytaj na czym polega REST w skrócie podział na typy operacji w zależności od użytej metody, metoda GET pobieranie danych DELETE usuwanie itd... dane mogą być przesyłane sformatowane w XML lub JSON

    pewnie chciał byś skorzystać z dostępnego hostingu PHP, MySQL czyli nie pozostaje nic tylko napisać sobie własny protokół korzystający z założeń REST, co nie jest zbyt trudne

    PS.

    podczas pisania skryptu PHP dobrze i wygodnie jest skorzystać z dobrodziejstw CURL, ponadto należy zadbać żeby wszystkie typy wywołań były przetwarzane prze ten sam skrypt, można to osiągnąć dzięki zasadą re-writing zapisanym w .htaccess

    ogólnie wszystko jest prostsze jak się skorzysta servlet-a ale serwery Java na dodatek darmowe są dość rzadkim dobrem, chyba ze chcesz się użerać z AppEngine

    wskazówka do autoryzacji: nie przysyłaj haseł w postaci otwartego tekstu tylko nieodwracalnie zakodowanej MD5, SHA, itd...

    Edytowane przez zawadaki

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    piotrpo

    Można użyć GAE do hostowania takiej aplikacji. Największą wadą jest brak dostępu do czegoś przypominającego bazę SQL - wszystko się opiera o jakieś takie obiektowe coś :) W przypadku przechowywania danych użytkownika serwisu społecznościowego jest ok, ale przechowywanie trasy jest już mniej oczywiste w takim podejściu.

    Wysyłanie aktualnej pozycji na serwer wymaga dość sporego wysiłku w optymalizacji - wysyłanie co chwila paru bajtów wyssie baterię w 2-3 godziny (zwłaszcza w połaczeniu z GPS).

    Zamiast pisać mehnizm autoryzacji możesz skorzystać z gotowych rozwiązań - np Google.

    Wysyłanie całej trasy jest dość kosztowne - warto wprowadzić mechanizm sprawdzający, które punkty są "nadmiarowe" - oszczędzisz transfer, moc obliczeniową na serwerze i objętość przechowywanych danych.

    Jeżeli decydujesz się na płatny hosting, to proponuję zapoznać się z ofertą Amazon Web Services - dla nowych klientów mały serwer przez pierwszy rk jest za darmo, później również stawki nie zabijają.

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Dzięki za wskazówki, po przeczytaniu waszych postów myślę, że najlepiej jak postawię własny serwer;] i do tego napisze servlet w javie, myślę że dobrze zrozumiałem : D

    własnie sprawdziłem na endomondo i rzeczywiście trasa jest aktualizowana co jakiś czas, wiec wysylanie co

    zmianę położenia to jednak zly pomysl;]

    dzięki za pomysł nad optymalizacja trasy z tym usuwaniem nadmiarowych punktów;] jeszcze nad tym nie myślałem, na razie chciałbym żeby mi to jakoś działało a na optymalizacje jeszcze przyjdzie czas:)

    @piotrpio widze że masz już taki tracker napisany:)) zaraz go pobieram i jadę testować:D

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Ostatnio przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.

    x