fbpx
goodfirms LOGO Created with Sketch.









    Już nas opuszczasz?

    Napisz czego potrzebujesz, a nasi eksperci powiedzą Ci jak to zrobić, ile to kosztuje i na kiedy będzie gotowe.








      Architektura aplikacji webowych – szczegóły

      10
      luty
      2020
      6 minut czytania
      Udostępnij

      system - architektura aplikacji

      Nasz świat jest pewnym rodzajem systemu. Musimy to zrozumieć, aby móc nim zarządzać. Wyobraź sobie, że podobnie jest z budowaniem aplikacji internetowej - powinieneś znać kontekst niezbędny do stworzenia systemu. Temat, który dziś poruszamy zajmuje honorowe miejsce w tworzeniu oprogramowania – to oczywiście architektura aplikacji internetowych. Artykuł ma na celu pomóc osobom nietechnicznym lepiej zrozumieć techniczną stronę firmy i poprawić komunikację z programistami. 

      Architektura aplikacji internetowych w szczegółach

      Większość osób choćby luźno związanych z branżą IT, ma podstawowe wyobrażenie o tym, jak działa architektura aplikacji internetowych. Aplikacja front end wysyła żądanie do aplikacji back-endu, która z kolei wysyła je do bazy danych i wykonuje logikę biznesową, po czym wraca z odpowiedzią do front end.

      Strona zaplecza

      architektura aplikacji programming

      Po stronie serwera (back-end) mamy aplikację lub zestaw aplikacji podłączonych do Internetu lub chmury. Dwa komponenty, które definiują zaplecze to serwery www i bazy danych.

      Serwer www jest łatwy do zrozumienia, ale też skomplikowania. Proces serwera www to wszystko, co odpowiada na żądanie HTTP i zwraca do niego plik. Za pomocą serwera www programista może utworzyć statyczną stronę, która nie robi nic poza prezentowaniem informacji.

      Druga część zaplecza to baza danych. Każdy półinteligentny serwer www wykorzystuje bazę danych, która coś utrzymuje. Baza danych niekoniecznie jest związana z technologiami internetowymi. Na przykład szpitale przechowują dane lekarzy i pacjentów w systemie plików. To jest baza danych offline. Nie każda baza danych potrzebuje serwera www, ale 99% projektów z serwerem www wymaga bazy danych.

      W większości przypadków serwer i baza danych znajdują się na różnych komputerach, ale mają własne połączenie, co zapewnia wyższą wydajność i optymalne wykorzystanie przestrzeni.

      Back-end to system połączonych komputerów, które komunikują się ze sobą. W prawdziwych aplikacjach www zaplecze nie ogranicza się do serwera i bazy danych. Istnieje ponad 30 procesów działających na zapleczu aplikacji. Jeśli naciśniesz przycisk „Kup” na Etsy, zlecenie trafi nie tylko do serwera www i bazy danych, ale też do 50 komputerów przetwarzających Twoje zapytanie. Trafi ono do systemu płatności, zapasów, bezpieczeństwa, powiadomień, aby poinformować dostawcę, żeby zaczął przygotowywać zamówienie.

      Dodatkowe procesy

      Proces w tle ma miejsce, gdy potrzebujesz więcej czasu na przetworzenie żądania. Strona internetowa jest szybka, ale czasem jej załadowanie zajmuje więcej czasu. Przetwarzanie w tle eliminuje czas oczekiwania użytkownika. Radzi sobie z rzeczami, które fizycznie zajmują więcej czasu, np. zgniatanie liczb, przetwarzanie ogromnej ilości danych.

      Drugim procesem jest buforowanie. W najbardziej podstawowym przypadku użycia otrzymujesz żądanie z serwera www i trafia ono do bazy danych, która odpowiada. Jednak trafienie do bazy danych może być kosztownym zadaniem, zwłaszcza gdy to samo żądanie zostanie wysłane 100 razy. Dlatego możesz buforować odpowiedź, aby szybciej dać znać klientowi. Pamiętaj o podstawowej idei pamięci podręcznej - szybszym i łatwiejszym dostępie do pytań, wątpliwości i sytuacji które często się zdarzają.

       

      Strona front-end

      architektura aplikacji frontend

      Zazwyczaj front-end lub strona klienta jest łatwiejsza do konceptualizacji niż back-end. Front-end to dowolny rodzaj kodu, który działa po stronie klienta. Na przykład klient otwiera przeglądarkę Chrome używaną do oglądania wideo.

      Główną przesłanką Internetu jest relacja klient-serwer, w której klienci wysyłają żądania do serwera. Zilustrujmy architekturę aplikacji internetowych przy użyciu zwykłych działań offline. Wyobraź sobie, że idziesz do restauracji i zamawiasz stek. Jesteś klientem, a restauracja to serwer. Zamawiasz stek, a restauracja odpowiada posiłkiem. Back-end to restauracja, a front-end to klient.

      Zapamiętaj, że front-end i back-end zawsze się łączą. Gdy poprosisz programistę o zmianę, zmiana zostanie wykonana po obu stronach.

      Połączenie między zapleczem a interfejsem

      Wróćmy do podstawowego modelu: aplikacja front-end jest czymś, z czym współpracujemy i co wysyła żądania do procesów back-end.

      Starszym sposobem działania aplikacji internetowych byłby taki proces, że back-end renderowałby cały HTML i zwracał go z powrotem do frontonu, który wyświetla dane. Cały HTML renderowany na zapleczu jest zwracany w odpowiedzi. Przeglądarka musi tylko ją wyświetlić.

      Teraz wiele aplikacji korzysta z nowszego modelu, w którym back-end nie zwraca HTML, ale dane. Front-end jest odpowiedzialny za generowanie wszystkich tagów HTML. Za to aplikacja internetowa miesza oba modele, w których zaplecze może odpowiadać 50% strony w HTML, a front end renderuje resztę.

      Wniosek

      Jako non-tech nie powinieneś jednak myśleć o całej technologii, z którą pracujesz, jak o magicznej czarnej skrzynce. Najlepszą rzeczą jaką możesz zrobić, aby wzmocnić komunikację z programistami, jest zrozumienie, jakie obowiązki spoczywają na różnych częściach systemu technicznego.

      laptop

      ► Jeśli masz dodatkowe pytania dotyczące architektury aplikacji internetowych chętnie na nie odpowiemy. Skontaktuj się z nami i uzyskaj bezpłatną konsultację.

      Wiktor Sobczyk

      Bezpłatna konsultacja

      Powiedz nam czego potrzebujesz, a nasi eksperci Powiedzą Ci jak to zrobić, ile to kosztuje i na kiedy będzie gotowe.

      Inne wpisy na blogu

      29
      październik
      2019
      Dlaczego potrzebujesz prototypowania aplikacji? Czy zdarza Wam się, że klient ma wiele swoich pomysłów i wymagań, jeśli chodzi o projekt? Jeśli tak, ten wpis jest właśnie dla Was! Opowiemy bowiem nieco o tym, czym jest prototypowanie aplikacji. Prototyp to słowo, które większości ludzi kojarzy z materialnymi produktami, niekoniecznie zaś z aplikacjami mobilnymi czy webowymi. Jednak…
      tagi: #Design
      czytaj artykuł
      29
      lipiec
      2020
      Jedne z najczęściej zadawanych pytań przez naszych Klientów na początku współpracy to: „Co to Warsztaty Discovery w tworzeniu MVP?”; „Dlaczego tego potrzebuję?”; „Jaką korzyść daje PD w wytwarzaniu aplikacji?”.  W niniejszym artykule odpowiemy na nie wszystkie. Skupimy się również na kwestii warsztatów discovery w tworzeniu MVP.          Zacznijmy od tego, że wierzymy…
      tagi: #Technologia
      czytaj artykuł
      Jak możemy Ci pomóc?
      Porozmawiaj z nami!









        Kamil
        Head of Business Development
        Kliknij, aby podejrzeć