Hallo !
Ich habe hier die folgende Frage zu dem Thema Socket APi und Kommunikation zwischen Prozessen vorliegen:
Kommunikation zwischen Prozessen kann durch Socket API zwar realisiert werden, aber stellt das eher die Ausnahme da? Falls ja, so begründen sie bitte.
Also erstmal ist keine Angabe darüber gemacht worden, ob es sich um eine Kommunikation im Internet handelt oder in einem Firmeninternen Netzwerk (Intranet? Hoffe die Bezeichnung passt hier nun). Also ich habe eine Lösung ausarbeiten können, aber bin mir dabei nicht wikrlich sicher. Ich glaube durch die Verwendung einer möglichen Middleware (bestehend aus Modulen der Standrads J2EE oder .Net oder auch Corba) brauche ich das Rad nicht immer wieder neu zu erfinden, sondern nutze den Vorteil des Automatismus und brauche mich als Anwendungsentwickler nicht mehr mit solche technischen Details befassen.
Grundsätzlich ist die explizite Kommunikation zwischen zwei Prozessen über Socket-API möglich, bringt aber auch einige Nachteile mit sich. Erstmal brauche ich gute Programmierkenntnisse und muss ziemlich viel beachten, bspw. die Hetrogenität der Betriebssystemen und der Hardware (unterschiedliche Darstellung der Daten im Speicher) und evtl. werden unterschiedliche Programmiersprachen verwendet. Ich muss also jeden Quark selbst programmieren. Ich glaube bei expliziter Verwendung des Socket API´s kann man nicht mehr von wirklicher Verteilungstransparent sprechen.
Vorteile wären evtl. mehr Flexibilität und individuellere Handhabung...
Also um es nun noch mal verständlich zusammenzufassen. Es findet eine Kommunikation immer über Socket API statt.
1. Entweder automatisiert und für mich als Anwendungsentwickler transparent umgesetzt durch die jeweils verwendete Middleware...
2. ...oder ich mache es selbst ohne Middleware und baue selbst über das Socket API Verbindungen auf. Mache ich es selbst, habe aber erheblichen Mehraufwand. Mich würde interessieren, ob ich so auch in Konflikt mit einigen Firewalls kommen könnte.
Ich glaube ein Webservice kommuniziert ja immer über Port 80 (http) und sind deshalb auch über Intranetgrenzen hinaus erreichbar. Der Port 80 ist ja i.d.R. bei Firewalls offen. Alle die vom Webservice geschickten Daten, Anfragen etc. werden getunnelt über diesen Port übertragen (z.B. über eine Firewall in ein Firmennetz). Nutze ich nun selbst das Socket API, müssen doch Firewalls bestimmte Ports freigeben, damit die mit mir überhaupt kommunizieren können oder? Und das würde auch die Sicherheit gefährden...
...hoffe ich bin mit meiner Antwort nicht komplett auf dem Holzweg...
Ich habe hier die folgende Frage zu dem Thema Socket APi und Kommunikation zwischen Prozessen vorliegen:
Kommunikation zwischen Prozessen kann durch Socket API zwar realisiert werden, aber stellt das eher die Ausnahme da? Falls ja, so begründen sie bitte.
Also erstmal ist keine Angabe darüber gemacht worden, ob es sich um eine Kommunikation im Internet handelt oder in einem Firmeninternen Netzwerk (Intranet? Hoffe die Bezeichnung passt hier nun). Also ich habe eine Lösung ausarbeiten können, aber bin mir dabei nicht wikrlich sicher. Ich glaube durch die Verwendung einer möglichen Middleware (bestehend aus Modulen der Standrads J2EE oder .Net oder auch Corba) brauche ich das Rad nicht immer wieder neu zu erfinden, sondern nutze den Vorteil des Automatismus und brauche mich als Anwendungsentwickler nicht mehr mit solche technischen Details befassen.
Grundsätzlich ist die explizite Kommunikation zwischen zwei Prozessen über Socket-API möglich, bringt aber auch einige Nachteile mit sich. Erstmal brauche ich gute Programmierkenntnisse und muss ziemlich viel beachten, bspw. die Hetrogenität der Betriebssystemen und der Hardware (unterschiedliche Darstellung der Daten im Speicher) und evtl. werden unterschiedliche Programmiersprachen verwendet. Ich muss also jeden Quark selbst programmieren. Ich glaube bei expliziter Verwendung des Socket API´s kann man nicht mehr von wirklicher Verteilungstransparent sprechen.
Vorteile wären evtl. mehr Flexibilität und individuellere Handhabung...
Also um es nun noch mal verständlich zusammenzufassen. Es findet eine Kommunikation immer über Socket API statt.
1. Entweder automatisiert und für mich als Anwendungsentwickler transparent umgesetzt durch die jeweils verwendete Middleware...
2. ...oder ich mache es selbst ohne Middleware und baue selbst über das Socket API Verbindungen auf. Mache ich es selbst, habe aber erheblichen Mehraufwand. Mich würde interessieren, ob ich so auch in Konflikt mit einigen Firewalls kommen könnte.
Ich glaube ein Webservice kommuniziert ja immer über Port 80 (http) und sind deshalb auch über Intranetgrenzen hinaus erreichbar. Der Port 80 ist ja i.d.R. bei Firewalls offen. Alle die vom Webservice geschickten Daten, Anfragen etc. werden getunnelt über diesen Port übertragen (z.B. über eine Firewall in ein Firmennetz). Nutze ich nun selbst das Socket API, müssen doch Firewalls bestimmte Ports freigeben, damit die mit mir überhaupt kommunizieren können oder? Und das würde auch die Sicherheit gefährden...
...hoffe ich bin mit meiner Antwort nicht komplett auf dem Holzweg...