Autor Thema: Java API  (Gelesen 7403 mal)

Offline CrazyCoder

  • Junior Mitglied
  • **
  • Beiträge: 97
  • Geschlecht: Männlich
Java API
« am: 05.02.04 - 15:36:17 »
Hey leude,

ich versuche eMail über eine Java-Schnittstelle zu versenden, klappt aber nicht wirklich! :(

Hat einer von euch nen Plan wie das mit der API ist?
  Wo find ich die? Was muß ich beachten?

Wäre dankbar über schnelle antwort! :)

Danke

CrazyCoder

Offline koehlerbv

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Java API
« Antwort #1 am: 05.02.04 - 17:03:58 »
"eine Java-Schnitstelle" ?
"Java API" ?
"API" und "schnelle Antworten" ?

Bist Du Dir sicher, dass Du hier im richtigen Forum bist ?

Fragen über Fragen ...

CrystalPalace

  • Gast
Re:Java API
« Antwort #2 am: 07.02.04 - 23:24:30 »
wenn du LoNo 5 benutzt, hast Du wohl schlechte Karten...das unterstützt nämlich nur JDK 1.x.
Das Mail API was Du suchst, ist das Java Mail API, das findest Du im J2EE SDK bei http://java.sun.com/ . Habe allerdings die erste Version erst bei JDK 1.2 gesehen-kann mich aber irren...
Das API an sich ist straightforward und die beispiele sind au net schlecht.
Hast Du Zugriff auf R6, dann sieht es wohl besser aus, da müsstest Du auf die J2EE packages zugreifen können.

Hoffe das hilft dir wenigstens etwas....


CrystalPalace

Offline Axel_Janssen

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 769
Re:Java API
« Antwort #3 am: 08.02.04 - 07:14:17 »
@CrazyCoder:
Was verstehst du unter Java Schnittstelle?
Du willst von außen (von einem selbstgeschriebenen Client, von einer J2EE Anwendung) aus Notes heraus eine Notes Mail zu verschicken?
Das geht auch unter Domino5. Dafür benutzt du die Domino Object Model API. Die ist sehr ähnlich wie die unter LotusScript.
Sie ist in der Notes-Designer Hilfe sehr gut beschrieben.  Mail versenden konkret geht über Document.send();
In der Hilfe dürftest du ein Beispiel finden.

Infos zur Verbindung mit Domino von aussen mit Java findest du hier:
http://www.atnotes.de/index.php?board=24;action=display;threadid=8811

@ChrystalPalace: Die Java Mail API ist tatsächlich Bestandteil von J2EE.
Die J2EE (Java2 Enterprise Edition) Apis sind Zusatz-APIs, die nur von sogenannten J2EE Servern (Websphere, Weblogic, Oracle App Server, JBoss etc) bereitgestellt werden. Deine Frage, ob du dich irrst, wenn du dir nicht sicher bist, ob du sie im jdk1.2 gesehen hast, kann somit mit ja beantwortet werden.  ;) Das normale JDK hat nur J2SE Klassen (Java2 Standard Edition). Du meinst wohl das J2EEDK (Java2 Enterprise Edition Developer Kit).
Domino ist kein J2EE Server. Somit gibts also keine Java Mail API.
Die Java Mail Api ist aus Anwendungsentwicklersicht erst einmal ein Haufen von abstrakten Klassen.
Für spezifische Mail-Systeme (wie z.B. Lotus Notes) müssen noch Java Mail Provider eingebunden werden, die das ganze mit Leben füllen. Auf Websphere ist - glaub ich - eine Java Mail Provider für Lotus Domino dabei. Der Vorteil dieses Ansatzes ist, dass man beim Wechsel von Mail-System A auf Mailsystem B nicht den Anwendungscode ändern muß, sondern nur den Java Mail Provider. Solange man keine Mail-System spezifischen Features verwendet, geht das ohne Neukompilierung des Anwendungscodes. Man muß nur den Java Mail Provider des neuen Mailsystem in den JNDI-Tree des App-Servers einbinden und im Deployment Deskriptor der Klassen, die die Java Mail Api verwenden, den JNDI-Namen des neuen Mail Providers eintragen.  
Man kann aber auch in Websphere über die Lotus-Corba Schnittstelle (wie in den obigen Link beschrieben) auf Lotus Notes zugreifen und dann die Domino Object Modell Klassen benutzen.

