I saw several examples where the architecture is that there are java on the server side and C # on the client - what makes this combination so good? why not .net on both sides would be a better choice (or, in fact, java on both sides?)
added later: in many cases, java is hosted on the Windows server itself, I think through tomcat (not 100% sure) - what is the motivation here?
Java is often used on an internal server (and has become the de facto standard) for a number of reasons:
# Windows. Java (OS) , # Microsoft Windows.
, , .NET ( , Java). Java-/.NET- , Unix , Unix (, Unix), Windows . ( , Java, , , Windows , .)
Unix-, Java - , , ( , "enterpriseisey" ) "" , Perl, Ruby Python.
,.NET Windows, Windows. : API- Java GUI (, Swing) - , Windows. ( - !)
, JSON, , .
Java - , # .
Java , , # ( )
Windows, * nix. , , Java, .NET/# ( mono on * nix) .
Java , HTML - -.
, , Java , , Compact Framework, Micro Framework, Silverlight ...NET .
(- ) , ;.NET/# , Java, . , , mono .
, WPF, .NET winforms, Windows. WPF Silverlight ( Moonlight - * nix ..), , Windows.
Java,
Fortyrunner, , JVM Hotspot MS CLR.
On the server side, Java has proven reliable and scalable, and it is available on platforms that .NET can only dream of. Therefore, if you want most of the Java hardware options to be an excellent choice, this includes very large machines with many processors, as well as many clustered, cheap x86 boxes.
If you have .NET on the server side, you should use Windows, and Windows just does not scale the hardware.