© metamorworks/Shutterstock.com
PHP Magazin
Datenübertragung vom Client zum Server bis zur Datenbank

Streaming von Anfang bis Ende

Streaming ist für Entwickler keine neue Technologie. Zahlreiche Kernmodule wie Node.js basieren auf Datenströmen. Auch clientseitig wird beispielsweise mit der Bibliothek RxJS gearbeitet. Dieses flexible Prinzip kann nicht nur im kleinen Frontend für die Übertragung von Daten vom Server genutzt werden, sondern auch auf gesamter Strecke zwischen Client und Server bis hin zur Datenbank.

Sebastian Springer


Datenströme sind ein Thema, das Entwickler schon sehr lange beschäftigt. Klassische Beispiele sind Pipes. Hier kommen Daten aus einer Quelle, einem beliebigen Kommando, und werden an ein weiteres Kommando weitergereicht. Diese Pipeline kann beliebig lang werden. Jedes Element der Pipeline kümmert sich dabei um einen ganz bestimmten Aspekt. Das Konzept von Datenströmen begegnet uns nicht nur auf Systemebene, sondern hat auch an zahlreichen Stellen in der Webentwicklung Einzug gehalten. Prominentestes Beispiel: Das HTTP-Protokoll. Client und Server haben die Möglichkeit, Nachrichten zu streamen. Dabei können nach einer initialen Anfrage mehrere Pakete, die zur gleichen Nachricht gehören, übertragen werden. Noch einen Schritt weiter geht Node.js. Die Plattform bietet ein Stream-Modul, mit dem sich les- und schreibbare Datenströme implementieren lassen. Dieses Modul bildet die Grundlage für zahlreiche weitere Kernmodule, aber auch Pakete von Drittanbietern. Sie können beispielsweise Daten in eine Datei streamen oder den Inhalt einer Datei über einen Stream verarbeiten.

Clientseitig finden Sie gerade bei den modernen reaktiven Frameworks immer wieder Ansätze von Datenströmen zur Verarbeitung von Informationen. Das offensichtlichste Beispiel ist hier die Bibliothek RxJS. Mit ihr können Sie asynchrone Datenströme modellieren und mit Hilfe von Operatoren verarbeiten. Diese Bibliothek bildet einen wichtigen Baustein von Angular. Hier sind Teile des Frameworks wie Reactive Forms, der HTTP-Client oder der Router mit RxJS umgesetzt und erlauben, dass Sie auf Ereignisse innerhalb der Applikation reagieren. Hier stellen sich die folgenden Fragen: Wenn schon ein Großteil der beteiligten Komponenten einer Webapplikation Streaming unterstützt, wie können Sie dieses Prinzip in Ihrer Applikation ausnutzen, was müssen Sie beachten und welche Vor- und Nachteile bietet das Streaming? Mit diesen Aspekten beschäftigen wir uns auf den folgenden Seiten.

Die Idee: Streaming vom Client bis zur Datenbank

Die Hauptaufgabe von Frontend-Bibliotheken und Frameworks wie Angular, React und Vue ist es, Daten zu präsentieren und einem Benutzer Interaktionsmöglichkeiten zu bieten. Sobald sich die Daten ändern, sorgt die Software dafür, dass diese Änderungen möglichst effizient zur Darstellung gebracht werden. Das Ziel ist hierbei eine nahezu verzögerungsfreie Visualisierung. Die Hersteller der Lösungen betreiben großen Aufwand, um ein Maximum an Performance zu erreichen. Dieses Potenzial kann...

PHP Magazin
Datenübertragung vom Client zum Server bis zur Datenbank

Streaming von Anfang bis Ende

Streaming ist für Entwickler keine neue Technologie. Zahlreiche Kernmodule wie Node.js basieren auf Datenströmen. Auch clientseitig wird beispielsweise mit der Bibliothek RxJS gearbeitet. Dieses flexible Prinzip kann nicht nur im kleinen Frontend für die Übertragung von Daten vom Server genutzt werden, sondern auch auf gesamter Strecke zwischen Client und Server bis hin zur Datenbank.

Sebastian Springer


Datenströme sind ein Thema, das Entwickler schon sehr lange beschäftigt. Klassische Beispiele sind Pipes. Hier kommen Daten aus einer Quelle, einem beliebigen Kommando, und werden an ein weiteres Kommando weitergereicht. Diese Pipeline kann beliebig lang werden. Jedes Element der Pipeline kümmert sich dabei um einen ganz bestimmten Aspekt. Das Konzept von Datenströmen begegnet uns nicht nur auf Systemebene, sondern hat auch an zahlreichen Stellen in der Webentwicklung Einzug gehalten. Prominentestes Beispiel: Das HTTP-Protokoll. Client und Server haben die Möglichkeit, Nachrichten zu streamen. Dabei können nach einer initialen Anfrage mehrere Pakete, die zur gleichen Nachricht gehören, übertragen werden. Noch einen Schritt weiter geht Node.js. Die Plattform bietet ein Stream-Modul, mit dem sich les- und schreibbare Datenströme implementieren lassen. Dieses Modul bildet die Grundlage für zahlreiche weitere Kernmodule, aber auch Pakete von Drittanbietern. Sie können beispielsweise Daten in eine Datei streamen oder den Inhalt einer Datei über einen Stream verarbeiten.

Clientseitig finden Sie gerade bei den modernen reaktiven Frameworks immer wieder Ansätze von Datenströmen zur Verarbeitung von Informationen. Das offensichtlichste Beispiel ist hier die Bibliothek RxJS. Mit ihr können Sie asynchrone Datenströme modellieren und mit Hilfe von Operatoren verarbeiten. Diese Bibliothek bildet einen wichtigen Baustein von Angular. Hier sind Teile des Frameworks wie Reactive Forms, der HTTP-Client oder der Router mit RxJS umgesetzt und erlauben, dass Sie auf Ereignisse innerhalb der Applikation reagieren. Hier stellen sich die folgenden Fragen: Wenn schon ein Großteil der beteiligten Komponenten einer Webapplikation Streaming unterstützt, wie können Sie dieses Prinzip in Ihrer Applikation ausnutzen, was müssen Sie beachten und welche Vor- und Nachteile bietet das Streaming? Mit diesen Aspekten beschäftigen wir uns auf den folgenden Seiten.

Die Idee: Streaming vom Client bis zur Datenbank

Die Hauptaufgabe von Frontend-Bibliotheken und Frameworks wie Angular, React und Vue ist es, Daten zu präsentieren und einem Benutzer Interaktionsmöglichkeiten zu bieten. Sobald sich die Daten ändern, sorgt die Software dafür, dass diese Änderungen möglichst effizient zur Darstellung gebracht werden. Das Ziel ist hierbei eine nahezu verzögerungsfreie Visualisierung. Die Hersteller der Lösungen betreiben großen Aufwand, um ein Maximum an Performance zu erreichen. Dieses Potenzial kann...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang