სკრიპტი - როგორ უკავშირდება front-end back-endს
ალბათ უკვე გაგიჩნდათ კითხვა თუ როგორ უკავშირდება back-end, front-end -ს. რა თქმა უნდა დამეთანხმებით რომ ვებსაიტზე მხოლოდ ფუნქციონალს ვერაფერში გამოიყენებთ თუ შესაბამისი ვიზუალიზაცია არ აქვს, ისევე როგორც უფუნქციო ინტერფეისს.
Back-end და Front-end ვებ აპლიკაციის სხვადასხვა ასპექტზეა პასუხისმგებელი, მაგრამ მათ ტექნიკური კომუნიკაცია და ერთად მუშაობა სჭირდებათ, რათა უზრუნველყონ ერთიანი მომხმარებლური გამოცდილება.
ამ ყველაფერს უზრუნველყოფს მოთხოვნისა და პასუხის ანუ request response ციკლი.
როდესაც მომხმარებელი ურთიერთქმედებს ვებ აპლიკაციის ფრონტთან, როგორიცაა ფორმის გაგზავნა ან ღილაკზე დაწკაპუნება, მოთხოვნა იგზავნება back-end სერვერზე. ეს მოთხოვნა შეიცავს ინფორმაციას მომხმარებლის მოქმედების ან იმ მონაცემების შესახებ, რომლის მოძიებაც სურს მომხმარებელს. Back-end სერვერი ამუშავებს ამ მოთხოვნას, ასრულებს საჭირო ოპერაციებს და ქმნის პასუხს რომელსაც უკან გზავნის ფრონტენდში.
გზა რომელსაც მოთხოვნა გადის API ქვია (აპლიკაციის პროგრამირების ინტერფეისები):
API მუშაობს როგორც ხიდი ბექენდსა და ფრონტს შორის. Back-end ქვმნის API-ებს, რომლებიც განსაზღვრავენ ენდფოინთებთან ურთიერთობის მეთოდებს რათა ფრონტის მომხმარებელმა მიიღოს წვდომა მონაცემებსა და ფუნქციონალზე. ფრონტ-ენდი უგზავნის თხოვნებს API-ს, რათა მოიძიონ მონაცემები და ბექ-ენდს გადასცენ დასამუშავებლად რაც იგივე გზით უკან უბრუნდება მომხმარებელს ფრონტ-ენდში.
მაგალითად, თუ თქვენ გაქვთ ელექტრონული კომერციის ვებსაიტი, ფრონტმა შეიძლება მიმართოს API-ს მოთხოვნას ბექ-ენდზე პროდუქტის დეტალების მოსაპოვებლად, კალათაში ელემენტების დასამატებლად ან გადახდის ტრანზაქციის დასამუშავებლად. Back-end ამუშავებს ამ მოთხოვნებს, ასრულებს აუცილებელ ოპერაციებს და აგზავნის პასუხს წინა მხარეს.
უფრო მარტივი მაგალითი წარმოვიდგინოთ. ვთქვათ რესტორანში სხედხართ, იღებთ მენიუს არჩევთ რა გინდათ და მიმტანს შეკვეთას აძლევთ. მიმტანი მიდის სამზარეულოში და მზარეულს გადასცემს შეკვეთას. მზარეული ამზადებს საჭმელს, უკეთებს სერვირებას და ისევ მიმტანს ატანს თქვენთან უკვე მომზადებულ კერძს. დეველოპმენტში რომ გადმოვთარგმნოთ ეს თქვენ ფრონტის მომხმარებლები იქნებით, მიმტანები API ხოლო სამზარეულოს პერსონალი ბექენდი, საწყობი სადაც პროდუქტები ინახება კი მონაცემთა ბაზა.
უკვე ვიცით რომ Back-end პასუხისმგებელია ვებ აპლიკაციის მონაცემების მართვაზე. ის ინახავს მონაცემებს მონაცემთა ბაზებში ან გარე სისტემებში. როდესაც ფრონტ-ენდს სჭირდება მონაცემების ჩვენება, ის ითხოვს შესაბამის ინფორმაციას back-end-დან API-ების მეშვეობით. Back-end ამუშავებს ინფორმაციას და აგზავნის უკან ფრონტ-ენდში შესაფერის ფორმატში, როგორიცაა JSON ან XML.
მაგალითად მომხმარებლის იდენტიფიკაცია და ავტორიზაცია მუშავდება უკანა ნაწილის მიერ. როდესაც მომხმარებელი შედის სისტემაში, წინა ნაწილი აგროვებს მომხმარებლის ინფორმაციას და აგზავნის მათ დასადასტურებლად. Back-end ამოწმებს არსებობს თუ არა სისტემაში ამ ლოგინ პაროლით მომხმარებელი, მონაცემებს უკეთებს ვალიდაციას და თუ შესაბამისი ჩანაწერი არსებობს, ახდენს მომხმარებლის იდენტიფიკაციას ტოკენის ანუ გასაღების გამოყენებით და ქმნის სესიას, რომელიც იგზავნება უკან წინა მხარეს. ეს ტოკენი შემდეგ გამოიყენება მომხმარებლის იდენტიფიკაციისთვის და მათი წვდომის უფლებების დასადგენად, მაგალითად რა ტიპის მომხმარებელს შეესაბამება ლოგინ პაროლი. ეს შეიძ₾ება იყოს ადმინის მომხმარებელი ან უბრალოდ გამომწერი. შესაბამისად ტოკენი განსაზღვრავს რისი ნახვის და კეთების უფლება ექნება მომხმარებელს ინტერფეისში.