http://java.sun.com/ http://java.sun.com/ http://www.sun.com/javaone
JavaOne - Experiencing Java technology through education, industry, and community
2006 Conference
Topics
Sessions
   General Sessions
Hands-on Labs
Schedule
Schedule Builder
Register
Pavilion
   Cosponsors
   Exhibitors
   Media
   Presentation Theater
Java University
Daily Activities
Event Connect
Alumni
   Alumni FAQ
Multimedia Sessions
2005 Archive
Community
JavaOne Online
Forums
java.sun.com
java.net
java.com
sun.com/developers
Java Wear & Books
Home

Java University

by Dana Nourie

This year the JavaOne conference opens with the Java University program, and it is more exciting than ever. Delivered by Sun certified instructors, experts in Java technology, these full one-day courses are designed for developers seeking down and dirty, in-depth knowledge. Created for the intermediate to advanced developer, the courses are packed with useful information on Java Platform, Enterprise Edition (Java EE) technologies and architecture. These are not lightweight programs, but all-day courses outlined to cover the nitty-gritty details that developers need for their everyday work.

Attendees chose from one of the following Java technology courses:
Implementing Business Logic Using Enterprise JavaBeans Architecture for the Java EE Platform
How Java EE Patterns Help in Architecting and Designing Robust Java EE Applications
Using JAX-RPC to Enable Java EE Platform Applications to Interoperate With Applications That Are Not Java Technology-Based in a Secure Web Services Framework
Exploring the Struts Framework and How it Supports Web Component Development

In addition, the free bonus course, Exploring Ajax & JavaServer Faces Technology, was added exclusively for Java University attendees this year.

Each course requires some knowledge of Java programming, and at least a fundamental understanding of Java EE technologies is helpful. The courses start out by thoroughly defining specific technologies, functions of components, and the lifecycles of various technologies. The courses then go into detail about how those technologies are applied to real world scenarios, down to the details of coding requirements and recommendations.

I went to the Exploring the Struts Framework and How it Supports Web Component Development course, taught by Evan Troyka, who has been teaching Java programming since 1997. The room had close to 140 attendees, and the tables accommodated the many laptops that people brought with them. With each course, attendees received a thick booklet covering the course content, diagrams, and example code. At the front of the room, we viewed the slides on two huge screens.

Evan began by covering what we would learn throughout the day, and explained that attendees would do follow-up lab work with special passwords the following week. This particular course covered:
Servlet API
JavaServer Pages(JSP) technology
Java EE concepts with regard to web components
Model-View-Controller architecture (MVC)
Developing View Components
Developing Controlling Components
Simplifying Web Components using Apache Struts

The course began with HTTP protocol, and gave examples of GET and POST methods as well as Request and Response format. He then went on to give an overview of the web component model and specific web components, such as servlets and JSP pages, and how they differ and what they have in common. He stressed the importance on not filling JSP pages with code you would normally put in a servlet. Otherwise presentation code and business logic becomes increasingly difficult to manage and troubleshoot.

In addition, he went over the pros and cons of using the Java EE platform over, say, a CGI model. The bottom line is performance because of the beauty of threading. This, however, can bring up concurrency issues that you wouldnt have with CGI. Even so, the Java platform suffers less processor load, and CGI systems are far more likely to crash. The other advantages of using the Java EE platform over CGI are the abundant Java APIs, platform independence, and container management.

Evan gave code examples for servlets and a JSP page, and compared a bit of code written in ASP, PHP, and JSP:

PHP

        <? for ( $i=0; $i<10; $i++ ) { ?>
        <TR><TD><? echo $i ?></TD><TD><? echo ($i * $i) ?></TD></TR>
        <? } ?>

ASP

        <% FOR I = 0 TO 10 %>
        <TR><TD><%= I %></TD><TD><%= (I * I) %></TD></TR>
        <% NEXT %>

JSP

        <% for ( int i=0; i<10; i++ ) { %>
        <TR><TD><%= i %></TD><TD><%= (i * i) %></TD></TR>
        <% } %>

He went on to explain the advantages of JSP pages, such as that JSP pages have all the advantages that servlets do, can contain non-Java elements that are powered by Java components such as custom tags, standard tags, and expression language (EL), and can be developed without Java programming language skills.

In addition, he showed diagrams of the Java EE platform, and how all the web components worked together with the HTTP protocol. The rest of the course got down to the details of each web component, and why and when you use each of them. To show how all the components come together, a Soccer League Case Study was detailed, starting with the logical client view, details of the HTML and JSP pages, structure of the web application, and deployment.

The last half of the day detailed Struts, what you get with the software, implementation details, and the important ActionServlet, and methods you need to know most. Evan explained lines of code for the Soccer League Case Study and how it all tied together, and areas of simplification.

The course was detailed, full of explanation and code samples, so developers could walk away with a thorough understanding of the concepts they would need to get working.

For More Information
* Java University Program
http://java.sun.com/javaone/sf/2006/javauniversity.jsp

Rate and Review
Tell us what you think of the content of this page.
Excellent   Good   Fair   Poor  
Comments:
If you would like a reply to your comment, please submit your email address:
Note: We may not respond to all submitted comments.