Das Notes Forum
Lotus Notes / Domino Sonstiges => Java und .NET mit Notes/Domino => Thema gestartet von: D. Roth. am 19.07.04 - 15:36:37
-
Hallo zusammen hat jemand von euch Erfahrung oder interessante Links zu JCO und Notes.
Die Aufgabe ist mit einem Notes Agent Daten zu dem SAP System zu senden
mfg
neon
-
Hallo ich kenne zwar nicht die Abkürzung "JCO", habe aber auf einem Kundentag von zufriedenen Kunden erfahren, die im Zusammenspiel zwischen Notes und SAP die Pump von InfoServ verwenden.
Da wir hier alles mit Notes (ohne SAP) machen, habe ich nur deren Erfahrung.
Schaue doch mal auf
http://www.infoserv-consulting.de (http://www.infoserv-consulting.de)
nach.
MfG
Werner
-
Interessantes Thema.
Ich hab einfach google mal gefragt und bekam als erstes die folgende Seite:
http://www.torsten-horn.de/techdocs/sap-bapi.htm (http://www.torsten-horn.de/techdocs/sap-bapi.htm)
Unter "Installation von JCo" wird aber beschrieben wie das so läuft.
Versuche statt:
#
# Kopieren Sie die Datei SapJCo.jar (bzw. jCO.jar, je nach JCo-Version) in ein Verzeichnis für Java-Libs (z.B. C:\Java\j2sdk\jre\lib\ext).
Trage die Pfade der Klassen in die Notes-Ini des Servers hinter JavaUserClasses= (genaueres in NotesDesigner oder adminHilfe. volltextsuchen).
Du kannst z.B. Tomcat nehmen. Das ist sicher auch wesentlich besser dokumentiert.
Die google Suche "JCO SAP Domino" ergibt einige Resultate. Irgendwie gewinnt man da den Eindruck, dass es irgendwie doch gehen sollte.
Gruß Axel
-
Laut der Beschreibung von der Hompage benötigt es Java 1.3 aber Notes R5 hat doch nur 1.1 ? Läuft es trotzdem ??
-
nein. Sorry. Ich hab dieses R5 übersehen.
Das geht nicht.
Man muss dann upgraden auf R6.
Vorher sollte man sich sämtliche Gedanken zu JcO für andere Dinge aufsparen.
Gruß Axel
-
:'( Gibt es wirklich keine Möglichkeit ??? :'(
-
Meiner Meinung nach gibt es schon eine. Man könnte den Java Code ausserhalb von Domino laufen lassen. Dann kann man eine höhere JDK Version wie z.B. 1.3.1 oder auch 1.4.x verwenden. Man kann dann dieses externe Java Programm aus Domino heraus z.B. über ein Programmdokument aufrufen. Das verwendete ich in R5 öfter. Man kann trotzdem problemlos die Notes Java API benützen.
Grüße
Ralf
-
Man kann dann dieses externe Java Programm aus Domino heraus z.B. über ein Programmdokument aufrufen. Das verwendete ich in R5 öfter. Man kann trotzdem problemlos die Notes Java API benützen.
O.k. So kann man ein Java Programm starten, aber wenn dieses Programm Rückgabewerte liefert, wie sammelst du die ein?
Gruß Axel
-
Welche Rückgabewerte. Das externe Programm schreibt direkt in die Notesdatenbank.
Hier ein konkretes Beispiel.
Wir haben bei uns eine Projektmanagementsoftware im Einsatz in die wir Zeitbuchungen aus unserer Zeitwirtschaft auf einer AS/400 Projekten zuordnen müssen. Da die Zugriffsklassen auf die Zeitwirtschaftsdatenbank Methoden verwenden, die erst ab Java 2 verfügbar sind, konnte ich Sie unter R5 nicht in einem Java Agenten verwenden. Aber extern funktioniert das Übernahmeprogramm einwandfrei und schreibt die Daten auch brav in die Projektmanagementdatenbank. Wenn du wirklich Fehlercodes zurückgeben willst hättest du ja auch die Möglichkeit die in eine Tempdatei zu schreiben die du nach Beendigung des Programms liest.
Funktioniert eigentlich ziemlich gut.
Grüße
Ralf
-
Hmmm hört sich interessant an. Hat jemand damit Erfahrungen oder besser kann mir jemand ein Beispiel senden !!
-
Vielleicht dürfte ich mal vorschlagen, du definierst die Aufgabenstellung noch etwas genauer und sagst uns wo genau dein spezielles Problem ist. Java Kenntnisse setze ich jetzt mal voraus oder?
Grüße
Ralf
-
Also ich will Daten von einer Notes DB an eine SAP Bapi senden. Dieser legt dann Belege in SAP an und gibt als Return Value eine Nummer zurück. Diese Nummer muss in das verarbeitet Notes Dokument eingefügt werden.
-
Ja aber wo ist jetzt das Problem. Wenn die API von SAP aus Java aus ansprechbar ist, von dem ich jetzt mal ausgehe ist das nicht besonders schwierig. Poste mal den Code in dem du den SAP Teil machst und ich code dann den Notesteil hinzu.
Grüße
Ralf
-
Danke für das Angebot. Ich steh aber irgendwie auf dem Schlauch für das Java Programm. Ich weis nicht wie ich das Realisieren soll . Hast du dafür irgendein Beispiel ?
-
Kannst du Java?
Grüße
Ralf
-
Jo, ich hab leider sowas noch nicht mit Java realisiert ! ;)
-
Hier ein Link
http://www.torsten-horn.de/techdocs/sap-bapi.htm#InstallationJCo
mit einer Beschreibung wie man JCO einrichtet. Ein kleines Beispielprogramm ist auch dabei. Wenn du das dann an deine Bedürfnisse angepasst hast und zur Notes Integration schreitest, kannst du dich gerne wieder melden. In SAP kann ich dir nur rudimentär helfen, da dass nicht mein Spezialgebiet ist.
Grüße
Ralf
-
Danke ;) ;)
-
Welche Rückgabewerte. Das externe Programm schreibt direkt in die Notesdatenbank.
Hier ein konkretes Beispiel.
Wir haben bei uns eine Projektmanagementsoftware im Einsatz in die wir Zeitbuchungen aus unserer Zeitwirtschaft auf einer AS/400 Projekten zuordnen müssen. Da die Zugriffsklassen auf die Zeitwirtschaftsdatenbank Methoden verwenden, die erst ab Java 2 verfügbar sind, konnte ich Sie unter R5 nicht in einem Java Agenten verwenden. Aber extern funktioniert das Übernahmeprogramm einwandfrei und schreibt die Daten auch brav in die Projektmanagementdatenbank. Wenn du wirklich Fehlercodes zurückgeben willst hättest du ja auch die Möglichkeit die in eine Tempdatei zu schreiben die du nach Beendigung des Programms liest.
Funktioniert eigentlich ziemlich gut.
Cool. Auf die Idee sind wir gar nicht gekommen, als wir heftige Probleme mit R5 und Webservices Integration hatten (anderweitig gelöst).
So richtig auf lange Sicht das Gelbe find ich das aber irgendwie auch nicht.
Im Prinzip sollte es IMHO schon so sein, dass es eine Middleware gibt (z.B. Websphere), die auf alle Backendsysteme zugreift.
Nachher fängt man irgendwann an aus SAP heraus auf Notes zuzugreifen (geht bestimmt auch irgendwie über Sockets in C). Und warum nicht aus DB2StoredProcedures auf Notes zugreifen. Sollte man auch mal versuchen. Schliesslich kann man die in Java schreiben.
Irgendwann hat man dann peer-to-peer EAI. ;D
-
Hallo Axel!
Was mir an deiner Middleware Variante noch schleirhaft ist, wie die Middleware weiß dass sie etwas zu tun hat.
Wir haben ja bei Neon den Fall folgenden Ablauf:
In Notes passiert irgendwas, daraus soll eine Aktion in SAP generiert werden und aus derer das Ergebnis soll dann wieder in Notes gespeichert werden. Wie funktioniert sowas formal richtig und nicht quick and dirty über Middleware?
Grüße
Ralf
-
Wenn das von Notes angetriggert werden soll, ist das natürlich ein Problem.
Geht aber auch (etwa indem man von Notes aus ein Servlet in Websphere anspricht) -> über httpSocketConnection, apache.jakarta.commons.HttpClient (aus 6) oder direkt als Webservice (möglicherweise auch mit in Notes selbstgeschriebener Client-Infrastruktur).
Das Servlet kann dann ein Stateless Session Bean (STSB) ansprechen, dass sämtliche Logik und die Zugriffsdaten auf SAP und Notes hält.
Vermutlich kann man keine 2-phase-commit Transaktionen verwenden.
Aber das STSB macht dann die ganzen Zugriffe in der richtigen Reihenfolge.
Gruß Axel