1.6 Competing in parallel with Java technologies
For developers, the picture of .NET represents one that competes directly with Java and J2EE technologies. Although most of the computer science concepts behind these two paradigms are similar, in most cases they represent two completely different ways of doing the same thing.
Table 1.3. High-level comparison of parallel technologies in J2EE and .NET.
VB .NET, C#, C++, J# and many other third-party languages
Windows, Solaris/Unix/Linux, Macintosh
Windows only (possibly Linux and FreeBSD in the near future)
A large variety to choose from: Tomcat (servlet/JSP), JBoss (EJB), Weblogic Application Server, Oracle Application Server, Borland Enteprise Server, Silverstream Server, HP Bluestone, JRun Application Server, IBM Websphere, Sun ONE Server (formerly iPlanet Application Server), etc.
Microsoft IIS, Windows 2000, Windows .NET Server
A large variety to choose from: Forte, JBuilder, Netbeans, JCreator, Kawa, Visual Café, Visual Age, etc.
Microsoft VS .NET
Presentation tier technology
Servlets and JSP
Business tier technology
.NET managed components
Technology for cell phones and PDAs
.NET compact framework
Significant distribution protocols
Java RMI (RMI-IIOP or RMI-JRMP), CORBA IIOP (using Java IDL), SOAP (for web services)
DCOM, SOAP (for web services)
Database access API
Web services API
Java Web Service Developer's Pack (includes JAXP)
Part of the .NET BCL
Table 1.3 shows the parallelism and directly competing products/methodologies between .NET and J2EE. A detailed discussion is, unfortunately, beyond the scope of this book. Figure 1.3 shows the comparison in block diagram form. Finally, Figure 1.4 gives a schematic view of the parallelism.
Figure 1.3. Comparing .NET and Java.
Figure 1.4. A simplified schematic showing parallel comparison of how .NET and Java work ?.NET focuses on language independence, while Java's game is platform independence.