Comments
Patrick Collands wrote: collands (AT) gmail com I'd be very grateful for an invitation. Thank you.
Cloud Expo on Google News

SYS-CON.TV

2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Click For 2008 West
Event Webcasts
Do Java and .NET Really Compete?
Do Java and .NET Really Compete?

It's with continued amusement that I constantly read about how Java should be defended from .NET, and how .NET will destroy Java. I understand the invective used by both sides, but the shine is starting to wear off; it's time to stop hurling insults, and examine what the future really holds. In my opinion, Java and .NET don't truly compete on a meaningful technological front - because both include easy hooks that allow for convenient interoperability.

.NET marshals information transfer through the use of formatters, sort of like interceptors that translate data into an internal format. If this sounds easy to do in Java as well, you should get a cookie - it is, and it's something some SOAP providers for Java do already. The concept is very similar to aspect-oriented programming, in which an interceptor sits in front of the method call, accepts the parameters, converts them into a format appropriate for the method, and then when the method has finished execution, translates the method results back into a format appropriate for the caller.

The similarity in the process is a critical factor. .NET may not be the grail - or the dragon - but it's not difficult to see how it's done from a conceptual standpoint. The process of enabling formatters for .NET method calls is fairly simple, only slightly more difficult than The Mind Electric's GLUE product (www.themindelectric.com); when you author your remotable components, you specify the capability to marshal by copy. Then, set up your endpoints with "Channels," at which point you can decide whether or not to expose the service with SOAP. In contrast, with GLUE (in the simplest case) you define an interface, then implement the interface with a concrete class, then tell the GLUE server you wish to publish the implementation as a service. Enterprising minds can see how both approaches can work.

The key for me is that both processes can be used with little knowledge on the caller's part. With GLUE, there's a slight registration process for the caller; it's not quite transparent. With .NET, you do much the same: acquire a handle to a remote service at runtime (including the type of connection), then call the object.

Thus, it's safe to say that there can be a direct equivalency between using a language-neutral remote service API in both Java and .NET. As such, as developers, our horizons are broadened by the existence of both technologies; a service is just a ser- vice, and we no longer really care if it's hosted on .NET or not; all we need to do is establish an endpoint, call the service, and process the result. Competition is a moot point when the technology is roughly equivalent, and interoperability is easily accomplished.

However, there are still differentiators. .NET is still provided by primarily one vendor, which means being subject to the whims of that vendor; I know of a few excellent programmers who have experience in COM, COM+, and DCOMŠshifting focus everytime as Microsoft discovers a "new and better" way to accomplish late binding. Java has had late binding built into its core since its inception, and that's one of its strengths.

Note that not all Java APIs for SOAP are created equal: JAXM does not provide the same clean API that GLUE does, which is a pity; JAXM follows Apache SOAP's model of exposing the underlying transport to the programmer, which is a grand failure in my opinion. The unfortunately named SAAJ (as implemented by Apache Axis) is better than JAXM, in this regard, but still requires a lot of code compared to GLUE. Hopefully, as the JCP matures the XML services for Java, they will follow GLUE's excellent example.

The result of all this is that Java and .NET compete, but primarily in mind share, not in technology. The marketing drive for both continues to escalate, but the interoperability between the two continues to improve; that is a huge win for implementers, as we can now visualize even operating environments as commodities. The goal should not be to dominate the market to the exclusion of other solutions, but to make implementation easier than it is using the available technology. If the implementation is as easy to use as GLUE's is, then the technology will be adopted.

About Joseph Ottinger
Joseph Ottinger, formerly editor-in-chief of JDJ (2003-4), is a consultant with Fusion Alliance in Indianapolis and is one of the contributors to the OpenSymphony project.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

This article compares Java & c# only is webservcies domain. There is much more than webservices in the world.

Right Now .Net by no means a threat to Java because of large base already made by Java.

First, neither .NET nor Java are constrained by Web Services. It's just Web Services is where the next generation of Web applications are likely to go. Basically Web Services solve 2 issues that should have been solved a decade or more ago, by CORBA, but that was scuttled by a bunch of ignornant & greedy business managers under the cover of developers. Same thing killed Unix. And darn near killed the 'Net if it wasn't for open-source.

.NET potential big win is that it can create nify UI that run on Windows that can talk to any remote system. For most people on the net this may never matter - but for in-house development this may make for a real boon in productivity because HTML just really doesn't cut it for repetive data entry. Java will still maintain a strong server presence & may even gain some ground on the client side by a combination of SWT adoption (the toolkit in Eclipse) and improvements in the JVM.

Another win in Web services is back-office integration. Instead of shoving CSV data around over FTP, Web services can provide us with the benefits of XML and HTTP.

In terms of other competitors -- there are other options -- you can do Web services in Perl/Python/PHP/Ruby. But open source doesn't have a very active marketing arm with a catchy name for this like MS and Sun/IBM do with Web Services.

Plus there are open-source versions of Java and .NET Web Services. This really just makes non-techies head's hurt.

Ultimately though who wins is really based on risk assessment. If you view it's riskier to move onto a single vendor (ie. an end-to-end MS solution) than you will likely go a mixed route.

Mark

It's like Boeing and Airbus - at any one time one of them is in the lead but with so much money on the line they are always trying to beat each other.

Java and .Net is the same deal as long as Sun/IBM and M$ keep competing the platforms will always be close in terms of functionality and ease of use, cost etc. The true winner is the developer/business.

