Autor Thema: Programm auf entfernten Client aus starten  (Gelesen 5603 mal)

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Programm auf entfernten Client aus starten
« am: 19.02.10 - 12:56:51 »
Hallo zusammen,

ist es möglich , und wenn ja Wie, von einem Server aus -sagen wir mal innerhalb eines Webservice-Providers- ein Programm (exe) auf einem Client auszuführen?

Würde es mit Winsock oder Telnet gehen?

Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.710
  • Geschlecht: Männlich
Re: Programm auf entfernten Client aus starten
« Antwort #1 am: 19.02.10 - 12:58:44 »
Wenn du auf dem Client ein Stüch SW installieren kannst/möchtest,Ja. Nagios und seine Plugins machen Gebrauch davon.
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Programm auf entfernten Client aus starten
« Antwort #2 am: 19.02.10 - 13:59:25 »
Webservices können zwar über verschiedene Transportwege laufen, aber Winsock oder Telnet sind dafür sehr ungewöhnlich.
Keine Ahnung über welche Wege nagios kommuniziert, aber ich würd Messaging Infrastruktur wie Websphere MQ oder Active MQ für die beste Infrastruktur für sowas halten.
Winsocks und Telnet ist ziemlich sicher a) zu unsicher b) zu low level und c) zu teuer zu administrieren

Du würdest eher eine Architektur bauen, in der die Clients gescheduled gegen irgendwas pollen, um zu fragen, ob sie ein paar Jobs abarbeiten sollen. Das Messaging Zeugs stellt sehr gut sicher, dass die Nachrichten nicht verloren gehen, wenn das Netzwerk unten ist. Und das keine Nachrichten doppelt gesendet werden.
Verteiltes rechnen bringt immer zusätzliche Anforderungen mit sich.
a) günstige Administrierbarkeit
b) günstige Updatebarkeit
c) Sicherheit
d) Ausfallsicherheit
e) Skallierbarkeit
f) etc.
g) etc.
h) etc.
i) etc.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re: Programm auf entfernten Client aus starten
« Antwort #3 am: 19.02.10 - 16:39:21 »
Winsock sind meiner Kenntnis nach Methoden um eine TCP/IP Verbindung aufzurufen - Telnet meint an der Stelle den Port?
Das ist also mehr die Frage wie ich welche Leitung aufbaue.

Interessanter ist doch die Frage, wie erstelle ich auf einem Client ein Programm, dass auf einen Port hört, Ein- und Ausgabeparameter hat und eine .exe aufrufen kann.

Das sollte mit Java (Hallo Herr Pityankee?) kein Problem sein:
Einfach ein RMI Java Programm auf den Clients (die dann lustigerweise RMI Server sind) starten und dann zentral (also auf dem Server, der dann ein RMI Client ist) aufrufen.

Betriebssystemaufrufe sollte die Klasse ProcessBuilder bieten - habe ich aber noch nicht ausprobiert.

Einen Webservice dafür zu bauen wäre mir zu aufwändig - wenn es nur um das remote-Starten von Programmen geht.

Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Programm auf entfernten Client aus starten
« Antwort #4 am: 23.02.10 - 08:24:16 »
Danke schon mal für die Antworten.
Ich werde mal schauen, was sich machen lässt und was -vor allem- sinnvoll ist.
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Programm auf entfernten Client aus starten
« Antwort #5 am: 23.02.10 - 11:00:59 »
Interessanter ist doch die Frage, wie erstelle ich auf einem Client ein Programm, dass auf einen Port hört, Ein- und Ausgabeparameter hat und eine .exe aufrufen kann.

Das sollte mit Java (Hallo Herr Pityankee?) kein Problem sein:
Einfach ein RMI Java Programm auf den Clients (die dann lustigerweise RMI Server sind) starten und dann zentral (also auf dem Server, der dann ein RMI Client ist) aufrufen.
rmi hat wiederum ein ganz eigenes Protokoll. Wird aber kaum benutzt.
Es gibt bessere Wege, um Prozesse auf entfernten Rechnern auszuführen.
Man programmiert sowas einfach nicht low level. Auch wenn ich sowas mit TCP/IP, Java-RMI oder Telnet in 2 Stunden in einer Spielumgebung programmieren könnte, würd ich das in dieser Welt nicht machen. Es geht nämlich um ein wenig mehr, als dass der eine Rechner an den anderen etwas senden kann. Vielmehr gehören dazu:
- Sicherheit
- Failover-Handling
- Administrierbarkeit
- Änderbarkeit
- Übersichtlichkeit

Nur weils in java.net. all diese Socket Klassen gibt, muß man die ja nicht direkt einsetzen.
Die Welt ist für sowas heute ein großer Freund von Message Oriented Middleware wie Active MQ oder Websphere MQ. Da gibts dann eine spezialisierte Middleware, die sich um den Austausch von Nachrichten zwischen unterschiedlichen Rechnern kümmert. Die Nachricht ist dann auf dem Zielrechner ein Event, auf das dann ein Programm gestartet werden kann und über eine andere Queue auch wieder etwas zurückgeschickt werden kann. Das ganze geht synchron (der wo die Nachricht eingestellt hat wartet auf Antwort) oder asynchron (der wo die Nachricht eingestellt hat, wartet nicht auf Nachricht, reagiert aber möglicherweise auf eine solche). Je nach Einsatzgebiet kommt auch das von Ulrich genannte Nagios in Frage. Das wird zum Monitoring und Reporting von verteilten Serverumgebungen verwendet. Da muss man sich über Transport, Adressierung, Sicherheit, Failover, etc. von Nachrichten nicht mehr kümmern, weil die Nagios Entwickler das bereits fertig entwickelt haben. Allerdings würd ich das System nicht für nicht-Monitoring Aufgaben vergewaltigen. ActiveMQ wär eine flexiblere Option, die nicht so wahnsinnig kompliziert ist. Oder - falls vorhanden - Websphere MQ (ehemals MQ Series) -> komplex, teuer, aber eben auch sehr gut. 

Es kann ja irgendwie nicht sein, dass Rechner kunterbunt über allemöglichen Methoden aufeinander zugreifen. Wirklich nicht.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Pyewacket

  • Senior Mitglied
  • ****
  • Beiträge: 308
  • Geschlecht: Männlich
Re: Programm auf entfernten Client aus starten
« Antwort #6 am: 23.02.10 - 11:50:18 »
Das waren jetzt diverse Ansätze zum Thema 'Wie' aber warum willst du von einem Server aus ein Programm auf dem Client ausühren?
ATOS.org - Feel the music!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz