Współpraca REST serwisów

0

Witam,
Zastanawiam się jak powinien wyglądać ten mój projekt.
Mam RESTfulowe API, które jest pewnego rodzaju repozytorium dla pewnego rodzaju produktów, pozwala na porównywanie, dopasowuje te produkty względem siebie i inne. Posiadam do tego klienty JavaFX oraz Angular 4.
Postanowiłem zrobić sklep, w którym zgromadzone produkty będzie można sprzedawać i tym samym zaoszczędzić czas na wklepywanie danych, tylko jednym kliknięciem pobierze produkt z API.

Pytanie brzmi: Czy sklep powinien być oddzielnym API komunikującym się z podstawką aplikacji? Myślę, że tak by było lepiej. A jeśli tak to jak z bazą danych? Zrobić oddzielną bazę czy do jednej podpiąć dwie aplikacje?

Pozornie głupie pytanie, ale chcę, żeby to miało ręce i nogi.
Pozdrawiam.

2

A czemu sklep nie będzie komunikował się z repozytorium po prostu? Po to chyba ono jest? ;]

0

Cześć Wam. Znowu mam podobne pytanie, bo zaczynam nowy projekt. Poprzedni zakończył się niepowodzeniem z powodu zbyt wysokiej kohezji między klasami.
Wyciągając wnioski, teraz chcę wszystko porządniej zaplanować.

  1. Chciałbym, żeby aplikacja androidowa była bardzo prosta i robiła dwie rzeczy: uwierzytelnienie za pomocą OAuth2 (facebook) i szukanie najbliższych restauracji. Nic więcej.
  2. Androidowa apka, będzie korzystała z usługi, która będzie pośredniczyła między Google Maps API, a moją bazą danych restauracji.
  3. Żeby nie mieszać w powyższym serwisie, odseparowałem manipulację restauracjami do innego serwisu - np. żeby wprowadzić swoją restaurację do bazy danych musimy się zarejestrować i otrzymamy na maila specjalny klucz do API. Baza MySql będzie trzymała encje właścicieli restauracji i na tej podstawie będzie odbywało się logowanie.

Poniżej przesyłam schemat do oceny czy to ma sens.

title

PS: I czy w ogóle dopuszczalne jest to, żeby dwie usługi dobierały się do jednej bazy?

0

I czy w ogóle dopuszczalne jest to, żeby dwie usługi dobierały się do jednej bazy?

To byłby mój zarzut w stosunku do tego designu ;) Takie coś powoduje problemy ze spójnością danych.

0

W jakimś legacy systemie często tak musi być, bo niełatwo robić raz zrobioną bazę na mniejsze. Ale przy projektowaniu czegoś od podstaw wystrzegałbym się takiego podejścia.

0

Serwisy restowe mają się komunikować ze sobą za pomocą swojego API a nie połączenia do DB.

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