59
Java/J2EE and .NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User Group Sep. 2, 2003

Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Embed Size (px)

Citation preview

Page 1: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Java/J2EE and .NET

Similarities and Differencesin the Dominant EnterpriseComputing Platforms

Kyle CordesOasis Digital Solutions Inc.

Gateway Java User GroupSep. 2, 2003

Page 2: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Kyle Cordes

Developer / “Architect”Consultant and TrainerProponent of agile, iterative, test-intensive

development Java, EJB, Oracle, SQL Server, Delphi, C++,

Python, Ruby, EJB, XML, multi-tier, etc.kylecordes.comOasis Digital Solutions Inc.

Outsourced development and other services

Page 3: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Disclosures - I Like all of the following:

Java.NETChoice of deployment platformsGreat development toolsValue for the customer / user

Page 4: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Quick Poll - How many of you:

Use Java at work?Use .NET at work?Use a non-Java language on the JVM?Deploy to Windows servers?Deploy to Unix servers? Solaris? AIX?

HPUX?Deploy to Linux servers?Use a non-Sun JVM, from IBM, HP, etc.?

Page 5: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Agenda

OverviewTechnical Similarities and DifferencesNon-Technical IssuesQ&A

Page 6: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

What is Java? What is J2EE?

Platform (Infrastructure under your app)Managed runtime environmentMarketing term for a diverse set of

technologySpec and Product (from Sun and many

others)MarketJ2EE is the name of the “high-end”

features, specs, libraries, etc.

Page 7: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

What is .NET?

Platform (Infrastructure under your app)Managed runtime environmentMarketing term for a diverse set of

technologyProduct (from Microsoft)Spec (though less so)Market (though less so)There isn’t an overriding brand name for the

enterprise features, some of them are WSE

Page 8: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

What Else is .NET?

Marketing term extends beyond the platform: .NET My Services Software as a Service Synonym for “new”, like “NT”

Most of this is going away, Microsoft is removing the .NET brand name from the next version of many products, as already happened with Windows Server 2003.

Page 9: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

The Essence of .NET

Platform for building applications - like an OS

Much like Java at both macro and micro level

Microsoft’s alternative vision for what a Java-like system should look like - “the same, but different”

The Future of the Windows platform

Page 10: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

.NET from a Java Perspective

Start with most of the best aspects of the Java platform (both features and texture)

Same overall idea, different names and many different design decisions

Improve on some areas, with various twists

Puts some things in platform / languages which are conventions or add-ons in Java.

Page 11: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Platforms

Java tends to make platform irrelevant.NET integrates with and boosts the value

of the Windows platform (*)

(I’ll mention Mono later)

Page 12: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Technical Similarities and Differences

Page 13: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Runtime Environment

Both provide a managed runtime environment: Intermediate Language / bytecode, not native

code Garbage collection Security

Java JRE offers JIT and Hotspot .NET CLR offer JIT and ngenCommon misconception among .NET

partisans is that Java is interpreted

Page 14: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Virtual Machine vs. Runtime

I’ve seen the idea put forth that a “runtime” is greatly different from a virtual machine.

Technically speaking, not much difference

Page 15: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Languages

Java Platform: Java language (and many others,

though not widely used)

.NET Platform: C# Visual Basic.NET C++ with Managed

Extensions (and many others,

more likely to see wide use)

Page 16: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Major C# / Java Language Differences

Properties Attributes Events / Delegates Value Type (Structs) unsigned types Auto-boxing explicit interface

implementation

Non-virtual methods by default (like Delphi)

Override keyword Different method

lookup rules foreach multi-dimensional

arrays using

Page 17: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

C# Unsafe Code

Java: Write your unsafe code in C / C++ / etc. Call it with JNI - VM checks security

C#: Use the same language Mark it as unsafe Runtime checks security

Given that some operations require unsafe code, writing it in the same language seems like a better solution to me.

Page 18: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Libraries

Java class libraries java.io javax.sql

.NET BCL Base Class Library System.IO System.XML ...

Roughly comparable in scope

Page 19: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Naming Conventions

Most of .NET naming/casing conventions are different from Java’s MethodName vs methodName Package.Name vs package.name

Different just to be different, in my opinionMany more things are cased LikeThis, so

the casing carries slightly less informationMicrosoft no longer recommends

Hungarian

Page 20: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

DBMS Connectivity

