Java University 2013

Make the Most of Your JavaOne Conference Experience

Java University takes place on Sunday, September 22, and offers deep-dive training seminars that cover the most-popular Java technology topics.

When and Where:

Sunday September 22, 2013, 9:00 a.m. to 4:00 p.m.

Golden Gate University
536 Mission Street
San Francisco, CA 94105

How Much:

$800 for a full day of training (price includes light refreshments and lunch)



Registration options

Training Format

Choose one full-day seminar from the following list of expert-led sessions. Each session runs from 9:00 a.m. to 4:00 p.m. and includes a lecture, white boarding, demos, and a one-hour lunch break. Copies of instructor slides will also be made available to students. This training seminar does not include student labs.

A Tour of REST

This day long session provides students with a detailed introduction to RESTful web services and the reason for their increasing popularity. Students will be shown how RESTful are implemented with JAX-RS 1.1 (Java EE 6), how extensions from the Project Jersey JAX-RS reference implementation can make development tasks easier, and how the new JAX-RS 2.0 (Java EE 7) specification evolves the Java platform's support for RESTful web services.

Instructor: Matt Heimer Read Full Bio

Matt Heimer works as a principal curriculum developer at Oracle, where he creates classroom-based and online Java curricula. He has developed courses for Oracle and Sun Microsystems in the Java SE, Java EE, and Oracle Application Server spaces. Heimer has more than twelve years experience teaching courses on Java, Solaris, and Linux. He enjoys helping people further their Java skills and is actively involved in Java certification development.

Target Audience: Java SE Developers, Java EE Developers with no JAX-RS experience

Course Objectives Details

  • Understand the role that web services play in modern applications
  • Create RESTful web services with the JAX-RS API
  • Create RESTful web service clients
  • Learn JAX-RS 2.0 new features included in Java EE 7

Course Topics Details

RESTful Web Services

  • Web Services Explained
  • Tools: cURL, Browser plugins
  • The principles of REST
  • Idempotency
  • Hypermedia
  • Errors and HTTP Status Codes

JAX-RS 1.1

  • Creating Resources
  • Resources, Sub-Resources, Resource Locators
  • JAXB, XML and JSON
  • The Response class
  • WADL

Project Jersey

  • Client API
  • Filters

JAX-RS 2.0

  • Client API
  • Filters
  • Validation
  • Asynchronous API
  • Additional Improvements

Prerequisites Details

  • Experience creating Java applications
  •  Some experience with an application server such as Tomcat, WebLogic Server, or GlassFish is helpful but not required

Architect and Design Robust Enterprise Java Applications for the Cloud and Beyond

This course provides you with the knowledge needed to use Java EE 7 best practices and patterns to design and architect robust enterprise applications that allow for rapid change and growth. You will gain an understanding of the latest Java EE 7 technology patterns and how they help solve important and recurring design problems, and you will learn how SOA, implemented in a wide range of technologies (including REST, RPC, RMI, DCOM, CORBA, and Web services), helps businesses respond more quickly and cost-effectively to changing market conditions. The course also covers how enterprise service bus, based on the Java Business Integration (JBI) specification, helps automate, manage, and optimize business processes and workflows across systems, people, and partners and how to build robust cloud computing applications on Oracle Exalogic Elastic Cloud. Throughout the course, you will also learn best practices on how to prepare for the Java Enterprise Architecture certification.

This course will focus on the usage of Java EE platform patterns from the architectural and design perspectives. Understanding Enterprise SOA and Cloud Computing is also covered. The instructor will use UML diagrams and code segments to present these patterns.

The demos for this course feature the Project GlassFish Application Server Enterprise Edition, NetBeans Software IDE with the Visual Web Pack, Sun Java Composite Application Platform Suite for the Enterprise Designer, and Sun Java System Web Server.

Instructor: Joe Boulenouar Read Full Bio

Joe Boulenouar holds advanced graduate degrees in computer science and computer engineering. As a senior principal technical specialist with Oracle University, Boulenouar has expertise in Java technology, Java Platform, Java EE technology, SOA, web services, and Oracle middleware products. He has trained many companies in high-end Java technology, SOA, web services, and Java EE, and has architected and designed many Java EE applications for Oracle clients. While at Sun and Oracle, he won numerous awards including Technical Specialist of the Year, STARS, and Oracle University Leadership Circle. He is an active researcher in the field of distributed systems and artificial intelligence, and has been published on numerous occasions.

