Q and A from the August 18th Webinar

Howard D Greenberg | 9 hours ago | Comments

This blog presents the questions from the August 22, 2022 OpenNTF webinar on XPages Jakarta EE Support In Practice and their answers from our speaker, Jesse Gallagher. Thanks for all the great questions!

To begin, here is the links to the support page where you can download the slides and watch the video.

Q is there any perfomance increase/decrease with large data using JAX-RS vs standard REST to produce json?
A I haven’t noticed, but I also haven’t done head-to-head performance comparisons. In practice, I’ve found performance to be very good, and you can deal with memory footprint in very large cases by using StreamingOutput in JAX-RS.
Q When we inject any Domino object into a bean, so we still need to define the field transient? How does it know it will be removed after a req-response cycle?
A No. You don’t assign the value to the property yourself, and CDI takes care of assigning and it properly per-request.
Q We can very easily handle CRUD ops with Jakarta Nosql and at this level we don't need accessing Domino with views, entries, collections, etc. However, what would be the best strategy to handle more granular operations? Let's say the Project name has been changed in the OpenNTF site and all releases should be updated.
A Currently, you would do that in the “object-oriented” way: have a repository that returns all releases for a project name and then go through and update+save each. This also implies a good specific feature request: add StampAll support.
Q Is SessionAsSigner supported?
A Yes. You can inject it via @Named(“dominoSessionAsSigner”).
Q At this moment, I couldn't find a Domino Driver at JNoSQL website. Is it an ongoing development?
A This is for two reasons: one is that it is indeed under active development (though realistically reached stability a bit ago) and also due to how difficult it is to distribute artifacts that depend on Notes.jar and Domino OSGi, as this does.
Q Is ODA an actual requirement to install and run XPages Jakarta EE?
A No. This project doesn’t use ODA, though it’s compatible with it if you choose to use it.
Q Does the Domino NoSQL repository functionality allow you to specify which session object is used to access data, eg. sessionAsSigner?
A Yes. When using the @RepositoryProvider annotation for a Repository, you then create a bean that emits a lotus.domino.Database object – this can come from sessionAsSigner if you would like it to.
Q Hi - we're about to launch a major public-facing website built primarily using xpages as a container for raw html with dynamic content generated via ajax calls to an xpage REST service backed by java beans. In terms of performance would it be worthwhile to replace the REST services with EE + JAX-RS?
A I would say it’s not worth rewriting just for performance alone. However, a version written with this framework would likely involve significantly less code, has additional capabilities, and will benefit more from future improvements.

Answers by Jesse Gallagher. Edited by Howard Greenberg.

August OpenNTF Webinar - XPages Jakarta EE Support In Practice

Jesse Gallagher | 2 weeks ago | Comments
The XPages Jakarta EE Support project on OpenNTF adds an array of modern capabilities to NSF-based Java development. These improvements can be used for wholly-new applications or added incrementally to existing ones.

In this webinar Jesse Gallagher will demonstrate how to use this project to perform common tasks in better ways, such as creating and consuming REST services, writing managed beans with CDI, and using new EL features in XPages. Though these examples will largely use Java, they do not require any knowledge of OSGi or extension library development, nor any tools other than Designer.

This webinar will take place on August 18, 2022 at 11:00AM (New York Time) to 12:30PM.

Register for this webinar at:

Q and A from July Webinar on Sametime 12 on Docker - A Deployment Walkthrough

Oliver Busse | 1 month ago | Comments

This blog presents the questions from the Juli 2022 OpenNTF webinar on Sametime 12 on Docker - A Deployment Walkthrough and the answers from our speaker, Tony Payne. Thanks for all the great questions!

Q Hello, Can I install all ST components ( MongoDB+Docker+ST chat_meeting) in the single box with the high configuration VM?
Q And if Customer asks me to install mongoDB+chat on vm1 and Meeting should be on VM2 .. is it possible?
A In a Kubernetes environment, yes - but not in a Docker environment
Q Hello, I don’t find the Sametime_premium setup on the flexnet account, and got some different name like sametime_setup.zip for ST v12. And in the same time, HCL team told me to check that the Sametime_premium.zip will be there in FlexNet account, but I don’t see there in the such same.
A On Flexnet, you are looking for ‘Sametime_Premium_12.0.zip’ and ‘Sametime_12.0.zip’
Q What is the best practices if Customer wants to make the DR environment for Chat and meeting in ST v12. Is there any documentation or steps available?
A You would deploy a mirrored environment in the DR location and ‘hot swap’ them at a GTM should the primary site go down. Mongo would have to have a replicaSet member in the DR location as well).
Q Can we use the COTURN in the place of TURN Server for ST v12 AV?
A Yes - that is what we have tested and documented the use of
Q Customer is not interested to use the Google turn server for ST and they are thinking that the ST data may be exposed to internet / google turn server. The internal ST data will be transfered when we use the Google Turn server?
A We only use STUN from google, not TURN. With STUN, there is no internal ST data being transmitted - it is simply a ‘whatismyIP’ connection. If you were using a public TURN server, then the media streams (which are encrypted) would be relayed over TURN.
Q Customers reject persistent chat because if they are under a legal discovery subpoena, they are required to export chat history. Does ST12 have a facility for admins to search and export historical chat text?
A This is done thru Mongo Queries, we do not have a GUI interface for this at this time.
Q What does Sametime do with STUN/TURN IP addresses? Why/when does it need the requesting IP?
A Sametime uses STUN to discover its IP address, it uses this information to tell the client(s) what IP address to send media streams to. If using TURN as a relay, then it would also offer the address of the TURN server as one of the choices for the clients to use.
Q Can the online install documentation be updated to include the bindIP: tip?
A I can add a note for that - but its right there in the mongod.conf file!
Q are v12 domino server needed for sametime 12
A No - there is no dependacy on Domino.
Q Can I install centos on windows server 2019 and then install docker on top?
A I have not tried that - I know that WindowsServer 2019 allows for creation of VMs for this type of thing. The challenge here will be exposing the appropriate IP address and ports for connectivity.
Q So there are no differences in the installation package between Sametime Limited and Sametime Premium ?
A There is a difference in the package itself - Limited is much smaller in size) - but the installation steps are the same.
Q Is MongoDB runnning in a container/pod supported?
A Yes.
Q what would be the sizing for a small chat only enviroment of 50 users !!
A a Docker instance will support this without breaking a sweat.
Q Centos is or will be discontinued. What other Linux OS would you recommend? Is Ubuntu supported?
A We routinely test on RHEL and Ubuntu.
Q how do you migrate your current VPUserInfo from an existing envorinment to a new ST v12 Docker environment?
A There is a ‘user-migration’ utility included in teh install package - this will be run on the existing Domino/Community server and will migrate the data to MongoDB.
Q Is the mongobd installed through local rpm or directly from the site.
A You can install it via the RPM if needed - see MongoDB documentation for steps.
Q How do I install Docker under VM Systems in Test Environment without Internet Connection.
A You would have to manually get the docker packages and install - this is covered in the Docker documentation.
Q Does the Docker partition the disk for its Space bydefault.
A it doesn’t partition the disk, but it creates needed folders in its structure.
Q how can I bind sametime services to a specific IP address (in case my server has more than one IP)?
A In the new containerized version, this is handled differently - Sametime will only see the ‘docker network’. The docker-compose.yaml file defines what ports are exposed. You would use DNS to point users to the correct IP address and no other configuration should be needed. If you need additional assistance on this, please open a support ticket so we can discuss.

Answers by Tony Payne. Edited by Oliver Busse.