Explain the operation of Java applications in the context of your understanding of computer hardware and operating systems. Assume that you are beginning with Java programming language source code that will ultimately reside on a server system. Be sure to include discussion of the features and capabilities of Java that rely on and support operating system operations. What aspects of the Java design make it possible to claim that Java is "platform independent?" What are the design requirements necessary to make a client system "Java capable?"