Viele Entwickler halten Web Services für die Standard-Lösung bei allen Aufgaben. Zwar funktionieren Web Services tatsächlich in vielen Situationen, aber es gibt auch Alternativen, die je nach Projekt noch angemessener sein können. Remoting ist ein gutes Beispiel, allerdings kann es schwierig zu entscheiden sein, wann man Remoting gegenüber Web Services den Vorzug geben sollte. Hier werden beide Technologien genauer unter die Lupe genommen, und es werden Entscheidungshilfen für den Einsatz dieser oder jener Technik angeboten.
Remoting
Das .NET-Framework enthält Remoting in der CLR (Common Language Runtime). Es stellt Klassen zur Verfügung, mit denen verteilte Anwendungen sowie Netzwerkdienste erstellt werden können, die Nachrichten über so genannte Channels versenden.
Remoting ermöglicht die Nutzung eines von zwei Channels (HTTP oder TCP) und ersetzt das DCOM (Distributed Component Object Model). Man kann Remoting in jeder Art von .NET-Anwendung benutzen, einschließlich Konsole, Windows Form, Windows Services und so weiter.
Es ist eine Reihe von Serialisierungsformaten für die Verwendung mit Remoting verfügbar. Standardmäßig verwendet der HTTP-Channel SOAP (Simple Object Access Protocol) und TCP das Binärformat. Dies sind allerdings nur die Standardeinstellungen, Channels können faktisch jedes beliebige Serialisierungsformat verwenden.
Für die Implementierung einer Remoting-Anwendung stehen mehrere Möglichkeiten bereit, darunter die folgenden:
Der wichtigste Aspekt bei Remoting ist, dass jeder Endpunkt im Prozess das .NET-Framework nutzen muss. Dadurch können Objekttypen zwischen den Endpunkten einfach ausgetauscht werden, da sie alle dieselbe Umgebung verwenden. Jedem Objekt wird eine so genannte lease time zugewiesen. Nachdem diese abgelaufen ist, wird das Objekt von der .NET Runtime-Remoting-Infrastruktur getrennt. Die Übergabe einer Objektreferenz führt zum Zugriff auf dasselbe Objekt mit Hilfe der Referenz – daher die Notwendigkeit von .NET an jedem Endpunkt.
Ein Remoteobjekt wird in einer Klasse implementiert, die von der Klasse System.MarshalByRefObject abgeleitet wird. Ein Client ruft Methoden über ein Proxy-Objekt auf, welches die erforderlichen Methoden des Remoteobjekts aufruft. Jede im Remoteobjekt definierte öffentliche Methode steht dem Client zur Verfügung. Daher kann man Remoting auch als Peer-to-Peer-Verfahren bezeichnen. Nun noch ein schneller Blick auf Web Services, ehe diese Technologie dem Remoting gegenübergestellt wird.
Malware SmokeLoader wird weiterhin von Bedrohungsakteuren genutzt, um Payloads über neue C2-Infrastrukturen zu verbreiten.
Bankhaus Metzler und Telekom-Tochter MMS testen, inwieweit Bitcoin-Miner das deutsche Stromnetz stabilisieren könnten.
Mit 1,7 Exaflops ist El Capitan nun der dritte Exascale-Supercomputer weltweit. Deutschland stellt erneut den…
Der deutsche Hyperscaler erweitert sein Server-Portfolio um vier Angebote mit den neuen AMD EPYC 4004…
Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…
Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…