If you need solutions that will work on different platforms, Java-based software is a popular choice. However, it can be slower than "native" (e.g. Windows-specific) programs.
The XML documents themselves are platform-independent (= Unicode), but the software and network has to cope too.