Rainer: Anzeigen zwischen Webseiten importieren/exportieren- Tipp?

Hallo,
ich habe zwei Webseiten mit jeweils verschiedenen Anzeigen (items).
Per XML Datei kann ich die Items  manuell via upload aktualisieren, ohne Probleme.
Doch wie kann ich das ganze automatisieren? Ich habe schon nach alles möglich gegoo..
Leider weiß ich gar nicht, wonach ich genau suchen muss.

  
  
<?xml version="1.0" encoding="utf-8"?>  
<listings>  
    <listing>  
        <title lang="en_US"><![CDATA[Title]]></title>  
        <content lang="en_US"><![CDATA[Lorem ipsum dolor sit amet, malesuada.]]></content>  
  
        <category lang="de_DE">Dachwohnung</category>  
  
        <contactemail>info@gmail.com</contactemail>  
        <contactname>Mein Name</contactname>  
  
        <price>123.45</price>  
        <currency>EURO</currency>  
  
        <latitude>45.123687</latitude>  
        <longitude>-123.113692</longitude>  
        <custom name="field_slug">value</custom>  
  
        <datetime>2012-08-08 12:34:56</datetime>  
    </listing>  
</listings>  
  

Wie wäre da die Vorgehensweise, wenn per Ab- oder Aufruf alle Anzeigen von Website A nach Website B transportiert werden sollen?
Ich hoffe jemand kann mir etwas auf die Sprünge helfen.
Vielen Dank

  1. hi Rainer,

    Wie wäre da die Vorgehensweise, wenn per Ab- oder Aufruf alle Anzeigen von Website A nach Website B transportiert werden sollen?

    Machn Ablauf-Plan zu dem, was Du vorhast und wir reden drüber. Also, Dein Datenfluss-Plan, wo ist die Quelle, wie sieht die aus, ist die zentral, wo solls hin, wer triggert usw.

    Ich hoffe jemand kann mir etwas auf die Sprünge helfen.

    Gute Ideen habe ich immer.

    Hab vor ungefähr 10 Jahren für einen süddeutschen Verein einen Plan entworfen, wie sie die Öffnungszeiten ihrer Hütten zentral verwalten können über Webservices.

    Horst

    1. hi Rainer,

      Wie wäre da die Vorgehensweise, wenn per Ab- oder Aufruf alle Anzeigen von Website A nach Website B transportiert werden sollen?

      Machn Ablauf-Plan zu dem, was Du vorhast und wir reden drüber. Also, Dein Datenfluss-Plan, wo ist die Quelle, wie sieht die aus, ist die zentral, wo solls hin, wer triggert usw.

      Ich hoffe jemand kann mir etwas auf die Sprünge helfen.

      Gute Ideen habe ich immer.

      Hab vor ungefähr 10 Jahren für einen süddeutschen Verein einen Plan entworfen, wie sie die Öffnungszeiten ihrer Hütten zentral verwalten können über Webservices.

      Horst

      Hallo Horst,

      danke für Deine Antwort.

      Den Ablaufplan denke ich mir wie folgt.
      1. Die Daten werden per PHP aus der Datenbank von Website A ausgelesen und in eine XML Datei geschrieben.
      2. Die XML Datei wird dann zum Server von Website B per FTP (?) in Folder X übertragen.
      3. Anschließend werden die Daten per PHP wieder ausgelesen und in die Datenbank von B gespeichert.
      (4. Hier müsste dann noch eine Prüfung erfolgen, ob sich Daten im Folder X befinden, falls ja auslesen, abspeichern und bei Erfolg den File löschen)
      Ich hoffe ich bin auf den richtigen Weg.

      Es gibt noch die Webservice Methode mit WDSL- leider hab ich da keinen Plan wie überhaupt die Datenübertragung abläuft. Vielleicht kannst Du mich ja darüber aufklären. Ich arbeite mit PHP und mysql.

      Wie gesagt, die Daten kommen von DB1 aus Website A und sollen in DB1 von Webseite B importiert/exportiert werden.

      Gruß Rainer

      1. Moin,

        Daten spiegeln? Zum Spiegeln gibt es mehrere Möglichkeiten, die automatisierbar sind:

        • MySQL als Master/Slave
        • rsync
        • HTTP
          Da stecken Protokolle dahinter, prüfe, ob da was für Dich dabei sein könnte, was Du verwenden kannst.

        Wenn das nur eine Datei ist, die von a nach b soll, würde ich auf b einen Cronjob einrichten, der per HTTP spiegelt (Quelle: http://a, Ziel: lokales Dateisystem auf b), das funktioniert auch mit mehreren Dateien recht einfach. Mit Perls Libwww habe ich das mal so gemacht zum Spiegeln/Verteilen von proxy.pac-Dateien, die auf einem System zentral verwaltet und auf mehrere Webserver verteilt wurden. Libwww stellt u.a. selbstständig fest, ob sich im Inhalt der Quelle was geändert hat und eine Datei neu geholt werden muss.

        Horst

        1. Moin,

          Daten spiegeln? Zum Spiegeln gibt es mehrere Möglichkeiten, die automatisierbar sind:

          • MySQL als Master/Slave
          • rsync
          • HTTP
            Da stecken Protokolle dahinter, prüfe, ob da was für Dich dabei sein könnte, was Du verwenden kannst.

          Wenn das nur eine Datei ist, die von a nach b soll, würde ich auf b einen Cronjob einrichten, der per HTTP spiegelt (Quelle: http://a, Ziel: lokales Dateisystem auf b), das funktioniert auch mit mehreren Dateien recht einfach. Mit Perls Libwww habe ich das mal so gemacht zum Spiegeln/Verteilen von proxy.pac-Dateien, die auf einem System zentral verwaltet und auf mehrere Webserver verteilt wurden. Libwww stellt u.a. selbstständig fest, ob sich im Inhalt der Quelle was geändert hat und eine Datei neu geholt werden muss.

          Horst

          Hallo Horst,

          ich weiß nicht, ob der Ansatz geeignet ist, vielleicht drücke ich mich auch falsch aus.
          Das System, die Datenbankeinträge etc. von Webseite B sind unbekannt. Es soll von Webseite A eine Schnittstelle zur Verfügung gestellt werden, mit der die Daten von Webseite B übertragen werden.
          So wie z.B. ein Immobilienportal das seinen Inserenten anbietet, die Anzeigen aus ihren Systemen zu importieren.

          Meine Bsp. XML macht das ja schon, im Prinzip und nur manuell. Ich suche also nach einer Lösung, wie ich die XML quasi als Webservice anbieten kann und die Daten die darüber übertragen werden, dann in der Datenbank von Website A gespeichert werden.
          Ich habe da was von REST, WDSL und SOAP gelesen ;-), naja für mich totales Neuland. Ich habe leider noch kein richtiges Tutorial gefunden, in dem der Ablauf beschrieben ist, wie man einen Webservice anbietet. Ich kenne nur die, wo erklärt wird, wie man einen Webservice nutzt.

          Gruß Rainer

          1. hi,

            Meine Bsp. XML macht das ja schon, im Prinzip und nur manuell. Ich suche also nach einer Lösung, wie ich die XML quasi als Webservice anbieten kann

            XML ist Presentation Layer. Wenn Dein Webserver als http://example.org/data.xml eine XML breitstellt, ist das ja schon ein Service, die Gegenstelle (Client) bedient sich der Request-Method GET, fertig.

            Wenn die Gegenstelle (Client) an Deinen Server was senden will, käme ein POST oder ein PUT in Frage, als nächstes die Einigung auf den Content-Type (enctype), wo Dein Server weiß, wo die Daten im Request liegen. Wenn bspw. enctype="multipart/form-data" in einem POST vorliegt, werden die einzelnen Komponenten anhand einer boundary wiederhergestellt und können im Einzelnen wiederum von verschiedenen Content-Type sein, wie z.B. XML, text/plain, application/pdf usw.

            Bei einem PUT sendet der CLient im HTTP-Request-Header den Dateinamen und im Body den Inhalt (binary), der Server schreibt das dann ins lokale FS als Datei. PUT kann auch über die CGI-Schnittstelle emuliert werden.

            Horst