Witam!
Moje zadanie polega na stworzeniu modelu systemu zorientowanego serwisowo. Tematem jest sklep internetowy sprzedający książki i inne produkty. Najważniejsze jest dla mnie zidentyfikowanie odpowiednich serwisów jakie mogłyby się znaleźć w obrębie takiego systemu i m. in tutaj mam wątpliwości.

Przedstawiam podstawowe wymagania:

Sprzedaż książek i innych produktów:

  • Jest kilka możliwości prowadzenia sprzedaży produktów także zalecana jest elastyczność w tej funkcjonalności.

Wyszukiwanie:

  • Użytkownik musi mieć możliwość wyszukiwania produktów

  • Istnieje możliwość wyszukiwania produktow na podstawie różnych kryteriów (po tytule, po autorze...)

Konta użytkowników

  • Mają możliwość ustawiania swoich preferencji

  • Mają możliwość sprawdzania ,które produkty pasują do ich preferencji

  • Ich preferencje mogą być wykorzystywanie to rekomendowania im produktów

System notyfikacji

  • Użytkownik jest informowany kiedy produkt, którym był zainteresowany pojawia się w asortymencie.

  • Użytkownik jest informowany kiedy jego płatność zostanie zakończona.

Interoperacyjność

  • System korzysta z zewnętrznego systemu płatności.

  • System korzysta z zewnętrznego systemu zarządzania asortymentem i wysyłką

Co do reszty wymagań to należy dokonać odpowiednich założeń. Istotne jest wizualizowanie powyższych wymagań.

Na ten moment mam następujących kandydatów na serwisy:

UserAccounts - rejestracja, uwierzytelnianie, ustawianie preferencji, ...
Search Engine - wyszukiwanie, filtrowanie wyników na podstawie słów kluczowych ,filtrowanie wyników wyszukiwania na podstawie preferencji użytkownika
ProductCatalog - dokonywanie zakupu, katalog produktów. Źródłem katalogu są zasoby magazynu jak i ?produkty oferowane przez zaprzyjaznione sklepy?
NotificationSystem - serwis obsługuje wszelkiego rodzaju notyfikacje

Serwisy Wymagane
PaymentSystem
Warehouse Management & Distribution

1.Co myślicie o moich decyzjach związanych z wyodrębnianiem serwisów (mogę bardziej uzasadnić jeżeli ktoś sobie życzy)?
2.Musze przedstawić te serwisy i ich relacje (consumer/provider) na diagramie używając SoaML. Nie mogę znaleźć żadnego przykładu ,w którym wszystkie serwisy i ich relacje byłyby przedstawione na jednym diagramie. Czy to znaczy ,że dla każdego serwisu ,który opisuje powinienem zrobić osobny diagram żeby przedstawić jego konsumentów?