Creation of Java applets and Java applications. Web based development using Javascript with Java applets on the client side and Java servlets and/or Java Server Pages on the server side. Complete knowledge of the Java programming languages and the Java GUI, including the AWT and Swing classes, for creating a rich visual environment for Java on web pages. Use of JDBC for database programming on the server side. Design of reusable Java classes and Java beans for object-oriented Java programming. Programming of the Java RMI interface for distributed Java objects between clients and servers. For Java application development, knowledge of the JNI interface for extending Java objects with 3rd part libraries written in C or C++.