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

Agent -> Java AWT & Co

<< < (2/3) > >>

flaite:

--- Zitat von: jor am 16.12.05 - 13:05:26 ---Soweit ich gelesen habe setzt/nutzt  Notes in NetBeans intensiv Applets.

--- Ende Zitat ---
Was ist das?

--- Zitat ---Wenn ich alles in einer Java-Anwendung erstellen kann, wie kann ich aber dann, OHNE das die Daten auf der Platte des Users rumliegen (auch wenn es der Chef ist ;-) ) die Collection an
meine Anwendung übergeben? Parameterübergabe ja ok, das habe ich schon gemacht, aber ein Objekt wie z. B. ein Array (was genügen würde!)  ???

--- Ende Zitat ---
Gute Frage. Mit Notes Applets ist es kein Problem. Mit einer aus einem Agent gestarteten Swing Anwendung auch nicht.
Mit einer völlig von Notes unabhängigen Anwendung aber schon. D.h. du kannst natürlich aus der Java Anwendung auf den Notes Server extern zugreifen. Wüsste aber nicht, wie ich da ein Single-Sign On implementieren würde. D.h. der User müßte sich extra für die Java Anwendung authentifizieren. Dann kannst du ja aus der Java Anwendung über Notes-Corba oder local auf die Objekte der Notes Anwendung auf dem Server zugreifen.
Läßt du Notes die Java Anwendung über die Kommandozeile starten, kannst du natürlich auch die Parameter an die main der Java Anwendung übergeben. Arrays müßtest du aber extra als String oder sonstiges enkodieren. Oder du schreibst die Daten in ein File (bzw. ein serialisiertes Objekt) und löschst das direkt aus der Java Anwendung. Ist aber auch ein bischen heikel.

Natürlich kannst du die Dateien, die du austauschst auch verschlüsseln und entschlüsseln.
Hm. Interessanter Gedanke. Man könnte auch auf der Notes Seite einen Webservice entwickeln, der verschlüsselte Antworten generiert.
Die Java Anwendung und ein Notes Java-Agent benutzen einen gemeinsamen symetrischen Key. Wenn man damit serialisierte Objekte austauschen könnte (geht wohl). Ich probier das mal die Tage aus.  :)

Gruß Axel

thorsten_w:
EDIT:

Hab den Java-code wieder entfernt..... der funktioniert so nicht.

versuch es mit Corba.

--- Code: ---Session session = NotesFactory.createSession(host, username, password);

--- Ende Code ---

Gruss Thorsten

jor:
Hallo Axel und thorsten_w,
Danke für eure Info's!
@Axel,
jep das mit dem externen Datafile habe ich schon probiert, funzt zwar, wäre für mich aber nur
Plan "H". ;-) Halt wegen der sensiblen Daten die auf der Platte rum liegen, wenn auch nur kurz.

Der Java-Anwendung Parameter über geben geht, so wie ich gelesen habe auch in unbegrenzter Anzahl, wäre auch schon gut. Oder die Daten in ein/zwei/drei Strings verpacken und mit übergeben beim Aufruf. Ist eine akzeptable Lösung, geht was schief, sind die ermittelten Daten futsch und man fängt von vorn wieder an. Hauptsache ist aber, die Daten fallen nicht irgendwelchen anderen Nutzern in die Hände!
Hhhamm verschlüssel, wäre bei Plan "H" dann das mindeste, habe ich aber noch keine Erfahrung.
Aus externer Anwendung auf den Notes-Server zugreiffen, Daten ermitteln und dann auswerten, das klingt für mich sehr gut, auch wenn man sich authentifizieren muss.
CORBA..... habe ich auch noch nicht mit gearbeitet, werde mich gleich mal nach Info auf den Weg machen! Ein Applet wäre bestimmt auch ein guter Ansatz. Aber um zu entscheiden wie ich die Sache am Besten angehe wollte ich erstmal eure Meinung und Tipps hören! Ich weis nun in welche Richtung ich suchen muss. Weil...

Ich oute mich, ich bin kein Java-Guru, eigentlich stehe ich am Anfang mit Java, habe mir bis jetzt ein Pool an Wissen zusammen gesucht und erfragt  ;). Neben Notes habe ich in Hochsprachen wie C, C# und Delphi geproggt. Ich verfolge aber die Javaprogrammierung aus zwei Gründen, zum einen weil ich Java favorisiere und zum anderen, es passt so gut zu Notes ;).

Weihnachtliche Grüsse, Jor

Ralf_M_Petter:
Hallo!

Habe Thread nur überflogen, aber trotzdem ein paar Infos.

Swing ist in Agenten möglich und funktioniert auch gut. Aufpassen muß man nur, dass man im Event handler Thread den Thread für Notes initialisieren muß und diese Initialisierung auch wieder beendet werden muß.

Warum man in einer externen Anwendung nicht auf Notes Daten zugreifen können soll ist mir ein Rätsel. Wenn auf dem PC auf dem die Java Anwendung läuft einen Notes Client installiert hat, von dem gehe ich jetzt mal aus, ist dafür auch kein DIIOP (Corba) nötig. Für Single Sign on, muß nur die Option Andere Notes basierende Programme fragen kein Kennwort ab gesetzt sein. Dann wird falls der Notes Client bereits gestartet ist, kein Kennwort abgefragt. Sonst wird das Passwort abgefragt.

Der Zugriff von Swing Anwendungen auf Notes ist aufgrund der Threading und Recyclingproblematik etwas mühsam aber machbar. Besser wäre es wenn man auf Axel hört und eine saubere Trennung von GUI und Background macht. Swing ist sehr mächtig und wie sagte schon Peter Parker Große Macht bringt große Verantwortung. In sofern sollte man entweder ein sehr gutes Buch lesen oder einen Kurs für Swing besuchen in dem viel Wert auf die Threading Problematik in Swing gelegt wird. Ich denke mal, dass 80% aller Swing Programme vom Threading her falsch programmiert sind. Dazu zähle ich auch alle meine alten Programme. Sie laufen dann zwar, aber mit mieser Performance und ab und zu komischen Fehlern.

Grüße

Ralf

flaite:
Eine wirklich gute Erklärung bzgl. der Swing-Threading issues findet ihr in diesem Artikel von Ben Galbraith:
http://www.javalobby.org/members-only/eps/galbraith-swing-2/?source=archives
(erfordert allerdings eine simple und kostenlose Javalobby Registrierung).

Gruß Axel

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln