Notes und Web mal andersrum

  • Hallo Forumsgemeinde,


    unser gutes Notes stellt ja jede Menge Möglichkeiten zur Verfügung um die Daten aus Notes-Datenbanken einem Web-User mit Browser zur Verfügung zu stellen so dass mit Notes-Anwendungen im Web gearbeitet werden kann.


    Ich stehe jetzt vor dem Problem dass ich den umgekehrten Wege gehen muss.
    Ich muss Daten aus einer Webanwendung die normalerweise im Browser bearbeitet wird in eine Notes-Maske einlesen.
    :-?
    Auch nach mehreren Tagen der Recherche in Redbooks, Handbüchern und Foren hab ich keine richtige Idee wie ich das anfangen könnte.


    Die einzigen Ansatzpunkte die ich euch mal Schlagwortmäßig zuwerfen kann sind Java, web.nsf (lokal oder Server) und CORBA.


    Mit nichts davon habe ich schonmal gearbeitet und bin seit langer Zeit mal wieder so richtig Ratlos.

    • Offizieller Beitrag

    per Win-Api kann eine WEB-Seite als Datei auf der lokale Platte abgelegt werden danach könnte ein Script die Datei durchwühlen und die passenden Stellen ...


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Diese Funktion habe ich im Einsatz:


    Code
    Set Doc = db.GetDocumentByURL( URLToGet, 1, 1,,,,ProxyAccount,ProxyPassword,False)


    vielleicht hilft das....


    Gruß


    Norbert

  • Schau dir auch mal das hier an:



    Call notesUIWorkspace.URLOpen( Url$, reload%, urlList%, charset$, webusername$, webpassword$, proxywebusername$, proxywebpassword$, notesRetriever )



    ist das eure Webanwendung? Kann man die evtl. so umschreiben das die XML Datein erzeugt die ihr euch dann holen könnt? Z.b. könntet ihr dann ein Laufwerk von dem WebServer mappen und die vom WebServer erzeugten XML Datein über einen Agent der auf dem Domino Server auf dem das WebServer Laufwerk gemappt ist bequem einlesen lassen...

  • Zitat


    Diali schrieb:
    per Win-Api kann eine WEB-Seite als Datei auf der lokale Platte abgelegt werden danach könnte ein Script die Datei durchwühlen und die passenden Stellen ...


    Gruß
    Dirk


    Also man muss sich das in etwa so vorstellen:


    Ich gebe in meiner Notes-Maske eine Nummer ein. Diese Nummer wird an die Web-Anwendung übergeben und ich bekomme als Anwort die Adressdaten von der Person zurück.


    Wenn ich diese Win-Api nutzen will wäre mein erstes Problem wie ich die Nummer an die Web-Anwendung übergeben kann.
    Dann müsste ich als nächstes irgendwie diese Datei erzeugen und auf Platte speichern.


    Das einlesen und durchsuchen von Textdateien ist kein Problem, da kenn ich mich aus. :D


  • Das sieht interessant aus!
    Kannst du die Datenfelder aus dem HTML-Dokument dann in dem NotesDocument-Objekt als Items sehen?
    Das wäre obergenial.


  • Mit dem NotesUIWorkspace.URLOpen würde ich ja nur die Webseite in irgeneinem Browser öffnen, was mich auch nicht weiterbringen würde.


    Das mit den XML-Dateien würde wahrscheinlich funktionieren, ist aber aus Performancegründen wohl nicht das wahre. Wie ich oben in der Antwort an Diali geschrieben habe geben die User in einer Notes-Maske was ein und wollen sofort eine Antwort haben.

    • Offizieller Beitrag

    das mit dem übergeben von Werten an eine Web-Seite und dann etwas zurückholen konnte ich aus dem Anfangspost nicht herauslesen.


    Stellt die Anwendung eventuell einen WEB-Service zur Verfügung, erfolgt die Berechnung eventuell per JavaScript usw.?




    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein



  • Vielleicht kannst Du die Nummer, die Du auslesen willst ja auch in die URL packen, also so, wie man einen Agenten über das Web auf dem Dominoserver abfragt...


    Schau Dir doch mal an, wie die URL im Browser aussieht, wenn du die nummer in das Formular eingetragen hast. Wenn es kein Java-oder ähnliches Gemiste ist, dann sollte das so funktionieren....


    Dieser Beitrag sieht z.B. so aus:
    http://www.dominoforum.de/modu…rum=47&PHPSESSID=9cec080c


    Es wird also nach topic 11358 im Forum 47 gefragt....
    Wenn man die Logik der URL verstanden hat, dann läßt sie sich selber zusammenbasteln....


    Gruß


    Norbert


  • Nee, das konnte man auch nicht so unbedingt rauslesen.


    Um es nochmal etwas ausführlicher zu zeigen:
    Ganz hinten steht eine IMS-Datenbank auf einem IBM S390 Host.
    Davor hängt ein Application Server der über irgendeine Schnittstelle Daten mit dem Host austauschen kann.
    Auf der anderen Seite des Application Servers wird eine GUI über JSP's zur Verfügung gestellt.


    Bisher haben die User mit einer 3270-Emulation (Rumba) auf den Host zugegriffen. Über eine spezielle DLL konnten wir zwischen Notes und Rumba Daten austauschen.
    Jetzt soll Rumba rausfliegen und durch eine peppigere Web-GUI ersetzt werden. Und ich muss zusehen wie ich zukünftig an die Daten rankomme. :-x

  • Oh Rumba....


    *Sentimentalwerd*


    Besteht die Anwendung den schon, oder kannst Du Einfluß darauf nehmen??


    Norbert


  • So in der Richtung stelle ich es mir auch vor. In der Maske aus der Eingabe der Nummer eine URL zu berechnen sollte wohl kein Problem sein. Die Frage ist nur, wie ich die Antwort, also das HTML Dokument das durch diese URL geöffnet wird, nach den Teilen die mich interessieren durchsuchen kann und die Daten dann in Felder meiner Notes-Maske reinschreiben kann.


    Ich könnte sogar noch den Entwickler des Application Servers davon überzeugen, mir die gewünschten Information als Metadaten im HTML-Header zu schicken.
    Aber das @GetHTTPHeader mit dem ich es auslesen könnte funktioniert nur im Kontext einer web.nsf.


    Ein erfolgversprechender Ansatz wäre auch noch folgender:
    Der Application Server von dem ich die Daten haben will ist komplett in Java gebastelt (Leider hab ich null Ahnung von Java).
    Also müsste es doch möglich sein, dass der Java Entwickler mir Klassen zur Verfügung stellt mit denen ich mit dem Application-Server Daten austauschen kann.
    Diese Klassen kann ich in eine Java-Library in meiner Notes-Anwendung einbauen und über Lotus Script daraus Objekte erstellen und die Properties und Methoden dieser Objekte ansprechen und nutzen. Mit einer einfachen Klasse habe ich das schon getestet und es hat auf Anhieb funktioniert.
    Das war allerdings eine einzelne Klasse. Was ist wenn ich komplette Klassenhierarchien verwenden muss??


    Hat mit dieser Vorgehensweise, also der Verwendung von Java-Klassen in Lotus-Script schonmal jemand Erfahrungen gesammelt?

  • Zitat


    taurec schrieb:
    Oder wie wäre es die bereits existierende Schnittstelle zu verwenden ?
    Je nachdem was das für eine ist


    Meinst du, von Notes aus direkt auf den Host zu gehen?

  • Hier mal der rest des Schnippsels von ganz am Anfang des Threads




    Da läßt sich doch was draus machen...


    Natürlich mußt Du die URL http://www.dilbert.com austauschen.... :lol:


    Gruß


    Norbert



  • Vermutlich könnte ich sie sogar dazu bringen mir eine eigene Schnittstelle zu programmieren.

  • Na dann ist es ja einfach....


    Du übergibst die Nummer in der URL, der Anwendungsprogrammierer hat das Problem und muß Dir nur genau den Datensatz mit Trennzeichen zurückgeben, wie Du ihn haben willst, kein Schnickschnack drum rum, dann kannst Du das GetDocumentByURL machen und hast alles schon in einem Dokument-Body, wo Du es schön parsen kannst.....


    Gruß


    Norbert


  • WoW, in der Tat klingt das einfach. Main Java-programmierender Kollege hat mir genau das umgesetzt.
    Im ersten Test hab ich in der URL einfach einen String übergeben den er mir in Großbuchstaben zurück gibt.


    Allerdings hatte ich beim ersten Versuch wohl einen Fehler in den Browsereinstellungen der Arbeitsumgebung und ich habe im Body nur eine Fehlermeldung zurückbekommen.


    Jetzt fangen die Probleme allerdings erst an. Bei jedem weiteren Versuch bekomme ich immer wieder die selbe Meldung. An dem Item "$Created" kann man erkennen dass es tatsächlich die selbe und nicht die gleiche ist. Irgendwo hat er das im cache und er aktualisiert mir das Dokument nicht mehr.


    Wie müssen denn die Einstellungen in der Arbeitsumgebung sein?


  • YYEEEAAAAAHHHH !
    JJIIIIPPPIIIIEEEEE!


    *virtuellumarm* *schulterklopf*



    Oh sch... ist das einfach wenn man weiss wie's geht!



    DANKE!!!!!!


    Juuuuhuuuuu


    Es hat funktioniert, ich musste einfach nur einen anderen Übergabeparameter nehmen, dann hat er das Dokument auch neu erstellt und nicht aus dem Cache genommen. :hammer:


    Damit wird unsere Notes-Anwendung zukünftig wesentlich einfacher sein, als die Daten über eine dll aus Rumba zu holen.


    Danke auch nochmal an alle die auch Ideen beigesteuert haben!