Serialize and Persist remote objects to Java and C# apps over Internet and Intranet


I am redesigning our application architecture and one of the concepts I want to inject is an ORM and centralized business logic w/Web services. I know the basics of ORM, and have an in-house ORM written in Perl I want to retire.

I want to use a single backend server to map objects to/from my Oracle database, and serve remote clients by serializing those objects out to remote Winform clients as well as Intranet Java, Perl and Ruby applications.

Here is my initial thinking:

Relational DB <-> ORM <-> (Web Services | Serialization Channel) <-> (Winform clients | ASP.NET apps | Ruby utilities)

1) Use C# as the Web services server, do serialization with SOAP, even though it is bulky. C# does XML and SOAP serialization out of the box. I can use NHibernate as the basis for the server.

2) I can use a Java server, Hibernate, and some sort of serialization technique.

Problem is I do not know what is out there, especially on the Java side. Which will interoprate with multiple languages.

3) Is there some sort of proxy solution, where I can run an ORM builtin to the client GUI app, that proxies over HTTP? I want to use ORM so I don't have to write the data access code for each object, but in my current design, I have to instantiate an object at the server level to serialize it out over the web. Am I on the wrong track with using the lower level .NET serialization stuff, and should I just move right to full SOAP/WSDL framework?

Thanks in advance.
LVL 40
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Since you have a wide diversity of clients, you'll probably need to standardize on a common interface. That's likely to be SOAP

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
mrjoltcolaAuthor Commented:
I was on that track. I think my original question was worded poorly. Basically what I am struggling with is the whole convoluted process of instantiating an object on the main server just to serialize it to SOAP to a remote client which will turn it back into an object. So I'm going Database <-> ORM <-> Web server <-> Remote clients via/SOAP <-> Back to a C# or Java object.

You are right, though, we have diverse clients, so there isn't really an option to do remoting so SOAP seems the safest, unless we can narrow down to one language.

I understand what you're saying. It might be possible to persist the object in its XML, SOAP form so no instances are ever needed at the server
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.