John writes: > With the recent article in NewsWire, Java/iX is at the top of my mind. I > haven't been inclined to download the goods from Jazz because I am not > doing any web stuff from the HP3000. Ah, but Java's not just for breakfast anymore. > So I have to ask, what can Java/iX do for me. It's a programming language. You write programs in it :-) It has also got extensive libraries for things like networking etc., and Mike Yawn at HP has written a set of TurboImage classes that let you access Image databases. There are lots of reasons why Java is a better way to do software development, and not all of them are the things that Sun touts. After two years of playing with it, I'm more convinced than ever that I'd want to write everything in Java if I could. Unfortunately we're not yet to the point that you can just throw out all your COBOL and replace it with Java. Also don't forget that learning to design and write Object Oriented systems is not a skill that's trivial to acquire. Here are some possible Java + 3000 scenarios: 1) Java applets in web pages served from the 3000 You can write Java programs using any Java development tool and load the code for these programs (applets) on the 3000 where a web server like Apache can serve them up as part of a web page. These applets could then talk to C programs or CGI/Perl programs back on the host. This does not require that you install Java/iX on the 3000 at all, since the Java code will be running on the PCs, not on the 3000. 2) A Java Client/Server environment. As in #1, a Java user interface runs on client PCs. The client can either be downloaded from a web server, or it could be a standalone application installed on the PC. The client would communicate with a server on the 3000 that was also written in Java. This *would* require Java/iX on the 3000 in order to run the server. Because both the client and server are in Java, it makes the development easier, and you can take advantage of Java to Java communication facilities like the RMI Remote Objects system. 3) A standalone Java application on the 3000. No web, no GUI, no Client/Server, no TCP/IP, etc. Just good old fashioned HP3000 application programs that happen to be written in Java rather than COBOL, C, or whatever. So far there have not been too many people actually doing #3, though a lot of people are thinking about it. Currently most of the effort is going into developing things like #1 and #2, since they involve the web. > Ok object orientation and reusability is good. But for many > of my users sitting at their HP700/98 terminal, how would a Java/iX > application look and work for them. You can write a Java program just like you write a COBOL/iX or a C/iX program today. Also just like C and COBOL, the Java language does not have a built-in mechanism for screen handling on a character mode terminal. You would have to either call V/Plus from Java (which can be done though I don't know of anyone who has tried it yet since you would have to write some C language stubs to call V/Plus from Java code), or write/acquire a screen handling package of some kind. This probably wouldn't be that hard to write, but it's not something that exists today as far as I know. > Do Java/iX compile to a NMPRG or is this an interpreted program. The normally interpreted universal Java code is automagically translated into native PA-RISC (a'la NMPRG) at runtime, so it's somewhere in between interpreted and NMPRG. In the future you should be able to produce NMPRGs. There are still some performance and resource usage issues in the current version, but things have been improving steadily over time. HP is making large investments in Java on the HP-UX side of the company, and the 3000 is benefiting from this by leveraging and porting those efforts to MPE. > Also the way I remember it, Java was supposed to run in a "sandbox" > so that it couldn't interfere with the executing client. Does this > still apply? That only applies to Java "applets" that run in a Web Browser. Java "Applications" (ordinary programs) have none of those restrictions. G.