Webanwendung soll lokale Anwendung ausführen...nur wie?

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Phlok
User
Beiträge: 1
Registriert: Sonntag 22. November 2009, 17:50

Hi,

wir haben eine Anwendung geschrieben, deren GUI im Webbrowser läuft. Da diese Anwendung alles, was sie so braucht von einem DB Server holt und ggf. dort ausführt ist das kein Problem.

Nun ist es aber erforderlich, dass aus dieser Anwendung heraus lokale Programme, die auf dem Rechner des Benutzers installiert sind, ausgeführt werden müssen. Der Benutzer soll in der Lage sein, in der Browseranwendung einen Button zu drücken, woraufhin lokal ein Skript ausgeführt wird, dass in einer lokalen Software ein Projekt anlegt.

Mir ist dazu nur eine extrem komplizierte Lösung eingefallen. Auf dem Lokalen Benutzerrechner läuft ein Dienst, der nach Anfrage aus dem LAN eben dieses Projektanlageskript ausführt. Sobald also ein Benutzer den entsprechendn Button in der BrowserGUI gedrückt hat, startet ein Webservice und kommuniziert mit dem lokalen Dienst, der dann wiederum die Anwendung ausführt.

Aber...gehtd as ganze nicht irgendwie einfacher? Kann ich nicht irgendwie mit Zertifikaten arbeiten, die es ermöglichen aus meiner Browseranwendung heraus lokale zuzugreifen?
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Ich habe an der Arbeit mal eine Zeit lang mit PDM 9000 gearbeitet ( http://www.lte-ag.de/Produkte/PDM9000/pdm9000.html ). Das ist auch ein Browser Programm was Hand in Hand mit den Lokal installierten zusammen arbeiten muss. Die haben das mit einer Lokal Komponente realisiert die all das gemacht hat wo die Rechte des Browsers aufgehört haben.

Ich denke was anderes bleibt euch auch nicht. Entweder ein Lokales Programm oder ActiveX bzw ein Firefox plugin.
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

So schwierig ist das ja auch nicht. Bau dir ein Script, das einfach nur auf Anfragen wartet und dann Code ausführt.

Das Unsicherste aber Einfachste was du machen kannst ist ein Script, was einfach nur die ganze Zeit Input ausliest und `eval`d. Würde ich dir aber nicht empfehlen :-)
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Wenn man von einer Webanwendung aus einen lokalen Prozess starten möchte kann man entweder ein Plugin benutzen, was dies kann oder einen lokalen Server laufen lassen, den man dann einfach über den Browser anspricht. Das Plugin könnte man selbst schreiben (schwer, doof) oder ein signiertes Java-Applet benutzen. Das hätte Vollzugriff auf den Rechner. Bei Silverlight bin ich mir nicht sicher, ob es da auch ginge, wahrscheinlich. Statt Browser und Plugin wäre AIR 2.0 eine Alternative. Dem Anwender fällt dann nicht so auf, dass es eine Webanwendung ist, was ein Vorteil sein könnte, doch man behält als Entwickler den Vorteil der einfachen zentralisierten Auslieferung. AIR 2.0 kann native Prozesse starten. Die vielleicht am einfachsten zu entwickelnde Lösung wäre der lokal installierte Server. Dafür hat das offensichtlich einen höheren Aufwand, das wie Auslieferung angeht. Einen kleinen Webserver, der einen Request annimmt und dann beliebige Dinge macht, kann man in nahezu jeder Sprache schreiben - z.B. in Python.

Stefan
Antworten