• Home
  • Java University

Java University at JavaOne 2014

Make the Most of Your JavaOne Conference Experience

Make the most of your JavaOne experience with Java University. Java University takes place on Sunday, September 28, and offers several deep-dive training seminars that cover the most-popular Oracle technology topics. Don't miss this opportunity to maximize your JavaOne experience in 2014.

When and Where:

Sunday, September 28, 2014, 9:00 a.m.–4 00 p.m. with a one-hour lunch break

Golden Gate University
536 Mission Street
San Francisco, CA 94105
(three blocks from Moscone Center)

How Much:

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

Training Format

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



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

Students learn to use new Java SE 8 and Java EE 7 best practices and patterns to design and architect robust enterprise applications that allow for rapid change and growth. Students gain an understanding of the latest Java SE 8 and Java EE 7 technology patterns and how they help solve important and recurring design problems. Students also gain an understanding of how service-oriented architectures (SOA) implemented in a wide range of technologies (including REST, RMI, DCOM, CORBA, and web services) help businesses respond more quickly and cost-effectively to changing market conditions. The course also covers how enterprise middleware platforms help automate, manage, and optimize business processes and workflows across systems, people, and partners, and build robust cloud applications on Oracle Cloud platforms. Students learn best practices and design patterns for building end-to-end security for distributed enterprise and cloud applications, as well as best practices for preparing for the Java Enterprise Architecture certification exam.

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 technologies, Java EE technology, SOA, web services, and Oracle Fusion Middleware products, and he has provided training for many companies on these topics. He has also architected and designed many Java EE applications for Oracle clients. At Sun and Oracle, he has received numerous awards including Technical Specialist of the Year, STARS, and Oracle University Leadership Circle. He is active in research in the field of distributed systems and artificial intelligence and has authored numerous publications in his field of research.

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

Course Objectives Details

  • Understand how Java EE 7 and Java SE 8 patterns help to architect and design robust Java EE applications
  • Understand the advantages of building enterprise cloud architectures

Course Topics Details

System Architecture Development and Guidelines

  • Justifying the need for architecture when developing for Java SE 8 and Java EE 7 applications
  • 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

Java EE 7 Patterns

  • Understanding Java EE patterns that assist in the presentation tier WebSocket, REST, and JSON processing; HTML 5; nonblocking I/O
  • 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

Enterprise SOA

  • Using SOA for enterprise application integration
  • Understanding how SOA improves B2B business processes
  • Service-oriented architecture and design
  • Integrating and orchestrating applications services
  • Web services design patterns

Building Composite Applications

  • The impact of security on distributed enterprise and cloud applications
  • Security services in Java technology
  • Best practices and design patterns for securing enterprise cloud applications

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 an understanding of Java EE application servers and distributed systems


Develop Java Oracle Embedded Applications Using Raspberry Pi (Internet of Things)

In this course, students learn the role that Oracle Java ME Embedded plays in the Internet of Things (IoT), and look at how Raspberry Pi can be used as an inexpensive embedded device-development platform. Students learn how to create a prototype of an embedded device designed to track and monitor shipping containers using a push-button switch and LEDs, a barometric pressure/temperature sensor, and a GPS chip. The course also covers wireless communication, using JavaFX to visually represent the data, and writing your own system controller and managing in-the-field updates.

Instructor: Tom McGinn Read Full Bio

Tom McGinn has been involved with training and education since 1991, when he joined Sun Education to apply his programming background to the development of the first multimedia self-paced training courses for Solaris systems administration. Later, McGinn coauthored the first Java course for Sun. He also delivered the first commercial Java course in New York. Given the success of the first course, McGinn began to work with other experienced instructors and engineers to build a curriculum of courses that covered the earliest APIs. After holding several different roles in training and education organizations at Sun and Oracle, McGinn has returned to his roots as a curriculum developer for Oracle. He has developed and co-developed courses for Java ME and Oracle Java ME Embedded, Java SE, and Java EE.

Target Audience: Experienced Java SE or Java EE developers who would like to learn more about Oracle Java ME Embedded

Course Topics Details

  • Get an overview of Oracle Java Embedded and loT
  • Configure Raspberry Pi and a Windows 7 PC for Oracle Java ME Embedded 8 development
  • Work with the general purpose I/O (GPIO) header on Raspberry Pi and the GPIO device API to read input from switches and drive LEDs
  • Work with the I2C device API to read temperature values from an I2C device
  • Work with the universal asynchronous receiver/transmitter device API to read GPS coordinate data from a GPS device
  • Work with the generic connection framework to connect to a device using a socket
  • Work with the push registry to manage when to accept connections
  • Work with the record management store and file I/O to persist data collected
  • Communicate results to a JavaFX client application for visual display
  • Create a system controller using the AMS and SWM API
  • Manage in-the-field updates

Course Topics Details

  • Overview of Oracle Java Embedded and IoT
  • Configuring the Raspberry Pi and a Windows 7 PC for Oracle Java ME Embedded 8 development
  • Using the general purpose I/O (GPIO) header on Raspberry Pi and the GPIO Device API to read input from switches and drive LEDs
  • Using the I2C device API to read temperature values from an I2C device
  • Using the universal asynchronous receiver/transmitter device API to read GPS coordinate data from a GPS device
  • Using the generic connection framework to connect to a device using a socket
  • Using the push registry to manage when to accept connections
  • Using the record management store and file I/O to persist data collected
  • Communicating results to a JavaFX client application for visual display
  • Creating a system controller using the AMS and SWM API
  • Managing in-the-field updates

Prerequisites: Experience with Java SE (6, 7, or 8)


Diving into Scala

Now that Java has support for functional programming, it is time to learn the best functional programming practices that have been applied for years in other programming languages. One of the goals of pure functional programming is to model side effects such as state manipulation, failure, latency, and others in a type-safe, declarative (as opposed to imperative) way. Scala is an established, strongly typed programming language that unifies object-oriented and functional programming. Scala source code compiles to JVM byte code and can import Java source code. One appealing aspect of Scala is its support for defining internal domain-specific languages (DSLs). During this session, students are introduced to the wonderful world of pure functional programming by designing, in an example-driven way, a DSL for pure computations.

Instructors: Luc Duponcheel Read Full Bio

Luc Duponcheel was a Java instructor for Sun Microsystems and Oracle from 1998 until 2013. He has taught the complete course portfolio around the world, from low-end programming courses to high-end architecture courses. He has been involved in the development of several standard courses and has developed and delivered many custom courses as well. Duponcheel works for ImagineJ, his own company. He holds a PhD in mathematics from the University of Brussels, Belgium. He now focuses on computer science, specializing in functional programming. He is the author of several publications and has been invited to give presentations at several universities.

Target Audience: Programmers who want to raise their knowledge to the next level

Course Objectives Details

This is not a course to learn Scala; it assumes some Scala knowledge

  • Learn about pure functional programming
  • Learn Scala language constructs

Course Topics Details

  • The basics of computations, including how to deal with them in a type-safe way by making them visible to the type system
  • Overview of the examples driving the rest of the course
  • Option for dealing with zero or one values
  • Stream for dealing with zero or more values
  • State for manipulating state
  • Dealing with failure
  • Future for dealing with latency

Pre-requisites: SSome knowledge of Scala and functional programming is very desirable


Java EE 7 from an HTML 5 Perspective: HTML5, WebSocket, JSON, and JSF

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 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 (coauthored with Chris Schalk, 2006), JavaServer Faces 2.0: The Complete Reference (coauthored with Chris Schalk and Neil Griffin, 2009), and Hudson Continuous Integration in Practice (coauthored with Winston Prakash, 2013).

Oliver Szymanski is an independent Java enterprise consultant currently working in the financial sector for banks in the UK and US. He is founder of the Association of Java User Groups (ijug.eu) and he founded the Java User Group Erlangen/Nuremberg. He is an author for IT magazines including Heise Developer Channel, S&S Entwickler, Java aktuell, and Java Magazine, and he has spoken at several conferences.

Target Audience: Java programmers with experience in Java web development technologies

Course Objectives Details

  • Learn basic fluency with the parts of Java EE 7 that intersect with the world of HTML 5–based web development; specifically JSON, WebSocket, and JSF

Course Topics Details

First Session: WebSocket, JSON, JSF

  • JSON
    - Why is this important? JSON is to HTML5 what XML was to web services
    - JSON-P is for parsing
    - What about binding to Java Objects?
  • WebSocket
    - Three specs: JavaScript API, IETF transport protocol, Java API
    - Java API details: Usage from a browser, Usage from standalone client
  • JSF: The good parts
    - Composite components
    - HTML 5–friendly markup

Second Session: HTML 5 Deep Dive

  • HTML 5: Why all the fuss?
    - What's in a name?
    - Is it really a big deal?
  • HTML 5: High-level perspective
    - Design goals
    - How does it differ from HTML 4
  • HTML 5: Subspecifications
    - Browser contexts
    - Microdata
    - Canvas context
    - Offline apps
    - Messaging
    - Events
    - Cross-document messaging
    - Server-sent events
    - WebSocket
    - Drag and drop
    - Web storage

Pre-requisites: Experience in Java web development technologies, such as Struts, JSP, and JSF. Basic familiarity with the core concepts of web development (request/response, HTTP, HTML, CSS, and simple JavaScript) is assumed. Students need not be fluent in JavaScript.


Java 8 Lambda Expressions

This new-feature session delves into the major changes and enhancements in Java SE 8. First, the session covers lambda expressions and streams. The focus is on understanding the basics, and then looks at using streams and lambda expressions with collections. Next, the session covers the new Java date/time API, and Nashorn JavaScript engine. The session wraps up with an overview of Java Mission Control and Java Flight Recorder, which are new and included with JDK 8.

