2011-01-17 89 views
6

Witam Jestem początkującym architektem n-warstwowym i próbowałem znaleźć różnicę między tym, co robi warstwa aplikacji kodu serwera aplikacji, i co robi serwis internetowy?Jaka jest różnica między usługą sieci Web a warstwą aplikacji kodu na serwerze aplikacji?

Więc powiem wam, że rozumiem całą koncepcję n-tieru, mamy interfejs użytkownika -> serwer sieciowy -> logikę biznesową/logikę aplikacji na serwerze aplikacji -> serwerze baz danych. (Oczywiście istnieją również moduły równoważenia obciążenia i instancje wielu serwerów w celu zapięcia i przechowywania stanu procesów).

Ale mówiąc konkretnie, warstwa logiki biznesowej nie byłaby powiązana z interfejsem użytkownika, więc jest mniej więcej niezależna. i mogą być ponownie wykorzystane.

Usługa sieciowa również zapewnia funkcjonalność podobną do logiki biznesowej, która nie jest powiązana z interfejsem użytkownika i może być ponownie wykorzystana w różnych przypadkach.

Czy ktoś mógłby wyjaśnić, czy to, co właśnie wyjaśniłem powyżej, jest właściwe? I jak wspomniałem wcześniej, jestem początkującym w tym, więc jeśli brzmi to głupio lub naiwnie, proszę mnie nie walnąć :)

Odpowiedz

17

Oto szybkie, brudne i bardzo ogólne wyjaśnienie architektury 4-warstwowej, która może najlepiej zastosować do aplikacji jestem przy założeniu:

Prezentacja Warstwa: interfejs do świata zewnętrznego (strona internetowa)
zastosowanie warstwy: mechanika niezbędne do tworzenia interfejsu (ów) na zewnątrz świat (struktury aplikacji internetowych, usługi sieciowe)
Warstwa logiki biznesowej: rzeczywista logika że uosabia/symuluje/naśladuje procesy Twojego biznesu i przepływy pracy (algorytmy, przekształcenia, procesy zatwierdzania, etc.)
Database warstwy: bazy danych i logiczne potrzebne do kwerendy informacji z nim

Ogólnie rzecz biorąc, usługi sieciowe nie są częścią warstwy logiki biznesowej. Warstwa ta jest zwykle chroniona tak samo jak warstwa bazy danych, ponieważ mogą istnieć tajemnice handlowe lub poufne sposoby robienia tam rzeczy, a zazwyczaj nie chcemy, aby ktokolwiek miał do nich bezpośredni dostęp, z wyjątkiem programów lub za pośrednictwem zatwierdzonych interfejsów (takich jak usługi internetowe).

Usługi sieciowe, warstwy aplikacji i logika biznesowa mogą być trafnie porównywane z Coca-Colą i jej biznesem. Butelki i puszki są zazwyczaj tym, w jaki sposób Joe Blow zużywa produkt Coca-Coli (np. Strona internetowa w warstwie prezentacji), ale inne firmy również chcą obsługiwać Coca-Colę swoim klientom, więc Coca-Cola pozwala im używać wody gazowanej i Coca-Coli syrop (np. serwisy internetowe w warstwie aplikacji). Tajna formuła koksu (np. Warstwa logiki biznesowej) i procesy dystrybucji Coke, aby dostać je do sklepu (np. Warstwa aplikacji) są ukryte przed konsumentem. Joe Blow nie dba o to, jak trafi do sklepu, po prostu wie, że może dostać colę z różnych źródeł (strona internetowa, klient mobilny itp.). A Coke nie chce, aby ludzie znali jej tajną formułę (logikę biznesową). Jeśli chcesz colę, musisz przejść przez sklep lub restaurację (zatwierdzone interfejsy).

+1

To był dobry przykład, jesteś o wiele lepszy niż to, co normalni profesorowie uczą na uniwersytecie !! – macha

+0

Dziękuję, staram się! – Snapman