Przejrzałem kilka pytań, technologii budowy dobrej warstwy usług, ale mam kilka pytań na ten temat, z którymi potrzebuję pomocy.
Najpierw trochę informacji o tym, co mam do wymagań. Obecnie mamy wiele aplikacji internetowych, które komunikują się ze sobą w sposób przypominający pajęczynę (wszystkie rozmawiają ze sobą w mylący sposób za pośrednictwem usług internetowych i danych w bazie danych).
- Chcemy to zmienić, tak aby wszystkie aplikacje przechodziły przez warstwę usług, w której możemy więcej pracować z pamięcią podręczną i hermetyzować wspólne funkcje i nie tylko.
- Chcemy, aby ta warstwa miała również interfejs API sieci Web, aby klienci zewnętrzni mogli pobierać informacje z usługi.
Problem, jaki widzę, polega na tym, że jeśli budujemy warstwę usługi z powiedzmy MVC4 Web API, nie musimy komunikować się między aplikacją za pomocą webAPI, co oznacza, że musimy budować adresy URL i pobierać JSON / Xml. To nie brzmi zbyt skutecznie. Zakładam, że lepszym sposobem byłaby praca z jednostkami i WCF do komunikacji między aplikacją, ale wtedy moglibyśmy utracić magię Web API?
Pytanie brzmi zatem, czy istnieje sposób na wykorzystanie warstwy usługi jako interfejsu API sieci Web (JSON / XML) i jako warstwy usługi zaplecza z jednostkami. Jeśli jesteśmy zmuszeni do korzystania z 2 różnych warstw usług, będziemy musieli powielić niektóre funkcje i inne złe rzeczy.
Mam nadzieję, że pytanie jest wystarczająco jasne i zapytaj, czy potrzebujesz więcej informacji.