Welcome to Merauderweb

Integrating Notes with.. well, what have you got?

Ok, so I'm finished the first part of the proof of concept project I've been doing to interface Notes with a third party product via Java, and it has definately been a learning experience.

What it currently does:

  • View/Edit a Notes document, which has some fields which in this demo relate to vehicle insurance. The idea being I enter information about an insurance request, and then when it's submitted the Rules engine checks it all to see if you should be insured or whether you're some sort of crappy risk.

  • You click a button on the document, which runs some LotusScript, and converts that information into XML, and then calls the Java class that I wrote via LS2J, passing the XML document as a string.

  • The Java class then converts the string into a valid XML document, contacts the third party product, which applies its "rules" to the XML, and returns a converted XML document.

  • The LotusScript then receives the processed XML document as a string, and converts it's own document object via the NotesDOMParser object, and begins to process the document. It searches for the relevant Workflow / Error / Status tags, and retrives their child nodes, and populates the node values onto the document.

Writing it like that, it doesn't seem like much, but the whole thing has taken quite a while to get to this point.

I have learned a few things from this exercise:

LS2J is quite handy, but it does require you have some understanding of Java to start with (which of course I didn't). It was quite an interesting experience trying to convert my agent into a class, and in the end it was a bit easier than I expected.

There are some serious issues with XML in Notes :/

A lot of the prepackaged JAR files that come with the Notes client contain some seriously outdated routines. This is apparently a fairly common problem with Java, and there's generally no way to override the default libraries, as the environment is taught to load those first... so I deleted them. I'm not sure what consequences this is going to have down the line, but the current XML DOM that the Notes client handles is 1.0, and this product will only work with 2.0, so I had no choice.

The Java editor inside Domino Designer is a complete piece of shite.

Some people are TOO reliant on ctrl-space completion during their development (however when used proficiently it allows people to develop code incredibly quickly, and standing behind someone coding using it extensively is quite a sight to behold).

There are a lot of people on the lotus developer forums who simply respond to any and every post with "Read the help, it's in there" without actually reading the original post - it can make a lot of things a lot more confusing, and I wish there was a way to retroactively go back and stab those people in the throat. They're often jumping down the throats of fairly new posters and putting them off ever posting again. Countless times I came across posts from people saying all the information about "Calling Java agents from within LS2J" was in the Designer Help file, and it fucking well is not!

Some developers have an extremely closed minded approach to development and other technologies. Ie, this demo was originally done using XML/XSLT to demo the third party product to people - so when called, it modifies their document in place, so as its being viewed in a browser under a stylesheet it updates in front of the user - the fact that a Notes document isn't an XML document just confuses people, and they fail to understand how the integration is ever going to happen. It amuses me that as a Notes developer, I've got really good at understanding how other systems work, and then at adapting Notes to talk to them - and yet other people seem completely unable to do the same in reverse.

Anyhow, I'm now somewhat experienced in Java and LS2J, and as this project goes on I'll be getting more and more experienced with XML inside Notes/Domino, however I'm not sure any of these are good things?

  Print | posted on Monday, April 19, 2004 3:20 PM





Feedback

No comments posted yet.

Want to post a comment?

Post title
Your name
Your email (optional)
Website (optional)


What do you want to say?

 

Please add 1 and 4 and type the answer here:    



Welcome

Merauderweb is the personal website of a New Zealand based web developer and technologist, covering whatever interests or amuses him. Subjects include online gaming, music, gadgets/technology, ASP.NET, Web Development, JavaScript, jQuery, IBM Lotus Notes/Domino and are presented in a linkblog/tumble style.

Links

RSS 2.0 Feed

Archives