I’m planning to develop a web-services (SOAP to C++ client) in Java with Metro/Hibernate and front it up with a web-site written in JRuby on Rails, connecting Java modules through JRuby and generally through a database. I already wrote some code and set up everything.
Now, I’ve heard that .NET 3.5 is really powerful and after some reading I acknowledged that to be true. However, would it make sense to drop this monstrous yet curious hybrid of Java and RoR to switch everything to .NET? Everything: services, database connection (linq for objects), web-front, ajax stuff — everything in one huge .NET 3.5 solution.
I am also looking to have fun but not as much fun as, say, in C++ for server-side 🙂
I know that with the power of RoR it doesn’t really matter whether it’s either side. However, whether I’m all set up for .NET or Java, I still have the feeling I’m doing it wrong and I should just switch to the not-side-I’m-currently-on.
I have a very limited experience with web development, I’ve only written an ASP.NET web-service once and supported Java web-service so I have a real OCD with the choice of platforms here.
I’m sorry, but what you are doing sounds like a big ball o’ mud. Doesn’t matter to me what path you take, but I’d simplify the architecture by reducing the number of technologies/frameworks that you are using. If you can find a way to do it in Ruby/Rails without reference to Java (although you may need to keep the C++ client-side), that would work. Obviously, working in .NET (my preferred platform) is another choice. Windows Communication Foundation makes it much easier to write web services that are lighter weight than the old ASP.NET web services — including RESTful web services using JSON.
If I were doing it today I’d use ASP.NET MVC for the web front-end, WCF (for web services), and either eliminate the C++ client or consider writing it in C# with .NET or Mono.