JavaRush /Java-Blog /Random-DE /Server. Bildungsprogramm für Dummies

Server. Bildungsprogramm für Dummies

Veröffentlicht in der Gruppe Random-DE
Nachfolgend finden Sie eine angepasste Übersetzung des Artikels „The non-techie's Guide to server“ von Kannan Chandrasegaran, einem Entwickler von Panopto. Bitte beachten Sie, dass sich der Artikel an Anfänger richtet, die mit dem Konzept der Serverseite von Anwendungen und Servern wenig vertraut sind. Server.  Bildungsprogramm für Dummies - 1

Aus dem Büroalltag

Es ist schwierig, in einem IT-Unternehmen ein „Nicht-Technikfreak“ zu sein, glauben Sie mir! Vermarkter, Vertriebsleiter, Buchhalter – egal – sie treffen von Zeit zu Zeit auf ihre technisch versierten Kollegen. Sie könnten Programmierer oder Systemadministratoren sein ... In jedem Fall haben die „Nicht-Technikfreaks“ das Gefühl, dass ihnen ein wichtiger Teil ihres Gehirns amputiert wurde. Oder sie landeten auf einem unbekannten Planeten mit intelligentem, nicht-humanoidem Leben. Oder…
Server.  Bildungsprogramm für Dummies - 2
Manchmal endet natürlich alles gut. Zum Beispiel geht ein Front-End- Mädchen den Korridor entlang. Nichts deutet auf Ärger hin: Sie geht nach links, Sie nach rechts, und zwar so schnell wie möglich ... Nein, dieses Mal ist es nicht passiert. Du sitzt bereits mit ihr am Tisch und versuchst, die unangenehme Stille zu überwinden, fragst du: „Und... was genau machst du?“ Sie beginnt etwas zu sagen, aber man versteht nicht sofort, wovon sie spricht. Die Worte scheinen bekannt zu sein: Benutzeroberfläche, Anwendungen und – ja, Facebook ist eine Website. Ja, es gibt Schaltflächen, Menüs ... Irgendwie haben Sie die Feinheiten ihrer Arbeit herausgefunden, nicken ihr zum Abschied zu und Ihre Wege trennen sich in den Fluren eines großen Büros.
Server.  Bildungsprogramm für Dummies - 3
Aber früher oder später werden Sie nicht so viel Glück haben: Sie werden einen Server-Ingenieur treffen. Oder ein Back-End-Entwickler. Da Sie nicht wissen, in was für einem Dschungel Sie sich jetzt befinden werden, stellen Sie naiverweise dieselbe Frage und ... erhalten als Antwort Abrakadabra. Sie hören viele Fremdwörter und Gedanken schießen Ihnen durch den Kopf: „Ist es höflich zu fragen, was eine API ist?“, „Wir verwenden ständig „Datenbank“, oder?“, „Wer zum Teufel ist dieser Jason?“ ” (JSON)??”. Ihr befreundeter Ingenieur versucht, Ihnen etwas über Server zu erzählen, versteht aber nicht, wie schwierig es für Sie ist, seine mit Fachbegriffen gefüllte Rede zu verstehen. Sie haben das Wort „Server“ wahrscheinlich schon einmal gehört, aber es wird in so vielen verschiedenen Kontexten verwendet, dass es schwierig ist, seine Bedeutung zu verstehen. Nun, versuchen wir, diesen Begriff zu verstehen.

Den Hasenbau hinunter

Wenn ein normaler Mensch (also kein Programmierer oder Administrator) eine Anwendung verwendet, sieht er nur die Benutzeroberfläche, ein Bild, das auf einige offensichtliche (meistens) Aktionen reagiert. Tatsächlich verstehen Benutzer normalerweise unter „Anwendung“ ihr Front-End, also den vorderen Teil, den Wrapper, mit dem sie interagieren. Doch die Nutzer wissen nur sehr wenig darüber, was sich darin befindet, also was die Anwendung zum Funktionieren bringt. Nehmen wir an, Sie senden mir eine Nachricht, beispielsweise über Whatsapp oder Viber. Es sieht so aus, als ob eine Nachricht von Ihrem Smartphone an meins gesendet wird. Schauen wir uns diesen Prozess genauer an. Nehmen wir an, Sie senden mir eine Nachricht, wenn mein Telefon ausgeschaltet ist, und schalten dann selbst Ihr Smartphone aus. Und so schalte ich mein Telefon ein und erhalte immer noch Ihre Nachricht, obwohl unsere Telefone nicht gleichzeitig funktionierten. Sieht so aus, als ob uns etwas entgangen ist! Das ist das „Etwas“, das wir vermisst haben – das Backend oder der Server.
Server.  Bildungsprogramm für Dummies - 4
Wenn Programmierer von Front-End und Back-End sprechen, meinen sie meist die Trennung des Benutzerteils der Anwendung von der Programmlogik. Das Front-End ist also der Schnittstellenteil der Anwendung und das Back-End der Serverteil.

