Serverapplikation überwachen

Hallo Community,

Ich hab folgende Aufgabenstellung und bin auf der Suche nach der richtigen Technologie bzw. Technik.
Ich programmiere in VB.NET meine IDE ist VS2008

Ich habe eine Serverapplikation die in einer Windowsbox im Intranet lufen soll. Zusätzlich habe ich x Clientapplikationen die auch im Intranet laufen und mit dieser Serverapplikation interargieren sollen.
Mit Interagieren meine ich zBsp. das die Clients den Status(is applikation running oder so was ähnliches) der laufenden Serverapplikation abfragen können. Und es soll auch möglich sein das die Clientapplikationen bestimmte Funktionen der laufenden Serverapplikation aufrufen/triggern können.

Ich bin gerade dabei mit NET Remoting zu arbeiten aber noch erschliessen sich mir nicht die ganzen Möglichkeiten des NET Remoting.

Frage: Bin ich auf dem richtigen Weg mit NET Remoting und wenn ja wie bekomme ich das hin ?
Oder gibt es eine andere Technik die ich besser benutzen sollte ?
Im Moment bin ich mit NET Remoting soweit das ich über eine Remotehost
eine gehostetet funktionen eines Server instanziieren kann Aber ich blick das nicht ganz, ich wollte eigentlich auf die Funktionen einer laufenden Serverapplikation zugreifen.

Für jeden helfenden Hinweis bin ich sehr Dankbar.
Könnt Ihr mich auf die richtige Spur bringen ?

Danke und Gruss
Herbert

Hallo Herbert

Dein Artikel liest sich ganz schön kompliziert.
Erstmal, ich habe nur VB5.
Was ich machen würde, das ist folgendes:
Ich habe ein Control für Netzwerk (UDP,TCP/IP usw.). Ich mache damit ein Formular, z.B. für einen Server. Dieses Formular braucht man nicht sehen, aber es ist notwendig, weil das Control drauf muß.
Meldet sich ein Client an, kann ich das Formular als neues Object einmal kopieren, und an den Client abgeben.
Der nächste Client kann sich an das neue oder das kopierte Formular anmelden.
Ein abgemeldeter Client zerstört ein verbundenes Formular.
Sind nun mehrere Clienten angemeldet, mußt Du vorher bestimmt haben, auf welche Variablen welcher Client Zugriff hat.
Die Variablen könnten global, lokal oder wie auch immer sein.
Der Server kann Unterprogramme in extra Codemodulen(wie es in VB-Net geht, weiß ich nicht genau) enthalten, die von jedem Formular aufgerufen werden können.
Gleichzeitige Aufrufe, also ein Unterprogramm wird aufgerufen, und dann nochmal, weil es noch nicht fertig ist, werden „gestapelt“.
Das mit dem Clienten verbundene Formular muß sich mit den Clienten unterhalten, „was er denn wohl möchte“, bzw. darauf reagieren.
Alle Serverformulare sind wahrscheinlich in einem einzelnen Thread, was aber wahrscheinlich erst mal keine große Rolle spielt.
Wenn nun der Programmablauf bestimmt ist, und auch noch wer auf was zugreifen darf, wo ist das Problem?
Also wenn du das erstmal geschafft hast, sollte es ganz einfach sein.
Was die .Net IDE betriftt, kannst du ja auch einmal extra fragen.
mfg
Matthias

Hallo!

So 100%ig hab’ ich Deine Anforderung noch nicht verstanden, aber das, was ich verstanden habe, scheint mit .NET Remoting gut zu funktionieren.
Remoting ist praktischerweise ja auch eine Technik, mit der Du RPC’s in anderen Prozessen machen kannst, unabhängig davon, wo diese laufen - auch auf der selben Maschine wie der Clientprozess.
Zum Überwachen, ob der Serverprozess läuft, kannst du im Serverprozess eine Minimal-Methode oder -Property (z.B. „Available“) machen, auf die Du per Remoting zugreifst. Bekommst Du dabei eine entsprechende Exception, weisst Du, dass der Server nicht erreichbar ist, genauer (bei ansonsten korrekter Konfiguration): Dass der Server eben gerade nicht läuft.

Gruß,
Martin

Hallo Matthias!
[…]

Erstmal, ich habe nur VB5.

Ohne Dir zu nahe treten zu wollen, aber ich halte Vorschläge, die ausschließlich auf VB5 Wissen basieren, im Visual Basic Brett besser aufgehoben.

.NET hat mit dem, was man in VB5/6 machen kann nur sehr begrenzt etwas zu tun und noch weniger damit, wie man damals etwas machen musste, weil’s anders nicht ging…

Gruß,
Martin

Hallo Zusammen,

Erst einmal möchte ich mich für die Antworten bedanken.

@Martin: Vieleicht könnte man meine Anforderung mit einem
Chat Applikation vergleichen wo sich mehrere Clients auf einen
Chatserver verbinden und darüber Nachrichten austauschen.

Mittlerweile bin ich aber soweit, dass ich mich auf WCF (Windows Communication Foundation) fokussiert habe. Der Grund ist 1. die WCF beinhaltet auch Net Remoting, MSMQ usw.
und 2. die Unterstützung im VS2008 ist hervorragend. Es gibt eigene Templates usw. Leider gibt es noch keine Literatur bzgl. WCF und NET 3.5 respektive WCF und Visual Studio 2008.
Ich kämpfe mich da gerade mit Hilfe von Webcasts und Artikeln aus dem Internet durch.

Wen es Interessiert hier ein guter Link zu WCF
http://www.thatindigogirl.com/

Gruss
Herbert

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]