@CrazyCoder: Wir haben im Moderatoren-Bord Diskussionen über die hier teilweise verwendeten Usernamen. Andere seriöse Foren (z.B. de.comp.lang.java und Javaranch) haben zu Usernamen auch sehr klare Vorstellungen. Wir wollen ein seriöses Forum sein. Den von dir verwendete Username halte ich für jenseits der Grenze. Ich weiss nicht, was Coder mit Crazy zu tun hat. Um z.B. diese Frage zu beantworten mußte ich
- ein bischen nachdenken
- ein bischen nach Postings in diesem Forum suchen
- habe ein Buch in meiner nicht kleinen Sammlung suchen und nachgeschlagen (zu Java Mail API)
- in einem akzeptablen deutsch eine Antwort schreiben.
Alles in allem ein nicht geringer intelektueller und zeitlicher Aufwand.
Und das ganze für jemanden, der sich selbst als "crazy" bezeichnet?
Sei also bitte so nett und ändere deinen Usernamen.


Gruß Axel
« Letzte Änderung: 08.02.04 - 07:48:07 von Axel_Janssen »
... design patterns are abstract designs that help identify the structure and elements involved in a specific design solution. From this, a concrete implementation can be produced.
Kyle Brown

CrystalPalace

  • Gast
Re:Java API
« Antwort #4 am: 08.02.04 - 12:36:02 »
@Axel_Janssen
Erst einmal hast Du Recht  :)
Unter R6 kann ich aber ohne Probleme auf die Klassen eines installierten J2EE/J2SE zugreifen, um meine z.B. Java-Agenten zu erweitern. Von daher kann man ein Java Mail API schon nutzen.
Ich frage mich allerdings, ob das sinnvoll ist, da Notes doch ein Mail-Interface anbietet, welches sich bequem nutzen lässt.

Gruss

Christian

Offline Axel_Janssen

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 769
Re:Java API
« Antwort #5 am: 08.02.04 - 13:03:56 »
@Christian: Ich wäre sehr daran interessiert, wie du J2EE Klassen wie in der Java_Mail_API ohne installierten App-Server benutzt.
Meiner Ansicht nach geht das nicht.
Ich lasse mich aber gerne vom Gegenteil überzeugen.

Zitat
Unter R6 kann ich aber ohne Probleme auf die Klassen eines installierten J2EE/J2SE zugreifen
Das ist ein bischen missverständlich ausgedrückt.
Von Haus aus sind die J2EE-Klassen nicht im Classpath der Java VM von Domino6. Der nutzt da auch nicht die Klassen eines "installierten JDKs", sondern die einer bestimmten JVM. Nämlich die, die bei Domino dabei ist: Und zwar in Notes-Programm-Verzeichnis\jvm\. Und hier lib\rt.jar. Man könnte J2EE-Klassen sicher über notes.ini JavaUserClasses oder sonstwie integrieren.
Trotzdem lebe ich bis jetzt mit dem festen Glauben das die J2EE Klassen stark mit den von einem J2EE Server bereitgestellten Diensten gekoppelt sind.
Diese Dienste stellt Domino nicht zur Verfügung.
Ausserdem ist Mail Api erstmal lediglich ein Interface, ohne Funktionalität. Die wird durch die Mail-Produkt-Hersteller bereitgestellten Mail-Provider Paketen zur Verfügung gestellt. Auch die kann man vielleicht noch über JavaUserClasses oder sonstwie in den ClassPath einer Domino-JVM-Instanz integrieren.  
Dann kommt aber das wirkliche Problem: Ein J2EE Server steht mit dem JNDI-Tree einen Namensdienst zur Verfügung für Standort Transparenz (location transparency) der Komponenten. Über diesen Namensdienst kann ich auf eine javax.mail.MailFactory zugreifen, die mir MailSessions mit dem im Deployment-Descriptor der Anwendung definierten Mail-Provider liefert. Hölle: Wie soll das ohne jndi-Namensdienst und Deployment-Descriptor gehen?

Für J2EE braucht es einen J2EE-Server.
Das ist nämlich nicht einfach ein paar Jars, sondern eben auch Implementierungen der J2EE-Dienste:  


Gruß Axel

im Sinne der Korrektheit von Informationen und nicht aus Rechthaberei.
Beim Thema Java bin ich fimschig.
« Letzte Änderung: 08.02.04 - 15:51:00 von Axel_Janssen »
... design patterns are abstract designs that help identify the structure and elements involved in a specific design solution. From this, a concrete implementation can be produced.
Kyle Brown

Offline Axel_Janssen

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 769
Re:Java API
« Antwort #6 am: 29.02.04 - 00:02:56 »
manchmal rede ich Quatsch  ;D

warum das funktioniert weiss ich auch nicht. Vermutlich irgendwelche Standard-Implementierungsklassen in mail.jar  >:(

... und es geht doch. Was man davon hat weiss ich nicht.
Was ist Name und Passwort?

http://dev.kanngard.net/Permalinks/ID_20021218023027.html
... design patterns are abstract designs that help identify the structure and elements involved in a specific design solution. From this, a concrete implementation can be produced.
Kyle Brown

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz