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
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.
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
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).
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
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.
... was spricht dagegen? Bringt:
--edit--
Zur Not kannst du da ja auch ohne Probleme deine Plugins drüber beziehen, spricht, runterladen.....
--
Man kann Scheisse nicht polieren!