Instructor: Mike Williams Read Full Bio

Mike Williams is a developer/writer working in Oracle's Java Education group. He has written courses on Java, XML, Perl, Web 2.0, and more. He has also done a lot of development using XML and XSLT. Currently he is working with Java 8 and related technologies. Prior to Oracle, Williams worked at Lotus Dev Corp, IBM, Netscape, and Sun Microsystems.

Target Audience: Intermediate to advanced developers

Course Objectives Details

  • Create Java 8 lambda expressions using the correct syntax
  • Create Java methods that use built-in lambda expression functions
  • Utilize lambda expression features added to collections
  • Use additional advanced lambda expression features such as method references, and built-in methods such as flatMap and reduce
  • Create classes the use the new date/time API
  • Understand key features added to Java 8, such as Nashorn, compact profiles, G1 garbage collector, Java FX 8

Course Topics Details

  • Introducing lambda expressions
  • Why lambda expressions
  • Filtering collections with lambdas
  • Using built-in lambda types
  • Collection operations with lambda
  • Parallel streams
  • Lambda cookbook
  • Method enhancements
  • Using the date/time API
  • JavaScript on Java with Nashorn
  • Intro to Java Mission Control
  • Intro to Java Flight Recorder

Prerequisites Details

Understanding of:

  • Object-oriented programming concepts
  • Java collections and generics
  • Java concurrency
  • Anonymous inner classes with Java

Java Performance Tuning

In this session, students explore Java performance tuning, with particular emphasis on what makes a good performance engineer. The skills and mindset required to be successful at tuning are subtly different from those typically found in developers, and rather than present "tips and tricks," the session focuses on how to analyze and tune any Java performance problem.

Instructor: Sang Shin Read Full Bio

Sang Shin is the founder and chief instructor at JPassion.com (previously called JavaPassion.com), a popular online learning site offering hands-on courses on Java, Java EE, Java tools, Java performance, JavaScript, jQuery, HTML5, Groovy and Grails, MySQL, Android, web services, and Ruby on Rails. Before founding JPassion.com, Shin was the lead technology architect and evangelist at Sun Microsystems. He frequently gives talks on various technologies to worldwide developer audiences.

Target Audience: Developers, performance testers, architects, and 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
  • Enable measurement-led approaches when analyzing an unknown performance problem

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

Course Topics Details

  • Performance
  • Garbage collection
  • JIT compilation
  • Statistics

Prerequisites: An inquiring mind, basic understanding of statistics and garbage collection


JavaScript for Java Developers: Develop Web Applications

Learn how to write JavaScript code, from the basics to advanced features, such as modules, closures, prototypes, and parsing. Students discover how to combine JavaScript and HTML 5/CSS 3 to build dynamic web applications and style them. Students also learn how to put JavaScript into practice with AJAX and WebSocket to get dynamic data, as well as how to develop applications with JQuery to modify the HTML 5 DOM.

Instructors: Edgar Martinez and Eduardo Moranchel Read Full Bio

Edgar Martinez and Eduardo Moranchel are both Java curriculum developers at Oracle. They have years of experience writing Java applications. They are authors of two Oracle University courses, "Java EE 6 Develop Web Components with Servlets and JSPs" and "Java EE 7: New Features." Martinez and Moranchel enjoy sharing best practices with practical examples for building enterprise applications with Java.

Target Audience: Students who can write simple programs using any functional or object-oriented language

Course Objectives Details

  • Use the browser's tools to debug and inspect web applications and styles
  • Code application logic using JavaScript to control user interactions and display data
  • Read and validate data from HTML 5 forms using JavaScript Use the JavaScript API to parse, modify, and validate data
  • Use JavaScript to add interactivity in HTML 5 using events and DOM modification
  • Use the HTML 5 local storage and JSON to store user data in web applications
  • Create JavaScript code to retrieve and display dynamic data from REST services using AJAX
  • Create JavaScript code to interact with WebSocket for real-time communication

Course Topics Details

  • Introduction
  • Creating web applications
  • JavaScript fundamentals
  • Working with the document object model
  • Parsing the JavaScript API
  • Application data in JavaScript
  • Advanced JavaScript prototypes, closures, modules
  • Dynamic data with JavaScript using AJAX and WebSocket
  • JQuery overview

Prerequisites Details

  • Basic programming experience
  • Basic web programming knowledge

The Latest and the Greatest RESTful Web Services

Students get a detailed introduction to RESTful web services and an understanding of the reason for their increasing popularity. Learn how RESTful web services 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 courses. He has developed courses for Oracle and Sun Microsystems in the Java SE, Java EE, and Oracle Application Server spaces. Heimer has more than 13 years experience teaching courses on Java, Oracle Solaris, and Linux. He enjoys helping people further their Java skills and is actively involved in Java certification development.

Target Audience: Java SE developers and 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