What would you like to see in a Java article focused for Notes/Domino developers?
Category Software Development
Rocky Oliver contacted me last weekend and asked if I would like to write a series of articles for Advisor magazine. These articles would focus on Java and how it relates to the average Notes/Domino developer. Joe Litton and I are going to co-author this, and it should be a lot of fun...
The target for this series is the Notes/Domino developer who is competent in LotusScript, but isn't the type who writes their own LotusScript classes or anything esoteric like that. They feel the need to learn Java because seemingly the whole world is going that way and IBM keeps telling them to get on the ball. But rather than pick up a thousand page bookstop and turn to page 1 (or xvii), they need a quick jumpstart on the language, basic syntax, how it works with the Domino object model, and how they would use it in a Notes application.
I'd be interested in any feedback out there on what you'd be interested in for this series. Joe and I are starting to list the subjects we want to cover and figure out how to break it up, and input at this point would be valuable to make sure we hit the mark...
The comment lines are now open for your use...
Rocky Oliver contacted me last weekend and asked if I would like to write a series of articles for Advisor magazine. These articles would focus on Java and how it relates to the average Notes/Domino developer. Joe Litton and I are going to co-author this, and it should be a lot of fun...
The target for this series is the Notes/Domino developer who is competent in LotusScript, but isn't the type who writes their own LotusScript classes or anything esoteric like that. They feel the need to learn Java because seemingly the whole world is going that way and IBM keeps telling them to get on the ball. But rather than pick up a thousand page bookstop and turn to page 1 (or xvii), they need a quick jumpstart on the language, basic syntax, how it works with the Domino object model, and how they would use it in a Notes application.
I'd be interested in any feedback out there on what you'd be interested in for this series. Joe and I are starting to list the subjects we want to cover and figure out how to break it up, and input at this point would be valuable to make sure we hit the mark...
The comment lines are now open for your use...



