WebService czy WCF do aplikacji na androida? Co wybrać?

0

Cześć wszystkim,

(Wątek z cyklu od czego zacząć:))
Proszę mnie oświecić w sprawie WS i WCF. Dotychczas pisałem dektopowe apki pod win(zero komunikacji z jakimkolwiek ws czy też wcf). Mam zamiar napisać app pod androida w której korzystałbym z jakiegoś WS lub WCF, żeby odciążyć troszkę aplikację(jeśli dobrze rozumiem? bo chyba po to pisze się np. zapytania do bazy po stronie WS? jeśli tak nie jest to proszę mnie poprawić).
Czy byłby problem np. przy korzystaniu 10 000 użytkowników z aplikacji która łączy się np. z WS? Czy w przypadku, gdy występowałoby bardzo dużo połączeń pomiędzy aplikacją a serwerem, opóźniałoby to w jakiś sposób aplikację?
Po co stosować SQLite, jeśli można WS lub WCF?
Jaki jest ogólny zamysł korzystania z WS lub WCF w połączeniu z aplikacją?

Mogą się wydawać idiotyczne te pytania, ale muszę czegoś się zaczepić, potrzebuje jakiegoś nakierowania.

0

ahm

2

Zarówno w pracy zawodowej jak i projektach wlasnych wykorzystywalem tylko WS(i to dawno).
Tak wiec nie zajme stanowiska WS a WCF(jestem pewien ze ktos to zrobi).
Napomiast dam kilka punktow zaczepienia po co WS SOAP ew REST.

Czasami/nawet czesto ;) wysylanie danych wprost do bazy nie jest najlepszym pomyslem.
Wysylajac dane przez "posrednika" mozemy walidowac wartosci, kontrolowac status zalogowanej osoby, filtrowac dane itp itd.
Taki WS (lub inny mechanizm dostarczajacy API) jest jakby warstwa oprogramowania (w uproszczeniu).
Poza tym baza jest wystawiona na publike... a w przypadku dowolnego posrednika z ktorym stoi np w jednym LANie jest duzo lepiej chroniona.

2)Tworzysz aplikacje gdzie dane (dodatkowo obrabiane w locie) skladowane sa na centralnym serwerze firmy.
Chodzi aby uzytkownik logujac sie mial dostep do danych wszedzie.
Z biegiem czasu mozesz chciec stworzyc apke na Andoida, na IOS, na WindowsMobile, Linuxa.
Do tego chcesz aplikacje na winde exe a takze webclienta.
Korzystajac z mechanizmu WS (albo innych API via net) zmniejszasz(czasem :D ) koszt wytworzenia softu.
Koszt to jedno (i wcale nie najwazniejsze), ale w latwiej jest wprowadzac modyfikacje, poprawiac czesc bledów lub dodawac "ficzersy".

Zalet jest bardzo duzo.

Oczywiscie, piszac mala aplikacje ktora skladuje wylacznie dane lokalnie, nie posiadajaca zadnego logowania,
wykorzystanie WS (czy jak wspominam odpowiednikow) moze byc zbedne.
Wada jest wymaganie bycia online (tak w uproszczeniu, bo czasem softy cachuja dane).

P

3
jan120120 napisał(a):

Mam zamiar napisać app pod androida w której korzystałbym z jakiegoś WS lub WCF, żeby odciążyć troszkę aplikację(jeśli dobrze rozumiem?

Co to za aplikacja, że chcesz ją odciążać w taki sposób?

bo chyba po to pisze się np. zapytania do bazy po stronie WS?

No np. po to, aby odciążyć aplikację kliencką, albo ze względów bezpieczeństwa bądź łatwości zarządzania i aktualizacji.

Czy byłby problem np. przy korzystaniu 10 000 użytkowników z aplikacji która łączy się np. z WS?

To zależy od tego, co ten webserwis by robił, na jakim sprzęcie stał, i jak bardzo był obciążony.

Czy w przypadku, gdy występowałoby bardzo dużo połączeń pomiędzy aplikacją a serwerem, opóźniałoby to w jakiś sposób aplikację?

Pewno tak.

Po co stosować SQLite, jeśli można WS lub WCF?

To pytanie mniej więcej tak: po co produkować rowery, skoro można łodzie podwodne?
W SQLite możesz zapisać coś tylko lokalnie, a webserwisy dają Ci np. dostęp do jakiejś bazy danych wspólnej dla wszystkich użytkowników.

Jaki jest ogólny zamysł korzystania z WS lub WCF w połączeniu z aplikacją?

Podział systemu na fizycznie odseparowane warstwy, które pozwalają na elastyczniejsze zarządzanie dostępem do poszczególnych funkcji, zwiększenie wydajności (podział aplikacji na więcej serwerów), centralizowaniem logiki biznesowej, walidacyjnej, przechowywania danych.

0

Dzięki wam za odpowiedź. Obydwie mi się podobały.

Czy w przypadku, gdy występowałoby bardzo dużo połączeń pomiędzy aplikacją a serwerem, opóźniałoby to w jakiś sposób aplikację?
///////////
Pewno tak.

To jak działają aplikacje takie jak np. Facebook? Przecież korzystają z niej miliony użytkowników a zacięć nie ma? Przecież muszą korzystać z jakiegoś WS.

0
jan120120 napisał(a):

To jak działają aplikacje takie jak np. Facebook? Przecież korzystają z niej miliony użytkowników a zacięć nie ma? Przecież muszą korzystać z jakiegoś WS.

Nie ma zacięć na FB? Nowość.

Każda komunikacja po sieci wiąże się z opóźnieniami, bo przesyłanie danych przez sieć zajmuje więcej czasu niż operowanie na pamięci lokalnego urządzenia. Tylko co z tego, skoro i tak część operacji trzeba wykonywać zdalnie? I to nie znaczy, że opóźnienia będą widoczne dla użytkowników.

1 użytkowników online, w tym zalogowanych: 0, gości: 1