Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Expo on Google News

SYS-CON.TV
Cloud Expo & Virtualization 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:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
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
I am a software evangelist for GigaSpaces technologies, as well as a writer and musician. I've been the editor-in-chief of Java Developer's Journal and TheServerSide.

GigaSpaces Technologies is a leading provider of a new generation of application platforms for Java and .Net environments that offer an alternative to traditional application-servers. The company's eXtreme Application Platform (XAP) is a high-end application server, designed to meet the most demanding business requirements in a cost-effective manner. It is the only product that provides a complete middleware solution on a single, scalable platform. XAP is trusted by Fortune 100 companies, which leverage it as a strategic solution that enhances efficiency and agility across the IT organization.

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
Can you bring services from the cloud to your customers faster and have them adopt it with ease of use or bring the power of bundled services to the fingertips of your clients without creating new rigid ‘apps stove pipes'? Do you want to prevent your business running away to publ...
OCZ Technology Group, a provider of high-performance solid-state drives (SSDs) for computing devices and systems, on Tuesday announced the Z-Drive R4 CloudServ PCI Express (PCIe) flash storage solution, designed to accelerate cloud computing applications and reduce operating expe...
Many organizations have embraced, or are considering, the benefits of cloud computing – speed, flexibility, increased expertise, shared workload, reduced costs, etc. The benefits are many – but so are the risks. What are the threats to cloud security? Which parties assume respons...
In August 2011, SHI Enterprise Solutions (ESS) division launched the SHI Cloud, offering reliable and cost-effective industrial-grade cloud computing platforms. That same division achieved an 82 percent increase in revenue over 2010.
SoftLayer Technologies on Tuesday announced the immediate worldwide availability of SoftLayer Object Storage, a redundant and highly scalable cloud storage service that allows users to easily store, search and retrieve data across the Internet, with optional CDN connectivity, or ...
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
A new collaboration between a telecommunications infrastructure firm and a data center services prov...