Autor Thema: Agent -> Java AWT & Co  (Gelesen 5109 mal)

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Agent -> Java AWT & Co
« 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.  :-\ 
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Agent -> Java AWT & Co
« Antwort #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.  :-\ 
Zitat
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

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Agent -> Java AWT & Co
« Antwort #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.
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Agent -> Java AWT & Co
« Antwort #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). 
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

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Agent -> Java AWT & Co
« Antwort #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  ;) ).
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!)  ???

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

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

In diesem Sinne, viele Grüsse Volker (Jor)

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Agent -> Java AWT & Co
« Antwort #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!)  ???
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

« Letzte Änderung: 16.12.05 - 14:49:10 von kennwort »
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

Offline thorsten_w

  • Junior Mitglied
  • **
  • Beiträge: 60
  • Geschlecht: Männlich
Re: Agent -> Java AWT & Co
« Antwort #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 »

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Agent -> Java AWT & Co
« Antwort #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  ;). 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
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Agent -> Java AWT & Co
« Antwort #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
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.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Agent -> Java AWT & Co
« Antwort #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
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

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Agent -> Java AWT & Co
« Antwort #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?  ;) ) 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!
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Agent -> Java AWT & Co
« Antwort #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
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.

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Agent -> Java AWT & Co
« Antwort #12 am: 09.01.06 - 19:44:45 »
Hallo Ralf,

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

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

In diesem Sinne, viele Grüsse Volker (Jor)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz