Stefan Schmidhammer: Was ist und was ist keine Webapplikation? Grenzen?

Hi,

Ich war letztens auf der Systems 2006 und hab u.a. ein paar Webanwendungen im Bereich ERP Systeme gesehen und hab mich danach gefragt wo liegen die Grenzen beim Begriff "Webanwendung" bzw. welche Techniken umfassen richtige "Webanwendungen" und welche nicht?

Es gibt Webanwendungen die funktionieren nur mit Plugins im Internet Explorer und die neueren jetzt auch in FireFox/Mozilla. Kann man eine Anwendung die *zwingend* ein Plugin benötigt als Webanwendung bezeichnen? Opera, Konqueror, Safari sehen bei solchen Plugin Lösungen meistens dumm aus der Wäsche.
Ist das noch eine Webanwendung? Meiner Meinung nach kann ich auch ein Plugin für irgend ein anderes Programm schreiben das auf Windows/Linux/OS X läuft und hab dasselbe, hier läufts halt im Browser, sonst ist kein Unterschied da.

Andererseits ist Flash auch ein Plugin aber es wird von vielen "Web 2.0" Seiten verwendet. Kann man hier sagen das Flash für richtige Webapplikationen akzeptiert wird da es für die meisten Browser verfügbar ist? Liegt das am Verbreitungsgrad eines Plugins?
XMLHttpRequest aka AJAX ist im Internet Explorer 6.0 auch nur ein ActiveX Plugin das von den anderen Browserherstellern dann nachgereicht wurde. Im IE7 ist es jetzt fix eingebaut. Also ist  jetzt AJAX für Webapplikationen wirklich valid da es kein Plugin mehr ist sondern es die meisten Browser von sich aus können?
Aber JavaScript kann man immer noch abstellen.

Die Grundfunktionen die alle Browser können bzw. können sollten sind (X)HTML, CSS und Javascript (wobei man JS abstellen kann). Sind nur Webanwendungen die diese 3 Dinge verwenden richtige Webanwendungen?

Also um noch einmal zur eigentlichen Frage zurück zu kommen, ist eine Webanwendung die Plugins für Browser benötigt noch eine richtige Webanwendung?
Oder kann man sagen Seiten die z.B. Flash benutzen haben andere System Vorraussetzungen und sind trotzdem richtige Webanwendungen? Und Seiten die nur im Internet Explorer mit Plugin laufen haben halt mehr System Vorraussetzungen und sind immer noch richtige Webanwendungen?

Wo liegt die Grenze?

Stefan

  1. Moin!

    Die Grundfunktionen die alle Browser können bzw. können sollten sind (X)HTML, CSS und Javascript (wobei man JS abstellen kann). Sind nur Webanwendungen die diese 3 Dinge verwenden richtige Webanwendungen?

    IMHO ja, wenn sie *maximal* diese 3 verwenden.

    Also um noch einmal zur eigentlichen Frage zurück zu kommen, ist eine Webanwendung die Plugins für Browser benötigt noch eine richtige Webanwendung?

    IMHO nein.

    -- Skeeve

    1. habe d'ehre Skeeve

      Also um noch einmal zur eigentlichen Frage zurück zu kommen, ist eine Webanwendung die Plugins für Browser benötigt noch eine richtige Webanwendung?
      IMHO nein.

      Haehh? Wieso sollte eine webbasierte Applikation innerhalb eines Unternehmens mit klar definierter Umgebung (Browser) keine "richtige" Webanwendung sein, wenn ich die Features der zur Verfuegung stehenden Umgebung voll ausreize?

      "webbasiert" ist fuer mich dann gegeben, wenn Anwendungen mit dem http-Protokoll laufen und das kann genausogut ein INTRANET sein.

      man liest sich
      Wilhelm

      1. Moin!

        "webbasiert" ist fuer mich dann gegeben, wenn Anwendungen mit dem http-Protokoll laufen und das kann genausogut ein INTRANET sein.

        Sehe ich auch so.

        Für mich (und darum "IMHO") ist "webbasiert" nicht identisch mit "Webanwendung". Webanwendung ist etwas für mich, das komplett aus dem Web geladen und ausgeführt wird und nicht irgendein Plugin voraussetzt. Also eher etwas, was hauptsächlich auf einem Server läuft und beim Client keine spezielle Software voraussetzt. Schon bei Java finde ich, wird's dann aber schwierig.

        -- Skeeve

      2. Haehh? Wieso sollte eine webbasierte Applikation innerhalb eines Unternehmens mit klar definierter Umgebung (Browser) keine "richtige" Webanwendung sein, wenn ich die Features der zur Verfuegung stehenden Umgebung voll ausreize?

        "webbasiert" ist fuer mich dann gegeben, wenn Anwendungen mit dem http-Protokoll laufen und das kann genausogut ein INTRANET sein.

        Aber ist der Grundgedanke einer Webanwendung nicht das sie auf jeder Art von Browser und auf jeder Art von Betriebssystem funktionieren sollte?

        Es ist richtig dass man im Intranet einer Firma festlegen kann das alle Browser X mit Plugin Z und Betriebssystem Y verwenden müssen, aber wozu dann eine Webanwendung wenns nur so funktioniert?
        Dann kann ich genausogut ein Java oder C++ Programm schreiben den so nutze ich die Vorteile einer Webanwendung überhaupt nicht aus?

        MFG
        Stefan

        1. habe d'ehre Stefan

          Aber ist der Grundgedanke einer Webanwendung nicht das sie auf jeder Art von Browser und auf jeder Art von Betriebssystem funktionieren sollte?

          Nein. Ich kann genauso gut festlegen, welche Umgebung gefordert ist. Es kommt immer auf den Einzelfall an. Verabschiede Dich von dem Gedanken, dass webbasierte Anwendungen immer oeffentlich sind.

          Dann kann ich genausogut ein Java oder C++ Programm schreiben den so nutze ich die Vorteile einer Webanwendung überhaupt nicht aus?

          Ich kann heute 3270- oder 5250-Terminals fuer den entfernten Zugriff auf IBM-Maschinen im Browser laufen lassen. Innerhalb IBM Websphere oder via Net.Data kann ich vom Browser aus Programm native auf einer IBM iSeries starten und Ergebnisse an den Browser schicken, egal ob in der Sprache REXX, SQL, CL, COBOL, C, RPG oder wasauchimmer auf der Maschine verfuegbar ist. Wie Tim oben schrieb, "Web" ist nicht nur HTML und Konsorten. Verabschiede Dich von Dieser Einschraenkung.

          man liest sich
          Wilhelm

        2. Es ist richtig dass man im Intranet einer Firma festlegen kann das alle Browser X mit Plugin Z und Betriebssystem Y verwenden müssen, aber wozu dann eine Webanwendung wenns nur so funktioniert?
          Dann kann ich genausogut ein Java oder C++ Programm schreiben den so nutze ich die Vorteile einer Webanwendung überhaupt nicht aus?

          Erst einmal: Gute Definitionen ("Webanwendung") müssen immer einfach sein und sind es also auch.

          Versuchen wir uns mal an einer Defintion der "Webanwendung", also, was ist das Web?
          _DER_MEISTER_: http://de.selfhtml.org/intro/internet/www.htm

          Nja, ganz so einfach ist die Sache wohl doch nicht, die halten das Web wohl in der Tat für "HTTP/URIs/HTML".

          Für mich ist jedenfalls (vorläufig ;) eine Webanwendung eine Anwendung, die im weltweiten Internet (oder in lokalen Netzwerken läuft) läuft.

          Hey, kann es sein, dass eine Webanwendung eine beliebige Anwendung in einem beliebigen Netzwerk ist?

    2. ersetze "webbasiert" durch "Webanwendung"

  2. Die Grundfunktionen die alle Browser können bzw. können sollten sind (X)HTML, CSS und Javascript (wobei man JS abstellen kann). Sind nur Webanwendungen die diese 3 Dinge verwenden richtige Webanwendungen?

    Wo liegt die Grenze?

    Also meinem Empfinden (bzw. meiner Überzeugung) nach müssen Webapplikationen mit jedem üblichen Browser funktionieren. Das heisst für mich HTML und CSS.
    JavaScript würde ich mittlerweile auch dazu zählen, wobei ich immernoch nach dem Grundsatz arbeite dass JavaScript zwar die Bedienung erleichtern oder 'verschönern' kann, aber funktionieren sollte es trotzdem auch komplett ohne JavaScript.

    Wenn man explizit Plugins benötigt, ist das ganz klar keine reine Webapplikation mehr.

    greetz RFZ

  3. Sup!

    Ich würde behaupten, dass eine Webapplikation eine Applikation ist, die einen Browser zur Darstellung Ihres GUI/Kommandointerfaces benutzt, und darum "remote" verwendbar ist.

    Gruesse,

    Bio

    --
    Never give up, never surrender!!!
    1. Hallo,

      Ich würde behaupten, dass eine Webapplikation eine Applikation ist, die einen Browser zur Darstellung Ihres GUI/Kommandointerfaces benutzt, und darum "remote" verwendbar ist.

      Ganz richtig.
      Während die GUI aus HTML und Stylesheets besteht ist der Hintergrund wichtig. D.h. beispielsweise, dass auf dem Server z.B. mit PHP oder Perl und einem Datenbanksystem oder ähnlichem gearbeitet wird.
      Oder dass dort z.B. ein Mailserver installiert ist, so dass die GUI einem Mailverwaltungsprogramm ähnelt. Sowas ist heute ja alltäglich.

      Blogs, oder Foren und Boards sind in der Hinsicht eine Webapplikation. Viele Boards nutzen zwar auch JavaScript, sind jedoch auch ohne dieses voll Nutzbar.
      Allerdings ist es richtig, dass die Bedienung mit Hilfe von JavaScript für den Endbenutzer einfacher werden kann.

      Gruß, Daniel

    2. Ich würde behaupten, dass eine Webapplikation eine Applikation ist, die einen Browser zur Darstellung Ihres GUI/Kommandointerfaces benutzt, und darum "remote" verwendbar ist.

      Nach dieser Definition wären also alle GUI's die einen Browser benutzen, egal ob dabei Java Applets, XUL, Flash, Sonstige Plugins, etc. verwendet werden eine *richtige* Webapplikation.

      Also im Prinzip alles was der/ein Browser darstellen kann, auch wenn es properitär ist, und mit dem ein Benutzer interagieren kann?

      Das würde im krassen Gegenteil zu meiner Vorstellung stehen das eine Webanwendung unabhängig vom Betriebssystem und Browser funktionieren sollte.

      MFG
      Stefan

      1. Also im Prinzip alles was der/ein Browser darstellen kann, auch wenn es properitär ist, und mit dem ein Benutzer interagieren kann?

        Klar.

        Das würde im krassen Gegenteil zu meiner Vorstellung stehen das eine Webanwendung unabhängig vom Betriebssystem und Browser funktionieren sollte.

        "unabhängig vom Browser" geht ja schon einmal nicht, unabhängig vom Betriebssystem? Ja, würde ich so sehen.

      2. Sup!

        Das würde im krassen Gegenteil zu meiner Vorstellung stehen das eine Webanwendung unabhängig vom Betriebssystem und Browser funktionieren sollte.

        Manche Applikationen brauchen Cookies, JavaScript, und serverseitig vielleicht Datenbanken, spezielle Skripte u.a.; OS- und Browser-unabhängig gibt's also quasi nicht.

        Gruesse,

        Bio

        --
        Never give up, never surrender!!!
  4. Hallo,

    Die Grundfunktionen die alle Browser können bzw. können sollten sind (X)HTML, CSS und Javascript (wobei man JS abstellen kann). Sind nur Webanwendungen die diese 3 Dinge verwenden richtige Webanwendungen?

    Um mal was anderes ins Spiel zu werfen: Es gibt haufenweise Anwendungen, die das Web (= URIs und HTTP) zur Übermittlung ihrer Daten nutzen, aber diese Daten nicht in HTML, CSS und Javascript verpacken, sondern in XML und andere Formate. Man nennt sie auch Web Services, realisiert mittels Konzepten wie Plain Old XML, XML-RPC oder REST. Diese Daten müssen nicht zwangsläufig im Browser dargestellt werden, sondern können auch durch klassische Desktop-Programme verarbeitet bzw. angezeigt werden. Dennoch ist da die Voraussetzung des Webs vorhanden, ohne geht es nicht. Deswegen zählen sie für mich auch als Webanwendungen.

    Denke ich das weiter, kommen ich auf eine recht minimale Definition für Webanwendungen, nämlich über das Web benutzbare Anwendungen. Und Web ist hier wirklich nur definiert als über URIs identifizierte Ressourcen, die man mit HTTP manipulieren kann bzw. von denen man mittels HTTP Repräsentationen „holen“ kann. Eine dieser Repräsentationen kann HTML/CSS sein, muss aber nicht. Kann auch XML sein. Oder JSON. Oder eben Flash-Zeug oder ganz andere Dinge. Diese minimale Definition ignoriert zwar die derzeit allgemein gültige Benutzeroberfläche des Webs (HTML/CSS/JS) und betrachtet das Web nur als Zugriffsmechanismus, dennoch halte ich sie für aussreichend. Sie ist allein eine technische Definition, schließlich kann das Web viel mehr ausser HTML. Aber ich gebe gerne zu, dass für Otto Normalnutzer andere Dinge interessanter sind. ;)

    Tim

    1. Interessanter Gedanke.

      Dann würde ein Software Update Service oder ein Anti Virus Update schon als Webapplikation gelten den alles läuft über das Web und meistens auch über HTTP. Wobei man wieder streiten kann ob HTTP das einzige Protokoll für Webanwendungen ist ;)

      Mir ging es jetzt hauptsächlich um Anwendungen die im Browser angezeigt werden :)

      MFG
      Stefan

      1. Dann würde ein Software Update Service oder ein Anti Virus Update schon als Webapplikation gelten den alles läuft über das Web und meistens auch über HTTP. Wobei man wieder streiten kann ob HTTP das einzige Protokoll für Webanwendungen ist ;)

        Selbstverständlich sind Webanwendungen _nicht_ HTTP-abhängig.

        Mir ging es jetzt hauptsächlich um Anwendungen die im Browser angezeigt werden :)

        Webservices können durchaus "im Browser angezeigt werden".

  5. Hi @ll,

    eine interessante Diskussion die aufzeigt, dass grundlegende Prinzipien der Softwareentwicklung augenscheinlich verloren gegangen sind.

    Eine Application ist eine Application und unterliegt den Grundsätzen der Multi-Tier-Architectur.

    Datenhaltungsebene
    Funktionsebene
    Darstellungsebene

    Das was wir als "www" bezeichnen stellt in diesem Zusammenhang nur des Netzwerkprotokoll (http, ftp usw.) und das Adressierungsverfahren zur Verfügung und liegt damit in der Funktionsebene der Multi-Tier-Architectur.

    Der oder die Browser bilden die Darstellungsebene und alle darin enthaltenden Funktionalitäten stellen nur standartisierten Schnittstellen der Darstellung dar.

    Nur diese Schnittstellenvereinbarung (html, css, js oder auch die unterschiedlichen Plugins) erlauben den Austausch der Application über das "www".

    Das "www" ist jedoch älter als die oben genannten Schnittstellenvereinbarungen. Die alten Compuserver werden sich noch daran erinnern, - sofern sie noch in diesem Forum aktiv sind - dass zu diese Zeit die Darstellungebene (GUI???) der Daten mit übertragen werden musste. Der sog. Browser verfügte über keine derartige Funktionalität.

    Dies ist aber auch heute noch möglich. Es ist selbstverständlich möglich eine Application so zu schreiben, dass ich eine eigenen GUI  entwickele die einzig und allein die Netzwerkprotokolle des "www" nutzt. Diese Application wäre nur für diejenigen nutzbar denen ich auch meine GUI bzw. mein Plugin zur Verfügung stelle. Beispiele hierfür gibt es genug im "www". Andererseits entwickle ich "stand-alone-Applicationen" die als GUI einen Browser und die darin eingebundenen Schnittstellen nutzen ohne das diese jemals Kontakt zum "www" haben werden.

    Wie soll man also eine "WEB-Application" definieren?

    Mit freundlichen Grüßen aus Marschacht

    Michael Hein

  6. Moin!

    wo liegen die Grenzen beim Begriff "Webanwendung" bzw. welche Techniken umfassen richtige "Webanwendungen" und welche nicht?

    Der Begriff "Webanwendung" besteht aus den zwei Teilen "Web" und "Anwendung".

    Schwieriger zu definieren ist "Anwendung".

    Leichter hingegen ist "Web". Das ist das Vorhandensein irgendeiner Art von Netzwerkfunktionalität (auf Basis von TCP/IP). Und zwar nicht am Rand als Schnittstelle der Anwendung, sondern intern als Teil des Daten- oder Codeweges.

    Daraus ergibt sich sehr häufig die klassische Client-Server-Struktur, bei der z.B. zentrale Datenhaltung auf dem Server und dezentrale Datenerfassung auf den Clients stattfindet, das ganze System aber als eine Gesamtheit erscheint und durch Netzwerk miteinander verknüpft ist. Alternativ ist natürlich auch eine Peer-to-Peer-Struktur denkbar, aber eben wieder mit dem Netzwerk zwischen den Endpunkten.

    Keine Aussage kann man über die Endpunkte selbst machen. Dort läuft zwingend ein Teil des Programmcodes der Anwendung, aber in welcher Form er das tut, ist nicht zu entscheiden.

    Deshalb ist "Webanwendung" eigentlich kein wirklich unterscheidungskräftiger Begriff. Er ist Marketingsprache, weil er "Web" enthält und vielleicht eine gewisse Flexibilität suggeriert, die gar nicht gerechtfertigt ist.

    Also nochmal kurzgefaßt: Eine Webanwendung ist eine Anwendung, die in ihrem Inneren "Web" als Transportweg für Daten und/oder Code nutzt.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
    1. Hallo Sven,

      Leichter hingegen ist "Web". Das ist das Vorhandensein irgendeiner Art von Netzwerkfunktionalität (auf Basis von TCP/IP). Und zwar nicht am Rand als Schnittstelle der Anwendung, sondern intern als Teil des Daten- oder Codeweges.

      Du setzt hier "Web" mit "Internet" gleich. Das ist aber eigentlich nicht die übliche Definition. Unter Web (genauer WWW) versteht man eigentlich das Hypertextsystem mit allem was dazu gehört. Die technische Grundlage davon ist im Wesentlichen HTTP und HTML. Da ist natürlich mittlerweile etliches dazu gekommen.

      Unter einer Webanwendung kann man nun (mindestens) zweierlei verstehen:
      1. Eine Anwendung, die irgendwie auf das Web zugreift und Information oder Dienste daraus bezieht.
      Damit ist ziemlich viel eine Webanwendung, z.B. handelt es sich dann bei einem Browser selbst auch um eine. Tim scheint mir diese Definition zu vertreten, da er Desktopanwendungen, die aufs Web zugreifen, als Webanwendungen bezeichnet. Allerdings fordert er später "über das Web benutzbar", was da nicht wirklich dazu passt, aber direkt zur zweiten Definition führt:
      2. Eine  Anwendung, die selbst Bestanntteil des Webs, also des Hypertextsystems ist.
      Damit ist klar, eine Webanwendung muss per URL Addressierbar und vollständig über das Internet abrufbar sein.
      Diese Definition stellt aber praktisch keine Bedingungen an die Technologien, die eine Webanwendung clienentseite erfordern darf. Die eigentliche Beschreibung der GUI und ihr Verhalten muss eine Resource im Web sein. Flash, Java-Applets oder irgendetwas anderes kann aber durchaus Bestandteil einer Webanwendung sein. Eine Definition kann ja nicht den aktuellen Stand der technologischen Entwicklung oder den Verbreitungsgrad von bestimmten Technologien mit einbeziehen.

      Meist wird meinem Eindruck nach letztere Definition verwendet.

      Wenn man versucht typische Anwendungsschichten auf Webanwendungen zu übertragen, wie Michael, so kommt man je nach Definition zu unterschiedlichen Ergebnissen:
      Bei 1. kann man praktisch keine Aussage treffen. Hier gibt es auch nicht unbedingt eine Anwendung die sich vertikal von Server übder Web zum Client erstreckt, sondern eher mehrere Anwendungen die über das Web gekoppelt sind.
      Bei 2. ist es idr so, dass die GUI-Schicht teil des Webs ist bzw. darüber zur Verfügung gestellt wird. Funktionen und Datenmodell liegen idr. nicht zugreifbar im Hintergrund. Maximal ist der Aufruf von Funktionen einer Ablauf- oder Geschäftslogik per Web möglich.

      Grüße

      Daniel

    2. Also nochmal kurzgefaßt: Eine Webanwendung ist eine Anwendung, die in ihrem Inneren "Web" als Transportweg für Daten und/oder Code nutzt.

      Man könnte versuchen die Diskussion auf die Fragestellung "Ist 'Web' etwas anderes als 'Netzwerk'?" zu reduzieren.

      Also, bspw. ein bestimmtes Netzwerk ist ein Web.

      Steht 'Web' eventuell für 'world wide web'?