An Advanced Web Java Class's Hardware and Software Needs Michael J. Payne1 Computer Information Systems & Technology Computer Technology Department Purdue University 1421 Knoy Hall, Room 219 West Lafayette, IN 47907-1421, USA Abstract After offering a new Web Java course during the Spring 2001 semester, I now realize that this actually needed more thought. This paper will discuss both the hardware and software needs for such a course. It is based on actual experiences and some additional outside research. In addition, I will give some details as to what is available in the marketplace to support such a course. Keywords: Java, JSP, servlet, java beans, IDE, web application server One of the key areas of Java development today deals with Web development using database, servlets, java server pages and java beans. In order to be able to offer such an advanced Java course, one must have the appropriate hardware and software. 1. HARDWARE This actually includes several hardware environments including personal computers, workstations and mainframes. As we look at these, first lets look at the benefits as to using each of these platforms. Secondly, we will look at hardware from the perspective of requirements based on the software we are running in the class. The PC environment is what most students are used to working with. So, using this hardware will require little transition in working with Java except for the IDE and Web application server. The workstation environment will run Unix and will most likely be totally new to the student. This will add an additional level of difficulty to the course since they will have to learn Unix in addition to the IDE and Web application server. However, this is a great opportunity for students to see that Java truly can run on multiple platforms with little or no changes. As to the mainframe, Java may be used as a wrapper around existing mainframe applications or databases. Again this provides a wonderful opportunity for students to work with a real world environment. And gain wonderful experience. They may get the opportunity to work with such mainframe databases as DB2. But, in reality this is beyond the scope of an advanced Java Web course. One must also be concerned with the actual hardware requirements of the tools that you will be using in such a course. I have listed these as figures at the end of this paper. For hardware requirements for specific Java IDEs, see the table in Appendix A. (Borland JBuilder 2001; Java Boutique 2001; Sun Forte 2001) For hardware requirements for application servers, see the table in Appendix B. (Borland AppServer 2001; IBM Websphere) One overall example as to hardware requirements is as follows: (Chappell 2000) Java IDE Hardware Requirements: ? Windows ? 90 MHz Pentium or better (it will run on a 486, but barely) ? 64 Meg Ram or more. ? Less than one megabyte of Hard Drive space required. 2. SOFTWARE Java Development Environment First, one needs a Java development environment. This can be in the form of very simple Java development environment such as the SUN JDK/SDK environment. One can also use a more complex tool such as an IDE (Interactive Development Environment). Let's discuss each of our options. The simplest development environment such as Sun JDK/SDK provides only the minimum environment for developing Java Web applications. One of the key drawbacks here is the lack of interactive debugging tools that are found in IDEs. Another drawback is that this environment doesn't provide and code generation when building servlets etc thus making it more difficult to develop Java Web applications. However, I had a team of students who liked the simplest environment best when developing a JSP application in an independent study course. They stated it forced them to do the complete development and not depend on any generated code or be forced to do things a certain way that is the only way allowed by the IDE. The next level of development environment for Java is an IDE (Interactive Development Environment). The benefits here include: 1. Easy to set up projects, 2. Easier to setup and create Servlets, 3. Easier to setup and create Java Server Pages, 4. Provides an interactive debugging environment, 5. Includes a built in Web server for testing of Servlets, JSPs, etc. The drawback for the IDE development environment is that there are times when it generates code. As a true developer, you may like this. However, as a professor, I want my students to completely understand all code that is created by them and/or generated by the IDE. There are certain considerations when deciding on an IDE. (Chappell 2001) They are as follows: * 100% Java * Supports applets, servlets, Java Server Pages, Enterprise Java Beans * Supports Database * Quality of Debugger * Supports enterprise development * Supports the development of J2EE applications * Runs on multiple hardware platforms * Contains a built in Web application server for testing For software requirements for specific Java IDEs, see the table in Appendix C. (Borland JBuilder 2001; Java Boutique 2001; Sun Forte 2001) Java Testing Environment (Web Application Server) Another type of software that is needed for such a class is that of a Java testing environment. Since, this is for a Web class, one will need a Web application server that supports Servlets and Java Server Pages. There are two ways to approach this: 1. Have a separate Web application server for testing, 2. Use the built in Web application server in the IDE. If we totally depend on the IDEs built in Web application server, one doesn't get the true look and feel of running on a Web browser. It is easier to use this environment for serious debugging of Java Servlets and/or JSPs. But, if we totally depend on it, the students do not get the experience of working on a separate Web application server where debugging can be much more difficult. The best choice is to actually have both the IDE and the Web application server for quality testing. It gives you the best of both worlds. In this scenario, the students develop their applications using the IDE and after completely testing them there, they move them up to the Web application server for the final testing. Still, there are concerns when deciding on a Web application server. First, not all Web servers support Java Servlets or JSPs. Such examples of this type of Web server include Microsoft IIS. One is forced here to buy an add-on for the Web application server that supports Java Servlets and/or JSPs. Such add-ons products include: Servlet Exec, which supports both Servlets and Java Server Pages. (ServletExec 2001) Having both the IDE and a separate Web application server gives the students a chance to work with both environments when testing. Based on my real world experience, one will have to do some additional testing when moving an application to the separate Web application server-one test to see if it works and still another to see if it works in the same way as in the IDE. There are certain considerations when deciding on a Web application server. They are as follows: * Supports applets, servlets, Java Server Pages, Enterprise Java Beans * Supports Database * Runs on multiple hardware platforms Now of your Web application server does not support servlets, etc, there are some additional considerations when deciding on Add-Ons for your Web application server. They are as follows: * Works with your Web Application Server One can find software requirements on specific application servers in the second table in Appendix C. (Borland AppServer 2001; IBM WebSphere 2001) 3. CONCLUSION In conclusion, the real answer as to which hardware and software to use for an advanced Java Web course centers on the professor's goals and objectives for the class. In my class, it would be best for me to use both the Windows and Unix environment either on the same hardware or different hardware. This choice gives students the opportunity to see that Java is truly platform independent. Secondly, it would be best to have students to develop at least one Java application without using an IDE. This would truly show the students an environment in which they have to depend more on themselves and documentation that just the software tool. Finally, it would be best for me to have the students to test their application in the IDE and then move it to a Web application server for final testing. This gives the student the experience of actually how it is done in the "Real World". Again, remember your decision must be based on your goals and objectives of your version of a similar class. 4. REFERENCES Borland AppServer Current Release Product Platform Support. (2001) Retrieved July 9, 2001, from the World Wide Web: http://www.borland.com/techpubs/appserver/platformsappserver451.html Borland AppServer. (2001) Retrieved July 9, 2001, from the World Wide Web: http://www.borland.com/appserver/ Borland JBuilder 5 System Requirements. (2001) Retrieved July 9, 2001, from the World Wide Web: http://www.borland.com/jbuilder/jb5/sysreq.html Borland JBuilder 5. (2001) Retrieved July 9, 2001, from the World Wide Web: http://www.borland.com/jbuilder/ Chappell, S. P. (2000) Selecting a Java IDE (2000 Q3 Edition) Retrieved July 9, 2001 from the World Wide Web :http://simonpeter.com/techie/java_ide_2000Q3.htm IBM WebSphere Application Server Hardware Requirements Enterprise Edition. (2001) Retrieved July 9, 2001, from the World Wide Web: http://www-4.ibm.com/software/Webservers/appserv/doc/v35/idx_hwe.htm IBM WebSphere Application Server Hardware Requirements Standard/Advanced Edition. (2001) Retrieved July 9, 2001, from the World Wide Web: http://www-4.ibm.com/software/Webservers/appserv/doc/v35/idx_hwa.htm IBM WebSphere Application Server Standard Edition, V3.5. (2001) Retrieved July 9, 2001, from the World Wide Web: http://www-4.ibm.com/software/Webservers/appserv/standard_v35.html IBM WebSphere Application Server. (2001) Retrieved July 9, 2001, from the World Wide Web: http://www-4.ibm.com/software/Webservers/appserv/ Java Boutique: Other Java Resources. (2001) Retrieved July 9, 2001, from the World Wide Web: http://javaboutique.internet.com/demoIDEs/ JavaWorld IDE. (2001) Retrieved July 9, 2001, from the World Wide Web:http: http//www.javaworld.com/javaworld/tools/jw-tools-ide.html ServletExec. (2001) Retrieved July 9, 2001, from the World Wide Web: http://www.servletexec.com/index.jsp Sun Forte for Java System Requirements. (2001) Retrieved July 9, 2001, from the World Wide Web: http://www.sun.com/forte/ffj/sysreq.html Sun Forte Tools Forte for Java. (2001) Retrieved July 9, 2001, from the World Wide Web: http://www.sun.com/forte/ffj/index.cgi Appendix A Java IDE Hardware Requirements IDE Operating System Platform Processor Memory (RAM) MB Hard Drive Space MB Other Jbuilder 5.0 Personal Windows/Linux Intel Intel Pentium II 128 115 CD-ROM, SVGA, Mouse or other pointing device Jbuilder 5.0 Personal Solaris Sun ULTRASparc 2 128 115 CD-ROM, SVGA, Mouse or other pointing device Jbuilder 5.0 Professional Windows/Linux Intel Intel Pentium II 256 150 CD-ROM, SVGA, Mouse or other pointing device Jbuilder 5.0 Professional Solaris Sun ULTRASparc 2 256 150 CD-ROM, SVGA, Mouse or other pointing device Jbuilder 5.0 Enterprise Windows/Linux Intel Intel Pentium II 256 250 CD-ROM, SVGA, Mouse or other pointing device Jbuilder 5.0 Enterprise Solaris Sun ULTRASparc 2 256 250 CD-ROM, SVGA, Mouse or other pointing device Appendix A (continued) Java IDE Hardware Requirements IDE Operating System Platform Processor Memory (RAM) MB Hard Drive Space MB Other Visual Age for Java 4.0 Professional Edition Windows Intel Intel Pentium II or faster Min 128 Recommended 256 Min 350 Recommended 400 CD-ROM, SVGA, Mouse or other pointing device Visual Age for Java 4.0 Enterprise Edition Windows Intel Intel Pentium II or faster Min 128 Recommended 256 Min 400 Recommended 750 or more CD-ROM, SVGA, Mouse or other pointing device Sun Forte for Java Community Edition Window NT/2000 Intel Min Pentium II 350 MHz Recommended Pentium III 450 MHz Min 128 Recommended 256 Min 128 Recommended 384 CD-ROM, SVGA, Mouse or other pointing device Sun Forte for Java Community Edition Solaris 7,8 Sun Min Ultra 10 Recommended Ultra 60 Min 128 Recommended 512 Min 128 Recommended 384 CD-ROM, SVGA, Mouse or other pointing device Sun Forte for Java Community Edition Red Hat Linux Intel Min Pentium II 500 MHz Recommended Pentium III 800 MHz Min 128 Recommended 512 Min 128 Recommended 384 CD-ROM, SVGA, Mouse or other pointing device Appendix A (continued) Java IDE Hardware Requirements IDE Operating System Platform Processor Memory (RAM) MB Hard Drive Space MB Other Sun Forte for Java Internet Edition Window NT/2000 Intel Min Pentium II 350 MHz Recommended Pentium III 450 MHz Min 128 Recommended 256 Min 128 Recommended 384 CD-ROM, SVGA, Mouse or other pointing device Sun Forte for Java Internet Edition Solaris 7,8 Sun Min Ultra 10 Recommended Ultra 60 Min 128 Recommended 512 Min 128 Recommended 384 CD-ROM, SVGA, Mouse or other pointing device Sun Forte for Java Internet Edition Red Hat Linux Intel Min Pentium II 500 MHz Recommended Pentium III 800 MHz Min 128 Recommended 512 Min 128 Recommended 384 CD-ROM, SVGA, Mouse or other pointing device Appendix B Web Application Server Hardware Requirements Web Application Server Operating System Platform Processor Memory (RAM) MB Hard Drive Space MB Other AppServer 4.5 Windows NT/2000 Intel Intel Pentium II 233 MHz Min 128 Recommended 160 75 CD-ROM, SVGA, Mouse or other pointing device AppServer 4.5 Solaris 2.6, 7, 8 Sun Sun Ultra 5 Min 128 Recommended 160 75 CD-ROM, SVGA, Mouse or other pointing device AppServer 4.5 HP-UX 11.0 HP PA-RISC 100MHz Min 128 Recommended 160 75 CD-ROM, SVGA, Mouse or other pointing device AppServer 4.5 IBM AIX 4.3 IBM RS/6000 RS/6000 PowerPC-604 64 54 CD-ROM, SVGA, Mouse or other pointing device AppServer 4.5 Red Hat Linux Intel Intel Pentium II 333 MHz 128 50 CD-ROM, SVGA, Mouse or other pointing device IBM WebSphere Application Server Standard Edition, V 3.5 AIX/HP-UX/SUN Solaris/Windows NT/2000 Intel/ HP/Sun Min 256 Recommended 512 300 CD-ROM, SVGA, Mouse, Network Interface Appendix B (continued) Web Application Server Hardware Requirements Web Application Server Operating System Platform Processor Memory (RAM) MB Hard Drive Space MB Other IBM WebSphere Application Server Advanced Edition, V 3.5 AIX/HP-UX/SUN Solaris/Windows NT/2000 Intel/ HP/Sun Min 256 Recommended 512 300 CD-ROM, SVGA, Mouse, Network Interface IBM WebSphere Application Server Enterprise Edition, V 3.5 AIX IBM 332 MHz or better 512 6 GB CD-ROM, X-Server Display, Mouse, Network Interface IBM WebSphere Application Server Enterprise Edition, V 3.5 SUN Solaris Sun 332 MHz or better 512 6 GB CD-ROM, X-Server Display, Mouse, Network Interface IBM WebSphere Application Server Enterprise Edition, V 3.5 HP-UX HP 440 MHz or better 512 6 GB CD-ROM, X-Server Display, Mouse, Network Interface IBM WebSphere Application Server Enterprise Edition, V 3.5 Windows NT/2000 Intel 300 MHz or better Min 256 Recommended 512 5 GB CD-ROM, 800x600 capable display, SVGA, Mouse, Network Interface Appendix C Java IDE Software Requirements IDE Windows Linux Solaris Browsers Jbuilder 5.0 All Editions Windows 98 Windows 2000 Windows NT 4.0 (SP3) X11R6 3.3x GNU C Runtime Library 2.1.2 or greater Linux kernal 2.2.12 or above Solaris 7 Solaris 8 Visual Age for Java All Editions Windows 98 Windows 2000 Windows NT 4.0 (SP4) Netscape Navigator 4.7 or later Internet Explorer 5. 0 or later Sun Forte for Java All Editions Windows NT Windows 2000 Red Hat Linux 6.2 Solaris 7 Solaris 8 150 Web Application Server Software Requirements Web Application Server Windows Unix Solaris Browsers IBM WebSphere Application Server All Editions Windows NT 4.0 (SP4) Windows 2000 IBM AIX V4.3.3 HP-UX 11.0 or higher Solaris 6 Solaris 7 Netscape Navigator 4.07 Internet Explorer 4.01 or higher Borland AppServer 4.5 Windows NT (SP3) Windows 2000 HP-UX 11.0 IBM AIX 4.3 Red Hat Linux Solaris 6 Solaris 7 Solaris 8 Netscape Navigator 4.7 or higher Internet Explorer 5. 0 or Higher 1mjpayne@tech.purdue.edu