Rolf B: Integration zweier Webseiten per iframe - möglich?

Hallo,

ich habe den Job, zwei Webseiten miteinander "ins Gespräch" zu bringen. Beide sollen von einem zentralen Modul aus benachrichtigt werden, wenn gewisse externe Ereignisse eintreten (Telefon klingelt, etc).

Die Integration von Seite 1 (Intranet) mit dem Telefoniemodul ist seit 2 Jahren fertig, sie erfolgt per JavaScript (SignalR) aus dem Browser heraus. Entsprechende Rechte sind gesetzt, und auf den Maschinen der User (Terminal Server-Session) läuft eine Gruppe von Komponenten, die die Verbindung zur Telefonie herstellt. Das ist etwas altbacken, aber dem Umstand geschuldet, dass ein Teil dieser Komponenten schon vorher da war, damit auch weiterhin als Fallback bereitsteht und sich das in der Nutzwertanalyse als beste Lösung ergeben hat.

Nun kommt Seite 2, und möchte ebenfalls ans Telefon. Ich sitze als Telefonspinne im Netz[1] und alle fragen erst sich und dann mich, wie es denn gemacht werden soll. Hm. Ja. Es gibt viele Möglichkeiten. Eine wäre, vom Lieferanten das oben erwähnte SignalR Modul in die Seite 2 einhängen zu lassen, und es dem Lieferanten zu überlassen, dessen Schnittstelle anzuprogrammieren. Unsere Seite 1 könnte dann am Client auf diesem Weg Messages mit der Seite 2 austauschen. Kleiner zusätzlicher Pain Point: Deren Server läuft extern bei einem Cloud-Hoster, nicht im Intranet, es könnte spannend werden, die XSS-Barrikaden passend zu senken. Und der Lieferant zuckt ganz arg bei dem Gedanken.

Einige serverseitige Lösungen werden auch noch beleuchtet. Auch bei denen zuckt immer irgendwer schmerzhaft zusammen, vor allem die Netz-Admins, die die Wege aus der Cloud zu unserer Telefonanlage erst bahnen und dann sicher einzäunen müssten.

Eine anderer Gedanke ist, unsere Intranetseite der Cloud Seite als iframe einzulagern. Oder umgekehrt, die Cloud-Seite unserer Intranetseite. Und hier brauche ich Rat: Ist es erreichbar, dass diese beiden Komponenten miteinander kommunizieren? Kann ich den XSS-Schutz so einstellen, dass die äußere und innere Seite einander Botschaften schicken können? Was ist sinnvoller: Eine Seite außen, eine im iframe, oder zwei iframes nebeneinander und ein kleiner Broker außenrum. Hat hier jemand Erfahrung damit? Als Zielplattform ist der Firefox-Browser unter Windows gesetzt.

Rolf

--
sumpsi - posui - clusi

  1. Hach, was wär das schön, wenn ich ein Full Stack Entwickler nur für einen Stack zu sein bräuchte. ↩︎

  1. Idee: Websocket. Darüber können 2 Locationen miteinander kommunizieren ähnlich wie Prozesse über Pipe. Was Du auf der einen Seite hineinschiebst, kommt auf der anderen Seite wieder raus. Auch als Broadcast. Bedingung: Es braucht einen Websocketserver. Ansonsten ist es egal ob die URLs als iframe, tab oder in verschiedenen Browsern laufen. Und statt push gänge auch pull, also das übliche Request/Response Spiel wo Daten zentral erfasst und verteilt werden.

    MfG

    1. Hallo pl,

      danke für die Anregung. Ich hätte es eingangs dazuschreiben können: SignalR ist eine Library für Websockets (mit ein paar Fallbacks), und die genannte „Gruppe von Komponenten“ enthält einen lokalen Websocket-Server. Das verwenden wir bereits für die Browser-to-Local Kommunikation und natürlich ist das eine von vielen Optionen für das zweite Web.

      Ich suche aber eine Bewertung konkret für die iframe Idee, als Workaround für den Fall, dass der Anbieter keine eigene WS Kommunikation aufbauen will.

      Rolf

      --
      sumpsi - posui - clusi
  2. Kleiner zusätzlicher Pain Point: Deren Server läuft extern bei einem Cloud-Hoster, nicht im Intranet, es könnte spannend werden, die XSS-Barrikaden passend zu senken. Und der Lieferant zuckt ganz arg bei dem Gedanken.

    Cloud-Inhalte im Intranet via Reverse-Proxy einbinden?