Internetanwendung

A Internetanwendung (oder Web-App) ist Anwendungssoftware das läuft in a WebbrowserIm Gegensatz zu Softwareprogrammen, die lokal und nativ auf dem Betriebssystem (Betriebssystem) des Geräts ausgeführt werden. Webanwendungen werden auf dem geliefert Weltweites Netz an Benutzer mit einer aktiven Netzwerkverbindung.
Geschichte
In früheren Computermodellen wie Client-Server wurde die Verarbeitungslast für die Anwendung zwischen dem Code auf dem Server und dem Code, der lokal auf jedem Client installiert wurde, gemeinsam genutzt. Mit anderen Worten, eine Bewerbung hatte ein eigenes vorkompiliertes Kundenprogramm, das als ihre diente Benutzeroberfläche und mussten auf jedem Benutzer getrennt installiert werden persönlicher Computer. Für ein Upgrade des serverseitigen Codes der Anwendung würde normalerweise auch ein Upgrade auf den auf jeder Benutzer-Workstation installierten clientseitigen Code erforderlich Unterstützung Kosten und Abnahme Produktivität. Darüber hinaus waren sowohl die Client- als auch die Serverkomponenten der Anwendung normalerweise eng an einen bestimmten gebunden Rechnerarchitektur und Betriebssystem und Portierung sie zu anderen waren für alle außer den größten Anwendungen (heutzutage, oft unerschwinglich teuer Native Apps für mobile Geräte werden auch von einigen oder allen vorstehenden Problemen humpelt.
Im Jahr 1995, Netscape eingeführt a Client-Seite Scripting Sprache gerufen JavaScript Ermöglichen Programmierern können einige hinzufügen Dynamische Elemente an die Benutzeroberfläche, die auf der Clientseite lief. Anstatt Daten an den Server zu senden, um eine gesamte Webseite zu generieren, können die eingebetteten Skripte der heruntergeladenen Seite verschiedene Aufgaben wie die Eingabevalidierung oder das Anzeigen/Verstecken von Teilen der Seite ausführen.[1]
1999 wurde das Konzept der "Webanwendung" in der Java -Sprache in der Servlet -Spezifikation Version 2.2 eingeführt. [2.1?].[2] Zu dieser Zeit sowohl JavaScript als auch sowohl JavaScript als auch Xml war bereits entwickelt worden, aber Ajax war noch nicht geprägt worden und die Xmlhttprequest Das Objekt wurde erst kürzlich im Internet Explorer 5 als ein eingeführt ActiveX Objekt.
Im Jahr 2005 wurde der Begriff Ajax geprägt und Anwendungen wie Google Mail begann, ihre Kunden immer interaktiver zu machen. Ein Webseiten -Skript kann den Server kontaktieren, um Daten zu speichern/abzurufen, ohne eine gesamte Webseite herunterzuladen.[3]
Struktur
Anwendungen werden normalerweise in logische Stücke als "Tiers" unterteilt, wobei jeder Stufe eine Rolle zugewiesen wird.[4] Herkömmliche Anwendungen bestehen nur aus 1 Stufe, die sich auf dem Client-Computer befinden. Webanwendungen eignen sich jedoch von Natur aus für einen N-Tier-Ansatz.[4] Obwohl viele Variationen möglich sind, ist die häufigste Struktur die dreistufig Anwendung.[4] In seiner häufigsten Form werden die drei Ebenen genannt Präsentation, Anwendung und Lagerung, in dieser Reihenfolge. Ein Webbrowser ist die erste Stufe (Präsentation), eine Engine, die eine Dynamik verwendet Internetinhalt Technologie (wie z. ASP, CGI, Coldfusion, Pfeil, JSP/Java, Node.js, Php, Python oder Rubin auf Schienen) ist die mittlere Stufe (Anwendungslogik), und eine Datenbank ist die dritte Stufe (Speicher).[4] Der Webbrowser sendet Anfragen an die mittlere Ebene, die sie dienen, indem Sie Abfragen und Aktualisierungen an der Datenbank erstellen und eine Benutzeroberfläche generieren.
Für komplexere Anwendungen kann eine 3-stufige Lösung zu kurz kommen, und es kann vorteilhaft sein, einen N-Tier-Ansatz zu verwenden, bei dem der größte Vorteil darin besteht Modell.[4] Ein weiterer Vorteil kann darin bestehen, eine Integrationsstufe hinzuzufügen, die die Datenstufe von den restlichen Ebenen trennt, indem eine benutzerfreundliche Schnittstelle für den Zugriff auf die Daten bereitgestellt wird.[4] Zum Beispiel werden auf die Clientdaten zugegriffen, indem eine Funktion "list_clients ()" aufgerufen wird, anstatt eine zu erstellen Sql Fragen Sie direkt an der Client -Tabelle in der Datenbank ab. Auf diese Weise kann die zugrunde liegende Datenbank ersetzt werden, ohne die anderen Ebenen zu ändern.[4]
Es gibt einige, die eine Webanwendung als zweistufige Architektur betrachten. Dies kann ein "intelligenter" Client sein, der die gesamte Arbeit ausführt und einen "dummen" Server oder einen "dummen" Client, der sich auf einen "intelligenten" Server stützt, abfragt.[4] Der Client würde die Präsentationsstufe verarbeiten, der Server würde die Datenbank (Speicherebene) haben und die Geschäftslogik (Anwendungsstufe) würde sich auf einem von ihnen oder beides befinden.[4] Dies erhöht zwar die Skalierbarkeit der Anwendungen und trennt die Anzeige und die Datenbank, ermöglicht jedoch keine echte Spezialisierung von Ebenen, sodass die meisten Anwendungen an diesem Modell hinauswachsen.[4]
Geschäftliche Nutzung
Sicherheitsverletzungen für diese Art von Anwendungen sind ein wichtiges Problem, da sie sowohl Unternehmensinformationen als auch private Kundendaten beinhalten können. Der Schutz dieser Vermögenswerte ist ein wichtiger Bestandteil jeder Webanwendung, und es gibt einige wichtige Betriebsbereiche, die in den Entwicklungsprozess einbezogen werden müssen.[5] Dies umfasst Prozesse zur Authentifizierung, Autorisierung, Vermögensverhandlung, Eingabe sowie Protokollierung und Prüfung. Das Aufbau von Sicherheit in die Anwendungen von Anfang an kann auf lange Sicht effektiver und weniger störend sein.
Entwicklung
Das Schreiben von Webanwendungen wird häufig durch die Verwendung von vereinfacht Webanwendungs -Frameworks. Diese Frameworks erleichtern Schnelle Anwendungsentwicklung Indem ein Entwicklungsteam sich auf die Teile ihrer Anwendung konzentriert, die für seine Ziele einzigartig sind, ohne gemeinsame Entwicklungsprobleme wie das Benutzermanagement lösen zu müssen.[6] Viele der verwendeten Frameworks sind Quelloffene Software.
Die Verwendung von Webanwendungs -Frameworks kann häufig die Anzahl der Fehler in einem Programm reduzieren, sowohl durch einfacheres Code als auch durch Einfacher, indem ein Team sich auf das Framework konzentrieren kann, während ein anderer sich auf einen bestimmten Anwendungsfall konzentriert. In Anwendungen, die konstant ausgesetzt sind Hacking Versuche im Internet, Sicherheitsrelevant Probleme können durch Fehler im Programm verursacht werden. Frameworks kann auch die Verwendung von Best Practices fördern[7] wie zum Beispiel Holen Sie sich nach Post.
Darüber hinaus besteht das Potenzial für die Entwicklung von Anwendungen auf InternetbetriebssystemeObwohl es derzeit nicht viele tragfähige Plattformen gibt, die zu diesem Modell passen.
Siehe auch
- Software als Dienst (SaaS)
- Mehrfacher Telefon-webbasiertes Anwendungsframework
- Web 2.0
- Web Engineering
- Internetdienste
- Webwissenschaften
- Web -Widget
Verweise
- ^ Liam Tung (2020-06-15). "JavaScript -Schöpfer Eich: Meine Sicht auf 20 Jahre der weltweit besten Programmiersprache". ZDNET.
- ^ Davidson, James Duncan; Coward, Danny (1999-12-17). Java -Servlet -Spezifikation ("Spezifikation") Version: 2.2 endgültige Veröffentlichung. Sun Microsystems. S. 43–46. Abgerufen 2008-07-27.
- ^ Jay Hoffmann (2019-03-04). "Wofür steht Ajax überhaupt überhaupt?". Abgerufen 2021-10-18.
- ^ a b c d e f g h i j Petersen, Jeremy (4. September 2008). "Vorteile der Nutzung des N-Tier-Ansatzes für Webanwendungen".
- ^ "Top -Tipps für die sichere App -Entwicklung". Dell.com. Archiviert von das Original am 2012-05-22. Abgerufen 2012-06-22.
- ^ Multiple (Wiki). "Webanwendungsframework". Docforge. Archiviert von das Original am 2020-06-20. Abgerufen 2010-03-06.
- ^ Multiple (Wiki). "Rahmen". Docforge. Archiviert von das Original Am 2018-10-07. Abgerufen 2010-03-06.
Externe Links
- HTML5 -Entwurfsempfehlung, Änderungen an HTML und verwandten APIs zur Erleichterung des Autoriums webbasierter Anwendungen.
- Web Applikationen bei Curlie
- Webanwendungen Arbeitsgruppe Bei der World Wide Web Konsortium (W3C)
- PWAs auf Web.dev durch Google -Entwickler.