Laden...

Com+

Erstellt von attaÄhh vor 18 Jahren Letzter Beitrag vor 18 Jahren 1.772 Views
A
attaÄhh Themenstarter:in
78 Beiträge seit 2004
vor 18 Jahren
Com+

Hallo,

ich hab mal wieder ne Frage...

Kennt jemand ein gutes Beilspiel für COM+. Ne ganz einfache Host - Server HelloWorldanwenudung oder sowas??

mfg atta

S
8.746 Beiträge seit 2005
vor 18 Jahren

OMG, Com+ ?????

Ich hoffe, das hat einen guten Grund, warum du ein COM+ bauen willst. .NET bietet ja nun genug Alternativen zu diesem Modell an, wenn es nicht gerade Hosting sein muss.

Um mit COM+ was zu machen, solltest du dich erstmal in das Thema einarbeiten. Da gibt es ganze Bücher drüber. Nichts wo man schnell ein Hello-World rauszaubert. Du musst dich zunächst mit Appartment-Modellen auseinandersetzen, dich um Persitenz, Registrierung, Transaktionsmodell, Pooling, Sicherheitseinstellungen kümmern und und und. Das brauchst du zwar für dein Beispiel alles nicht, musst du aber dennoch korrekt definieren.

Schließlich ist COM+ ein Technologie, die mit Javas J2EE vergleichbar ist.

Glücklicherweise ist mit .NET das Erzeugen von COM+-Servern - dank Metadaten - deutlich einfacher geworden (gegenüber der ATL). Hier ist ein Beispiel:

http://my.execpc.com/~gopalan/dotnet/complus/complus.net_accountmanager.html

Ein bißchen mehr als nur "Hello World", aber was man tun muss wird einigermaßen anschaulich dargestellt.

A
attaÄhh Themenstarter:in
78 Beiträge seit 2004
vor 18 Jahren

Morgen,

Eigendlich muss es keine COM+ anwendung sein, habe es vorher mit .NET Remoting versucht da gabs aber ein Problem(Hier im Forum ".NET Remoting" von attaÄhh).
Naja etwas weniger aufwendiges wäre mir auch lieber(etwa so wie .NET Remoting) wüsste ich aber nicht welche Methode ich verwenden sollte...

trotzdem, danke für die Vorwarnung!!!

mfg atta

S
8.746 Beiträge seit 2005
vor 18 Jahren

Dann nochmal grundsätzlich: Was willst du eigentlich machen? Offenbar sowas wie Client/Server. Die Frage die sich zuerst stellt: Müssen Client und Server auf verschiedenen Rechner liegen können oder sind die immer auf dem gleichen?

Remoting bietet sich an, wenn man Client und Server gemeinsam entwickelt, da man Zugriff auf die Proxys hat. Mit Remoting können aber nur .NET-Anwendungen miteinander sprechen.

Möchte man Client und Server lose voneinander entwickeln und interoperabel sein, dann ist WebService die bessere Alternative, weil es die Möglichkeit gibt, die Client-Proxys anhand eines Verzeichnisdienstes, den die WebServices mitbringen (UDDI) mittels eines speziellen Beschreibungsverfahrens (WSDL) automatisch zu erzeugen. Performant aber deutlich weniger als Remoting.

Dann gäbe es noch diverse Möglichkeiten direkt auf tieferliegenden Netzwerkprotokollen Daten auszutauschen (IP). Hat tendenziell den meisten Bums. Bringt allerdings Probleme im heterogenen Betrieb (Client und Server haben unterschiedliche BS).

COM+ musst du dann einsetzen, wenn du die Pooling, Lastmanagement oder Transaktionsmanagement brauchst. Läuft aber auch nur unter Windows.

Welches Technologie am besten zum Einsatz kommt, hängt von einigen Faktoren ab:

* Verteilungsaspekte
* Durchsatz
* Firewalls
* Entwicklungsmodell (zentral oder verteilt)
* Interoperabilität
* homogen / heterogen

Soviel Theorie. Nun schildere doch nochmal genau was du wirklich machen möchtest (sicher kein Hello World).

A
attaÄhh Themenstarter:in
78 Beiträge seit 2004
vor 18 Jahren

Nein,
natürlich keine HelloWorld🙂

Ich habe eine Anwendung mit verschiedenen plugins.

Das Plugin welches ich momentag entwickle soll sozusagen eine "Programmverwaltung" sein in der sich meine Programme registrieren bzw. unregistrieren, ändern etc. können. Diese speichert Daten wie z.B. den Installationspfad, Name, Versionsnummer und eine kleine Beschreibung welche von dem Client mitgeliefert wird.

Wenn ich eine Anwendung installiere soll nach der Installation eine kleine Anwendung(Client) diese registration beim Host vornehmen. Diese soll dann die Verbindung zu dem Host aufbauen und die Funktion durchführen.

Info:
Es sollen keine Datenbanken benutzt werden, die Programme werden in einer Datei im Hostverzeichniss gespeichert.

Ich hoffe mein prob kommt ein bischen rüber

mfg

E
100 Beiträge seit 2005
vor 18 Jahren

Ich empfinde da jede Art von Remoting etwas Overkill. Ganz normal über TCP und dann mittels eines einfachen Protokolls das ganze erledigen ist deutlich weniger Aufwand.

  1. Client versucht zu connecten
  2. Server stellt verbindung her und begrüsst Client "Tach!"
  3. Client anwortet falls "Tach!" kam mit "Moin, registriere mal für mich das hier..... "
  4. Server antwortet mit "Jepp, erledigt!" oder gegebenenfalls mit "Ne, keinen Bock!"
  5. Client sagt "Tschüss!" und closed.
  6. Server closed seinerseits ebenfalls.

... was spricht dagegen? Bringt:

  1. weniger Overhead
  2. schnellere Implementation
  3. erledigt die Aufgabe

--edit--

Zur Not kannst du da ja auch ohne Probleme deine Plugins drüber beziehen, spricht, runterladen.....

--
Man kann Scheisse nicht polieren!