Laden...

Theorie und Einsatzmöglichkeit von COM+

Erstellt von Michael Schuler vor 18 Jahren Letzter Beitrag vor 18 Jahren 2.134 Views
M
Michael Schuler Themenstarter:in
329 Beiträge seit 2004
vor 18 Jahren
Theorie und Einsatzmöglichkeit von COM+

Hallo Community

Ich habe mir COM+ ein wenig angesehen, Objekte erstellt und darauf zugegriffen, was wunderbar funktionierte. Doch da ich leider noch nie wirklich grössere Projekte entwickelt habe, oder mitentwickeln durfte, beschränkt sich mein Wissen über COM+ auf ein paar Artikel der dotnetPro.
Ich möchte euch darum Fragen, was mögliche Anwendungsgebiete von COM+ sind, da ich den Sinn dahinter noch nicht verstehe. Auch dürft ihr mich ruhig mit [guten] Links zu COM+ zudecken, auch wenn ich schon sehr viel, vor allem auf msdn, darüber gelesen habe...

Danke schon im Voraus
Michael

S
8.746 Beiträge seit 2005
vor 18 Jahren

COM+ ist das MS-Komponentenmodell. Wenn man es mal mit anderen Plattformen vergleicht, dann kommt es am ehesten Modellen wie J2EE aus der Java-Welt oder Corba-Components nahe.

Komponenten werden im System registriert und dann auf Anfrage automatisch instanziiert und ausgeführt.

Die Idee dahinter heisst komponentenbasierte Entwicklung. Was das im einzelnen bedeutet würde hier ein bißchen den Rahmen sprengen. Wenn du danach googlest wirst du aber ne Menge finden.

Komponentenbasierte Entwicklung wird recht ausgiebige im Java-Umfeld betrieben. Meist werden damit mehrschichtige Geschäftsanwendungen entwickelt. Bei Windows verteilt sich dieses Feld auf mehrere Technolgien, COM+ ist der Kern davon.

Der Vorteil von komponentenbasierten Systemen liegt vor allem in der dynamischen Konfiguration und der Skalierbarkeit.

M
Michael Schuler Themenstarter:in
329 Beiträge seit 2004
vor 18 Jahren

Also J2EE kenne ich, hatten wir ausführlich in der Berufsschule.

Der Vorteil von komponentenbasierten Systemen liegt vor allem in der dynamischen Konfiguration und der Skalierbarkeit.

Mich interessiert hier auch das Stichwort Transaktion. Doch kann ich mir nichts darunter vorstellen. Hast du ein Beispiel?

LG Michael

S
8.746 Beiträge seit 2005
vor 18 Jahren

Transaktionen erlauben es, mehrere Aktionen nur gemeinsam oder gar nicht durchzuführen.

Beispiel: Du hast eine Anwendung, die Konten und Buchungen verwaltet. Wenn du eine Buchung machst, muss eine Buchung erzeugt werden und das Konto muss um den Buchungsbetrag vermindert werden. Das sind einzelne Aktionen (z.B. Datenbankabfragen). Nun darf eines NICHT passieren: Die Buchung wird erstellt, aber die Reduzierung des Kontos findet - z.B. aufgrund eines Striomausfalls im falschen Moment - nicht statt.

Genau dies können Transaktionen verhindern.

M
Michael Schuler Themenstarter:in
329 Beiträge seit 2004
vor 18 Jahren

Hey cool, das ist ja eigentlich wie das rollback/commit bei sql. Erst wenn beide sql-statements erfolgreich waren, wird commited...

Habe das verstanden, dankeschön 🙂

Komponentenbasierte Entwicklung wird recht ausgiebige im Java-Umfeld betrieben. Meist werden damit mehrschichtige Geschäftsanwendungen entwickelt. Bei Windows verteilt sich dieses Feld auf mehrere Technolgien, COM+ ist der Kern davon.

Was gibt es denn sonst noch für Technologien in diesem Bereich? Gehören Webservices dazu?

S
8.746 Beiträge seit 2005
vor 18 Jahren

Im Bereich der Komponentenorientierung nicht direkt.

Aber man hat festgestellt, dass im Internet-Umfeld, der komponentenorientierte Ansatz nicht weit genug geht. Er adressierr zwar die "internen" Probleme der Anwendungsentwicklung, bietet aber keinen Ansatz, wie man denn eine Komponente im Internet zur Verfügung stellt, wie man sie überhaupt findet, etc. !

Hier kommt dann SOA (service oriented architecure) zum Einsatz, die genau diese Probleme adressiert. Hier stellen WebServices zur Zeit die Standardimplementierung von SOAs dar, hier könnte man aber auch z.B. CORBA einsetzen.

In der Praxis verknüpft man beides zu einem Ansatz. Die Komponenten werden über WebServices-Schnittstellen zugreifbar. Transaktionen und auch Sicherheit spielen hier eine wichtige Rolle.

S
8.746 Beiträge seit 2005
vor 18 Jahren

Original von michaelschuler
Hey cool, das ist ja eigentlich wie das rollback/commit bei sql. Erst wenn beide sql-statements erfolgreich waren, wird commited...

Genau. Bei Datenbanken findet man das immer. Es gibt aber noch wesentlich komplexere Szenarien, bei denen entweder mehrere Datenbanken involviert sind (Commit/Rollback geht ja nur auf einer DB) oder gar Systeme (z.B. irgendwelche Buchungsserver) die irgendwie anders anzusprechend sind. Hier tritt jedoch die gleiche Notwendigkeit von Transaktionen auf. Dazu hat MS den MTS (Microsoft Transaction Server) erfunden. Der bietet solche Möglichkeiten. Der wird dann auch von COM+-Komponenten genutzt wenn Transaktionsverhalten gewünscht ist.