If anything is likely a third or fourth platform competitor will arise. Probably from the Open Source world?

My advice - everyone should hedge their bets for maximum employability - first become an SQL/XML expert then learn Java and C# (should be a relatively easy transition from either language).

-Frank

Lets make a decision...well I could right my business software in a platform neutral architecture that will run on an Apple mac or windows machine upto an IBM ZSeries Mainframe or I could write it in .Net and have it only run on Windows...

This decision is too hard for me to make!!

Please! everyone...wake up!

You seem to be making the author's point. You say that 99% of applications don't use web services and, according to MS's own website's on .Net, .Net is built around webservices. As for the other 1%, the author makes the arguement for Java's support of web services. Therefore, no competition.

Is there even a real Java vs .Net debate? And when I speak of "Java", I am refering to the whole collection, not just the language.

With the great benefit in this case of not being a technologist, I feel there is a more important issue of Java vs .NET, particularly regarding the business cost and flexibility of technology choice between the two offerings

Java is now implemented by many large and small solutions providers, while .NET is wholelly under the control of Microsoft.

For a sensible and prudent business owner, nothing else needs to be said.

I can't believe that this was even published.

First of all the author talks about the .NET vs Java debate. Then he talks about webservices and that webservices make the debate a moot point. Possibly for webservices, however 99% of all implementations don't use webservices!

The title should be "Do Java and .NET compete in Webservices?"


Your Feedback
Raj Singhal wrote: This article compares Java & c# only is webservcies domain. There is much more than webservices in the world. Right Now .Net by no means a threat to Java because of large base already made by Java.
Mark Wilcox wrote: First, neither .NET nor Java are constrained by Web Services. It's just Web Services is where the next generation of Web applications are likely to go. Basically Web Services solve 2 issues that should have been solved a decade or more ago, by CORBA, but that was scuttled by a bunch of ignornant & greedy business managers under the cover of developers. Same thing killed Unix. And darn near killed the 'Net if it wasn't for open-source. .NET potential big win is that it can create nify UI that run on Windows that can talk to any remote system. For most people on the net this may never matter - but for in-house development this may make for a real boon in productivity because HTML just really doesn't cut it for repetive data entry. Java will still maintain a strong server presence & may even gain some ground on the client side by a combination of SWT adoption (the toolkit in Eclipse) an...
Frank wrote: It's like Boeing and Airbus - at any one time one of them is in the lead but with so much money on the line they are always trying to beat each other. Java and .Net is the same deal as long as Sun/IBM and M$ keep competing the platforms will always be close in terms of functionality and ease of use, cost etc. The true winner is the developer/business. If anything is likely a third or fourth platform competitor will arise. Probably from the Open Source world? My advice - everyone should hedge their bets for maximum employability - first become an SQL/XML expert then learn Java and C# (should be a relatively easy transition from either language). -Frank
Colin wrote: Lets make a decision...well I could right my business software in a platform neutral architecture that will run on an Apple mac or windows machine upto an IBM ZSeries Mainframe or I could write it in .Net and have it only run on Windows... This decision is too hard for me to make!! Please! everyone...wake up!
P. Jones wrote: You seem to be making the author's point. You say that 99% of applications don't use web services and, according to MS's own website's on .Net, .Net is built around webservices. As for the other 1%, the author makes the arguement for Java's support of web services. Therefore, no competition. Is there even a real Java vs .Net debate? And when I speak of "Java", I am refering to the whole collection, not just the language.
W. Anderson wrote: With the great benefit in this case of not being a technologist, I feel there is a more important issue of Java vs .NET, particularly regarding the business cost and flexibility of technology choice between the two offerings Java is now implemented by many large and small solutions providers, while .NET is wholelly under the control of Microsoft. For a sensible and prudent business owner, nothing else needs to be said.
Carlos E. Perez wrote: I can't believe that this was even published. First of all the author talks about the .NET vs Java debate. Then he talks about webservices and that webservices make the debate a moot point. Possibly for webservices, however 99% of all implementations don't use webservices! The title should be "Do Java and .NET compete in Webservices?"
Latest Cloud Developer Stories
CloudBench Applications, Inc. announced its financial results for the three months and nine months ending September 30, 2009. All amounts are stated in Canadian dollars unless otherwise noted. Revenues from BasicGov, the Company's cloud computing solution for local government, gr...
The new contract is an industry first, with CSC being the first Microsoft partner to lead and win a cloud computing services agreement of this scale. Under terms of the contract, CSC will provide Royal Mail Group's 30,000 employees with access to new IT services using Microsoft's...
Operates in over 170 countries and is one of the world’s leading providers of communications solutions and services. Richard Tarboton talks for MeettheBoss.TV on his role as Head of Energy & Carbon for BT and what they are doing towards reducing carbon emissions.
CA is going to put its Agile Planner software on salesforce.com’s Force.com platform in the first half to accelerate development time and give users visibility over their development initiatives to reduce time-to-market. Customers are supposed to be able to accelerate the deploym...
Despite its uncertain fate Sun soldiers on. Monday it trotted out a cloud-based multiplatform desktop as a service for K-12 and community colleges that can run Windows, the Mac OS, Linux and Solaris applications to nearly any client device, including its own Sun Ray thin clients....
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON Featured Whitepapers
ADS BY GOOGLE

Breaking Cloud Computing News
CloudBench Applications, Inc. announced its financial results for the three months and nine months e...