Target Audience: Java EE architects and designers, project managers, and development managers

Course Objectives Details

Upon completion of this course, participants should understand of how Java EE 7 platform patterns help to architect and design robust Java EE applications. They should also understand the advantages of building enterprise SOA architectures.

Course Topics Details

System Architecture Development and Guidelines

  • Justifying the need for architecture when developing for Java EE 7applications
  • Resolving risk factors in distributed enterprise systems
  • Guidelines for effective network communication
  • Guidelines for handling distributed transactions
  • Analyzing quality-of-service requirements

Software Architecture

  • Decomposing the Java EE 7 application into components
  • Deployment diagrams for representing the architecture and design model

Using Java EE 7 Patterns

  • Describing Java EE patterns that assist in the presentation tier
  • Web 2.0 design patterns
  • Describing Java EE patterns that assist in the business tier
  • Describing Java EE patterns that assist in the integration tier

Understanding Enterprise SOA

  • Using SOA for enterprise application integration
  • Describing how SOA improves B2B business processes
  • Service-oriented architecture and design

Building Composite Applications

  • Web services design patterns
  • Integrating and orchestrating applications services
  • JBI components: service engines and binding components
  • Enterprise service bus: transformation, routing, and orchestration

Building Cloud Computing Applications

  • Cloud computing architecture
  • Oracle Exalogic Elastic Cloud
  • Impact of Java EE 7 on cloud computing
  • Impact of SOA on cloud computing

Prerequisites: Knowledge of the Java programming language and EJB component technologies and an understanding of Java EE application servers and distributed systems

Certification Exam Cram: Java SE 7 Programmer I and II

The new Java SE 7 certification exams emphasize more-advanced programming skills that align better with industry standards, which will result in an even more valuable credential for you.

This Certification Exam Cram session will help you significantly in your preparation to take the following Oracle Certification Java Programming exams:

  • Java Standard Edition 7 Programmer (Exam : 1Z0-803), which will earn you the Oracle Certified Associate, Java SE 7 Programmer certification
  • Java Standard Edition 7 Programmer II (Exam : 1Z0-804), which will earn you the Oracle Certified Professional, Java SE 7 Programmer certification

This session is intended to help those with a solid foundation in Java programming by providing you with exclusive tips and strategies to prepare you to take the certification exam. It provides a thorough review of the exam objectives and will help you understand the breadth of topics and skills required to pass the exams listed above.

Instructor: Evan Troyka Read Full Bio

Evan Troyka was born in Tupelo, Mississippi and raised in Baton Rouge, Louisiana. He graduated from Tulane University in 1988 and started teaching Java technology courses in 1997 for Sun Microsystems through NSC Systems Group, of Nashville, Tennessee. Troyka was named Java Instructor of the Year in 1998 and 2002, and has delivered more than 300 Java technology courses for clients that include AT&T, NASA, Siemens, the United States Army, the United States Air Force, A.G. Edwards, the United States Department of Agriculture, Caraustar, BB&T, Motorola, IBM, Chrysler, the United States Department of Veterans Affairs, and the states of Wisconsin, North Dakota, Florida, and Illinois. Troyka currently works in Java software development for Concord USA, of Minneapolis, Minnesota.

Target Audience: Java programmers and developers preparing for Java SE 7 programming certification exams

Course Topics Details

  • Compiler Flags
  • VM Flags
  • Language Components
  • Language Rules
  • Reading an API
  • Declaring and Initializing Variables
  • Flow Control
  • Exceptions and Errors
  • Packaging
  • Object-oriented Concepts
  • Nested and Inner Classes
  • Internationalization
  • Collections/Generics
  • Threads
  • Concurrency

Prerequisites: Foundational knowledge of Java programming or completion of Java SE 7 New Features, Java SE 7 Programming Fundamentals, or Java SE 7 Programming courses

Certification Exam Cram: Java EE 5/6 Web Component Developer

This session will accelerate your preparation for the Java EE 5 or Java EE 6 Web Component Developer certification exams. The instructor will provide a thorough review of exam objectives while giving you exclusive tips and strategies to boost your confidence and increase your chances of passing the exam.

Instructor: Michael Ernest

Target Audience: Java EE Web Developers

