How many Microsoft JVMs still in the wild? - java

I know this question isn't exactly a programming question, but it will affect how we program one of our products, so i guess it might be close enough.
Do you guys still see the Microsoft JVM (Java 1.1) on client computers anymore? I havent found much info on this particular JVM online...
Anyone know of a good resource to find this type of info? Sun's site is pretty much useless for this...
Thanks!

Wow, I remember this being installed on work PCs around 2002. It is not supported by Microsoft any more. See- http://www.microsoft.com/mscorp/java/default.mspx
I'd be surprised if you found many PCs that still had this on.

Haven't seen it in this millennium I think.

In my mind it would not be an unreasonable requirement to say Java 1.4 or later.
Your demographics may be different though, but I believe we talk about IE4 based systems which has been subsequenlty upgraded, and only those.
What is your product, and what does it need to do?

One way to settle a question like this would be to get hold of your company's customer list, and them out a survey. Or put a survey on your product website.
Or maybe you could buy one of those expensive "state of the industry reports" ... Gartner, etc.

Related

Where to find and learn about COTS solutions to programming problems?

I'm a senior java programmer and I'm used to building solutions from scratch. More often, though, I'm hearing people -- managers, clients, and other programmers -- suggesting we look for a COTS (Commerical Off The Shelf) solution.
Thing is, I know about programming, but I don't know about what COTS solutions are available or applicable to what I'm doing.
My question is, how should I best go about finding "COTS" solutions? Are there communities or a websites that focuses specifically on examining "COTS" solutions for programmers, or is it just like anything else, you google for existing products and hope to find a software application that does what you need?
Any help or suggestions are greatly appreciated!
Thanks,
Rob
One of the things I can say for sure about using a COTS product is you must be given access to the API and documentation. Far to often people run into the issue of paying X for a package and then not utilizing it properly. The other way to go is open source, as it is free and you can modify it as you see fit. Generally you will need to google up the specifics of what you want and you can find side-by-side comparisons for similar products, these however should be taken with a grain of salt. Take the list of products and set up test beds in your environment to see which works best with your current tools and programs and go from there. Vendors often give 30-60 day free trials of their software for this reason.

Drop-in replacement for MICO Corba?

