Für mein Verständnis gehen hier ein paar Sachen ein bischen durcheinander.
Du kannst aus einem Java Programm mit verschiedenen Arten mit Notes kommunizieren:
- Notes Java Api über Corba oder "lokal" *
- Verbindung über irgendeine Form von HttpConnection
- Webservices
- Sockets
- Java RMI
Der erste Punkt ist der gebräuchlichste und meist einfachste.
Vermutlich macht es gerade für Leute, die dies zum ersten Mal machen Sinn eine Library zu benutzen, die das vereinfacht (aber einen leider auch bestimmte Möglichkeiten aus der Notes Api beraubt).
Hier bietet sich Domingo an. Vor allen hat das auch ein Mini-Tutorial dabei:
http://domingo.sourceforge.net/getting-started.htmlMir ist Domingo oft zu "intrusiv", d.h. ich kann mit den Notes Klassen nur noch über Domingo kommunizieren und bestimmte Dinge sind da nicht da die in den normalen Notes Klassen da sind. Für viele Standard-Fälle ist Domingo aber eine prima Lösung . Und ehrlichgesagt könnte ich auch Domingo erweitern oder forken (es ist openSource).
Eine andere interessante Möglichkeit bietet Java RMI. Du willst aus einem Agenten heraus Daten an ein Java Programm übertragen und eine Antwort bekommen, dass du im Java Agenten weiterverarbeitest.
Z.B. in diesem Buch wird das gut erklärt:
http://www.javabuch.de/Die Versionen sind nicht so das Problem. Du kannst z.B. einen Java1.3 Client über Java RMI mit einem Server in Java5 sprechen lassen, der wiederum das externe Programm "wrappered".
Gebräuchliche Alternativen sind:
- Eine Webserver-Anwendung schreiben, die mit der Anwendung spricht. Der Domino Agent kommuniziert dann über http mit dieser Anwendung auf Tomcat oder sowas in der Art.
- Webservices.
Hoffe das hilft.
Wenn ich Zeit hätte, könnte ich für dieses ganze Zeugs mal Beispiele ins Netz packen. Ich hab das (teilweise mit anderen) alles schon gemacht.
Gruß Axel
* lokal ist ein anderes Wort für "die bereitgestellte Java Kommunikationsschicht ist ein dünner JNI-Wrapper um die traditionellen, in C geschriebene "Remote Procedure Call" Funktionalität. Bereitgestellt heisst: Du brauchst dich nicht zu kümmern. Für den Anwendungsprogrammierer ist das von der API erstmal so ähnlich wie LotusScript, wobei ein paar Dinge sollte man wissen um Probleme zu vermeiden.