AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Allgemein Gültige Schnittstelle gesucht...
Thema durchsuchen
Ansicht
Themen-Optionen

Allgemein Gültige Schnittstelle gesucht...

Offene Frage von "sx2008"
Ein Thema von ManSues · begonnen am 23. Sep 2012 · letzter Beitrag vom 6. Okt 2012
Antwort Antwort
Seite 1 von 2  1 2      
ManSues

Registriert seit: 22. Sep 2012
Ort: Wittmund
9 Beiträge
 
Delphi 10.4 Sydney
 
#1

Allgemein Gültige Schnittstelle gesucht...

  Alt 23. Sep 2012, 11:52
Habe lange gesucht und hoffe in diesem Forum richtig zu sein. Ich würde mich freuen wenn es möglichst viele qualifizierte Meinungen zurückgibt.

Hintergrund: (worum geht es)
Seit Windows Vista (7) ist die Welt des programmierens nicht mehr so einfach wie es bei XP war. Durch strikte Sicherheitsbestimmungen kann nicht mehr jeder mit jedem kommunizieren (Messages), und das normale Programm unter User account ist extrem eingeschränkt, auch in Zugriff auf die Registry.
Ich will gar nicht alle Beschränkungen aufzählen, die wohl jeder kennt. Vor diesen Hintergrund ist es aber immer mehr überlegenswert, die Logik zum Beispiel in einen Windows Service zu legen. Dieser hat aber in der "neuen" Umgebung keine Oberfläche mehr. Auch ein Remote Server wäre denkbar. Also muss noch eine Oberfläche her, damit Daten angezeigt oder Befehle erteilt werden können. Diese beiden EXE müssen also miteinander kommunizieren!

Nun gibt es einige Schnittstellen Ansätze. Sockets oder Pipes wären eine Möglichkeit, auch Interfaces oder Web Services könnte eine Lösung sein. Aber was kommt den optimalen am nächsten?

Um es nicht ganz so einfach aussehen zu lassen, ist es bei dem Ansatz ja ohne weiteres denkbar, den Windows Service als Windows 32 API Applikation zu erstellen und die Oberfläche als Java Webseite! Die Schnittstelle sollte also Sprachübergreifend sein (Was zum Beispiel Sockets und Web Services ja sind).

Ich würde gerne eure Meinung hören, und sei sie noch so abgefahren. Ich denke das Thema wird in Zukunft noch mehr beschäftigen und vielleicht bildet sich ja auch ein Standard wie z.B. MIB.
Manfred Süsens
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: Allgemein Gültige Schnittstelle gesucht...

  Alt 23. Sep 2012, 12:30
Das Thema nennt sich IPC (Interprozesskommunikation, bzw. inter-process communication) und eigentlich gibt es dafür tausende Wege.


- Pipes
- TCPIP über localhost
- MMF (memory-mapped files)
- Mailslots
- Man kann von seinem Programm aus auch irgendwie geziehlt Messages freischalten, damit sie auch von Programmen mit weniger Rechten angesprochen werden können (soweit ich mich richtig erinnere)
...


PS: Die Sicherheit ist eigentlich schon seit WinNT an vielen Stellen stärker eingeschränkt, aber seit Vista setzt Microsoft das endlich mal durch, indem es nicht mehr alle Programme sändig mit Adminrechten laufen läßt.
$2B or not $2B
  Mit Zitat antworten Zitat
ManSues

Registriert seit: 22. Sep 2012
Ort: Wittmund
9 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Allgemein Gültige Schnittstelle gesucht...

  Alt 25. Sep 2012, 18:16
Ja, OK, aber bin ich denn der Erste, der nach einer allgemein gültigen Definition sucht? Macht denn jeder von z.B. den AntiVirus Leuten ihre Schnittstelle selbst? Oder hat vielleicht Microsoft (ev. mit Sicherheitslöchern) nicht so was in eine der vielen DLLs gepackt?
Manfred Süsens
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: Allgemein Gültige Schnittstelle gesucht...

  Alt 25. Sep 2012, 19:43
Wieso sollte es einen Standard geben, wenn die Anwendungsfälle so unterschiedlich sind?

Wieso gibt es keine Standardkommunikation zwischen Menschen?
Weil es so viele unterschiedliche Anwendungsfälle gibt: Nonverbal, Handzeichen, Reden, Schreiben, Fresse hauen. All das sind perfekte Kommunikationsformen für den jeweiligen Anlass...
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Allgemein Gültige Schnittstelle gesucht...

  Alt 25. Sep 2012, 20:15
Seit Windows Vista (7) ist die Welt des programmierens nicht mehr so einfach wie es bei XP war.
Echt? Ist mir noch nicht aufgefallen? Geht doch alles was man machen will.

Durch strikte Sicherheitsbestimmungen kann nicht mehr jeder mit jedem kommunizieren (Messages),
Wird die wenigsten Stören. Solche (Windows-)Messagekommunikation war schon immer problematisch.

und das normale Programm unter User account ist extrem eingeschränkt, auch in Zugriff auf die Registry.
Eigentlich gibts da nur den unterschied das man im HKLM-Bereich als Normaler user nicht mehr schreiben kann. Aber sonst: Voller zugriff.

Vor diesen Hintergrund ist es aber immer mehr überlegenswert, die Logik zum Beispiel in einen Windows Service zu legen. Dieser hat aber in der "neuen" Umgebung keine Oberfläche mehr.
In Windows-Service sollte man nur legen was auch ohne angemeldetn User permanent laufen muss.

Auch ein Remote Server wäre denkbar.
Halte ich nur für sinnvoll wenn die verteilung andere Vorteile bringt.

Nun gibt es einige Schnittstellen Ansätze. Sockets oder Pipes wären eine Möglichkeit, auch Interfaces oder Web Services könnte eine Lösung sein. Aber was kommt den optimalen am nächsten?
Jede schnittstelle hat ihre Vor- und Nachteile. Der Anwendungsfall entscheidet.

.... und die Oberfläche als Java Webseite
Wenn du mit "Java Webseite" meinst eine Java-Applet. Das ist am Sterben wie Flash und Silverlight auch. Die Zukunft ist HMLT5+JS

Ich würde gerne eure Meinung hören, und sei sie noch so abgefahren
Wenn du was auf einem Server installieren kannst dann gehört HTML5(+JS/CSS/...) die Zukunft. Hier kann man aus einer "Exe" alle Zielplattformen von PC, Tablets und Smartphones bedienen. Wenn's native sein soll dann wirds komplizierter da jedes Plattform (iOS, Android, Windows RT) hier versucht ein abgeschottetes System aufzubauen. Hier gibt aber auch Ansätze die HTML5/JS-Lösung zu "kompilieren" und dann native Laufen zu lassen. Stichworte wären z.B. PhoneGap und Co.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Allgemein Gültige Schnittstelle gesucht...

  Alt 26. Sep 2012, 07:53
Zitat:
Eigentlich gibts da nur den unterschied das man im HKLM-Bereich als Normaler user nicht mehr schreiben kann. Aber sonst: Voller zugriff.
Das konnte man als normaler Benutzer noch nie. Die UAC sorgt nun aber dafür, dass man auch als Admin nur mit Userrechten arbeitet, aber seine Rechte "erhöhen" kann.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Allgemein Gültige Schnittstelle gesucht...

  Alt 26. Sep 2012, 08:03
Zitat:
Eigentlich gibts da nur den unterschied das man im HKLM-Bereich als Normaler user nicht mehr schreiben kann. Aber sonst: Voller zugriff.
Das konnte man als normaler Benutzer noch nie.
"Damals" war halt der normale User auch Mitglied der lokalen Admingruppe und die Prozesse haben automatisch diese Rechte geerbt.
Aber nix was großartig Probleme bei der SW-Entwicklung bereitet das man hier jetzt nicht mehr schreiben darf.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#8

AW: Allgemein Gültige Schnittstelle gesucht...

  Alt 26. Sep 2012, 08:42
Durch strikte Sicherheitsbestimmungen kann nicht mehr jeder mit jedem kommunizieren (Messages), und das normale Programm unter User account ist extrem eingeschränkt, auch in Zugriff auf die Registry.
Solange Du keine Software schreibst die zwangsläufig Admin-Rechte benötigen würde, sollten Dich diese (im übrigen sehr sinnvollen) Restriktionen nichtmal ansatzsweise tangieren.

Was ist denn Dein konkreter(!) Einsatzzweck? Was muss Dein Code machen, was er aktuell nicht darf?
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
ManSues

Registriert seit: 22. Sep 2012
Ort: Wittmund
9 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Allgemein Gültige Schnittstelle gesucht...

  Alt 28. Sep 2012, 19:13
Ja, prima, so langsam kommt die Diskussion in Gang.
Aber Vorweg: Nicht das ihr mich falsch versteht. Ich bin ein absoluter Verfechter der Windows 7 (NT5) Sicherheitsmaßnahmen.

Nun zum konkreten Beispiel:
Unter XP entstanden einige Server, halt ganz normale EXE die Daten über Socket Verbindung (TCP/IP) an die Clients liefern. Da gibt es z.B. IO-Server (Datenlieferant von untergelagerten Systemen), Security-Server (Benutzerverwaltung mit Rechten) oder Language-Server (der zur ID und LCID den Text liefert). Es gibt noch eine Menge mehr, aber als Beispiel sollte es genügen. Diese Server laufen auf irgendeinen PC und beliefern die Anfragen von Clients auf anderen PCs. Nun sollen diese Server als Windows Dienste umgebaut werden, was auch einleuchtend ist, da diese sowieso schon Aufgaben von Diensten erfüllen.
Jetzt kommen wir zum Pudels Kern...
Alle diese Server haben eine Oberfläche (Form) zum Konfigurieren, analysieren und warten. Diese Oberfläche fällt beim Windows 7 Dienst weg. Es muss also die Form von der Logik getrennt werden, Form als EXE und Windows Dienst mit Logik, wobei die Oberfläche nicht zwangsläufig eine Form sein muss. Es ist auch eine Webseite denkbar.
Aber Bedienoberfläche und Dienst müssen kommunizieren. Und da suche ich eine Lösung. Anzumerken sei vielleicht noch, dass der Dienst nur Daten zur Oberfläche liefert oder bekommt. Wie die Oberfläche aussieht, entscheidet der Designer der Oberfläche (vielleicht ein wenig so wie XAML und CodeBehind)
Manfred Süsens
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#10

AW: Allgemein Gültige Schnittstelle gesucht...

  Alt 28. Sep 2012, 19:31
Named Pipes mit Rechtevergabe auf Benutzerebene über eine beiliegende Dummydatei wäre meine erste Wahl.
TCP/IP 2. Wahl
INI-Dateien 3. Wahl
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz