Manage Learn to apply best practices and optimize your operations.

Scott Lemieux on Java vs. LotusScript

In this final of a four-part series, Scott Lemieux weighs in on the dev forum question, "What are the advantages & disadvantages of writing a Java agent over a LotusScript agent?"

Scott Lemieux
This is the fourth and final in a series of expert responses to the developer discussion forum question: .mgn7axGcQYd.3@.ee7740b/16703!viewtype=threadDate&skip=&expand=>"What are the advantages and disadvantages of writing a Java agent over a LotusScript agent?" We asked expert Scott Lemieux for his opinion. View the original question in the forum and let us know what you think!

See what application development expert Brian Mahoney, Domino development expert Andre Guirard, and Web development expert Jens Bruntt had to say about Java vs. LotusScript.

Java vs. LotusScript? Hmm, what does it need to do and how much time to I have to write it? The question of what language to code in -- Java or LotusScript -- most often comes down to which language you are most familiar with and the amount of time you have been allocated to write your code. It could also be determined by what the code needs to do, such as interact a great deal with the Notes client UI. Beyond that, most arguments are purely semantic. Both languages are interpreted at runtime, rely on a number of underlying libraries to run and work on all the favorite operating systems of today.

If you go to everyone's favorite search engine, Google, and search on "LotusScript," you'll get approximately 87,800 matches. Try a similar generic search on "Java" and you will get somewhere around 62,700,000 matches. Now you would expect the Java matches to be considerably higher, but over 62 million more seems a like a big gap between these two languages. Although, many of those hits could be trade journal references to the current hot technology language. Regardless, here are some key things we take into consideration when designing an application:

  • Do you need to interact with the Notes UI classes -- NotesUIDocument, NotusUIView, etc.?
  • Are using COM classes to access other software applications like MS Word or Excel?

    These are good cases for LotusScript.

  • Does your application need to communicate with clients other than Notes or a browser, such as a PDA or manufacturing equipment?
  • Are you interfacing with Web services and or XML data?

    These are good cases for Java.

    I know, I know ... you can "do" Web services and work with XML via LotusScript using SOAPConnection and DXL, respectively. You can also make calls into Java libraries using LS2J. Is one path better than the other? It almost always depends on who you ask. If you asked me, I would reply, "It depends!"

    In almost all of our consulting engagements we use LotusScript. Most companies we deal with want the agents and underlying code written in LotusScript so their internal Domino developers can support the application after our portion of the project is complete. That's because most Notes developers are still working exclusively with LotusScript and the Formula language. Java as a standard development language is something many organization using Domino have still not formally adopted.

    We use Java for the development of our fleXML tool for two reasons: Java provides a standardized XML interface (versus DXL, which is Domino only); and, we can more easily take our Java application to other operating systems and server platforms (i.e. non-Domino on non-Windows; e.g. an Apache/Tomcat application running on Solaris). Java also offers all the benefits of a much larger development community -- the people behind those 62 million hits on Google.

    Scott Lemieux is an expert on, and president of Stone Pond Consulting, which specializes in delivering complex data integrations using Lotus and non-Lotus technologies.

    Do you have comments on this tip? Let us know.

  • Dig Deeper on Java for Lotus Notes Domino

    Start the conversation

    Send me notifications when other members comment.

    Please create a username to comment.




    • iSeries tutorials's tutorials provide in-depth information on the iSeries. Our iSeries tutorials address areas you need to know about...

    • V6R1 upgrade planning checklist

      When upgrading to V6R1, make sure your software will be supported, your programs will function and the correct PTFs have been ...

    • Connecting multiple iSeries systems through DDM

      Working with databases over multiple iSeries systems can be simple when remotely connecting logical partitions with distributed ...