LAMP/WAMP - ilu warstwowa architektura?

0

Tak się zastanawiam przy tworzeniu skryptu w PHP w ilu wartstwowej architekturze taki skrypt pracuje? Dwu - jeśli PHP i baza będą na jednym komputerze, trój - jeśli na dwóch?

0

Dwu warstwowa architektura to klient/serwer. Na przykład program napisany w Delphi komunikujący się z MySQL.

PHP najczęściej pracuje w architekturze 3 warstwowej: cienki klient [przeglądarka] -> warstwa przetwarzania logiki biznesowej [server side = PHP] -> warstwa danych [baza SQL].

W architekturach wyższych rzędów (n-tier) najczęściej pracuje JSP lub XSQL w połączeniu z Oracle: cienki klient [przeglądarka] -> Oracle Application Server [server side = JSP, XSQL i pokrewne] -> multipleksacja połączeń [Oracle Connection Dispatcher] -> demultipleksacja połączeń [Oracle Shared Server] -> baza danych [Oracle Database].

Ilość komputerów nie ma znaczenia - znaczenie ma ilość współpracujących warstw aplikacji. Na jednej maszynie, przy wykorzystaniu przeglądarki, PHP i MySQL wciąż pracujesz w architekturze 3 warstwowej.

0

Nie rozumiałem co znaczy "warstwa", brałem PHP+SQl za jedeną całóść a przeglądarkę za drugi - dzięki za wyjaśnienie :-)

0

Jeszcze jedno - serwer HTTP jest w warstwie przetwarzania informacji rozumiem?

0

Ponieważ serwer PHP jest najczęściej konfigurowany jako moduł, a nie samodzielna aplikacja, a dodatkowo serwer HTTP służy jedynie do zapewnienia interfejsu wejścia/wyjścia warstwy przetwarzania logiki biznesowej, jest najczęściej klasyfikowany jako jej element.

Chyba tylko raz w literaturze spotkałem się ze stwierdzeniem, że można go traktować jako niezależną warstwę (nie pamiętam gdzie to było).

0

Podsumowując:

Warstwa 1: Klient HTTP
Warstwa 2: Serwer HTTP + PHP
Warstwa 3: Serwer MySQL

Right?

BTW: Jakby PHP działał jako oddzielny program, to byłaby to architektura 4-warstwowa?

0

Tak, ale PHP do samej komunikacji zewnętrznej z innymi warstwami wymaga serwera HTTP.

Idea warstw jest taka, że wymiana/reinstalacja jednej nie wymaga absolutnie żadnej interwencji w innych.

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