Java SE 7: Develop Rich Client Applications


This five-day instructor-led course takes participants through the process of designing a rich client application using Java SE 7 and Java FX 2. Using the Model-View-Controller (MVC) pattern and a case study approach, participants analyse, design, and develop the user interface, connect the user interface to a database, and finally connect the user interface to a RESTful web service. The user interface is created using key Java FX components including layouts, UI controls, data structures like ObservableList, charts, smart tables, CSS, and JavaFX concurrency libraries. Participants learn to add two tier and three tier features to their application by connecting to a database using the Java Persistence API (JPA). Finally, they learn to connect their application to a RESTful web service using JAX-RS and the Jersey API.


• Create a graphical user interface using Java FX • Connect a Java FX GUI to database using JPA • Connect a Java FX GUI to a RESTful web service • Package and deploy a Java FX application • Sign a Java FX application




This lesson describes the goals of the course and explains the fundamentals of enterprise architecture applications. Lesson Topics: • Course objectives • Audience • Prerequisite skills • Using JavaFX • Rich client applications • Course roadmap • Schedule • Course environment

This lesson describes the fundamentals of the BrokerTool application Lesson Topics: • Describe an overview of the BrokerTool application • Explain the problem statement of the BrokerTool Application Practice: • Setting up the development environment • Exploring the BrokerTool application • Running the Ensemble sample application • Running the Henley application

This lesson identifies and describes the features of JavaFX. Lesson Topics: • Describe the features of JavaFX • Identify the features of the JavaFX scene graph • Describe the JavaFX development tools • Describe how JavaFX is integrated into a Java application • Use FXML and determine when to use it in an application • Download and install JavaFX and related samples Practice: • Creating a login window by using JavaFX • Creating a FXML login window

This lesson describes the nature and usages of Generics and JavaFX collections. Lesson Topics: • Generics • JavaFX collections Practice: • Adding a second listener to your list

This lesson explains how to implement user interfaces through the use of JavaFX UI components and CSS. Lesson Topics: • Relate UI components to the scene graph • Describe and implement JavaFX UI components such as controls, images, shapes, and layout containers • Use CSS • Add events to JavaFX controls • Create charts Practice: • Creating an order form using FXML • Adding events to the order form • Creating an interactive Pie chart

This lesson describes how to use animation and media within a Java application. Lesson Topics: • Use animation and effects in an application • Describe how to implement media in an application • Describe the benefits of using WebView Practice: • Adding a fade-transition

This lesson describes techniques for creating and formatting tables and the use of the BrokerTool application. Lesson Topics: • Create a table and custom table cell • Apply CSS to a table • Recognize JavaFX development practices • Describe the BrokerTool application interface • Identify the JavaFX components and charts to use in the BrokerTool interface Practice: • Create a simple TableView • Styling a smart table • Creating a complete BrokerTool interface

This lesson describes the nature and implementation of JavaFX concurrency and binding. Lesson Topics: • Describe and implement JavaFX concurrency • Describe binding and properties in JavaFX, including simple binding and bi-directional binding Practice: • Displaying service state information • Adding a second service to your application

This lesson describes the JPA and support for ORM (object relational mapping) through JPA. Lesson Topics: • Describe the Java Persistence API (JPA) • Define Object-Relational Mapping (ORM) and how JA provides a framework to support ORM • Use JPA to create, read, update, and delete database entities • Create and use queries in JPA Practice: • Creating entity classes by using JPA • Implementing CRUD operations by using JPA

This lesson describes the nature of entity relationships in an application and demonstrates how to implement a JPA application within a Java SE environment. Lesson Topics: • Identify relationships in an application • Build and deploy a JPA application in a Java SE environment • Apply a two-tier design in the HenleyApp application Practice: • Identifying entity relationships in the BrokerTool application • Implementing database connectivity in the BrokerTool application by using the JPA

This lesson provides a brief overview of Java Web Services with focus on RESTful web services and how the technology works. Lesson Topics: • Compare the HenleyApp two-tier design and the HenleyApp three-tier design • Describe the RESTful web service • List the web services used in the HenleyApp application • Describe how the RESTful web services were developed in the HenleyApp application Practice: • Review basic concepts of Java web services • Examining BrokerToolServer’s web services

This lesson describes how to develop and test a RESTful web service. Lesson Topics: • Describe how to test a RESTful web service • Identify how to develop a Jersey RESTful client • Review the implementation of web service clients in the HenleyApp application Practice: • Testing RESTful web services • Creating a RESTful web services client

This lesson describes how package and deploy a JavaFX application. Lesson Topics: • Describe a JAR file and the steps of creating one • Create a manifest file that uses headers • Create a JAR by using development tools • Deploy a stand-alone JAR • Deploy a JAR as an applet • Deploy a JAR by using Java Web Start Practice: • Deploying an application in a Web App • Deploying an embedded application only (browser only) • Deploying a Java web start only

This lesson describes the characteristics of secure applications. Lesson Topics: • Describe aspects of security • Describe fundamental software security concepts • Avoid common injection and inclusion attacks • Avoid common confidential data errors • Limit class accessibility, extensibility, and mutability • Define immutability • Create classes that are immutable • List security resources available on the internet Practice: • There are no practices for this lesson

This lesson describes how to secure an application through cryptography, encryption and ciphers. Lesson Topics: • Describe cryptography, encryption, and ciphers • Differentiate a symmetric key from an asymmetric key • Describe public / private key encryption • Describe digital certificates • Describe hash algorithms • Sign an application by using Java tools • Describe how SSL works • Explain the security concepts that are applied in BrokerTool Practice: • Signing an application by using keytool and jarsigner • Signing and deploying TextViewer by using NetBeans

This lesson describes how to configure and implement logging within your Java application. Lesson Topics: • Add a logging mechanism to your Java application • Log messages to a flat file at an appropriate level • Configure your logger • Configure logging formatters and handlers Practice: • Logging in Java applications

This lesson describes how to implement unit testing and version control systems in Java applications. Lesson Topics: • Set up a unit test system • Write test cases • Apply JUnit test framework • Run unit tests against source code • Create a test suite • Use a version control system Practice: • Create and execute a test case • Set up a test fixture • Perform a parameterised test


Practice Activities
Case Studies


Pre test
Post test
certification exam


5 Days

Target Audience

Application Developers, Java Developer, Java EE Developer


Oct 2017