Using LotusScript to communicate with Java/Plug-ins

As many are aware, EventAdmin is a publish/subscribe event system that ships with Lotus Notes and is the primary communication mechanism used between OSGI plug-ins.  What is really missing in the Notes client is a pub/sub model to communicate between Lotus Script and the Eclipse Java world.  While you can certainly role your own through some creative coding the real answer would be to have the entire Notes core side (written in C) publish its various events to the Java side through the use of EventAdmin -this would allow any plug-in developer to plug in to the many events that happen in Notes (replication, new mail, document saved, etc).  Today you can do some interesting things with composite applications, the containers, and the property broker but that stuff only works in the context of a composite.  If you just want a view in the side shelf and have it be able to drive or communicate with other views in the perspective you will have to do something different – this is exactly where I think a LotusScript class for EventAdmin would be great.  You could register for any various topic or role your own topics on both sides of the Java/Notes Core fence.  This kind of thing can easily be done today using basic plug-in code with an LSX library installed.  I have heard of this requirement a lot in the labs and in the forums so I figured I would get some broader feedback on this through my blog – all 10 readers!

If you find this an interesting topics go ahead and email me or respond to this post so I can forward it on.

You can also check out the OpenNTF project I posted a while back that is an EventAdmin to PropertyBroker bridge for composites.  So if this was in fact enabled you could have property broker actions be called when something like new mail arrives…

14 thoughts on “Using LotusScript to communicate with Java/Plug-ins

  1. Not to be “offensive”, but your assumption “As many are aware, EventAdmin is a publish/subscribe event system that ships with Lotus Notes” seem quite wrong to me in the Notes/Domino developer world.

    As long as this “barrier” of knowledge (tween notes world and eclipse world) is not broken (thru more education, more tutorial, more “simple” article, more samples), the echo you’ll get to such a post may be minimal

    My 2 cents

  2. @Michael – so it sounds like you are not part of the many. 🙂 That is ok, that is why I blog such things. Notes 8.x is based on the Eclipse RCP – so any plugins that are part of the RCP can mostly be assumed to be in Notes. There are some subtle exceptions but for the most part it holds true. So yes, many Notes customers are not aware of this but many Eclipse developers are aware of this. So “many” is relative. In the end, what do you think of the overall idea?

  3. I’m guessing the “many” of us Bob is talking to is those of us who have already struggled with this. And we need these issues championed.

    IBM may need better educational material aimed at the LCD, but that’s irrelevant to this post, IMO.

  4. Honestly, Bob, I’m against anything that encouraged the use of Lotusscript at this point. I don’t see why anything you’re talking about here involves LS. If the Notes core is going to publish an event on new mail arrival, where is LS relevant?

    By the way, I’ve been asking for pre/post replication events since 1996. So it would certainly be nice for that to finally come to fruition. 🙂

  5. @Nathan – so this is more of a connector for LotusScript and the Eclipse/Java World and then the Core C world to the Eclipse/Java. An Eclipse developer can then be a receiver for all kinds of events that are only available to C programmers for instance. Then, opening an EventAdmin class to LotusScript developers would allow LS code to easily connect with Eclipse/Java code and vice-versa.

  6. @Nathan – I think there’s a lot of value in this (regardless of what languages developers are encouraged to use) because of a couple points in particular:

    – Huge amount of production code in LS can be made to interact with plugins without cost of porting entirely

    – LS can make C API / native calls w/o additional DLL deployment (so unless we’re getting fully documented & supported C API parity in Java…)

  7. Hi Bob,
    that would be great. I remember needing this badly in Alloy and ending up using a Composite app to get this sort of communication established .

  8. Such a component would be awesome and as I pointed out at Lotusphere it would open Notes to a whole new type of operation-aware applications. Would looooove to have it and EventAdmin is the way to do it rather than doing YAIC – yet another IBM component 🙂

  9. I totally agree. It would be really great to have this kind of flexibility in Notes no matter the language. I can think of several cool stuff that would be possible if we could monitor the entire pre/post replication flow. Would be even better if it was also possible to hook into replication stream and simulate a local Notes database. Woww… just thinking abort it… :o)

  10. Pingback: A distributed EventAdmin service, connecting LotusScript with Eclipse Java, again… »

  11. We are extremely interested in this! Simple communication between LS components and Eclipse would be fantastic. We already have three plugins that have needed this yesterday 😉

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.