Architektura aplikacji

0

Witam, mam dylemat czysto architektoniczny. Projektuje aplikacje mającą kilka klientów tzn. www, desktop, android ale nie jestem zdecydowany jakie podejście obrać. Z jednej strony podoba mi się całkowite odseparowanie ale za to potrzebne jest dwie instancje aplikacji a z drugiej prostsze wykonanie klienta www. Problem obrazują załączone obrazki.Co o tym myślicie?

0

Najprościej i najsensowniej:
nie robi klienta desktopowego ani mobilnego, tylko wszystko puścić przez web ;]

0

Czy najsensowniej to się nie zgodzę szczególnie o klienta mobilnego gdyż to zależy od celu aplikacji. A w moim przypadku klient mobilny jest jak najbardziej pożądany. Moim pytaniem było które z tych rozwiązań jest lepsze a nie czy jest sens go stosować.

0

Moim zdaniem znacznie lepsza jest wersja "tylko webserwisy":

  1. Wymusza rozdział UI od backendu oraz reużycie usług backendowych. Reużycie jest pożądane, ponieważ dobrze wpływa na jakość.
  2. Jeśli UI webowy będzie traktowany inaczej niż inne, to mogą pojawić się rozbieżności danych pomiędzy wersjami. Not good.
  3. Możesz spokojnie napisać stabilny backend, a następnie eksperymentować z Najnowszymi Najmodniejszymi Najfajniejszymi technologiami webowymi.
  4. Integracja takiej aplikacji z innymi będzie dużo łatwiejsza - hej, przecież już wszystko jest udostępnione !
  5. Zaryzykuję że aplikacja będzie łatwiejsza do testowania automatycznego.
0

Jeśli koniecznie musisz obsługiwać różne typy klientów to faktycznie podzielenie wszystkiego jest najsensowniejsze, bo znacznie ułatwi to utrzymanie kodu.

0

Mi także podoba się bardziej wersja tylko web service. Co prawda separacja i w tamtej wersji występuje ale nie jest całkowicie oderwana. Sądzę też że klient www będzie ewoluował, początkowo zwykła strona potem pewnie coś z JSF. Podsumowując stawiam na only web service. Może jeszcze ktoś wyrazi zdanie także będę śledził temat.

0

Tylko WS. Z kilku powodów:

  1. dobra separacja poszczególnych warstw
  2. utrzymanie jednolitego kontraktu we wszystkich rodzajach klientów
  3. uproszczone zarządzanie dostępami i możliwościami poszczególnych klientów
  4. łatwość dodawania/usuwania kolejnych rodzajów klientów.

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