Forum: PC-Programmierung Windows-Anwendung und WebServer-Kommunikation


von Odin (Gast)


Lesenswert?

Hi,

in welcher Programmiersprache würdet ihr möglichst einfach eine 
ausführbare Windows-Anwendung erstellen, die sicher mit einem WebServer 
(aktuell LAMP) bzw. der Datenbank kommuniziert und ohne große 
Umgebungs-Abhängigkeiten auf den gängigen Windows-Betriebssystemen 
läuft?
Es könnten später aufgrund hoher Nutzungszahlen durchaus einige 
Verbindungen gleichzeitig entstehen.

Es geht mir nicht um ein einfaches GET, sondern um so etwas wie ein AJAX 
JSON POST Request mit vorhergender Zertifikats-Prüfung und 
Authentifizierung mittels Benutzername+Passwort, nur das eben kein 
Browser beteiligt ist und auch kein Mensch die Daten manuell eingibt.

Der "Client" sollte sich also gegenüber dem Server mit fest hinterlegtem 
Benutzernamen und Passwort oder einer Art API-Key authentifizieren und 
anschließend Daten in die Datenbank übertragen. Ich hatte auch schon an 
ein Browser-PlugIn gedacht, aber das ist auch nicht ganz ohne Probleme. 
Firefox spielt z.B. gerade den Browser-Oberbefehlshaber und bevormundet 
seine Entwickler mit neuen äußerst restriktiven Zwangs-APIs und - was 
der eigentliche Skandal bei Mozilla-Wir-Befreien-Das-Web ist - keiner 
Möglichkeit, das im regulären Firefox z.B. durch about:config 
anzupassen. Bleiben nur die anderen unsäglichen Browser oder 
ESR/Developer-Editionen, wobei das wohl alles keine Zukunft hat.

Ist so etwas über das bei WebServern übliche Protokoll (HTTPS) sinnvoll, 
oder würdet ihr ein unter Linux lauffähiges Binary erstellen, dass dann 
mit dem Client kommuniziert? Gibt es ggf. schon Komponenten, die einem 
auf einer oder auf beiden Seiten Arbeit abnehmen?

Viele Grüße
Odin

von Peter II (Gast)


Lesenswert?

> Ist so etwas über das bei WebServern übliche Protokoll (HTTPS) sinnvoll
ja

> Es geht mir nicht um ein einfaches GET, sondern um so etwas wie ein AJAX
> JSON POST Request mit vorhergender Zertifikats-Prüfung und
> Authentifizierung mittels Benutzername+Passwort
geht recht einfach mit .net

> ohne große
> Umgebungs-Abhängigkeiten auf den gängigen Windows-Betriebssystemen
> läuft?

kommt darauf an, welche Versionen von Windows du meinst. Bei XP war .net 
noch nicht immer vorhanden. Auf aktuellen Windows Versionen ist es 
überall vorhanden.

Die Aufgabe könnte man also recht einfach mit C# lösen.

von T.roll (Gast)


Lesenswert?

Benutz einfach den Browser und lass das pfuschen mit einem extra 
Programm.

von nicht"Gast" (Gast)


Lesenswert?

Bingo!!


So viele Sachen zusammengewürfelt und doch nichts Richtig :).

Ich schließe mich T.roll an. Nimm nen Browser und mach das über 
JavaScript und seine Bibliotheken.

Da du leider nur über die Anbindung an einen Server parlierst und nicht 
sagt, was der Zweck davon ist, wird das mit dem Raten der richtigen 
Programmiersprache schwer.

Grüße,

von Peter II (Gast)


Lesenswert?

T.roll schrieb:
> Benutz einfach den Browser und lass das pfuschen mit einem extra
> Programm.

Und was ist wenn das Programm Daten der Seriellen Schnittstelle liest? 
Man kann zwar viel im Browser machen aber nicht alles. Eventuell soll es 
ja sogar als Dienst im Hintergrund dinge erledigen. Eventuell hat das 
Programm gar keine GUI.

von T.roll (Gast)


Lesenswert?

Peter II schrieb:
> Und was ist wenn das Programm Daten der Seriellen Schnittstelle liest?

Und wenn das Programm die Atomraketen vom Trump steuert? Nicht 
auszudenken!!!

Peter II schrieb:
> Eventuell
Eventuell ist viel, davon steht hier aber nichts. Für die angegebenen 
Anforderungen ist ein Browser mehr als ausreichend, da der alle 
Funktionen eingebaut hat. Weitere Szenarien müssen wir nun wirklich 
nicht überlegen.

von Odin (Gast)


Lesenswert?

Hallo allerseits,

vielen Dank erstmal für eure Antworten, besonder an Peter II.
XP muss nicht mehr unterstützt werden, ab Windows 7 aufwärts reicht.

Das mit .NET hatte ich mir schon gedacht bzw. schon gesehen, dass die 
API das herzugeben scheint. Ich überlegte jedoch, ob es abseits von .NET 
noch weitere Möglichkeiten gibt, so etwas zu realisieren und wie 
aufwändig das im Vergleich zu .NET ist...ich hätte jetzt fast scherzhaft 
PureBasic erwähnt - ein ehemaliger Kollege von mir schwörte jedenfalls 
drauf, wenn es darum ging, kurzfristig Entwicklungs-Probleme aller Art 
zu lösen. Aktuell wurde ja außer .NET bzw. der mir hinlänglich bekannten 
Möglichkeiten im Browser noch nichts genannt.

nicht"Gast" schrieb:
> Da du leider nur über die Anbindung an einen Server parlierst und nicht
> sagt, was der Zweck davon ist, wird das mit dem Raten der richtigen
> Programmiersprache schwer.

Der Zweck ist, die vom Nutzer eigentlich per Formular manuell 
einzugebenen Daten mit Hilfe eines Programms in einer entfernten 
Datenbank zu speichern und diese dem Nutzer im weiteren Nutzungs-Verlauf 
dann auch zur Verfügung zu stellen. Stell Dir vereinfacht einen 
Adress-Datensatz vor, den Du im Registrierungs-Formular beim CheckOut 
eines Online-Shops eingibst (Vorname, Nachname, Adresse, etc.).

Woher diese Daten auf dem Client kommen, wie ich diese korrekt parse, 
vor dem Speichern in der Datenbank validiere, mit Konflikten umgehe und 
bei einer abseits vom Browser erfolgenden Übertragung diese Daten dann 
postwendend wieder im Kontext des korrekten Nutzers anzeige soll bei der 
von mir formulierten Frage keine Rolle spielen bzw. mir sind diese 
Aspekte bekant.

Und ob die Nutzung eines externen Programms bei der unklaren Zukunft von 
Browser-PlugIns bzw. deren Client-Seitigen Berechtigungen "Pfusch" ist, 
lässt sich aktuell gar nicht sicher sagen. Die Browser-Variante wäre zum 
aktuellen Zeitpunkt mit ein paar Einschränkungen (spezielle 
Firefox-Versionen) lediglich deutlich schneller und einfacher umsetzbar.

von Planlos (Gast)


Lesenswert?

Odin schrieb:
> Und ob die Nutzung eines externen Programms bei der unklaren Zukunft von
> Browser-PlugIns bzw. deren Client-Seitigen Berechtigungen "Pfusch" ist,
> lässt sich aktuell gar nicht sicher sagen. Die Browser-Variante wäre zum
> aktuellen Zeitpunkt mit ein paar Einschränkungen (spezielle
> Firefox-Versionen) lediglich deutlich schneller und einfacher umsetzbar.

Warum Browser-Plugin?
Hast du noch irgendwelche geheimen Sonder-Anforderungen, die bislang 
verschwiegen wurden?
Sonst nimm ganz stinknormal 08/15 Javascript ohne Zusatz-Plugin. Dann 
läufts auch in allen Browsern.
Eigene Client-Zertifikate zur Absicherung kannst du auch so rein mit 
Bordmitteln einsetzen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.