AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein (D)COM(+)(-Server), OLE, .NET - So viele Begriffe, so wenig Ahnung
Thema durchsuchen
Ansicht
Themen-Optionen

(D)COM(+)(-Server), OLE, .NET - So viele Begriffe, so wenig Ahnung

Ein Thema von Der schöne Günther · begonnen am 3. Mai 2013 · letzter Beitrag vom 6. Mai 2013
Antwort Antwort
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

(D)COM(+)(-Server), OLE, .NET - So viele Begriffe, so wenig Ahnung

  Alt 3. Mai 2013, 15:49
Disclaimer: Man dürfte mittlerweile in aller Deutlichkeit gemerkt haben, dass ich vielleicht zu vielen Dingen etwas zu sagen, aber von nichts wirklich Ahnung habe. Ich war bislang mit Java und im 3D-Bereich unterwegs und nie wirklich nahe am Betriebssystem.

Von der reinen Windows-Welt und ihren Mitteln der IPC weiß ich daher (noch) nicht allzu viel und habe scheinbar auch eine Menge Spezialitäten der Microsoft-Welt in den letzten zehn Jahren verpasst.


Wie der Titel es schon verrät - Ich suche und suche, und finde nirgends eine wirkliche Antwort, was es mit COM, OLE und .NET überhaupt auf sich hat. Ich kann von niemandem erwarten, mir einfach so ein komplexes Themengebiet näherzubringen. Ich suche aktuelle Artikel und Bücher, in denen ich mit null Wissen ganz vorne anfangen und verstehen kann, worum es hier überhaupt geht.

Die einzigen Artikel über fünf Zeilen die ich gefunden und mir für dieses Wochenende vorgenommen habe sind
Aber auch die beiden sind schon ziemlich alt.

Wo fange ich nun am besten an?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: (D)COM(+)(-Server), OLE, .NET - So viele Begriffe, so wenig Ahnung

  Alt 3. Mai 2013, 17:34
Vergleichen wir es mal mit dem Was Java so bietet bzw. was evtl. Gegenstücke wären

(D)COM = Corba (bzw. heutzutage würde man oft eher WebServices oder REST mit JSON verwenden)
OLE = Custom Controls (Jedoch Programmiersprachenunabhängig)
.NET (Framework/Runtime) = Java Framework/Runtime
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

AW: (D)COM(+)(-Server), OLE, .NET - So viele Begriffe, so wenig Ahnung

  Alt 3. Mai 2013, 20:50
Auch wenn es stark verkürzt ist
Zitat:
Automatisierung [Bearbeiten]

Das Steuern von Anwendungen über COM-Schnittstellen wird als Automatisierung bezeichnet. Von dieser Anwendungsmöglichkeit wird häufig im Rahmen von OLE (Object Linking and Embedding) Gebrauch gemacht.
http://de.wikipedia.org/wiki/Component_Object_Model

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: (D)COM(+)(-Server), OLE, .NET - So viele Begriffe, so wenig Ahnung

  Alt 3. Mai 2013, 22:10
Seit Windows 3.1!

Großer Gott, was ist da an mir vorübergegangen...


Auch wenn ich noch eine Menge Text vor mir habe, verstehe ich noch nicht wirklich, wie ".NET" da jetzt hineinkommt. Ganz grob glaube ich doch, dass dessen Heilsbotschaft ist, dass das Programm nicht nativ läuft sondern, ähnlich Java, als Bytecode für eine kleine VM vorliegt - Und die ganzen .NET-Editionen von Sprachen alle den gleichen Unterbau verwenden und die IPC so vereinfacht wird?
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: (D)COM(+)(-Server), OLE, .NET - So viele Begriffe, so wenig Ahnung

  Alt 3. Mai 2013, 23:29
Die Heilsbotschaft ist eher, das .NET immer vollkommen kompatibel zum aktuellen Windows ist.
Wenn Du so willst, ist es eine vollständige API-Kapselung mit den Zugaben für COM OLE (MS-SQL)DB und und.....

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#6

AW: (D)COM(+)(-Server), OLE, .NET - So viele Begriffe, so wenig Ahnung

  Alt 4. Mai 2013, 00:13
Richtig ist aber dennoch, dass .NET Java nicht unähnlich ist. Programmcode wird in die sog. "IL" (Intermediate Language) kompiliert (~Java Bytecode), und das ist, was in einer .NET-EXE (u.a.) steht. Auf dem Ziel-PC muss zur Ausführung das .NET-Framework installiert sein, welches die IL bei Ausführung in nativen Code über- und ausführt, sowie diverse Schnittstellen des Betriebssystems in geeigneter Form bereit hält. Der JVM also recht ähnlich. COM kommt hier insofern mit ins Spiel, als dass vieles im .NET Framework auf COM-Techniken basiert. Die beiden sind aber mitnichten verheiratet!

Was .NET so nett macht ist, dass es zum einen verspricht, die IL für die jeweilige Plattform optimiert zu kompilieren, auf der man es gerade ausführen will, vor allem aber auch die weitestgehend objekt-orientierte Kapselung der WinAPI. Und dazu noch ein (bzw. zwei) hübsche GUI Frameworks. (Winforms und WPF.) Zudem ist im .NET Framework einiges an Helfern und Dingen, die man so im Programmieralltag braucht bereits als fertige Lib enthalten, wofür man in vielen anderen Umgebungen erst 3rd-Party Code suchen müsste. Es ist alles in allem wohl vor allem ein deutlich weicheres Kissen als die nackte WinAPI, und zwar "ab Werk".

OLE ist ein Subsystem, dass es ermöglicht "Komponenten" Betriebssystemweit zu teilen. Quasi ein TButton, der sich via OLE in C, C++, C#, Delphi, etc. einsetzen ließe, und für alle Sprachen die selbe Codebasis und die selben Binaries hat. Windows regelt das Zusammenspiel zwischen deren Interface und der benutzenden Applikation. Ein Stichwort zu OLE wäre auch noch ActiveX, welches auf OLE basiert. (Die meisten OLE-Controls sind jedoch weit komplexer als ein Button, und teils gar ganze Programme in eigenen Prozessen, die via OLE programmgesteuert nutzbar werden - z.B. die Office Programme.)
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.611 Beiträge
 
#7

AW: (D)COM(+)(-Server), OLE, .NET - So viele Begriffe, so wenig Ahnung

  Alt 4. Mai 2013, 09:51
Was .NET so nett macht ist, dass es zum einen verspricht, die IL für die jeweilige Plattform optimiert zu kompilieren, auf der man es gerade ausführen will, vor allem aber auch die weitestgehend objekt-orientierte Kapselung der WinAPI. Und dazu noch ein (bzw. zwei) hübsche GUI Frameworks. (Winforms und WPF.) Zudem ist im .NET Framework einiges an Helfern und Dingen, die man so im Programmieralltag braucht bereits als fertige Lib enthalten, wofür man in vielen anderen Umgebungen erst 3rd-Party Code suchen müsste. Es ist alles in allem wohl vor allem ein deutlich weicheres Kissen als die nackte WinAPI, und zwar "ab Werk".
Das trifft es ziemlich gut, lässt aber ein bisschen den 'Enterprise'-Teil von .NET aussen vor.
.NET bietet von Haus aus mit dem Entity Framework einen umfassenden OR-Mapper, hat für Kommunikation (insb. auch mit WebServices, aber auch alles andere) alles dabei (WCF), kann out of the Box aus verteilte Transaktionen, hat eine umfassende Konfigurations-API, umfassende Logging-API's, sehr gute Diagnostics-Schnittstellen um rauszufinden was alles in der Anwendung so abgeht etc.

Das macht .NET insbesondere für Backend-Infrastruktur geeignet (so wie auch Java gerne auf Servern eingesetzt wird). Und natürlich gibt es im Bereich Webentwicklung mit ASP.NET einen umfassenden Stack der mit Webforms und ASP.NET MVC auch zwei umfassende GUI-Konzepte mitbringt und mit Web API zur Bereitstellung von Webservices (neben WCF) auch gut gerüstet ist. Letztlich ist .NET an sich inzwischen so groß, das man als einziger Entwickler gar nicht mehr alles im Blick haben kann.

Gegenüber Java, wo gar nicht so viel direkt im JDK enthalten ist sondern man für einzelne Aufgaben immer wieder auf andere Produkte/Bibliotheken zurückgreifen muss, sehe ich hier aber einen riesen Vorteil: Die Java-Bibliotheken sind alle sehr... sagen wir mal heterogen. Die einen Funktionieren so, die anderen ganz anders. manche nutzen diesen DI-Container, andere einen anderen. Das macht das zusammenführen von verschiedenen Teillösungen zu einem Gesamtprodukt immer etwas schwierig, weil man viele Komponenten gar nicht so einfach verbinden kann ohne viel 'glue code' zu schreiben. Die Grundlegende Architektur von .NET und die ganzen Bibliotheken aus einer Hand sorgen dafür, das man sich nicht immer in neue Konzepte einarbeiten muss (das muss man einmal am anfang), aber dann funktionieren alle Bibliotheken irgendwie immer sehr ähnlich und lassen sich sehr schnell nutzen ohne viel 'verkleben' zu müssen. Das gefällt mir an dem ganzen .NET-Umfeld deutlich besser als bei Java.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: (D)COM(+)(-Server), OLE, .NET - So viele Begriffe, so wenig Ahnung

  Alt 6. Mai 2013, 14:13
Vielen Dank für die Antworten, besonders das Konzept hinter .NET sehe ich jetzt um einiges klarer! Dass es sich mittlerweile wohl auch für Backend im großen Stil eignet wusste ich garnicht.

Auch hatte ich bislang den Eindruck, dass .NET und (D)COM auf Gedeih und Verderb miteinander verzettelt und im Endeffekt zwei Seiten der selben Münze sind. Wenn ich jetzt alles richtig verstanden habe, ist das ja an sich überhaupt nicht der Fall.
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.005 Beiträge
 
Delphi 2009 Professional
 
#9

AW: (D)COM(+)(-Server), OLE, .NET - So viele Begriffe, so wenig Ahnung

  Alt 6. Mai 2013, 18:25
Die Java-Bibliotheken sind alle sehr... sagen wir mal heterogen. Die einen Funktionieren so, die anderen ganz anders ... Die Grundlegende Architektur von .NET und die ganzen Bibliotheken aus einer Hand sorgen dafür, das man sich nicht immer in neue Konzepte einarbeiten muss (...) Das gefällt mir an dem ganzen .NET-Umfeld deutlich besser als bei Java.
Anstatt alles fix und fertig vom Hersteller zu erhalten, wird im Java Bereich die Standardisierung der APIs und Architekturen für Enterpriseentwicklung in den Vordergrund gestellt. Kleinere und größere Softwareunternehmen können dann diese Baupläne nutzen und ihre eigene Implementierung des Standards erstellen. Das kann sowohl als Open Source als auch in kommerzieller Form stattfinden.

Durch die aufeinander abgestimmten APIs lassen sich aus diesen dann größere Produkte entwickeln wie Web Application Container (Apache Tomcat) oder Enterprise Application Server (GlassFish, JBoss, WebSphere, WebLogic etc.). Als Entwickler profitiert man von diesen Standards, da man nur noch wenige zentrale Spezifikation (je nach Aufgabenschwerpunkt JDBC, JPA, JMS, JavaServer Faces ...) kennen muss. Man findet daher sehr gute Tutorials, und kann wegen der meist auch offiziell zertifizierten Implementierungen eine Anwendung die aus Kostengründen für einen Open Source Servlet Container A erstellt wurde, auf einem kommerziellen Application Server (WebSphere, JBoss EAP) problemlos installieren und laufen lassen.

Man hat also eine Basis-API, und die Hersteller liefern sich einen Wettlauf um weitere Features wie Performance, Wartungsfreundlichkeit, Schnittstellen etc. um sich zu behaupten. Ich weiss nicht ob es zu Microsoft und ihrem Application Server "IIS" kompatible Alternativen gibt, tippe aber auf nein ...
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 14:59 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