Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: kheldar77 am 25.05.04 - 16:01:38
-
Folgendes: Ich habe eine externe Java-Anwendung, von der ichzwei JAR-Files zur EInbindung hab, quasi als Schnittstelle.
Mein Problem: Die Anwendung benötigt zwingend mindestens 1.4, soweit ich mitbekommen habe, ist LN6.5.1 aktuell bei 1.3.1. (Bei uns im Einsatz ist 6.0.3, mit noch einer älteren JVM). Macht sich insofern schlecht, als dass sich das System als Ganzes weigert, mit mir Kontakt aufzunehmen.
Meine Frage: Kann ich Notes dazu bewegen, in 1.4.x erstellte Anwendungen zu verstehen? Während meiner Suche hier hab ich ein Post von eknori gefunden, indem er das andere System "downgegradet" hat, die Möglichkeit bleibt mir aber nicht...
verzweifeltst:
Steffen
-
soweit ich das bis jetzt überblicke -> no way.
-
Erst mal no way.
Es existiert ein strong coupling zwischen Lotus Domino und der von ihm benutzten Virtual Maschine.
Mir fällt als workaround ein, vielleicht die andere Anwendung in einer von Domino unabhängigen VM zu tun und von Domino darauf sozusagen "remote" zuzugreifen (Gänsefüsschen, weil die andere Java Virtual Maschine auch auf dem selben Rechner wie Domino liegen kann).
Wirklich schön ist das nicht und sicherlich ein größerer Performance-Stopper.
Möglicher Informationsaustausch mittels:
- Socket-Verbindung
- java.rmi
- Webservices.
- Integration über Messaging Systeme wie Websphere MQ.
Eine berechtigte Frage ist sicherlich, inwieweit du für die Anwendung Domino überhaupt brauchst.
Eine Integration wäre mit einem IBM Rich Client basierten NotesClient wesentlich einfacher. Heute kann man ja theoretisch auch Java-Guis über sowas wie Java Web Start komfortabel und "einfach" verteilen und daraus dann auf Notes zugreifen.
Hängt aber alles vom Einzelfall der Anwendung ab.
Gruß Axel
-
Ersteres hab ich befürchtet. Ich hab spaßeshalber mal das Java-Bin der Notesinstallation mit 1.4.2er files ersetzt und hab mir ordnungsgemäß den NSD (was heißt das eigentlich? "Notes Sudden Death"?) einfangen dürfen.
Das Problem ist, dass die Funktion, die ich mir als Schnittstelle mit der Einbindung dieser JAR-Files ermöglichen will, eine reine Push-Funktion ist. Das Zielsystem ist ziemlich abgeschottet und besitzt nur diesen definierten "Eingang", da es mit Kontoständen hantiert... Und der zweite Eingang, den das Tool noch besitzt, ist kein direkter, nur über einen manuellen Import einer Textdatei - also nicht diskussionswürdig.
Die Auslagerung der Klasse können wir nicht in Betracht ziehen, weil das ein verteiltes System auf 20 Repliken ist, auf denen das funktionieren muss... Der Install- und Wartungsaufwand bei Änderungen an einem der beteiligten Systeme wär die Hölle, ich will nicht jedesmal durch ganz Europa tingeln - quasi unerschwinglich. Was anderes als eine interne Lösung is nicht drin.
Trotzdem danke - und falls jemandem noch was einfällt... ich bin dankbar für jede Idee ;)
Steffen
PS: Notes 7 Beta 1 spricht 1.4.1 - hat jemand Erfahrungen mit der Stabilität des Clients?
Nachtrag: Ich bräuchte nicht einmal den Server. obgleich es mir lieber wäre, wenn der Prozess da liefe, ansonsten müsste jeder Client, der die Funktion ausführen können muss, auf 7 gehen...
-
Du nimmst einen zentralen Tomcat.
Auf dem zentralen Tomcat tust du apache.axis (Webservices Paket).
Du entwickelst mit apache-axis sozusagen eine Schnittstelle für die Schnittstelle (der Anwendung auf die du zugreifen willst) als Webservices.
Alle replizierten Anwendungen greifen (z.B. per SSL) als Webservice - Clients auf den zentralen Tomcat zu.
Seit Domino 6.5 sind Webservices in Notes verfügbar. Ich weiss aber nicht wie gut.
Meine Firma kann Webservices Clients für ab Domino 5 implementieren.
Wenn Du also Interesse hast...
Gruß Axel
-
Hm, das wäre eventuell ein Ansatz. Wobei mir die Idee mit dem zentralisierten Tomcat nicht so gefällt. Du kannst dir das so vorstellen:
Hier in der Zentrale laufen alle partiellen Landesrepliken aus mehr als 20 Staaten zusammen. Übertragen wird von den Landesrepliken auf andere, im Land befindliche Systeme. Da würd ich nicht wollen, dass die erst was in eine Zentrale schicken, um das dann wieder zurück zu senden.
Kann ich zentral eine Lösung mit Tomcat entwerfen, die dann verteilen und in die Land-Land-Kommunikation der Anwendungen einklinken?
Wie aufwändig ist die Anpassung des Tomcat-Systems, wenn ich Änderungen an einem der beiden Systeme habe? Ich kenne Tomcat (noch) gar nicht...
Und noch was: Ich denke nicht, dass wir in näherer Zukunft unsere Gesamtlandschaft hier von 6.0.3 auf 6.5.x hochziehen werden...
Nichtsdestotrotz: Ich werd mich erkundigen, inwieweit da mögliches Interesse meiner Firma bestehen könnte. Danke soweit erstmal.
Steffen
...und nach wie vor: an einer unmittelbaren, kostenlosen, schnellen und funktionierenden Lösung hätte ich nichts auszusetzen... :)
-
Das ist nicht unbedingt Tomcat spezifisch. Sondern eher Java-Webservices spezifisch.
Du willst eine andere Java Anwendung mit Domino integrieren.
Die andere Anwendung läuft nicht in der Domino VM.
Da sind Java Webservices eine gute Lösung.
Wir haben hinsichtlich Stabilität wirklich sehr gute Erfahrungen gemacht.
Wenn das als backend Prozess laufen soll, sehe ich das als wirklich problemlos an. Als Frontend Prozess sollte man frühzeitig die Performance kritisch beäugen. Geht aber wahrscheinlich auch.
Das läuft aber nicht nur auf Tomcat, sondern auf quasi jeden J2EE Webcontainer --> Websphere, Bea Weblogic, Oracle App Server, Resin.
Tomcat ist nur die leichtgewichtigste Lösung.
Du kannst in jeder Landesgesellschaft einen eigenen Tomcat einrichten.
Ein Tomcat ist extrem einfach aufzusetzen und auch einfach zu monitoren/administrieren.
Gruß Axel