Server

Im Wesentlichen ist ein Server eine Rechenmaschine, ein Computer, der mit dem Internet verbunden und ständig eingeschaltet ist.
Die beiden Hauptaufgaben des Servers sind Datenspeicherung und Kommunikation.
Server.  Bildungsprogramm für Dummies - 5
Sie senden eine Nachricht über WhatsApp oder Viber, die Anwendung auf Ihrem Smartphone sendet die Nachricht an den Server, wo sie gespeichert wird. Wenn Viber, das auf meinem Smartphone installiert ist, eine Verbindung zum Server herstellt, sendet es mir alle gespeicherten Nachrichten.
Der Server ist die „Basisstation“, von der aus die Anwendung ausgeführt wird
Wenn eine Anwendung Informationen benötigt, kontaktiert sie den Server. Wenn eine Anwendung mit einem anderen Benutzer der Anwendung kommunizieren muss, ist es der Server, der ihnen die Kommunikation ermöglicht. Die Begriffe Server, Back-End und API werden häufig synonym verwendet.

Speicher- oder Datenspeichersysteme

Die Hauptaufgabe des Servers ist die Datenspeicherung. Dazu gehören Dateien : Fotos, Videos und Dokumente. Der Server speichert sie strukturiert, ähnlich wie Ordner auf Ihrem Computer, sodass Anwendungen darauf zugreifen können. Informationen werden auch auf dem Server gespeichert . Alle Anwendungen enthalten Informationen, die für ihren Betrieb wichtig sind.
Server.  Bildungsprogramm für Dummies - 6
Sie können diese Informationen als Tabellensatz darstellen. Beispielsweise muss eine Anwendung Informationen über einen Benutzer und sein Kennwort speichern, damit eine Authentifizierung erfolgen kann. Ihre Anwendung kann ein Restaurantführer sein. In diesem Fall speichert der Server Informationen zu jedem Restaurant. Neben den Informationen selbst erfasst der Server auch Zusammenhänge zwischen Daten. Beispielsweise gefällt einem Benutzer ein Restaurant in einer Anwendung auf einem Smartphone, und der Server merkt sich diese Verbindung zwischen dem Restaurant und dem Benutzer.
Server.  Bildungsprogramm für Dummies - 7
Dadurch können Sie viele Fragen beantworten. Zum Beispiel:
  • Wie vielen Benutzern hat dieses Restaurant gefallen?
  • Welche Restaurants mag dieser Benutzer?
  • Welche Küchen sprechen mehrere Benutzer gleichzeitig an?
Informationen und Beziehungen zwischen Daten werden in einer Datenbank (DB) gespeichert . Es gibt viele Arten von Datenbanken, aber alle sind:
  • kann Informationen speichern
  • kann Beziehungen zwischen Daten speichern
  • kann Informationsanfragen empfangen und diese je nach Anfrage als einzelne Daten oder als Datensatz beantworten.
Es gibt viele Arten von Datenbanken, jede mit ihren eigenen Vor- und Nachteilen. Wenn Sie Begriffe wie SQL, MySQL, MongoDB, CouchDB, Redis hören, wissen Sie, dass es sich um Datenbanken handelt.

Interaktion

Die Hauptaufgabe des Servers ist die Interaktion mit der Anwendung und anderen Servern.
Server.  Bildungsprogramm für Dummies - 8
Viele Anwendungsaufgaben erfordern eine Interaktion mit dem Server. Wenn ein Benutzer beispielsweise nach etwas sucht, wird die Suchanfrage an den Server gesendet und das Ergebnis kommt von dort. Wenn ein Benutzer eine Nachricht an einen anderen Benutzer sendet, gelangt diese zunächst auf dem Server an. Von dort wird es dann an die Anwendung eines anderen Benutzers gesendet, meist in Form einer gesendeten Benachrichtigung. Die Schnittstellen, die ein Server bereitstellt, damit Anwendungen mit ihm interagieren können, werden normalerweise als APIs bezeichnet . Nun, einige Schnittstellenfunktionen können mit Endpunkten verknüpft werden , beispielsweise mit der Suche oder der Autorisierung auf der Website. Für den Uneingeweihten mag diese Interaktion seltsam erscheinen. Die beiden gängigsten Interoperabilitätsformate sind JSON und XML.
Server.  Bildungsprogramm für Dummies - 9
Links XML, rechts JSON. Auf den ersten Blick wirken die Formate schwer lesbar. Es ist wichtig zu verstehen, dass ein Server nur ein Computer ist, wie Ihr Laptop oder Ihr Smartphone. Die App auf Ihrem Telefon akzeptiert Benutzereingaben per Sprache, Text, Spracherkennung oder Berührung des Bildschirms. Die Anwendung verarbeitet diese Informationen und stellt dann eine Antwort in Form eines Bildes auf dem Bildschirm bereit. Ein Smartphone ist ein Computer, der mit einer Person interagiert, sodass Eingabe und Ausgabe in einer für eine Person bequemen Form bereitgestellt werden. Ein Server ist ein Computer, der nur mit anderen Computern interagiert. Eine Person nimmt Informationen aufgrund von Faktoren wie Schriftgröße, Textfarbe und Formatierung wahr. Für den Computer bedeutet das jedoch nichts.
Die Interaktion zwischen Servern erfolgt in Formaten, die für andere Computer leicht zu analysieren und zu verstehen sind.

Serveranwendung

Wenn Sie eine App erstellen möchten, die auf Ihrem Telefon läuft, benötigen Sie auch eine App, die auf dem Server läuft. Serverseitige Anwendungen werden mithilfe serverseitiger Programmiersprachen und Frameworks erstellt. Beliebte Optionen sind Java , Ruby on Rails , Node.js , PHP und ASP.NET .
Server.  Bildungsprogramm für Dummies - 10
Man könnte sagen, dass die API die „Tür“ Ihres Servers ist und die Anwendung weiß, dass sie an sie klopfen muss. Die Datenbank speichert alle Ihre Informationen. Und die Serveranwendung ist das „Gehirn“, das alles miteinander verbindet. Es empfängt und beantwortet Anfragen, die über die API an es gesendet werden, fügt Informationen zur Datenbank hinzu und ruft diese ab und trifft Entscheidungen. Wenn beispielsweise eine Benutzeranwendung Anmeldeinformationen übermittelt, kommt die Anfrage über die API und die korrekten Anmeldeinformationen werden in der Datenbank gespeichert. Die Aufgabe der Serveranwendung besteht darin, diese zu vergleichen und der Anwendung über die API entsprechend zu antworten.

Hardware

Server.  Bildungsprogramm für Dummies - 11
Wenn Sie das Wort „Server“ hören, stellen Sie sich wahrscheinlich dieses Bild vor: Schränke mit flackernden Lichtern in einem geschlossenen Raum. Um das Bild zu vervollständigen, fehlt wahrscheinlich nur noch Tom Cruise, der von der Decke herunterkommt und etwas stiehlt. Viele große Unternehmen besitzen eigene Server und ganze Rechenzentren (diese riesigen Räume mit flackernden Schränken). Facebook und Google verfügen über Hunderte von Servern auf der ganzen Welt. Wenn Sie einen großen Dienst mit Millionen von Benutzern betreiben, kann der Betrieb eigener Server deutlich günstiger sein und eine bessere Leistung bieten. Anstatt eigene Server zu unterhalten, nutzen viele Entwickler Cloud-Dienste. Dienste wie Amazon Web Services, Azure und Digital Ocean bieten die Möglichkeit, „virtuelle Server“ zu nutzen. Diese Dienste besitzen und warten die Hardware, und der Entwickler lädt einfach eine Serveranwendung darauf. Einige Dienstanbieter stellen das Backend als Service bereit, sodass Sie über ein einfaches Backend verfügen können, ohne die Backend-Anwendung selbst schreiben zu müssen.

Benötigen alle Anwendungen ein Backend?

Die meisten Apps, mit denen Sie vertraut sind, verfügen wahrscheinlich über eine Backend-Komponente. Natürlich finden Sie auch Programme ohne Serverteil. Zum Beispiel einige Produktivitäts-Apps. Eine einfache Möglichkeit herauszufinden, ob eine Anwendung über ein Back-End verfügt, sieht folgendermaßen aus:
Funktioniert die App weiterhin, wenn Sie in den Flugmodus wechseln?
Lautet die Antwort „Nein“, bedeutet dies, dass die Anwendung definitiv über einen Backend-Server verfügt.
Server.  Bildungsprogramm für Dummies - 12
Ich hoffe, Sie haben jetzt verstanden, was das Backend einer Anwendung ist. Wenn Sie das nächste Mal Ihre Programmierkollegen treffen, können Sie vielleicht nicht nur verstehen, worüber sie reden, sondern auch ein bisschen „Jason“ in Ihr Gespräch einbauen.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION