I am new to java, and wondered what would be the best way to communicate between java application and .Net application.
Any ideas are most welcome!
Oups ... mistake :
It was not :
"I can indicate"
"I can't indicate"
Not was not written ;-)
I am facing a similar problem.
Server - Java web application hosted in Tomcat (Middle Tier)
Client - C#.Net windows application
As of now, I am communicating using Web Services. Suggest me if I can use IIOP.Net in this circumstance. I could not see support for Tomcat.
Message was edited by: varunkumar_n
Well, this realy depends on :
- what is the Java application doing
- what is the MS.net application doing
- how much will it be used ? how often ? (aka perf requirements)
Anyway, let's make a generic response :
If you are on a low usage mode, and does not have high performance requirement, then SOAP can be the way ! Cf, the metro project already given to you or instance. But SOAP can sometimes become like a spagetti plate, so take care.
But if you need high performance, they better think of Corba. This is the way people are doing it in most enterprises that needs high volume & high performance. Corba programming can be tedious especialy on the MS side. But if your server is on the Java side (JavaEE 5 app server for instance), then this will be quite easy !
Setup an EJB3 session with a remote interface for instance and it will be available to Corba calls thanks to RMI-IIOP. In most cases it is also available under the ExtCosNaming simply using its name...
On MS side, lots of people are still using comercial ORB like visibroker (seemless intgration with .net) or orbix. If you can afford the price they worth it for high demanding enterprise level grade application. There are other ORB alternative in the opensource world omniorb, but I haven't test them on production solutions.
Definitivelly forget about COM/DCOM/COM+ unlessyou have already existing COM objects. If so there are tons of existing Java-COM bridges (comercial or opensource). You'll find it.
Have you experience with the http://iiop-net.sourceforge.net project?
> But if you need high performance, they better think
> of Corba. This is the way people are doing it in most
Not in production ... so I can indicate how much it is solid in an enterprise grade context.
If the API you are about to implement is not very complex, you might go and implement a facade in MS.net and give a try to iiop-net. You will be free to reroute the call to any another IIOP solution if you encounter any blocking issue.
Could worth trying ...
Thanks for all your replies.
I am using red5 as my java web server, however the back end is in .Net.
Performance is a major issue so SOAP won't be a good option.
My APIs are not gonna be very complex (both applications are not written yet - so it is quite flexible)
So with those requirements in mind, what do you think would be the best option?
This really depends on your requirements. If you need to remain cross platform then using web services are a good option.
If a windows only solution is possible, then I recommend registering your .Net assemblies as COM objects and use a COM to Java bridge such as comfyJ to invoke your .Net code from Java. There are open source solutions as well but they usually only allow you to invoke .Net code from Java and not the other way around. See the following link:
Never tried it but IKVM http://www.ikvm.net/ is a Java implementation on top of .NET framework.
Otherwise Metro https://metro.dev.java.net/ is a java web service framework known for being interoperable with .NET.
Haven't tried it, but here is http://iiop-net.sourceforge.net/
Yes, I do think that Corba is a stable, proven, easy and very efficient technologie.
Your use of this web site or any of its content or software indicates your agreement to be bound by these Terms of Participation.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.