Course Objectives Details

  • Review key technologies and certification concepts related to Java Web Component Developer EE 5 or Java EE 6 exams.
  • Get information that will help you complete your preparation and study.
  • Receive tips and information that will help you on the test.
  • Understand the depth and breadth of the “Java Enterprise Edition 5 Web Component Developer Certified Professional” (1Z0-858) and/or “Java EE 6 Web Component Developer Certified Expert” (1Z0-899) certification exams

Course Topics Details

Introduction to Java Servlets

  • Describe web applications, CGI, and the role of Java
  • Describe benefits of Java servlet technology
  • Create a simple Java Servlet
  • Define three-tier architecture
  • Define Model-View-Controller (MVC) architecture

Introduction to Java Server Pages

  • Describe why Servlets are not the whole solution
  • Describe essentials of JSPs
  • Understand the fundamentals and reasons for MVC architecture

Implementing an MVC Design

  • Code a controller using a servlet
  • Code a view using a JSP
  • Forward control from a servlet to a JSP
  • Understand fundamentals of EL
  • Implement a simple MVC system

The servlet's environment

  • Understand more details of the HTTP protocol
  • Understand fundamentals of HTML forms
  • Understand fundamentals of the HttpServlet and related APIs
  • Write code that manages client sessions and cookies
  • Using session listeners, write code to respond to an event when an object is added to a session, and write code to respond to an event when a session object migrates from one VM to another.

Container facilities for servlets and JSPs

  • Understand the purpose and structure of deployment descriptors
  • Create and use context and init parameters
  • Use annotations to configure servlets
  • Describe the Web container life cycle event model for requests, sessions, and web applications; create and configure listener classes for each scope life cycle; create and configure scope attribute
  • listener classes; and given a scenario, identify the proper attribute listener to use.

More view facilities

  • Understand the four data scopes
  • Understand and use EL dot and array access operators with Java Beans, arrays, and collections
  • Understand and use EL implicit objects
  • Create and use arithmetic expressions in EL
  • Identify the need for iteration and selection in the view, and use JSTL tags to address those needs

Developing JSP pages

  • Understand the origins, benefits, and weaknesses of JSPs
  • Describe JSP technology, the conversion of JSPs to servlets, and the lifecycle of JSPs
  • Understand JSP scripting elements, declarations and directives
  • Use JSP implicit variables
  • Understand and use jsp: tags

Developing JSP pages using custom tags

  • Relate the JSTL to common job roles in web application development and understand the use of tags in JSP development
  • Recognize correct syntax for tags
  • Configure a JSP to use tags from the JSTL
  • Write JSP code using several standard tags
  • List capabilities of JSTL tags/span>
  • Describe the semantics of the "Classic" custom tag event model when each event method is executed, and explain what the return value for each event method means and write a tag handler class.
  • Using the PageContext API, write tag handler code to access the JSP implicit variables and access web application attributes.
  • Given a scenario, write tag handler code to access the parent tag and an arbitrary tag ancestor.

More Controller facilities

  • Understand the servlet lifecycle
  • Describe and use more advanced elements of the servlet APIs
  • Create filters and use them in web applications

More options for the Model

  • Understand the roles of JDBC and JPA
  • Understand the many elements that make up the model
  • Understand fundamentals of connecting to a database using JDBC or JPA

Asynchronous web applications

  • Understand the interactions that are essential to asynchronous web pages
  • Understand the role of AJAX-style client side programming
  • Implement asynchronous servlets using the facilities of Java EE 6

Web application security

  • Understand the role of the container in security
  • Describe and implement four authentication models
  • Force the use of encryption between a web application and the client browser
  • Understand the role of JAAS in pluggable/extensible authentication for web applications

Java EE Patterns

  • Given a scenario description with a list of issues, select a pattern that would solve the issues. The list of patterns you must know are: Intercepting Filter, Model-View-Controller, Front Controller,
  • Service Locator, Business Delegate, and Transfer Object.
  • Match design patterns with statements describing potential benefits that accrue from the use of the pattern, for any of the following patterns: Intercepting Filter, Model-View-Controller,
  • Front Controller, Service Locator, Business Delegate, and Transfer Object.

Prerequisites: A firm foundation in Java EE application development, specifically web components.

Getting Started with Java FX

This course is an introduction to JavaFX for Java developers. You will learn how to design JavaFX programs with GUI controls, menus, and graphics and bind their properties for event handling. You will also learn how to implement transitions and timelines to enrich the user experience with client-side applications.

Instructor: Paul Anderson Read Full Bio

Paul Anderson is a founding member of the Anderson Software Group, a leading provider of training courses in Java and other programming languages. Paul and his wife Gail Anderson are co-authors of several Java textbooks and have conducted technical sessions and hands-on labs at JavaOne conferences in San Francisco, Latin America, and Russia.

Target Audience: Java Developers, Java Architects, Java User Support personnel.

Course Objectives Details

  • To learn how to use JavaFX, FXML, and Scene Builder.
  • To learn how to use the Builder Pattern.
  • To learn how to bind JavaFX properties for event handling.
  • To learn how to apply layouts and GUI controls in JavaFX.
  • To learn how to create menus and toolbars in JavaFX.
  • To learn how to use graphics and animation in JavaFX.

Course Topics Details

  • Why Should I Use JavaFX?
  • JavaFX, FXML, Scene Builder
  • Shapes and Effects
  • Layout Components
  • Properties and Bindings
  • GUI Controls, Menus, Toolbars
  • Graphics and Animation

Prerequisites: Java programming experience.

Getting Started with the Java EE 7 New Features

In this course, you are introduced to the major changes and enhancement in Java Platform Enterprise Edition 7 release. The course:

  • Presents an overview of the Java EE 7 platform comparing it to older versions.
  • Showcases the new features for Java EE 7: JSON, WebSockets, HTML5, JSF, Servlets.
  • Applies the new features and provide students with ways to implement it on new applications.
  • Provides a guideline to update existing applications to EE7.

Instructors: Eduardo Moranchel and Edgar Martinez Read Full Bio

Eduardo Moranchel is a curriculum developer at Oracle and has more than nine years of experience developing applications with Java. After many years of leading and teaching new developers, Moranchel joined Oracle to formally help developers learn new technologies and best practices through his courses and tutorials.

Edgar Martinez (@edmtzx) is a Java curriculum developer at Oracle. He has worked at IBM and Freescale, developing Java EE applications for computer-integrated manufacturing. Martinez enjoys sharing best practices with practical examples for building enterprise applications with Java.

Target Audience: Java EE Developers, Java Developers.

Course Objectives Details

  • Understand the enhancements in Java EE 7 platform
  • Identify the new Java APIs for Batch Applications, JSON and WebSocket.
  • Understand JAX-RS 2.0, EL 3.0 and JMS 2.0 major enhancements
  • List the enhancements in JSF and JSP
  • Indicate the enhancements in CDI and Bean Validation
  • Identify the enhancements in EJB and JPA

Course Topics Details

  • Java EE 7 Overview
  • JAX-RS 2.0 and JSON-P
  • Web Component enhancements (JSF, JSP, EL and Servlets)
  • WebSocket
  • EJB, CDI and Bean Validation
  • JMS, JPA and Batch 

Prerequisites Details

  • Working knowledge of Java SE 6 or later programming language.
  • Working knowledge of development and deployment of Java EE 6 applications.

JSF from a New Perspective: JSF 2.2, HTML5, Bean Validation 1.1, EL 3.0, JPA 2.1

JSF 2.2 is the latest evolution in the standard UI framework for JavaEE. This full day session covers what's new in JSF 2.2 and also covers new features in JavaEE 7 that are particularly interesting to JSF users. A VM will be provided that has all the course materials and examples.

Instructor: Ed Burns and Oliver Szymanski Read Full Bio

Ed Burns is currently a consulting member of the technical staff at Oracle, where he leads a team of web experts from across the industry in developing JavaServer Faces technology through the Java Community Process and in open source. He is the author of four books for McGraw-Hill: Secrets of the Rock Star Programmers (2008), JavaServer Faces: The Complete Reference (co-authored with Chris Schalk, 2006), JavaServer Faces 2.0: The Complete Reference (co-authored with Chris Schalk and Neil Griffin, 2009), and Hudson Continuous Integration in Practice (co-authored with Winston Prakash, 2013).

