|
Hi Fred, Let me say first, if you are not already aware of it, that systems programmers and application developers have entirely different perspectives. Things that seem eminently reasonable to one group can range from an entirely new thought to appearing completely nuts to the other group. It is possible to some extent to write a controller program to handle multiple applications in a single VM. Some questions that occur to the app developer are: Why should I have to write one of these for every system ( shop, whatever ) and Do we have the expertise in-house to do it properly? While it may initially sound straightforward to start a new thread and invoke new() or main(), issues can begin compounding. BTW, it's certainly a heck of a way to find out if your developers understand threads - and I think you know what is too often the answer for that. Among other issues, Swing apps, but also the recommendation for AS/400 apps ( and I do see this as a failing if it is really necessary ), is to call System.exit() to end programs. So, among other things, a security manager is usually necessary in addition to other considerations. There are really good reasons for having a single or small number of VMs. Benefits include smaller memory usage ( if you have several hundred users, lots of VMs sure beat up the box ) and faster startup time. Who better to do such a commonly desired task - and do it right - than the VM writers? Other problems for outsiders are, say a script ( I'm generalizing, read CL program ) does several OS specific things, then calls Java. How does the app developer hook into something like that? I've looked into, and will probably at some point write a menuing system that runs multiple jobs in the same VM, but it could never be as good as a direct hook. BTW, if others are interested, I haven't looked in depth and it's fairly old, but there is a project that approaches this problem. See http://www.javagroup.org/echidna/ > In general, what are you opinions on the threads type of answer? While this isn't rocket science on a small, limited scale, you should have some idea of the general level of thread expertise on all platforms. > Too MUCH sharing and too complex Probably, mostly going back to my comment above. > Lack of RPG or Native language support for a good threading model? This is a very serious issue in general, ignored by many on the AS/400, although service programs can alleviate many of the problems. But, in context, it wouldn't help much here because of the issue of How do you get the native app ( on a native to Java basis ) to communicate with the specific VM? I'm speaking of direct calls; I'm very aware of asynchronous work arounds. > Difficulty linking this model with large amounts of existing job-based > code? Yes, particularly if you have third party code that does other things before invoking Java as in my script example above. And for something entirely different, > I have my own knowledge and opinions about why threading is easy/difficult > and what its > suited/not-suited for, but this group is a bit emotionally charged, so > I'll keep those > to myself here. 8-) You've hit one of my major concerns. I'm very sorry that we are missing out on thoughts from members of the AS/400 Java team. I'm even more concerned that subscribers trying to get answers find their questions turned into language wars instead of solutions. And think how statements, *on a java list*, like "OO is useless" and "Java doesn't work for business" appear to anyone looking over the list, especially when the sentiment is repeated ad nauseum. If there is vast agreement that these are true, then what is the point of the list? So far, my solution has been to simply not respond to those posters, but I'm wondering if it's not about time to find or create a new list that focuses on solutions, sharing expertise, and community. Anyhow, I'd like to hear your thoughts on threads, and the difficulty and lack of support for them in other languages. And lots more from the Java team. Joe Sam Joe Sam Shirah - http://www.conceptgo.com conceptGO - Consulting/Development/Outsourcing Java Filter Forum: http://www.ibm.com/developerworks/java/ Just the JDBC FAQs: http://www.jguru.com/faq/JDBC Going International? http://www.jguru.com/faq/I18N Que Java400? http://www.jguru.com/faq/Java400 ----- Original Message ----- From: "Fred Kulack" <kulack@xxxxxxxxxx> To: "Java Programming on and around the iSeries / AS400" <java400-l@xxxxxxxxxxxx> Sent: Tuesday, July 06, 2004 12:19 PM Subject: system-wide JVM (threads) Was: Friendly co-existance > On 07/05/2004 at 11:23:39 PM, Joe Pluta wrote: > Blair Wyman and the rest of the folks that built the JVM have done a > fantastic job. They've made some design decisions I don't agree with; > for example, I'd like to be able to start "system-wide" JVMs that I > could link my job to. This would not only reduce the startup overhead, > but would also allow jobs yet one more way to inter-communicate - they > could share Java objects! That would be sooooo cool. > --- end of excerpt --- > > Hmmm.... > Indeed, would be pretty cool. > But, the usual answer for this type of request would be something like > "use threads", right? > > Since logically this is what a threaded application does, using job-wide > JVM that you > link your thread to (attach JVM) or create a new thread in, reducing the > startup overhead of > a processing unit (the thread), and allow the processing units to > inter-communicate in new ways. > > I have my own knowledge and opinions about why threading is easy/difficult > and what its > suited/not-suited for, but this group is a bit emotionally charged, so > I'll keep those > to myself here. 8-) > > SO... > In general, what are you opinions on the threads type of answer? > Too MUCH sharing and too complex of synchronization/coding/debug of those > items? > Lack of RPG or Native language support for a good threading model? > Difficulty linking this model with large amounts of existing job-based > code? > > > Fred A. Kulack - IBM eServer iSeries - Enterprise Application Solutions > ERP, Java DB2 access, Jdbc, JTA, etc... > IBM in Rochester, MN (Phone: 507.253.5982 T/L 553-5982) > mailto:kulack/us.ibm.com Personal: mailto:kulack/magnaspeed.net
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.