2009-04-11 9 views
1

Ich entwerfe eine Web-App, die einige Informationen enthält, die an eine Client-Seite (Nicht-Browser) -Anwendung (z. B. Outlook) übertragen werden müssen. Vorausgesetzt, dass die clientseitige App über eine bestimmte API verfügt, muss die Webanwendung die Clientseite auslösen (basierend darauf, dass ein Benutzer auf einen Link klickt), um die Informationen abzurufen und über die API in die Clientanwendung zu übertragen.Interaktion zwischen Web-App und Client?

Mein erster Gedanke wäre, ein ActiveX-Steuerelement zu schreiben, das ich einen sicheren Code übergeben kann, der diese Informationen verwendet, um über einen von mir erstellten Webdienst mit der Webanwendung zu kommunizieren und das ActiveX-Steuerelement die Schnittstelle dann implementieren kann die Client-Seite App (zB Outlook). Basierend auf dem, was ich gelesen habe, ist dies mit ActiveX machbar.

Mein Problem ist, dass ActiveX nicht funktioniert in Mozilla-Browsern oder Chrome, die ein echtes Problem darstellt, wie ich dies für Multi-Plattform benötigen. Ich habe über NPAPI gelesen, die angeblich die gleichwertige native Technologie ist. Ich habe auch über Plug-Ins für Firefox und Chrome gelesen, die angeblich ActiveX unterstützen, aber nicht nativ sind. Ich brauche eine native Out-of-the-Box-Unterstützung, damit Benutzer nichts Besonderes tun müssen, einfach klicken und ausführen. Also hier sind meine Fragen:

1) Ist ActiveX meine einzige Option für IE?

2) Muss ich ActiveX und NPAPI entwickeln, um alle Clients zu unterstützen?

3) Gibt es eine bessere Möglichkeit, dies zu tun, die mir nicht bekannt ist? Ich bin offen für andere Technologien, da der Fokus auf einer nahtlosen Benutzererfahrung liegt.

Vielen Dank für einen Einblick!

Antwort

0

wenn ich Ihre Anforderung richtig verstehen, ich don Ich denke, alles wird nahtlos sein. Sie benötigen eine Art von Modul, das auf den Client-Computer heruntergeladen wird, der Zugriff auf die lokalen Systemressourcen hat. Jeder vernünftige Browser wird entsetzte Warnungen an den Benutzer auslösen.

+0

Danke dommer. Ich bin damit einverstanden, dass der Benutzer eine Komponente (wie ActiveX) herunterladen muss, ich nehme an, dass es ein notwendiges Übel ist, ich möchte es einfach halten und würde lieber eine Technologie als 2 oder 3 basierend auf dem Browser verwenden. –

0

im Angst, eine Ihrer möglichen Lösungen wäre ein Plugin für jeden der Browser entwickeln Sie diese App mit arbeiten möchten, wie Google mit Gängen hat

aber man kann immer versuchen, das zu tun Trick mit einem Java-Applet, aber ich weiß nicht, ob die Browser Sicherheitspolitik ermöglicht es Ihnen, zu einer App wie Outlook zu reden, ich glaube, es

prost

+0

Es wird, aber es wird einen Dialog angezeigt, der den Benutzer erfordert, dem Steuerelement "zu vertrauen". Der Dialog ist nicht besonders spezifisch, was passieren wird, manchmal erschreckt er die Benutzer halb: -/ – taxilian

0

Je nachdem, welche Art von Informationen übertragen werden, ist es möglich, dass Outlook beim Herunterladen geöffnet und verarbeitet werden kann. Beispielsweise wird Outlook normalerweise als Standardanwendung für ICS-Dateien (Internet Calendar) festgelegt. Wenn ich eine .ics-Datei herunterlade, wird Outlook gestartet und die Datei als Kalendereintrag geöffnet.

Also, eine verrückte Idee wäre, eine kleine Anwendung zu schreiben, die der Benutzer auf ihrem System installieren würde. Diese Anwendung wird als Standardprogramm für einen eindeutigen Dateityp registriert. Wenn Sie die Informationen übertragen möchten, laden Sie die Datei einfach als Anhang herunter. Ihr Programm wird aufgerufen, um es zu verarbeiten. Ihr Programm kann dann die Outlook-API verwenden, um die Daten in beliebiger Weise an Outlook zu senden.

Wenn die Interaktion für eine einzelne Datei nicht geeignet ist, können Sie weiterhin eine Dummy-Datei verwenden. Es ist der Zweck, Ihr kleines clientseitiges Programm zu starten und ihm Anweisungen zu geben. Ihr Programm könnte dann auf der einen Seite an einen Web-Service von Ihnen und auf der anderen Seite über die Outlook-API kommunizieren. Sie könnten in dieser Umgebung alles tun, was Ihnen gefällt, insbesondere, wenn Sie auch ein Outlook-Add-In erstellen.

Ich habe keine Outlook-Programmierung für mehrere Versionen gemacht. Es ist möglich, dass Sie mit den Outlook 2007- und den Visual Studio-Tools für Office einige dieser Teile kombinieren können. Der Hauptvorteil ist, dass Sie sich über den Browser überhaupt keine Gedanken machen müssen.

0

ActiveX funktioniert nur auf IE, aber NPAPI arbeitet auf firebreath, Chrome etc.

Sie könnten das firebreath Projekt verwenden, die eine relativ einfache bietet Abstraktion zu verwenden, um ein einzelnes Plugin-Schnittstelle zu schaffen, die als eine funktioniert ActiveX-Steuerelement oder ein NPAPI-Steuerelement.

die Projekt-Homepage ist hier: http://www.firebreath.org

Trotz des Fehlens einer offiziellen Veröffentlichung, es ist wirklich sehr nahe an einem 1.0 Fenster-only Release; Wie es sich anhört, ist alles, was dich interessiert.

Für "quickstart" Informationen, überprüfen Sie diese Wiki-Seite: http://www.firebreath.org/display/documentation/Creating+a+New+Plugin+Project - es gibt ein Python-Skript, das ein Beispielprojekt generieren wird, können Sie in wahrscheinlich 30 Minuten mit einem einfachen Plugin ausgeführt werden.

Auch beitreten die Mailing-Liste - ich bin der primäre Entwickler, und ich versichere Ihnen, dass wir Fragen umgehend beantworten, wenn Sie Probleme haben, zu beginnen. =]

Verwandte Themen