Oliver Szymanski is an international, independent Java enterprise consultant with a diploma in computer science and information technology. His focus lies on efficient software development, which he promotes through the and initiatives. He currently works in the financial sector for banks in the UK and US. Szymanski is a founder of the Association of Java User Groups (, a former member of the board of directors, and founder of the Java User Group Nuremberg. He works as an author for IT magazines such as heise Developer, Entwickler Magazin, Java aktuell, and Java Magazin, and is a speaker at several conferences, such as DOAG, Jazoon, Source Talk Days, Java Forum Stuttgart, JAX, and Basta. Szymanski is principally involved in Java enterprise back-end technologies, but maintains proficiency in other platforms, including Objective-C, .NET, and Scala. In addition, HTML5 is currently a major concern in his work on open source web framework.

Target Audience: This full day session assumes basic competence with JSF 2.0 and builds on this competence to allow the student to master the new features delivered in JSF 2.2.

Course Objectives Details

Morning session: JSF 2.2 New Features Only

  • Faces Flows
    + How to declare flows
    + How to navigate with flows
    + Flow scoped data
  • Resource Library Contracts
    + Review of Facelets core concepts
    + How to declare a resource library contract
    + How to apply them to sub-sections of your app
  • HTML5 Friendly Markup
    + This feature brings the "pure HTML" qualities of Wicket to JSF,
       without the accompanying Wicket baggage of having to write the same
       thing twice, once in markup and once in Java.
    + Pass Through Elements
    + Pass Through Attributes
  • Other new features
    + Cross Site Request Forgery protection
    + View Actions
    + Automatic tag creation

Afternoon session: JSF 2.2 in the context of JavaEE 7

  • HTML5
    + A short history of 4 to 5
       What happened since last HTML 4.01 version in 1999
    + What is HTML5 aiming for?
       Compatability, usability, security, consistency, simplicity, universality, accessibility
    + Short overview of diffs from HTML4 (markup part)
       Doctype, SVG, MathML, new elements, element changes, forms
    + Overview about the different sub specs / new APIs
       Browsercontext, microdata, canvas, cross-document and channel messaging, events, websockets, drag
       and drop, multimedia content, offline apps, local storage, ...
    + Some critics on HTML5
  • Bean Validation 1.1
       Method validation brings design-by-contract to java
  • EL 3.0
       Lambda expressions before Java SE 8
  • JPA 2.1
       Query enhancements
       CDI injection into event listeners

Java Performance Tuning

In this session, Ben will explore Java performance tuning, with particular emphasis on what makes a good performance engineer. The skills and mindset required to be really successful at tuning are subtly different from those typically found in developers, and rather than present “tips and tricks”, the session will focus on how to analyze & tune any Java performance problem from first principles.

Instructor: Ben Evans Read Full Bio

Ben Evans is the CEO and co-founder of the startup jClarity, which delivers Java performance tools to help development and operations teams. He is an organizer for the London Java Community (LJC) and a member of the JCP Executive Committee, helping define standards for the Java ecosystem. Evans is a Java Champion, JavaOne Rock Star, author of The Well-Grounded Java Developer (co-authored with Martijn Verburg, 2012), and the forthcoming Java in a Nutshell. He is a regular speaker on topics such as Java platform, performance, concurrency, and other related topics.

Target Audience: Developers, performance testers, architects & anyone who wants to understand performance as a distinct discipline.

Course Objectives Details

  • Gain an appreciation of performance as separate from development or testing
  • Understand the use of empirical and data-driven techniques when handling performance data
  • Be able to able measurement-led approaches when analysing an unknown performance problem

Course Topics Details

  • Performance
  • Garbage Collection
  • JIT Compilation
  • Statistics

Pre-requisites: An enquiring mind, basic descriptive statistics, basic understanding of GC

Using Java 7 & 8 Features in your code

This course takes developers through Java 7 features including: Try-with-resources, Plural classes, the new NIO.2 File and Networking APIs in addition to the various other smaller changes. We'll also take a sneak peak at the features coming up in Java 8.

Instructor: Dr. Richard Warburton

Target Audience: Developers who are comfortable with Java (min 1 year experience) and are looking to use the latest and greatest version!

Course Objectives: To bring developers up to date with the latest version of Java (7) and showcase why they should consider moving to Java 8 as soon as it comes out!

Course Topics Details

Java 7:

  • Try-with-resources (for safer File and Network resource handling)
  • Plural classes (utility classes for dealing with collections and file systems)
  • The new NIO.2 File and Networking APIs
  • A host of small changes, e.g. Underscores in numbers, Strings in switch, multi-catch try blocks.

Java 8:

  • Lambdas and the new collections API
  • New Date and Time APIs
  • Nashorn – New Javascript implementation

Prerequisites: Working knowledge of Java. Some reading on functional programming (e,g. Closures/Lambdas) may aid in understanding.