AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
25.01.22 - 17:56:01
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino Sonstiges
| |-+  Java und .NET mit Notes/Domino (Moderatoren: Axel, m3)
| | |-+  Agent -> Java AWT & Co
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Agent -> Java AWT & Co  (Gelesen 4232 mal)
jor
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 258



« am: 16.12.05 - 10:21:02 »

Hallo zusammen,

seit (sehr ;-) ) kurzer Zeit befasse ich mich mit Java. So weit so gut... aber:
Im Moment bin ich doch etwas verwirrt, ein Agent kann Java ausführen, dabei kann ich
das Notes Java (so nenne ich es mal) nutzen, oder externe Javaklassen aufrufen.
Eine Anforderung ist z. B. eine DB zu öffnen, eine Documentcollection zu erzeugen und dann auf Basis dieser eine Auswertung zu machen. Die Auswertung würde ich gern in einer AWT -Anwendung machen, da erhebliche Berechungen und Abhängigkeiten existieren.

Meine Fragen: Wie bekomme ich aus einem Java-Agenten die Daten am besten an meine Anwendung übergeben, oder kann ich auch AWT-Classen in einen Standard-Java-Agent einbinden, und diese haben Zugriff auf Notesdaten?

Ich habe auch schon fachbezogene Info gelesen, aber trotzdem habe ich eine graue Wolke über der Sache stehen.  Undecided 
Gespeichert

Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #1 am: 16.12.05 - 11:07:15 »

Ich finds ein bischen schwierig herauszufinden, was du willst.
oder kann ich auch AWT-Classen in einen Standard-Java-Agent einbinden, und diese haben Zugriff auf Notesdaten?
Ralf macht sowas. Allerdings mit Swing-Klassen. Awt hat einen sehr schlechten Ruf. Wurd 96 in Rekordzeit von Sun hochgezogen, um eine GUI fürs Web (Applets) zu haben und es hat eine Menge schwächen. Swing ist heute viel besser. Aber Swing erfordert natürlich auch eine gewisse Einarbeitung.
Zitat
Eine Anforderung ist z. B. eine DB zu öffnen, eine Documentcollection zu erzeugen und dann auf Basis dieser eine Auswertung zu machen. Die Auswertung würde ich gern in einer AWT -Anwendung machen, da erhebliche Berechungen und Abhängigkeiten existieren.
Was ich nicht kapiere ist, dass "Berechnungen" eigentlich eine Backendaufgabe ist. AWT oder Swing ist aber eine GUI, d.h. Anwenderinteraktion (Frontend). Also 2 völlig unterschiedliche Dinge.
Was willst du also eigentlich machen?
Soll
a)  der Computer irgendetwas rechnen, dass nicht mit Notes gerechnet werden kann ?
oder soll
b) der User auf eine Art mit Daten interagieren, wie es mit Notes nicht möglich ist?

Generell gibt es eine absolut erschlagende Menge an Möglichkeiten, um a) oder b) zu realisieren.

Gruß Axel

Gruß Axel 
Meine Fragen: Wie bekomme ich aus einem Java-Agenten die Daten am besten an meine Anwendung übergeben,

Ich habe auch schon fachbezogene Info gelesen, aber trotzdem habe ich eine graue Wolke über der Sache stehen.  Undecided 
Zitat
Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
jor
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 258



« Antworten #2 am: 16.12.05 - 11:25:38 »

Bei uns wird eine Prognose (Zustandswahrscheinlichkeit) erstellt, die auf Dokumentendaten basiert. Dieses wird für einen bestimmten Personenkreis durchgeführt mit jeweils unterschiedlicher Anzahl an Dokuemnten. Momentan besteht so eine Lösung unter Excel, die genauen Formeln habe ich zur Verfügung.
Bis hierhin sicherlich kein Thema für Notes, die Fromeln bestehen so weit ich gesehen habe auch nicht aus höherer Mathematik, sind aber dennoch sehr intensiv.
Wörüber ich mir nicht im Klaren bin ist, wie soll/kann ich die Daten am geschicktesten anzeigen lassen. Schliesslich kann man sagen, das es wohl aussen soll wie eine Tabelle mit unterschiedlicher Anzahl von Datensätzen, die dann auch noch Spalten- und Zeilenadditionen enthalten.
Da habe ich mir gedacht, ich packe die Daten irgendwie zusammen, und über gebe sie an eine Java-Anwendung, die die Aufbereitung, das Tabellenfüllen und die Berechnung durchführt, und das Erg. dann in einem Frame anzeigt.
Hhhmm... ich hoffe ich konnte meine Vorstellung verständlich machen.
Gespeichert

Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #3 am: 16.12.05 - 12:38:28 »

