The reality is that neither J2EE nor .NET entirely fulfil the developers 'wish-list'. Both have their strengths and weaknesses, but neither addresses all the issues.

As the new initiatives gain supporters and denigrators, the various Microsoft and J2EE camps will remain as opposed as ever.

Despite the rapid evolution of both J2EE and .NET, there is no sign that one will dominate the other in the foreseeable future.

The Microsoft only world of VB/VC++/COM was been extremely successful, but inherently platform limited (i.e Microsoft only) and there have been very public concerns about security and stability.
Java and CORBA promised 'any time, any place' platform and service independence, but never convincingly delivered largely due to a reluctance by vendors to embrace it.

J2EE enforced standardisation and encouraged a common approach - but has so far, failed to win the hearts and minds of client side developers, or to embrace the Microsoft camp at all. In fact there have been some very public arguments between Sun and Microsoft. Such arguments have merely served to entrench developers further into their selected camps.

The ideal Framework

In the ideal world a framework should provide a common approach for component development. It should provide a strong set of development and deployment tools; encourage a wide range of vendors and users to participate and should build on existing practice and skills in the market to gain leverage.

To succeed as the basis for web development, a framework should offer multi-platform support. The same approach should cover web applications and services. The framework should also serve all web devices - PC, Phone, PDA, IDTV and embedded devices.

The developers dream list

Again, in the ideal world a development environment would build on existing skills (VB, VC++, etc) and have a great IDE (Integrated development environment). It would also be stable and brimming with useful features. The approach would also serve multi-platforms as the PC ceases to be the dominant means of web access (let alone multi-browsers such as Netscape and IE). There would be well defined APIs for interoperability that would de-couple technology decisions and protect current system investments

The reality is that neither J2EE nor .NET entirely fulfil the 'wish-list'. Both have their strengths and weaknesses, but neither addresses all the issues.

Strengths and Weaknesses

Platform strengths

  • .net Superb IDE which will accelerate client development.
  • Multi language support.
  • Scalability.
  • Internet component model.
  • J2EE Core services well covered, e.g. transactionality.
  • Architectural blueprint.
  • Existing knowledge pool.
  • One language fits all.

Platform Weaknesses

  • .net Microsoft platform (Windows 2000) only.
  • Performance.
  • Stateless (sorry Microsoft, this is not an advantage).
  • No application server solution.
  • Same old DLL hell with underlying COM+ structure.
  • J2EE Still poor IDE and client side ergonomics.
  • Java is still a major leap for many programmers.
  • Vendor support for client side functionality has been limited.
  • Porting between application servers not seamless.

 

 


Cross platform training

  • From Java to C# ? Very straight-forward.
  • From VB to C# ? All the usual Object Orientation issues.
  • From VB to VB.net ? Again, all the usual Object Orientation issues.
  • From C++ to C# ? Very Painful.


Language support in .NET

  • C# Naturally
  • VB.net Straight-forward
  • C++ Very painful
  • Java Maybe….

So what will happen in the near future?

Our guess is that C# and .net will be the dominant language and framework for client side development on PCs.

J2EE and COM+ will both hold significant share of the server side environment.

Web services will flourish between the public and private Internets - but .net will not create an operating system for the web as it currently stands.

SOAP will be far reaching.

COM+ will be significantly upgraded, and probably evolved into .net.

XML standards will make progress, but as ever trail behind the needs of the industry.

Dedicated terminals or 'browser applications' will deliver complex functionality from central processing farms over high-speed links

Microsoft will not encourage a move from a high specification Windows PC on every desktop to solely browser based web applications.

Conclusion

C# and .net is likely to dominate corporate desktops and Java programmers will have a far easier time adapting to the .net platform than Microsoft traditionalists.

J2EE and .net servers will jointly power the Internet, with web services binding both together for simple customer solutions.

.net and COM+ will continue to co-evolve at a rapid pace.

The biggest battles will be fought over ownership of XML definitions.

The bottom line is that the correct technology is the one that fits the best. Despite the rapid evolution of both J2EE and .NET, there is no sign that one will dominate the other in the foreseeable future. In fact, one could be cynical and say that it's a case of 'business as usual'. As the new initiatives gain supporters and denigrators, the various Microsoft and J2EE camps will remain as opposed as ever. A 'homogenous' development environment is not on the horizon yet!

 

Ripping World can offer development and consultancy for all web technologies. We have vast experience in all development technologies, from XML, Java and JSP to C# and .Net.

Our web designers work closely with our web developers and programmers to provide full-cycle development. Since 1996 we have been designing web sites and developing web applications.

Our approach to web design and development is pragmatic. Programming discipline and creative design go hand in hand with our projects.