kostenloser Webspace werbefrei: lima-city


Web Service in PHP

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    vctb

    vctb hat kostenlosen Webspace.

    Hallo,

    ich habe mal eine etwas speziellere Frage.

    Ich benötige einen Webservice, der mir Daten aus einer Datenbank auf ausliesst und an einen Client Server schickt. Ich weiss auch wie ich so einen Server umsetzen kann. Bisher haben ich einen SOAP-Service, der auch richtig funktioniert, leider gibt es dabei ein großes Problem, da ich diesen nur per AJAX/PHP abrufen kann, dies soll nun umgestellt werden, der Service soll ohne PHP umsetzbar sein UND muss ohne AJAX abrufbar sein, da der Inhalt auf Google indizierbar sein muss. Dies ist aber mit AJAX nicht gegeben und eine für Googlebots statische Seite ist sehr umständlich, da Änderungen an den Inhalten sehr häufig sind.

    Ist es möglich einen SOAP, REST oder JSON-RPC Server so anzusprechen, dass er direkt beim Seitenaufbau mitgeladen wird und idealerweise ohne PHP?

    Also ich bin mir zwar ziemlich sicher, dass es nicht möglich ist, aber vielleicht gibt es ja doch eine Lösung.

    Vielen Dank schonmal im Voraus.

    Beitrag zuletzt geändert: 17.4.2014 9:28:38 von vctb
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    vctb schrieb:
    Ist es möglich einen SOAP, REST oder JSON-RPC Server so anzusprechen, dass er direkt beim Seitenaufbau mitgeladen wird und idealerweise ohne PHP?
    Ein derartiger Abruf von Daten muss mit einem wie auch immer gearteten Programm erfolgen. Wenn du am Server kein PHP (und vermutlich auch keine andere Sprache) und am Client kein JavaScript einsetzen magst, wer ruft dann die Daten ab?

    Warum sollte die Seite ohne PHP umgesetzt werden? Nutzt du statt PHP eine andere serverseitige Sprache (wie z.B. Java, Python oder JavaScript)?

    Oder soll nur der Webservice ohne PHP laufen? Auch hier gilt: PHP, Java, JavaScript, Python … eines wirst du brauchen, aber PHP muss es natürlich nicht sein.
  4. Autor dieses Themas

    vctb

    vctb hat kostenlosen Webspace.

    Es kann sein das einer der Server von denen der Server abgerufen werden kann kein PHP oder eine sonstige Programmiersprache unterstützt, deshalb würde ich die Abfrage des Servers per JS machen, da weiss ich leider nur wie ich das per AJAX bewerkstellige. Bei einer AJAX-Abfrage gibt es leider die Problematik, dass Google AJAX-Abfragen nicht indizieren kann, da diese dynamischen Inhalte nicht gecrawlet werden, dieses Problem besteht
  5. vctb schrieb:
    Es kann sein das einer der Server von denen der Server abgerufen werden kann kein PHP oder eine sonstige Programmiersprache unterstützt [...]


    :confused: :wazzup:
    Wenn Du einen Server "ansprichst", dann braucht die abfragende Instanz kein PHP können, da die gelieferten Daten immer in Plain-HTML geliefert werden :wave:



    Beitrag zuletzt geändert: 17.4.2014 15:43:58 von dunkeltuten
  6. Autor dieses Themas

    vctb

    vctb hat kostenlosen Webspace.

    Der Service liefert ein JSON-Objekt zurück, dafür muss dieses erstmal verarbeitet werden. Ich glaube ich muss da etwas ausholen, damit der Sinn dahinter klarer wird.

    Auf Server2 liegt eine Webseite, auf dieser sollen Daten aus der Datenbank von Server1 ausgegeben werden, dies wird im Moment durch eine AJAX-Anfrage von Server2 an Server1 durchgeführt, leider können Suchmaschinen diese durch AJAX erstellten Daten nicht crawlen Ergo werden diese nicht in einer Suchmaschine angezeigt, dies muss aber angezeigt werden. Zusätzlich gibt es noch mehrere Webseiten die genau wie Server2 Daten von Server1 benötigen.

    So ich hoffe das macht es etwas verständlicher...
  7. Du kannst mit PHP die JSON Daten aufarbeiten. Auf einigen Webservern kannst mit json_decode und json_encode arbeiten. Ansonsten gibt es ein paar Klassen, mit denen du dies erledigen kannst. Ich glaube sogar auf den Manuel-Seiten von PHP.net
  8. Autor dieses Themas

    vctb

    vctb hat kostenlosen Webspace.

    Das ist ein irgendwie schlecht umschreibbares Problem...

    Bisher liegen die Seiten auf Hostern die PHP unterstützen, daher ist das bisher kein Problem, leider kann ich davon nicht ausgehen und suche eine mögliche Lösung ohne PHP und AXAJ...

    Daher suche ich eine clientseitige Lösung des Abrufens der Daten und der Verarbeitung direkt beim Seitenaufbau.

    Beitrag zuletzt geändert: 18.4.2014 10:49:25 von vctb
  9. Dann gib die Daten doch anstelle von Json gleich in HTML aus.
  10. vctb schrieb:
    Bisher liegen die Seiten auf Hostern die PHP unterstützen, daher ist das bisher kein Problem, leider kann ich davon nicht ausgehen und suche eine mögliche Lösung ohne PHP und AXAJ...

    Daher suche ich eine clientseitige Lösung des Abrufens der Daten und der Verarbeitung direkt beim Seitenaufbau.


    Also mal von vorne, du hast einen Server auf dem du eine Datenbank mit Daten hast, ich nenne ihn jetzt einfach mal Datenserver und einen anderen auf dem du deine Webseite hast, hier einfach mal Webserver genannt.

    Auf deinem Webserver hast du eine Website liegen, die Daten vom Datenserver anzeigen soll, aber ohne Ajax und ohne dass dein Webserver PHP (oder sonstige serverseitige Programmiersprachen) unterstützt? Habe ich das richtig verstanden?

    Wenn ja, dann fallen mir hier eigentlich nur Frames ein, anders wirst du den Inhalt nicht auf deiner Website anzeigen können.
    Dann müsste aber dein Datenserver die Daten gleich hübsch (inkl. HTML und CSS) ausgeben, da du Inhalte von Frames in diesem Fall nicht verändern kannst.
  11. oje oje oje,

    also erstmal: Was hast du als Plattform, wo das drauf laufen soll?

    und welcher Hoster schafft PHP ab? wenn, wird es ein Freehoster sein, aber ich glaube kaum, dass er auf ASP.net umsteigen wird(was so ziemlich die einzige Alternative dazu wäre, die ohne großen Aufwand umsetzbar wäre).


    Also von der Überschrift her kann ich dir gleich sagen: es gibt keinen Web-service, den man in PHP schreibt, der Webservice wäre in dem Fall der Webserver mit dem jeweiligen PHP-Interpreter.


    Ich denke, es wäre sinnvoll, wenn du aus der "spezielleren Frage" eine "konkrete Frage" machst, damit wir nicht Luftschlösser auf Spiegelbildern von Wolken bauen... solange macht es auch keinen Sinn, wenn hier einer was rumrät, weil die Frage kann nciht konkret beantwortet werden. Es kann sein, dass der TE was nciht richtig verstanden hat und das Problem gar nicht besteht, oder dass er einen anderen Hoster braucht, oder dass kein Webserver mehr geht oder dass er kein SOAP verwenden kann... das waren jetzt 4 Probleme zu denen mir spontan 7 Lösungsmöglichkeiten einfallen... oder es ist ganz anders... also besser konkretisieren, anders wirst du hier keine brauchbare Antwort bekommen... ich denke mal nicht, dass du irgendwo im Hochsicherheitstrakt sowas anwendest und eine NDA unterschrieben hast... denn hier muss man konkret auf die Umgebungsparameter eingehen, der Inhalt ist egal und somit nicht erwähnenswert...
  12. sebulon schrieb:
    oje oje oje,

    also erstmal: Was hast du als Plattform, wo das drauf laufen soll?

    und welcher Hoster schafft PHP ab? wenn, wird es ein Freehoster sein, aber ich glaube kaum, dass er auf ASP.net umsteigen wird(was so ziemlich die einzige Alternative dazu wäre, die ohne großen Aufwand umsetzbar wäre).


    Also von der Überschrift her kann ich dir gleich sagen: es gibt keinen Web-service, den man in PHP schreibt, der Webservice wäre in dem Fall der Webserver mit dem jeweiligen PHP-Interpreter.


    Ich denke, es wäre sinnvoll, wenn du aus der "spezielleren Frage" eine "konkrete Frage" machst, damit wir nicht Luftschlösser auf Spiegelbildern von Wolken bauen... solange macht es auch keinen Sinn, wenn hier einer was rumrät, weil die Frage kann nciht konkret beantwortet werden. Es kann sein, dass der TE was nciht richtig verstanden hat und das Problem gar nicht besteht, oder dass er einen anderen Hoster braucht, oder dass kein Webserver mehr geht oder dass er kein SOAP verwenden kann... das waren jetzt 4 Probleme zu denen mir spontan 7 Lösungsmöglichkeiten einfallen... oder es ist ganz anders... also besser konkretisieren, anders wirst du hier keine brauchbare Antwort bekommen... ich denke mal nicht, dass du irgendwo im Hochsicherheitstrakt sowas anwendest und eine NDA unterschrieben hast... denn hier muss man konkret auf die Umgebungsparameter eingehen, der Inhalt ist egal und somit nicht erwähnenswert...


    Hallo sebulon,

    die Abkürzung NDA war mir bisher nicht bekannt :eek:
    Ich musste erst einmal über WIKI nachschauen was das sein soll.
    Das es für eine Verschwiegenheitserklärung das englischen Pendant Non-Disclosure-Agreement gibt wußte ich auch noch. Neu war mir, daß man das auch noch als NDA abkürzen kann. Tja, man lernt halt nie aus :king:

    Gruss Dunkeltuten
  13. Autor dieses Themas

    vctb

    vctb hat kostenlosen Webspace.

    Hi tut mir Leid das ich erst jetzt Antworte, aber ich war über die Feiertage weg.

    So zu meinem Problem:
    1. Ich habe einen Datenserver, darauf liegen Statistiken (in Form von Matrizen) von anderen Webseiten drauf.
    2. Die Besucherdaten liegen in einer MySQL-Datenbank.
    3. Zum darauf zugreifen gibt es im Moment einen SOAP-Service, der diese Daten für jede einzelne Webseite ausliesst.
    4. Der SOAP-Client liegt ebenfalls auf dem Datenserver und liefert die Statistiken als JSON-String zurück.
    5. Der SOAP-Client wird über eine AJAX-Funktion in jeder Seite aufgerufen und die Daten werden formatiert auf der jeweiligen Webseite ausgegeben.

    Das Problem an der Herangehensweise:
    1. Die Statistiken werden im Moment NICHT von Suchmaschinen ausgelesen, sie sollen aber in Suchergebnissen angezeigt werden.
    2. Ich möchte dieses System auf unterschiedlichsten Systemen verwenden und kann nicht davon ausgehen, dass alle Hoster PHP unterstützen.

    Der Idealfall wäre ein Java Script Programm, dass die Daten direkt während des Ladens der Seite ausließt und diese während der Ausführung direkt bereitstellen würde, da weiss ich leider nicht wie ich dies bewerkstelligen kann.

    Ich hoffe damit die Sache etwas zu verdeutlichen...

    Beitrag zuletzt geändert: 25.4.2014 8:34:02 von vctb
  14. Du musst es aber Serverseitig machen, wenn es bei Google ankommen soll.
    Google führt beim indexieren von Seiten keinen JavaScript-Code aus, also ist es egal, ob du die Statistiken via AJAX lädst oder eine Andere Client-Seitige Technik benutzt.
    Wenn du keine Frames benutzt (die für Google zwar gehen, aber doof sind), MUSST du eine serverseitige Sprache (auf dem 'Webserver') benutzen. Diese Lädt dann die Statistiken von dem 'Datenbankserver', und da ist es egal, ob es ein REST- oder SOAP-Interface ist. Dann fügt die serverseitige Sprache die Statistiken in das HTML von der Webseite ein und schickt diese als ein Packet an den Browser.

    Da wird dann nichts mehr nachgeladen. Das Zusammenschmelzen von Seite und Statistiken passiert dann schon auf dem Server und nicht auf dem Client.

    Um eine Serverseitige Sprache wirst du nicht drum rum kommen.
    PHP sollte da eine ganz gute Wahl sein, da viele diese Sprache zumindest im Ansatz beherrschen und sie auf vielen free-hostern vorzufinden ist.
    Sobald es dann darum geht, dass die Webseiten auf gemieteten Servern liegen, die vom Seitenbetreiber selbst konfiguriert werden, kann dieser auch PHP nachinstallieren.

    Ich hoffe, das hat ein wenig Klarheit geschaffen
  15. schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    Hallo

    Also ich hab einen JavaEE Server laufen der ebenfalls SOAP-Anfragen beantwortet und kann über den Code auf folgender Seite darauf zugreifen:
    http://dewiki.schrotti12.eu/index.php/PHP_Soap_Anfrage

    Die erste Methode ist eine parameterlose Anfrage und in der zweiten Methode können Parameter mitgegeben werden.

    Ich hoffe das hilft.

    mfg
    schrott12
  16. Autor dieses Themas

    vctb

    vctb hat kostenlosen Webspace.

    Hi,

    danke für die vielen Antworten und Ansätze. Ich bin jetzt auf eine zweigleisige Lösung umgestiegen, den Hauptteil der Server bediene ich weiter über die SOAP-Schnittstelle und den kleinen Rest füge ich per IFrame über den Datenserver ein.

    @speedtouch92: Laut Google sollen die Bots in der Lage sein JS-Code auszuführen, aber da liegt scheinbar der Wunsch Googles und die Realität sehr weit auseinander...
  17. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!