Ist ein Webserver ein WebService??



  • So ne frage. Ich bin bischen verwirrt:)

    Ein Webserver welche bspw. lokal auf einem PC läuft, shared ja HTML basierte Daten über HTTP bzw. als einen "WebService" oder?

    Ich hab mir mal WCF angeschaut, da kann man eigene Webservices over HTTP erstellen. Will man aber eine bidirektonale Verbindung müssen beide Seiten einen WebService haben umd daten zwischen den knoten hin und her zu schicken.

    Wenn ich bspw. ein Event vom server an den client schicke, geht das nur wenn ich auf der client seite ein Webservice zum server einrichte mit dem der Server events an den Client auslösen kann. Ich hab also keine direkte Verbindung. http://msdn.microsoft.com/en-us/library/ms731064.aspx

    Seh ich das ganze richtig?
    Ich will eine Server/Client archtiektur implementieren welche über HTTP um lästige Firewall Probleme zu vermindern.



  • Webserver != Webservice.

    Webserver stellt zunächst eine Möglichkeit zur Verbindung her.
    Egal was er dann sendet.
    Webservice stellt auf einem Webserver einzelne Funktionen bereit, welche mann dann mit Parametern aufrufen kann. Kommunikation findet in XML statt.

    Ein Server kann keine Verbindung zu einem CLient aufbauen außer der Client hat einen Server laufen.
    Der Client fordert an und über den gleichen Socket bekommt er das Angeforderte zurück.



  • Hallo Unix-Tom, danke für deine Antwort.

    Wie wir dann der Client (Webbrowser/Website) auf Änderung informiert (Events)? Haben die Webseiten dann scripte laufen welche via Polling Server Events abfangen?



  • Welche Änderung?

    In einer Webseite gibt es verschiedene HTML-Controls. z.B. Button.
    Wenn man darauf Klickt dann sendet der Client wieder an den Server eben das was der Webseitenprogrammierer definiert hat.

    Normals: Der Client fordert eine Webseite von Server. Dieser liefert ihm diese.
    Was der Server dann im Code dahinter macht ist eine andere Sache. (ASP NET, PHP,JSP, etc)



  • Hi Tom, naja ich kenn bspw. ne webseite, welche automatisch "Neue Nachrichten in einem Postfach" anzeigt, ohne das man den SErver damit beauftragt nach neuen nachrichten zu schaun. Das meinte ich.



  • Überfragter schrieb:

    ich kenn bspw. ne webseite, welche automatisch "Neue Nachrichten in einem Postfach" anzeigt, ohne das man den SErver damit beauftragt nach neuen nachrichten zu schaun.

    Ja, sowas geht nur über Polling, Webserver können immer nur reagieren, also antworten.



  • Überfragter schrieb:

    Hi Tom, naja ich kenn bspw. ne webseite, welche automatisch "Neue Nachrichten in einem Postfach" anzeigt, ohne das man den SErver damit beauftragt nach neuen nachrichten zu schaun. Das meinte ich.

    Indem der Browser alle X Minuten nachfragt ob es neue Daten gibt. Stichwort Ajax.

    Die komplette Kommunikation ist einseitig: Client sagt "ich will dies und das" und Server schickt Antwort. Danach ist es aus. Zwischen 2 Anfragen des Clients gibt es keine Verbindung (sie sind unabhängig voneinander)- wir nennen HTTP deshalb ein stateless Protokoll.

    Um 2 unabhängige Anfragen wieder miteinander assoziieren zu können braucht man Session - Management auf dem Server (der Client muss dann immer eine bestimmte ID mitschicken damit der Server weiss dass der Client den Namen "Überfragter" hat und im Forum alles himmelblau dargestellt haben will).

    Ich denke aber dass es mehr Sinn macht wenn du eine kurze Einführung in HTTP einmal durchliest.



  • Muss man das session managment selber implementieren? Also ein Logon/logoiff service erstellen damit sich der server merkt wer online ist und wer nicht etc.? Oder hat man dann im vornerein schon ne "verbindungsorientierte" verbindung?



  • Was und wie müsste ich ne Server/client architektur aufbauen, damit sie noch voll Http- fähig ist (wegen firewalls) und trozdem beidseitig effizent Kommunizieren können? In einem anderen Thread hab ich sowas gelesen mit Polling und so weiter. Ist das die einzigste Möglichkeit?



  • lies dich in das thema etwas ein.
    ich denke nicht dass du aktuell in der lage bist eine vernünftige client/server-architektur aufzubauen.

    Du musst dich schon etwas tiefer mit dem thema beschäftigen - nicht nur kurz ein paar antworten aus einem forum einholen...

    da der server keine kommunikation anstoßen kann, muss der client konstant pollen wenn der server ebenfalls events anstoßen können soll. es gibt natürlich auch andere möglichkeiten wie zB streaming html und ähnliches, aber lies dich erstmal 4-5 tage in das thema ein bevor du weiter denkst.



  • hmm dann schau ich mir die polling methodik mal an, danke #:) Und die html stream methode schau ich mir auch mal an:)


Anmelden zum Antworten