WCF+Android+Windows Services - najlepsze rozwiązanie?, problemy??

0

witam wszystkich,

Nie mam doświadczenia w WCF ani Android a na pewno są tu takie osoby:). I dlatego chciałbym prosić o radę odnośnie wykorzystania WCF dla aplikacji napisanej w javie (dla androida) która to łączyć się będzie za pośrednictwem internetu do usługi w WCF.

Dla mnie najbardziej idealnym rozwiązaniem było by wykonanie "web servicu" pracującego jako windows services + klient android który z tą usługą windows by się łączył (baza aplikacji matki jest na firebirdzie, ale są też wersje dla MSSQL). Aplikacja androidowa później musiała by zostać jeszcze napisana dla IOS oraz windows mobile.

Chciałbym aby po stronie serwera działała usługa windows i aby komunikowała się możliwie najszybciej z klientem androida (najlepiej po TCP/IP) lub w inny równie szybki sposób.
Czy to jest możliwe ? Czy może lepiej bo np prościej i równie wydajniej zastosować inny sposób połączenia ? Czy w ogole można wykorzystać usługę windows i TCP/IP w WCF czy też są jakieś ograniczenia? Z aplikacji androidowej nie będzie jednocześnie więcej połączeń niż około 50. Nie chciałbym zaczynać od metody która w przypadku androida i pisania w nim czego kol wiek przysporzy mi najwięcej problemów.
Czy może lepiej było by wykorzystać hostowanie w IIS/WAS ?
Albo self hosting ?

Która z metod przysporzy najmniej problemów ? która będzie najlepsza ? i na temat której znajdę najwięcej książek i pomocy w postaci informacji w internecie/forum ?

Czy może ktoś wie w jakiej technologii/ jak działa od strony technicznej i jak powstała aplikacji dla filmweb na androida? i w jaki sposób łączy się do swojego web servicu ?
Podoba mi się interfejs tej aplikacji oraz szybkość działania.

Obecnie mamy podobną aplikację która służy do łączenia się poprzez internet do aplikacji ale tylko dla komputerów z windows(xp,7,8 itd), jest napisana w delphi i działa jako klient-server (na serwerze gdzie jest baza znajduje sie usługa windows). Aplikacja działa bardzo szybko i bardzo fajnie.

Cel i przyszłość

  • Aplikacja czy też klient na android miała by za zadania przede wszystkim pobierać przynajmniej na razie terminy zapisane w bazie aplikacji matki czyli firebird/mssql
  • Później chciałbym dodać zmianę takich terminów/ oraz dodanie nowych.
  • Jeszcze później chciałbym dodać możliwość pobierania informacji o klientach.
  • Aplikacja na iOS oraz Windows
  • Nauka Androida i WCF :) to korzyści które chcę osiągnąć :))
  • Może później jeszcze inne rzeczy.

Jeśli ktoś może polecić jakieś książki na ten temat bądź linki www to poproszę ?

proszę o radę , za każd post będę wdzięczny. na pewno są tu osoby z doświadczeniem.

0

generalnie masz dwie drogi - albo wziąć jakiegoś gotowca (WebService, WCF, json, ...) albo napisać własną komunikację opartą o gniazda lub post/get. To pierwsze ma tą zaletę, że jest od lat "na rynku", jest do tego dużo tutoriali, i jeśli będziesz chciał się podłączyć do jakiegoś istniejącego serwisu to i tak będziesz musiał któreś z nich przyswoić. Wada to np. Duży narzut danych dodatkowych w WebSerwice (w skrajnych przypadkach narzut danych może iść w setki procentów szczególnie przy "małych" obiektach). Co do rozwiązania drugiego to trzeba sobie wszystko samemu zaprojektować i co ważniejsze zaimplementować. Jako ćwiczenie nawet OK, ale jeśli czas goni a aplikacja ma działać, planowane są przyłączenia nowych klientów czy nawet udostępnienie API światu to jednak znany standard wygrywa.

Co do materiałów to w necie jest tego dużo, nawet po polsku są sensowne opisy/przykłady/poradniki

0

Możesz coś napisać o tych danych dodatkowych ? Czy to tylko dotyczy web servicu tego starego rozwiązania .NET a w przypadku WCF nie ma nic takiego ?

Rozumiem, odpada wszystko samemu robić, tym bardziej że właśnie musiałbym wszystko sam zrobić. Czyli najlepiej json+OData+windowsServices czy hostowanie na IIS ? w tym przypadku ?
Czy windows services może komunikować sie za pomocą TCP/IP gdzies czytałęm że właśnie to rozwiązanie nie ma takiej możliwości a 2 inne tak.
Coś ktoś wie o aplikacji filmweb i technologii w której to smiga wszystko?

2

A nie możesz wystawić zwykłego RESTa zrobionego w jakimś WebAPI i konsumować go normalnie klientem HTTP po stronie androida/ios/wp?

1

Nie polecam używanie WCF do komunikacji z Androidem (Java) nie z każdą konfiguracją WCF'a chce to działać, ogólnie wieczne z tym problemy. Bardziej zainteresował bym się Web API nauczyć się tego również warto a zaoszczędzi Ci to dużo czasu na googlowaniu i szukaniu jak zrobić jakiegoś hack'a po stronie Javy/C# żeby komunikacja działała, będziesz mógł się skupić na pisaniu aplikacji a nie szukaniu obejść.

0

Poszedłem właśnie z kierunku Web API. Do dziś wszystko się 10 razy zmieniło w projekcie. I trochę powoli idzie. Zanim zaczołęm coś na androidzie programować wcześniej trzeba było przygotować kupe innych rzeczy. w miedzy czasie sie wszystko pozmieniało i na razie stoi w 1 miejscu :(.

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