Late last year I was approached to write a blog post about using Vaadin on Domino and in particular the new Vaadin Designer. After my work for the current blog series on moving from XPages to a web application, I felt capable of doing it justice, even though there are others in the community like Mark Myers and Rene Winkelmeyer (and probably Sven Hasselbach as well) who have more experience. And covering Vaadin Designer, which is out of scope of my blog series, was also worth covering.
It’s worth remembering that Vaadin Designer only reached its 1.0 release at the end of last year, so I’m sure there is more to come. But it also highlights separation of visual design and business logic, which has become more popular in XPages development.
The article includes links to wiki articles that walk you through building a Vaadin application that will run on Domino and, unlike some basic “Hello World” applications, give you everything you need to know how to access the underlying Domino Object Model. While reading the article I would strongly encourage people to investigate the rest of the Vaadin website, including the recently revamped documentation (from the Framework menu), including the link off to the Sampler and Demo applications.
I’ll be talking (briefly!) about Vaadin and Domino at SpeedGeeking at IBM Connect and, if all goes well, attendees of my session will get a chance to get hands-on experience of a Vaadin application on Domino.
Enjoy!
mike?
Doh! Sorry, fixed.
oh be-have!
the ressemblence is uncanny, though, I don’t blame Paul.
Mike Myers is a psychopath with a machete who hunts people down as he is pure evil where as I …………… oh never mind forget I mentioned it
Paul:
For those not fortunate enough to see your talk on Vaadin and Domino, is there some way to see the presentation? Or, at least post how you did this, I’m using Vaadin for portal apps, want to integrate Domino, some way.
The presentation in speedgeeking mainly covered what Vaadin was and why it couold run on a Domino server. The blog post and wiki article show the steps for accessing Domino data from a Vaadin app running on Domino. If you want to use the OpenNTF Domino API, my Key Dates series covers OsgiWorlds, a Vaadin servlet to set up a Notes Thread and wrap the session in an org.openntf.domino.Session. Outside of Domino, Daniele Vistalli has set up a project called CrossWorlds to run from Websphere Liberty Profile with a Domino server / Notes Client on the same machine. Beyond that, I guess CORBA could be used, though I have no experience of that, or the Domino data could be accessed via REST via Domino Access Services, XPages REST components or a custom REST servlet. The keys are where the Vaadin app is going to run and whether you want to access the Domino data via JavaScript or Java.
Hi Paul,
great work!
I’d like to see whether is is possible to integrate Domino and Vaadin 14.
Unfortunltely your “wiki article” is linked anymore 🙁
Is there another link for it?
I’d like to have a good starting point. 🙂
It looks like the wiki article I was linking to was for setting up XPages SDK on Eclipse. If so, the best and latest version is on XPages Extension Library GitHub https://github.com/OpenNTF/XPagesExtensionLibrary/wiki/Development-Environment. I think a limitation with using Vaadin 14 will be that, for a few versions now, Vaadin expects a more up-to-date servlet specification than is available on Domino. It requires Servlet Specification 3.0 and Domino uses a 2.x version, it looks like 2.4.
Rather than running Vaadin directly on Domino’s HTTP stack, another option may be to run in Spring Boot or Vert.x (there is a Vaadin on Vert.x project that looks quite active). Stephan Wissel blogged about vert.x and Domino https://www.wissel.net/blog/2014/07/adventures-with-vertx-64bit-and-the-ibm-notes-client.html. I got it working for basic testing with a GitHUb repo https://github.com/paulswithers/vertx-domino. For integrating ODA into Eclipse, there’s a wiki article here https://wiki.openntf.org/display/ODA/Setting+Up+Maven+Development+Environment. There are plans for a Java domino-db module in the app dev roadmap, hopefully that will be a Maven repository and presumably using gRPC, which would allow Vaadin to be used wherever, running outside of Domino, just talking to it. Understandably, JavaScript has been a priority. But it will be interesting to see what comes out over the coming months.