Mit Swing gibt es ein Widget namens JTable. Das ist natürlich nur eine Tabelle und keine Spreadsheet-Anwendung. Zur visuellen Darstellung (Graphen und so) Sachen wie JFreeChart. Der Vorteil von Java besteht imnsho u.a. v.a. darin, dass es eine Menge zuverlässiger openSource Komponenten gibt, die man für spezielle Aufgaben ihre Arbeit verreichten lassen kann.
Du kannst Swing-Komponenten in Notes Agenten einbinden. Ralf kennt sich damit besser aus. Ganz ohne Probleme ist das imho nicht.
Gut Weilgut benutzt offenbar erfolgreich Applets für eine Mind-Mapping Anwendung.
Auch denkbar - hab aber noch nicht gehört, dass das jemand genutzt hätte - ist Java Web Start. Du könntest den Java Teil als Java Web Start Anwendung verteilen und aus Notes aufrufen. Updates aus den Java Klassen würden dann automatisch verteilt.
Vielleicht macht es auch Sinn zumindest im ersten Schritt des Projekts die vorhandenen Excel-Datenblätter zumindest im Backend weiterzunutzen. Es gibt Möglichkeiten Excel von Java aus zu nutzen (POI, vielleicht Jexcel). 
Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
jor
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 258



« Antworten #4 am: 16.12.05 - 13:05:26 »

Die Excel-Klamotten habe ich Importiert und daraus über eine weitere Maske Datenblätter erstellt, so dass Excel kein Thema mehr ist. Alles ist in einer DB als Dokumente verfügbar.
Soweit ich gelesen habe setzt/nutzt  Notes in NetBeans intensiv Applets.

Ich möchte, zur bessern und flexibeleren Gestaltung, das Frontend in Java gestalten.
Dabei wären Graphen usw. nice to have.
Swing ist sicherlich auch ok, muss ich mich zwar noch einarbeiten, aber ich denke es lohnt sich auf jeden Fall (nicht nur für dieses Projekt  Wink ).
Mit Web Start habe ich noch gar keine Erfahrung.
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!)  Huh

Den Umweg über eine Datei auf der Platte habe ich schon probiert, geht, aber ist nicht akzeptabel da die Daten sehr vertraulich sind.

Gespeichert

Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #5 am: 16.12.05 - 13:40:25 »

Soweit ich gelesen habe setzt/nutzt  Notes in NetBeans intensiv Applets.
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!)  Huh
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.  Smiley

Gruß Axel

« Letzte Änderung: 16.12.05 - 14:49:10 von kennwort » Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
thorsten_w
Junior Mitglied
**
Offline Offline

Geschlecht: Männlich
Beiträge: 60


« Antworten #6 am: 16.12.05 - 17:18:34 »

EDIT:

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

versuch es mit Corba.
Code:
Session session = NotesFactory.createSession(host, username, password);

Gruss Thorsten
« Letzte Änderung: 16.12.05 - 17:41:42 von thorsten_w » Gespeichert
jor
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 258



« Antworten #7 am: 18.12.05 - 16:20:24 »

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  Wink. 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 Wink.

Weihnachtliche Grüsse, Jor
Gespeichert

Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)
Ralf_M_Petter
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1879


Jeder ist seines eigenen Glückes Schmied


WWW
« Antworten #8 am: 19.12.05 - 07:30:45 »

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
Gespeichert

Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #9 am: 19.12.05 - 11:39:07 »

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
Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
jor
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 258



« Antworten #10 am: 05.01.06 - 12:58:52 »

Hallo Ralf und Axel,

heute bin ich wieder mein Problem mit Java(Swing) unter Notes angegangen. Aus heutiger Sicht und die Zwischenzeit nutzend zum Lesen kann ich sagen, ich habe die ganze Sache noch nicht im Griff, weiss aber nun wovon ihr geredet habt, und was ihr meintet.
Hier im Forum (wo auch sonst?  Wink ) gibt es einen schönen Beitrag, aus dem ich mir den Quelltext
genommen habe und für meine nächsten Schritte anpassen konnte. Funzt prima!

Zum Finden sucht nach: Marinero Atlántico      Re: Java Gui durch Agent
(Ähä Axel, hast du den Eintrag und Code geschrieben? Ist mit Axel unterschrieben.)

Vielen Dank nochmal für eure Hilfe!
Gespeichert

Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)
Ralf_M_Petter
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1879


Jeder ist seines eigenen Glückes Schmied


WWW
« Antworten #11 am: 09.01.06 - 08:18:08 »

Ja ja der liebe Axel. Neben seinen guten Eigenschaften hat er auch diverse schlechte, z.B. das er seine Nicks regelmäßig wechselt. Man bekommt aber mit der Zeit ein Gespür dafür, dass man seine Beiträge sofort erkennnt.

Falls du noch Fragen hast, bin jetzt wieder mehr online, da mein Urlaub vorbei ist.

Grüße


Ralf
Gespeichert

Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.
jor
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 258



« Antworten #12 am: 09.01.06 - 19:44:45 »

Hallo Ralf,

nö nö, im Moment habe ich kein Fragen, obwohl mir da grade eingfällt... Wink !!
Ein frohes Neues!

LG, Jor
Gespeichert

Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: