Lotus Notes / Domino Sonstiges > Java und .NET mit Notes/Domino
von Java aus auf Notes-DB zugreifen
Ralf_M_Petter:
Hm Offensichtlich habe ich mich unklar ausgedrückt. vergessen wir mal alles was sich aus der Diskussion mit Rob Green herauskristallisiert hat. Also wir beschäftigen uns nur mit dem Zugriff von Java egal wo läuft auf Notes Datenbanken.
Möglichkeit 1 Zugrif mittels CORBA
Auf dem Domino Server muss HTTP und DIIOP gestartet und DIIOP im Server Dokument eingerichtet sein.
Auf dem Recher wo das Java läuft muss weder ein Notes Client noch ein Domino Server installiert sein. Bietet sich vor allem an, wenn auf der Plattform wo das Java läuft eventuell kein Notes/Domino verfügbar ist. Oder z.B. für Applets im Browser die auf Rechnern ausgeführt wird wo kein Notes Client installiert ist.
Der Zugriff ist nur auf Datenbanken möglich, die auf dem Domino Server liegen. Kein Zugriff auf Datenbanken eines etwaigen lokalen Notes Client. Es ist keine Initialisierung des Threads MIt otesThread.sinitThread() notwendig.
Möglichkeit 2 Zugriff über sogenannten lokalen Zugriff.
Auf dem Domino Server muß kein HTTP, DIIOP laufen. Jedoch muss auf der Maschine auf der das Java läuft entweder ein Notes Client oder ein Domino Server installiert sein.
Wenn das Java auf einer Maschine läuft auf der ein Notes Client installiert ist, dann hat man natürlich nicht nur Zugriff auf die Datenbanken die im lokalen Datenverzeichnis gespeichert sind, sondern man kann natürlich auf auf jede Datenbank zugreifen die auf irgendeinem Server gespeichert ist, den der Notes Client erreichen kann. Es gelten alle Einstellungen wie wenn ich den Notes Client benützen würde. In Wirklichkeit ist es nämlich so, dass alle Notes Java Klassen in Wirklichkeit nur Hüllenklassen für das darunterliegende C++ API von Lotus sind. Beim verwenden des lokalen Zugriffs muß man den Thread mit NotesThread.sinitThread() initialisieren. (Oder einen Thread nehmen der von der Klasse NotesThread erbt).
Übrigens bei beiden Möglichkeiten müssen Notes Objekte recycelt werden. Ich hoffe, dass ich auf die recycle Problematik demnächst hier eingehen kann.
Ist jetzt alles klar, oder drücke ich mich noch zu unklar aus?
Grüße
Ralf
Rob Green:
*wenn die Großen sich unterhalten, schweigen die Krümel* ;D
Jungs (ist Weibsvolk anwesend...neiiiinn...naaaiiiinnn), Ihr seid spitze :D :D
Axel_Janssen:
--- Zitat ---drücke ich mich noch zu unklar aus?
--- Ende Zitat ---
ich hoffe nicht. ;D
hmmm. Kann sein, dass ich manchmal immer noch dazu Neige ob der Begeisterung der eigenen Rede Tomaten auf den Ohren habe. Ich glaube das ist menschlich aber uneffizient. ;D
Gut. Hoffe ich habs jetzt:
Bei "sogenannten lokalen Zugriff" wird kein COrBA verwendet.
Die Notes-jars dienen lediglich als Wrapper-Schicht für die Notes-Client-dll's von Windows (rede jetzt über Windows-Client).
Irgendwo in dem code der Notes-jars werden diese C-Funktionen über JNI aufgerufe (nenne das jetzt JNI-Implementierung)
Damit dürfte alles an Datenbanken im Zugriff sein, was über dem Notes-Client von diesem Rechner auch im Zugriff ist. Der Notes-Client benutzt ja die gleichen C-Funktionen.
Wird eine NSF auf dem Server angesprochen läuft das über die Remote Procedure Calls, wie gewöhnt.
CORBA wird nur benötigt, wenn man die Wrapper für die C-Klassen aus irgendwelchen Gründen nicht an die dll mit den Windows-Funktionen kommen. Zum Beispiel weil gar kein Notes (Client oder Server) installiert ist. Oder weil keine korrekten Win-Registry-Einträge für Notes existieren (dieser Rechner).
Wichtige Frage ist nun, wie es aussieht mit Zugriffen auf Notes aus der VM im Servlet-Container* Tomcat oder der im Web- bzw. EJB-Container in Websphere. Wenn auf den entsprechenden Boxen ein Notes-Client installiert ist, benutzen die dann auch die effizientere JNI-Implementierung?
Ich werde das in den nächten Tagen mal überprüfen.
Gruss Axel
* eigentlich ist auch hier Web-Container der korrekte Ausdruck. Ich finde nur den älteren Ausdruck Servlet-Container sprechender.
Ralf_M_Petter:
--- Zitat von: Axel_Janssen am 11.06.03 - 11:34:48 ---
Wichtige Frage ist nun, wie es aussieht mit Zugriffen auf Notes aus der VM im Servlet-Container* Tomcat oder der im Web- bzw. EJB-Container in Websphere. Wenn auf den entsprechenden Boxen ein Notes-Client installiert ist, benutzen die dann auch die effizientere JNI-Implementierung?
Ich werde das in den nächten Tagen mal überprüfen.
Gruss Axel
* eigentlich ist auch hier Web-Container der korrekte Ausdruck. Ich finde nur den älteren Ausdruck Servlet-Container sprechender.
--- Ende Zitat ---
Ja bingo genauso ist es. Das mit dem Tomcat habe ich genau in dieser Form bei unseren Webseiten realisiert. Nur das bei mir der Tomcat auf der selben Maschine läuft wie der Domino Server und deshalb von Notes.jar gleich die Notes.dll des Servers verwendet werden. Browseranforderungen werden von Apache/Tomcat serviciert, der aber sämtliche Informationen aus einer Notesdatenbank die über den Notesclient gepflegt wird zieht. Die Informationen werden von den einzelnen Fachabteilungen bei uns im Haus eingepflegt. Nur mehr die JSP's wurden von mir erstellt. Ich habe dabei Designtemplates von einem externen Designer übernommen. Die Webseite läuft nun seit 4 Monaten absolut stabil bei tausenden Zugriffen pro Tag.
Grüße
Ralf
mlschach:
ok. ich danke euch und schau mir das jetzt erstmal genauer an. beim ersten drüber fliegen, habe ich jedoch schon festgestellt, dass vieles für mich chinesisch ist. vielleicht könnt ihr mir doch nochmal manche Stelle etwas genauer erklären (bin eher noch Anfänger beim Programmieren)
zB:
- wie erfolgt genau der verbindungsaufbau?
- wie genau erkenne ich dokumente, die in der datenbank liegen?
- wie greife ich dann auf bestimmte felder bestimmter dokumente zu (subjekt-zeile, absender, eigentlicher mail-text)?
- und so weiter
ich weiß, diese fragen kommen euch wahrscheinlich lächerlich vor. aber wäre trotzdem nett, wenn ihr mir schritt für schritt detailiert erklären könntet, wie ich vorgehen muss. das ganze mit möglichst einfachen sample-codes wäre optimal.
gruß,
Michael
ps: scheint ein echt gutes forum zu sein *freu*
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln