Lotus Notes / Domino Sonstiges > Java und .NET mit Notes/Domino

von Java aus auf Notes-DB zugreifen

<< < (2/9) > >>

Rob Green:
ich könnte aber auch ein JAR File als File Ressource in eine DB reinhängen und das JAR File kann dann von der Notes DB angesprochen werden wie ein externes File?

Bzw. überhaupt die Frage: ist die Richtung wichtig? Sprich zum letzteren: ist es ein Unterschied ob ich kann von Notes aus Java Programme aufrufe und Werte zurückbekomme oder von Java Notes aufrufe, heißt also es kann in beiden Fällen ruhig Java 1.4 sein?

Ralf_M_Petter:
Hallo Rob Green!

Das verstehe ich nicht ganz wie du das meinst, ich denke schon, dass du as Notes über die Shell Funktion den Befehl Java und deine Java Klasse extern ausführen kannst, aber nur verstehe ich nicht ganz was das bringt. Vielleicht beschreibst du das ein wenig näher wie du dir das vorstellst?

Grüße

Ralf

Rob Green:
genauso wie ich Word als externer Programm ansteuern kann unter Verwendung von VB Code denke ich mal, daß ich externe Java Programme über "Remotezugriffe" wie Word ebenso steuern kann. Daher die Frage, ob das überhaupt geht und wenn ja, ob dann die Java 1.18 Version von R5 meine Baseline dazu in Notes darstellt.

Ralf_M_Petter:
Hm..

Lass mich überlegen, normalerweise lassen sich Java Programme nicht von aussen so steuern wie du es bei Word machst, da Java Programme keine COM Komponenten sind.

Aber es gibt eine Ausnahme, wenn du deine Java Komponenten nach der Java Beans Spezifikation erstellst, dann kann man die ActiveX zu Java Beans Bridge verwenden. Da sollte dann die Verwendung bis JDK 1.3.1 möglich sein. Unter 1.4.0 und 1.4.1 ist die Bridge scheinbar nicht unterstützt, aber mit JDK 1.4.2 gibt es sie dann wieder. Diese Active X Komponenten können dann in Notes ganz normal verwendet werden.  Für weittere Infos schau mal hier nach http://java.sun.com/products/javabeans/software/bridge

Grüße

Ralf

Axel_Janssen:
Es ist nach wie vor ziemlich verwirrend. Zunächst ein Versuch, das ganze ein bischen zu klassifizieren.

Von aussen heisst meiner Meinung nach immer, dass der "aussen" laufende code nicht in der Notes JVM, sondern in einer anderen läuft, right?

Auch bei Verwendung der "ActiveX zu Java Beans Bridge".

Wichtig ist die Unterscheidung, ob das
- Objekt innerhalb einer anderen JVM durch code aus der Notes-VM aufgerufen wird (v.a. Applet in z.B. einer Notes-Maske).
Dies wäre aus meiner Sicht eine Verwendung der "ActiveX zu Java Beans Bridge".
[outbound]
oder umgekehrt,  
- ob Objekte innerhalb einer Notes-JVM aus einer JVM ausserhalb von Notes aufgerufen werden. Man greift dann etwa von der Konsole des OS oder einer swing Anwendung auf Notes zu.
[inbound]

outbound und inbound ist immer aus der Perspektive von Notes.

Nun hat Ralf das Phänomen festgestellt, dass es bei inbound 2 modi gibt. Lokal Notes und Corba.
Lokal Notes ist offenbar wesentlich performanter.
Bei Corba ist es egal, wo die aufgerufene Datenbank liegt. Bei Lokal Notes muss sie "auf dem Rechner des Anwenders liegen (inkl. vermutlich gemappte Laufwerke)".

Ich habe zwar keine wirklichen Überblick bei Corba - und jetzt auch keine Zeit nachzuschlagen - aber ich vermute, dass Lokal Notes auch über die Corba-Implementierung läuft, nur eben als eine Art lokaler Modus.

Enterprise Java Beans ist in der Hinsicht ähnlich wie Corba, als das dort auch Objekte "Standort-transparent" (ist egal wo das Objekt liegt, ob auf meinen Rechner oder einem anderen) aufgerufen werden.
Der aufrufende Rechner kommuniziert mit einem lokalen Stub und der EJB-Container findet das entsprechende Objekt auf einem Computer im Netzwerk.

Dafür verlasse die übergebenen Parameter den aufrufenden Computer. Damit das überhaupt geht müssen sie in etwas anderes umgewandelt werden (ein Bit-Stream der über die Leitung zum Objekt geht).
Die Umwandlung zwischen Objekt und Bit-Stream wird Serialisierung/Deserialisierung genannt.
Ein extrem bedeutender Fakt von verteilten Rechnen ist, dass dies ressourcenmässig nicht billig ist.  

Hypothese: Bei Lokal-Notes merkt es die CORBA- Implementierung, dass Serialisierung nicht nötig ist, da sich das aufzurufende Objekt auf dem Lokalen Rechner befindet.

Wie gesagt: Dies ist eine reine Idee von mir, warum das so sein könnte.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln