Newsletter sign-up
View all newsletters

Sign up for our technology specific newsletters.

Enterprise Java
Email Address:

How Microsoft is broadening Java's scope

The "embrace and extend" directive from Redmond has received heaps of criticism -- but a positive spin on the plan is offered here

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone

Page 2 of 3

MSVM boasts many good aspects. For one, it permits code to access local resources, including memory and disk. This approach is legal under the JDK 1.1 specification, so long as it is done by trusted code local to the system or packaged as a cabinet file (.CAB) that has a digital signature.

The Microsoft extensions are platform-anchored -- that is, they provide access to proprietary Microsoft features available on the Windows platform. And ActiveX and COM now are under the control of the Open Group and are putatively cross-platform. But what does it mean to implement these technologies on a Macintosh, Sun workstation, or AS/400? What does it mean for software emulation of the underlying execution architecture or through the use of a compatible coprocessor?

The jury is still out on these issues, which angers much of the Java community. Yet the fury is very selective. The difference in how Microsoft supports ActiveX and COM is not too far from Netscape's use of its Internet Foundation Classes and IIOP: both are extensions, both are proprietary, and both are "standard."

Microsoft's implementation of Java and the MSVM includes a tight link to COM, the company's standard object model. This approach is, and should be, legal because COM is a competing vision for distributed computing -- not strictly a language issue. One should be able to write valid Java code to either a COM or IIOP/CORBA interface.

However, supporting COM from within the virtual machine can be a slippery slope because it imposes an additional component object model along with JavaBeans. Microsoft has announced tentative plans to release a JavaBeans interface in mid- to late 1997. JavaSoft has already announced a unidirectional ActiveX bridge that will enable JavaBeans to act like ActiveX controls. A bidirectional bridge is in the works at Microsoft.

Microsoft has been slow to adopt the JDBC database interface standard, and most observers will see this as an opportunity for Microsoft to push its own standard. JDBC is a layered standard, not a language or run-time construct. Oracle is doing the same thing -- providing a layered standard -- with J/SQL. Database connectivity is an area for innovation because ultimately it is a database issue not a language issue.

"100% Pure Java" considered

JavaSoft introduced its "100% Pure Java" initiative at Internet World in December in an attempt to address these issues and tie a standard set of functionalities to the Java brand name. This initiative is both important and somewhat silly. It is important because it defines a basic core of functionality that must be common in any software that is Java. It is silly because that core is a moving target, and also because many developers will choose to code outside the core for performance or development-time reasons.

The simple reality is that, as always, developers will have to make hard choices about functionality and portability. That choice will always involve tradeoffs. Writing truly portable applications -- those that can be written once and executed anywhere -- will always involve writing least-common-denominator code. Anyone who has used the Java AWT libraries will understand the implication of that statement. For those who choose portability, the Java core must be well-defined and unfailingly defended. The language, VM, and JavaBeans APIs, among others, must be consistent across platforms in order to ensure portability.

  • 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