JDBC JDO SQL/J

JDBC Type 4

ADO.NET ODBC OLE-DB, which also

supports nonrelational data sources

.NET Managed Provider

Page 21: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Deployment

Java: Class files / Jars

.NET: Assemblies

J2EE: Choose and install J2EE server, generate and compile EJB stubs, set a bunch of XML files right, create nested JARs, EARs, etc.

.NET: Copy assemblies and a few config files to a directory served by IIS

Page 22: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

JARs, EXEs and DLLs

.NET Assemblies are substantially similar to JARs, but they have extra header information to make them valid Win32 EXEs or DLLs

The header includes a stub to connect to the .NET Runtime

Result: to the end user, .NET applications have the same kinds of files as native.

Big advantage in user acceptance

Page 23: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Classpath

Commonly complained about by Java detractors

.NET has a similar mechanism: load from the same directory, load from a global location (GAC), load from configured locations (much like a classpath)

.NET does not have classes as standalone files, which simplifies things.

Page 24: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Versioning

.NET Assemblies carry metadata with version information

.NET Assemblies reference each other by version

Side-by-side deployment is easy, without the need to segregate Jar files

Version interop issues are similar - it’s possible to load class Foo version 1.5 and class Foo version 2.0, but they aren’t the same class.

Page 25: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Web Presentation Toolkits

Java: JSP/Servlets Tab libraries JSF Third party toolkits

(Struts etc.)

Some toolkits provide server-side OnClick just like the .NET

.NET: ASP.NET Server-side controls

Server-side OnClick

Less emphasis on MVC

Page 26: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Rich Client Presentation Toolkits

Java: AWT Swing “Lightweight” Layout management,

the bane and the glory of Swing development

SWT and other alternatives available

.NET: WinForms “Heavyweight” = Native Less focus on automatic

layout, most layouts are pixel-based

An SWT clone is available WinForms is “1.0” and it

shows

Page 27: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

XML Support

Java: JAXP and other APIs, implementations from many vendors

.NET: Built-in (System.XML, also including interesting pull-model parsing)

Built-in Schema, Xpath, XSLT, SOAP 1.1

.NET uses XML itself extensively, while Java uses lots of Properties files for older configurations; this is an artifact of the timing.

Page 28: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Distributed Computing

J2EE: RMI, CORBA, SOAP.NET: Remoting, SOAP, DCOMThere are third party .NET COBRA

implementations.There are third party Java DCOM bridges

Page 29: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

RPCs / Distributed Objects

RMI: JRMP or IIOP wire

protocol RMI Registry Stubs/Skeleton Can customize with

Socket Factory Distributed Garbage

Collection!

.Net Remoting: XML or native wire

protocol, over HTTP/TCP

Activator Can customize with

Channels

Distributed Garbage Collection!

Page 30: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Web Services

RPCs, Metadata, Discovery, DirectoriesSOAP, WSDL, UDDI, etc..NET:

SOAP and WSDL in the box from Day One More coming in the “WSE”

Java: Some support in the box many strong solutions from 3rd parties Much more in the box coming soon

Page 31: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

[WebMethod]

Extensively hyped, great for demosNot an important difference in a large appProvided by several Java WS

implementations, I was using one before .NET existed

Ludicrous to hold the fact against Java, that Java predates web services

Upcoming versions of Java and .NET will offer very similar WS support

Page 32: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Clustering

J2EE: Clustering provided by App Server Sessions maintained by the App Server Platform provides the spec

Net: Clustering provided by OS Sessions maintained by IIS/OS/runtime Platform (Windows Server) provides the

implementation

Page 33: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Implementing Complex Services

Service Oriented Architectures are now the dominant paradigm Client app doesn’t know whether server uses

domain objects

Stateless servicessee Patterns of Enterprise Application

Architecture, Fowler

Page 34: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

The J2EE Approach

Stateless Session Beans for the Service Facade

Entity Beans for persistance

Many variations and recommendations out there

Page 35: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

The .NET Approach

Web Services or Remoting for the Service Facade

O/R mapping is not in the box Instead, very convenient and powerful data

access components are usedThus, Transaction Scripting favored over

Domain ObjectsOf course, many developers use O/R mapping

and domain-object-based development.

Page 36: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Message Oriented Middleware

Java: JMS and MDB specification

.NET: Easy access to Microsoft Message Queue COM+ Queued Components (similar to MDBs)

Page 37: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Small Device Support

Java offers J2ME Many third party

variations also!

J2ME is Java with many features removed

Run on many cell phones, Palm devices, etc.

Much greater market penetration so far

.NET offers the Compact Framework

.NET CF is the .NET Framework with many features removed

Runs on Pocket PC, SmartPhones, various embedded devices

Page 38: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

In Java / J2EE, not in .Net

O/R Mapping, in the form of Entity BeansWider array of utility APIsPublic profiling and debugging APIs like

JVMPI, JPDA

Page 39: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

In .Net, not in Java / J2EE

ASP.NET Server side controlsXML SerializationPrecompilation to native codeEnumerations, Attributes, etc.

Page 40: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Java / .NET Interoperability

Easy to call back and forth with Web Services Appropriate only for large-grained EAI

interaction

Much Faster to call back and forth with CORBA

Fast but inpleasant to interoperate with COM

Page 41: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Mono

“an effort to create an open source implementation of the .NET Development Framework”

Runs on LinuxIncludes runtime, compiler, partial class

libraries, various other infrastructurehttp://www.go-mono.com/Ximian, the sponsor, recently acquired by

NovellQuestionable legal status given the MS patents

Page 42: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Coming Soon in Java:

GenericsAuto-boxingfor() that works like foreach()AttributesTypesafe enums

Page 43: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Coming Soon in .NET:

GenericsObjectSpaces (transparent persistance

like JDO? XPath-like access to objects?)Async interfaces for many more

opertaions

Page 44: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

The Pet Shop

This Sun example web application has been used for a number of highly publicized benchmarks

None of them really mean muchOverall, you’ll get similar performance

with Java and .NET

Page 45: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Markets, Money, and Other Non-Technical Issues

Page 46: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Deployment Platforms

Java: Almost any.NET: Any platform you want, as long as

it’s Windows

To some customers, the first point is a big advantage; to others, the second is a big advantage.

Page 47: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Open Source

Lots of activity on both Java and .NETMany open Java projects have been ported

to .NET.

Page 48: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Jobs

Java is still apparently far aheadSt. Louis has a remarkable concentration

of large Java shopsThere are many MS shops here also (and

quite a few MS, and now .NET-centric consulting firms).

Microsoft technology very popular is small/ medium sized firms

Page 49: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Market Size

Page 50: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Innovation

Microsoft can advance .NET and C# forward faster, because they have less involvement / resistance from other companies

Page 51: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Money - What’s it cost to develop?

You can develop for either for little or no money JDK free download .NET Framework SDK free download

Some features are not in the free downloads

Page 52: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Cost Per Developer

Java can cost almost nothing per developer per year; or it can cost several thousand dollars per developer per year.

Microsoft offers a compelling package with MSDN Universal

Page 53: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Deployment Cost

.NET deployment is “free” if you don’t count the OS

J2EE can be anywhere from free (Linux + JBoss) to very expensive (HPUX, AIX + WebLogic or WebSphere, etc.)

Unreasonable to compare the cost of .NET and J2EE per se, since the Java cost can vary tremendously by which app server you choose.

Page 54: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

The Bottom Line

More alike than differentTechnically, it’s unlikely that you will

succeed with one and fail with the otherJava is many places where .NET is not.NET is much better integrated with

Windows, obviously the dominant platform for many customers

Java is a broad market with many producers, while .NET is very MS-centric.

Page 55: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Talk Offer

This talk, or one like it with more detailsIn your organizationFor DevelopersFor ManagersNo Cost (in town)No Obligation

Page 56: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

XPSTL - Extreme Programming in St. Louis

Interested? Join the mailing list at xpstl.org

Worthwhile even if you are only interested in parts of XP… for example, come learn about test-intensive development.

Tomorrow night at CAIT, see web site for details.

Page 57: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Questions?

Experiences?Critiques?Advice?

Page 58: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

Links

http://www.daimi.au.dk/~beta/ooli/Compare.html

Page 59: Java/J2EE and.NET Similarities and Differences in the Dominant Enterprise Computing Platforms Kyle Cordes Oasis Digital Solutions Inc. Gateway Java User

Copyright © 2003 Oasis Digital Solutions Inc. / Kyle Cordes

THE END

Kyle [email protected](636) 219-9589

Slides will be on my web site,http://kylecordes.com