Naprowadzenie na odpowiednią myśl c# windows mobile

0

Witam
Pisze aktualnie aplikacje na Windows Mobile 5.0.Celem aplikacji jest łączenie się z bazą danych mysql severa który już napisałem.Serwer jest napisany w technologi PHP. Na serwerze każdy użytkownik posiada swoje konto plus swoje dane umieszczone w tabelach.Aplikacja oprócz łączenia się z baza danych do konta użytkownika miała by pobierać dane , wyświetlać do edycji i odsyłać.Przyznam szczerze lepszy ze mnie programista PHP niż C#.Dlatego szukam najłatwiejszego rozwiązania tej funkcjonalności.
Przychodzą mi pomysły z XML.Może ktoś pisał kiedyś coś takiego i podałby parę podpowiedzi.
Pozdrawiam

0

A po co w ogóle PHP? Nie można się połączyć z bazą bezpośrednio z aplikacji na WM?

0

Podejrzewam że można ale szukam najłatwiejszego i najlepszego rozwiązania.

0

Cześć. Do komunikacji między urządzeniem a serwerem możesz skorzystać z WebService'ów. Raczej nie powinno być tak, żeby urządzenie komunikowało się bezpośrednio z bazą. Jeśli potrzebujesz przechowywać dane na urządzeniu to możesz skorzystać z Sql Server Compact Edition.

0
Bohdan napisał(a)

Podejrzewam że można ale szukam najłatwiejszego i najlepszego rozwiązania.

Im rozwiązanie ma mniej części tym jest łatwiejsze i mniej awaryjne. Widziałeś kiedyś zepsuty kamień? ;)

dam1en napisał(a)

Raczej nie powinno być tak, żeby urządzenie komunikowało się bezpośrednio z bazą.

Nie urządzenie tylko aplikacja na nim pracująca. Skoro inne programy mogą, to czemu takie z urządzenia nie?

Webserwisy mają swoje zalety, np. reużywalność. Z drugiej strony dają spory narzut przesyłanych danych, no i trzeba je napisać.
W zależności od tego, co chce się osiągnąć lepsze może być użycie ich albo bezpośrednie łączenie się z bazą.

0

W moim przypadku wydaje mi się że najlepszym rozwiązaniem jest to aby aplikacja łączyła się z bazą.Ponieważ każdy użytkownik będzie miał na telefonie aplikacje to szkoda aby na telefonie znajdowała się cała baza.Cel aplikacji to połączenie się z bazą.Wybranie danych z bazy za pomocą id_usdera(tak jak tworzy się sesje jak się loguje na portal).Rozłączenie się.Następnie gdy użytkownik wy edytuje sobie pobrane dane odesłanie ich do bazy, dopisanie lub zmienienie istniejących.
Jakich komponentów użyć do połączenia i pobrania danych? W czym je przechowywać na urządzeniu mobilnym? Jak je odesłać?
Oczywiście jak zrobić to w najprostszy sposób.
Pozdrawiam

0
somekind napisał(a)

Nie urządzenie tylko aplikacja na nim pracująca.

nie no proszę...

Główną kwestią przemawiającą za użyciem WebService'a jest bezpieczeństwo: z serwerem łączy się tylko jedna maszyna (2,3, resztę można wyblokować). Na serwerze jest tylko jedno konto dostępowe - współczuję (nie wiem komu bardziej) jak za każdym razem będziesz musiał prosić administratora, żeby dorzucił konto dla jakiegoś użytkownika. Poza tym przez WS można załatwić autoryzację, autentykację i sprawdzać dane wchodzące i wychodzące z serwera sql do aplikacji. W przypadku błędu łatwiej zmienić coś w ws niż przenistalowywać 6000 klientów (oczywiście jak błąd będzie w oprogramowwaniu klienta to i tak tego nie unikniesz).

Bohdan napisał(a)

Ponieważ każdy użytkownik będzie miał na telefonie aplikacje to szkoda aby na telefonie znajdowała się cała baza

Nie cała a jedynie te rzeczy, których użytkownik potrzebuje do pracy.

Bohdan napisał(a)

gdy użytkownik wy edytuje sobie pobrane dane odesłanie ich do bazy, dopisanie lub zmienienie istniejących

no chyba, że mu się urządzenie zawiesi. Ale wtedy pobierze sobie jeszcze raz i wyedytuje jeszcze raz.
Oczywiście baza na urządzeniu to opcja. Jeżeli nie potrzebujesz przechowywać danych to nie jest potrzebna.

0
dam1en napisał(a)

Na serwerze jest tylko jedno konto dostępowe - współczuję (nie wiem komu bardziej) jak za każdym razem będziesz musiał prosić administratora, żeby dorzucił konto dla jakiegoś użytkownika.

Jakie konto dla użytkownika?

W przypadku błędu łatwiej zmienić coś w ws niż przenistalowywać 6000 klientów

Tak, to jest oczywista zaleta, z bezpieczeństwem również masz rację.

Jeśli to faktycznie 6000 klientów, to na pewno warto. Ale jeśli aplikacja będzie miała 5 instancji, to mi np. by się nie chciało.
Jak autor ma czas, umiejętności, to niech pisze te WebSerwisy.

0

Chłopaki proszę.
Ma to być najprościej. Po przemyśleniu aplikacja nie musi robić kopi bazy danych.
Ma się tylko zalogować (za pomocą tego samego loginu i hasła co do serwisu) w serwisie i pobrać odpowiednie za pomocą pytania sql dla użytkownika dane do editów.
Użytkownik coś tam sobie pozmienia i odeśle je. Baza danych to MySql.Czytałem o WebService'ach ale to na razie za trudne.Na początku ma to być proste połączenie. Tak aby było widać tą funkcjonalność między urządzeniem mobilnym a serwisem.

Kombinuje z tym:
http://4programmers.net/C_sharp/Artyku%C5%82y/Bazy_danych_w_%C5%9Arodowisku_.NET

Nie musi być to bezpieczne . Po prostu ma działać.

0
somekind napisał(a)

Jakie konto dla użytkownika?

Konto na serwerze sql. Coby się mógł user zalogować i pracować.

W sumie nieważne. Widzę, że Bohdan już podjął decyzję :)

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