Comments
One area I use Java alot for is accessing HTTP resources via GETs & POSTs and then dealing with that information in Notes. Something LS could never do, could make an intresting article.
Posted by Mark Barton At 04:41:33 On 13/06/2003 | - Website - |
[insert the whole maniacal laughter mad scientist taking over the world thing here - oh wait that's twice on this thread...]
Posted by jonvon At 03:08:18 On 14/06/2003 | - Website - |
Sorry... I'm back now.
Seriously, Rocky's approach is pretty dead-on to how we'll approach it. Joe and I have both struggled to learn this, so you're not going to get the "from on high" lecture here. Expect a lot of LS/Java comparisons, lots of code snippets, liberal doses of irreverent humor, and general mayhem. And along the way, we'll all learn a thing or two. In the beginning stages, we do want to get people quickly going on coding a Java agent, if for no other reason than it's a different way to do things. Once there, we can move into some of the more practical reasons why Java would be better in some situations over LotusScript. And finally, we can get into things that you just can't do in LS that Java handles with ease.
Joe and I will be learning right along with everyone else. We've both been very proactive in trying to get people interested in Java in our respective spheres of influence. Rocky was kind enough to just give us a wider audience to annoy! :-)
Posted by Tom Duff At 19:52:27 On 11/06/2003 | - Website - |
I had a very practical Java problem which I eventually gave up on. I needed to interface a domino 5 application running on a solaris server to ESRI's ArcIMS - running on the same server. An ideal solution would have been a Java agent but this was not a goer because Domino 5 only supports Java 1.1 and ArcIMS requires Java 1.2. The next option was to use a Java servlet running on Tomcat that accessed the Domino datbase through the Java classes. We tried this using both of the options given in Designer Help but they didn't even come close to working - we couldn't establish a session let alone do anything useful. Eventually we gave up and went to passing info between Domino and Tomcat in sequential files.
So what I would like to see covered is how to do this sort of thing with a bit more detail than is contained in the Help file.
Another reason that will one day make me want to move to Java is the huge amount of open source code that is available. For instance being able to zip up a file from a Java agent ,being able to produce a PDF file without needing Acrobat and in particular being able to render SVG to PDF using FOP http://xml.apache.org/fop/. The there is the Lostus XML toolkit. The issue with all of these is knowing what is possible with Release 5 and its Java limitations.
Posted by PaulP At 15:48:47 On 15/06/2003 | - Website - |
What I'd like to see is focus on what Java can offer to the Domino developer: XML processing (OK, ND6 brings some of this to the table with the new classes, but lots of developers will be on R5 in their production environments for some time yet), network operations, threaded operations, servlets instead of agents, and so on.
What not to focus on: creating Java agents that simply process document collections. Coders can already do that in LS and formula -- you really need to show when / why coding a Java agent makes sense for the average Domino bod.
Posted by Ben Poole At 09:03:16 On 11/06/2003 | - Website - |
Everything said thus far would be good to cover :) One thing to keep in mind is that this is a series - and we have as many issues to cover this as we want. So, I do believe that we can start small and grow into the "advanced" topics that jonvon and Ben mentioned.
I think we have to start with the "how", with a generous mapping of "here's how you do it in LS, and here's how it looks in Java". Explain along the way that there's no real reason to do these basic things in Java, but that they're being demonstrated to get the reader used to the new syntax and see how it "maps" across. In the earlier articles you can "preview" what's going to be covered in future articles - the "why" you would use it, the advanced concepts, and so on. I think the liberty and freedom of having as many articles as you need should provide the time and space needed to cover these concepts fairly well.
Clear as mud now?
Rock
Posted by Rock At 18:30:36 On 11/06/2003 | - Website - |
So, good stuff. I think a lot of people will benefit from these articles!
Posted by Ben Poole At 05:49:59 On 12/06/2003 | - Website - |
- since there aren't any ui classes, then almost never in the client. but do use it for the web. kinda thing. i try to write all of my (agent based) web code in java.
- use it to take advantage of native java classes that aren't available in lotusscript (list some of these)
- if you do use it in the client, maybe its just to take advantage of the native classes, so then maybe you do lotusscript and call out to java (in ND6 of course).
- use it for web agents.
well anyway if it were me i'd start there, with very development-centric use cases. whenever i talk to someone who is "anti-java" its because they don't understand why they need it.
then i'd probably show a simple lotusscript agent (or 3), and then mimic it in java, just to show how similar the calls are going to the api. when i figured that out, i understood that it wasn't going to be that hard. the help documentation for designer is really pretty good for that kind of stuff.
something i'd make sure to cover is error handling. that is really important. how do you allow an agent to recover from an error. we probably all know how to do that in lotusscript (i hope anyway), but this is a java thing that really needs explanation since its handled so differently.
anyway, just some (probably really obvious) ideas off the top of the old head. :-)
Posted by jonvon At 07:48:06 On 11/06/2003 | - Website - |
It will help more than any book.
Posted by Niel Revelle At 11:28:02 On 25/06/2003 | - Website - |
i think i see the useful routines thing as very connected to the question, why should i learn this? but maybe people are clamouring to get on board (because of economic realities and fear of getting laid off or whatever), and this is what advisor is reacting to.
for me its just been about curiosity, wanting to learning new things. i like java a lot, i think its cool. still got a lot to learn though!!!!
btw joe, you are an inspiration to me. thanks for sharing all the stuff you have about your certs and things you have done. its way cool. i'm sure whatever you and tom do will knock it out of the park.
Posted by jonvon At 14:10:07 On 11/06/2003 | - Website - |
1. http://www.jnotes.de/jnotes/jix.nsf/id/~ADialog01 = a java demo how to build a java webinterface for an adressbook dialog similar to the Notes client (indeed, a lookup into the Domino NAB/Directory)
2. http://www.jnotes.de/jnotes/jix.nsf/id/~Planer46 = JNotes planer => a java based customized Notes calendar with with drag&drop functions, e.g. you can book cars and drag the time line however you wish .
Here is the planer online demo: http://www.jnotes.de/JNOTES/JIX.NSF/ID/~PLANERONLINE?OPENDOCUMENT&PLANER~ONLINEDEMO .. simply double click, enter an appointment and see the result (try to drag the time lines..)
Posted by Robert Basic At 01:03:35 On 12/06/2003 | - Website - |
Am I wrong or is Java slower that LotusScript? It seems I remember an Advisor article that compared methods of reading and writing to external data soucrces (in this case I think it was an ODBC compliant database) and Java lost in every test... Why would I want to put an extra burden on the server if I can do it another way faster?
I flip flop constantly- I see someone post something in a blog about Java and decide that I'm going to go learn it and start writing everything in Java. Then the constraints of time and an unclear goal turn me back to the other tools.
Anyway, I can't wait for the series to start. Time to go re-subscribe to Lotus Advisor!
Posted by Tom At 09:03:37 On 17/06/2003 | - Website - |
So the target audience is the LotusScript-er who's looking for a hand getting going with some useful Java routines that they can understand without spending weeks reading about polymorphism, anonymous inner classes, etc. Those topics need to be absorbed eventually, but one can begin doing some practical Java work beforehand.
And I, too, learned about recycle() the hard way :-)
Posted by Joe Litton At 13:34:34 On 11/06/2003 | - Website - |
Posted by Tom Duff At 14:22:59 On 11/06/2003 | - Website - |
maybe i'm off base, but perhaps this is where some of the disconnect has come from in the developer community. a lot of people have been scratching their heads... why java? everything i need to do, i can do right now with the common tools. of course this all depends on your development environment and the problems you are trying to solve. but i think there are a lot of people who just aren't convinced. all that to say an article or a series of articles on just the basics (like processing a doc collection as ben says) begs a lot of important questions.
when you do cover the basics, one to not forget to cover is recycle()! why, when to use it, what objects not to recycle and so forth. and explain that its only for Notes objects, not native java objects (learned that the hard way). maybe cover string handling, that's something that seems to come up a lot. its obviously pretty different in java than it is in lotusscript, so maybe something covering String and StringBuffer would be good.
ok, i'm all done now! :-)
Posted by jonvon At 11:37:11 On 11/06/2003 | - Website - |
Posted by Chris King At 00:14:11 On 14/06/2003 | - Website - |