We are currently using MICO to establish the communication between a server and a client, where the client is a simulator written in C++ and the server is a java program displaying an animation of what happens in the simulation. It seems that the developemt of MICO has slowed down to an almost halt and bugs that only allow us to hack around them (as we don't have the time to first figure out which parts of MICO are responsible for codegeneration and so on) keep us from making real progress.
So, does any one of you know of a good drop-in replacement? We would like to have the following:
The compiler can generate both C++ and Java-Code from the idl.
The project should still show considerable support.
The implementation should be open-sourced (GPL or BSD, or something alike), as we use our programs to teach students as well.
The migration from MICO should be as easy as possible. (This is not a hard requirement, but would be a good thing)
I found some other CORBA implementations, e.g. TAO, but I didn't find any of which I could
say that they are still supported. Correct me if I am wrong here.
The Free CORBA® Downloads page might be of interest to you.
Just naming:
orbit2 1, also pyorbit etc.
omniORB
TAO (has already been mentioned)
1 On my Ubuntu box, apt-rdepends -r liborbit2 returns 5530 lines...
I don't know where CORBA or MICO in particular has gone in the last 5 years, but back then a drop in replacement was not really possible, since differences between vendors where still there.
Not necessarily API differences (POA, etc.) but
in implementation behavior,
in custom extensions which were required to make it work in a real-world environment (threading, load balancing, security, etc.),
in how the development tools worked
and also about the whole deployment or runtime story.
We had Orbix ASP/2000/Whatever and ORBacus which were interchangeable having a small compatibility layer, some Makefile framework to hide differences in tools (e.g. the IDL compiler) and some scripts for wrapping ORB specific processes.
Unfortunately, ORBacus has long been bought by (then) IONA, which already make Orbix. IONA itself has been bought by someone else (I forgot). The original authors of ORBacus, plus some devs from IONA Orbix, changed their ways somewhat and produced Ice, which is not CORBA but somewhat alike - of course without the glitches ;-)
Concerning TOA, I think it would be the "best" choice concerning still being developed as it is driven by research on the Washington University. But last time I looked, they didn't have Java implementation but people seemed to use JacORB.
Maybe all this helps you little, unless it brings even more confusion :-)
TAO as C++ ORB is still actively supported and developed (see http://www.cs.wustl.edu/~schmidt/commercial-support.html). For Java I would propose JacORB.
On http://www.orbzone.org there is an overview of available corba implementations.

Java "Printer is not accepting jobs" old Brother printers

I have client which has a problem with printing from JAVA applications, using old Brother printers. The exception he gets is "Printer is not accepting jobs".
Other applications (not java applications) manage to print using these printers. He switched to a new printer (also Brother), without changing the driver and then it worked.
The idea is that he cannot change all the printers, also he does not want to reinstall all of them, as he has a network of hundreds of computers and printers.
I have read on different forums that there is a bug in java version 1.5 and 1.6, but this application only works with java 1.5 or above... so he cannot switch to java 1.4 (with java 1.4, the printing worked).
Can you please help me somehow and give me some possible solution to this problem?
Found a workaround using byte code manipulation at http://copy-con.blogspot.com/2009/12/printer-is-not-accepting-job.html
It appears that this is this bug. Unfortunately, it is marked as low priority, and since nobody has bothered to vote for it, it is being put off.
This forum thread gives some useful background (reply #11) and a workaround (reply #9) that ignores the printer status when trying to print a file.
If you want this bug fixed in Java 7, there is still time to submit a patch.
EDIT
I was aware that someone disputed the workaround, but I didn't get my head around the problem. Whatever, it should be possible to develop a better version, either using the same approach or a different one. If subclassing and using reflection to tweak private state don't work, then you can download the Java 6 source code, fix the bug and rebuild.
I'm sure it would be nice if someone had a solution for you, but lets be realistic. This looks like a problem that affects very few people. IMO, your best chances of success are:
self help,
paying for an Oracle support contract, or
hiring an independent technical expert.
Of these, self help has the best chance of giving you a quick resolution ... assuming you have people with the skills for doing this kind of work in-house.

For a typical Web 2.0 Social Application - Java vs C#

For a product in long run (may be 0.5-1 million users) is it good to use java instead of .net from the cost/profitability perspective. To elaborate more..consider web farm scenario in which one will have to purchase windows + Sql server + some antivirus licenses for .net applications. But for java it's almost free. What points should I consider?
PS: I am a .net person by heart
I would expect bandwidth to cost more than software licences is you're reasonably successful - although obviously that will depend somewhat on the kind of app, and I haven't run any figures.
Are you just starting this up yourself, with little firm idea that it will take off? If so, I suggest you go with whatever makes your life easier to start with. If things take off, you'll either have enough money to pay for the licences easily, or you'll quite possibly need to rewrite the app anyway. Writing an app which provably scales to a million users is likely to cause you a lot more grief than writing one which scales to 10,000. Get the app out there early, get feedback ASAP, and you can do what it takes if it ever becomes truly successful.
Go with what you know. With that many users price may not be important.
The first thing you should consider is the fact that you are a .net person. Java syntax is very similar, but it will take you time to learn (more importantly, become good enough to write an app this large) in a language you don't know as well. You should consider whether the savings are worth that time to you.
Also, keep in mind that there are many (legal) ways to get cheap (sometimes free) copies of the Microsoft software that you need, or the "lite" versions of the software that you need... which may be enough to get you going until your venture starts making money. So explore those before making a decision too.
License fee's cost less than a weeks pay for a development team.
Go with what you will be most productive in, and you'll save money.
Btw, WebSphere costs $1600 per CPU...Java isn't always free.
If you're a .net person, then stay with c#.net.
Whenever this topic comes up, I'm reminded of the part of yahoo that used to be written in lisp, and used lisp very effectively in its design.
http://www.algo.be/cl/TEE-lisp/3212824097309629/index.htm
Like others have said, it doesn't matter much what platform you choose, as long as you can use that platform well.
If you're talking about purely buying hardware it depends. You could run a Java web app for simply the cost of the machines if you decide to use open source software. However you could go with Oracle as your database and Weblogic as your App Server and then pay for it.
But most importantly, you say yourself you're a .net guy - so you'd have to have the intangible cost of however long it would take you to get to the point where you actually know what you are doing with Java. The syntax is very close, sure, but you have to learn which Java frameworks you want to use, which APIs you want to use, how to deploy to whatever App Server you choose, etc.
Joel wrote about this in Language Wars
How do you decide between C#, Java, PHP, and Python? The only real difference is which one you know better. If you have a serious Java guru on your team who has build several large systems successfully with Java, you're going to be a hell of a lot more successful with Java than with C#, not because Java is a better language (it's not, but the differences are too minor to matter) but because he knows it better. Etc.

Is JINI at all active anymore?

Everyone I talk to who knows (knew) about it claims it was the greatest thing since sliced bread. Why did it fail? Or, if it didn't fail, who's using it now?
Check out GigaSpaces. It's a quite successful Jini/Javaspaces implementation.
I think Jini has a great model, but it is stuck with Java. Web-services is more appealing because it works with standarized protocols, even though Jini service discovery is more natural.
Things have definitely quited down for the idea. Which is strange since you'd think its goals are even more relevant now.
http://www.jini.org/wiki/Category:News
old question, but JINI was given to Apache and became Apache River project. However, that project is now retired.
Zeroconf and other discovery protocols are similarly referred to as the greatest thing since sliced bread; it's just that the flavor keeps changing.
My two cents... Jini was/is nice, but I think it tried to be a Java-centric CORBA back in the day when corporations were beginning to be reluctant regarding paying the big bucks for what CORBA brought to the table. WS-* specs began to acquire the "accepted-solution" mind-share in the industry. I think there was a small window where Jini could have grabbed substantial market share, but it never happened. Sun wanted too much money for what Jini brought to the table compared to other alternatives. I would love to hear from folks that disagree! My opinion is that Jini is sound tech, but business-wise has no future in the enterprise. It may find a niche elsewhere, depending on what Oracle decides to do with it.
Jini was an amazing technology. The only reason pushed EJB systems was that it allowed Sun to sell more hardware as EJB ran best on highpowered machines (due to shared state and database access). At the time (1999) Jini allowed much better scalability which ran well on commodity hardware, so it made sense for Sun to not promote Jini. Its a shame as I kept wondering when someone would release an Open Source easy to use Jini server like JBoss did with J2EE. I did however save companies alot of time and money by using the Jini techniques (based on Linda TupleSpaces) and applying them to writing software systems by using Tuple Spaces implemented in other ways.
The jewel in the crown of Jini was it's JavaSpaces service IMO. Sad that Sun seem to have abandoned it. It still exists as Apache River, but is now retired.

Categories