Featured Whitepapers
Newsletter sign-up
View all newsletters

Sign up for our technology specific newsletters.

Enterprise Java
Email Address:

Microsoft's Internet Explorer moves may create a Netscape bonanza

Microsoft's new version of Internet Explorer includes a semi-permeable virtual machine. Watch out, the law of unexpected consequences is in full force

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Readers familiar with the British television sitcoms "Yes, Minister" and "Yes, Prime Minister" are well-versed in the comedic implications of the bureaucratic manner of thinking. The shows' creators, Anthony Jay and Jonathan Lynn, are unequaled at parodying the decision-making process of large organizations and the unusual thought processes of the political class. A classic example of this is what may be referred to as "politician's logic." This concept can be demonstrated in the following syllogism, which can be applied to the typical government response to any societal problem:

  • Something must be done.
  • This is something.
  • Therefore, we must do it.


Sadly, this politician's logic usually results in the "law of unintended consequences," which recognizes that the marshalling of massive government resources to solve one problem inevitably creates a larger and more intractable problem somewhere else. To wit: welfare (illegitimacy), foreign aid (arms sales), nuclear power (environmental damage), and lowering the voting age to 18 (Bill Clinton).

The law of unintended consequences

These same rules apply in the Internet Age. Microsoft's Internet strategy has been chronicled here in JavaWorld and in many other prestigious places on many occasions. While the average IQ in Redmond, Washington, often seems to be higher than in any other high-technology center, Microsoft surely is not immune to the impact of unintended consequences.

Where Java is concerned, Microsoft's intentions can be summarized in the following, somewhat tortured, syllogism:

  • Proprietary is good.
  • Java is bad.
  • Therefore, we must make Java proprietary.


Most likely, this example of "Microsoft logic" would have been viewed with skepticism in Plato's Academy. Given the competitive landscape of the software industry, however, a lot of otherwise logical people are giving it currency.

The basic issue is this: Microsoft recently announced the next beta release of Internet Explorer 4.0 (available later this summer), which will include a virtual machine that allows developers to write Java code that has access to virtually all Windows functions -- including ActiveX components, existing DLLs, and even device drivers. These capabilities, packaged as J/Direct combined with Microsoft's existing Raw Native Interface (RNI), let programmers program in Java virtually anything that can be done in C, C++, or Visual Basic -- with all of the attendant potential for security problems that these languages bring.

Developers writing Java applications that will execute natively on a Windows client or server may well cheer this development. As a result of a new set of simple extensions to the standard Java Development Kit (JDK), they have access to a large body of existing Component Object Model (COM) modules as well as any software already written and compiled for Windows using another language.

But there's a downside. Where Java code, especially applets, is written to the new specifications and executes within a browser, the issue can rapidly become pathological. In short, untrusted applets downloaded to and executed by Internet Explorer have free rein to do on the client system whatever they wish: access memory, write to disk, transfer information to other devices via existing drivers. The potential for mischief is virtually unlimited.

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Comment
Login
Forgot your account info?
Add comment
Anonymous comments subject to approval. Register here for member benefits.
Have a JavaWorld account? Log in here. Register now for a free account.
Resources