Skip Navigation Links

Course Length:
4 Days
Course Description:
Intended for entry to mid-level Java™ developers, JBoss Enterprise Application Development (JB295) course will expose students to JBoss® Java EE frameworks, specifications, and interfaces (APIs). Students will learn how to create and maintain Java EE-compliant applications from start to finish using the Eclipse-based JBoss Developer Studio. Comprehensive lecture and extensive use-case, hands-on labs will introduce the student to Seam, Hibernate, and other related technologies that help create a fully functional enterprise Java application. By the end of the course, students will build a complete multi-tier enterprise application, including a web-based front end, a web services layer, EJB-layer, and a persistence layer, as well as code for test cases at all levels.
Who Should Attend:
This course is for students with existing Java programming experience wishing to enter Java Enterprise Edition (Java EE) development as well as for experienced JEE developers who are migrating to JBoss for the first time.
Benefits of Attendance:
Upon completion of this course, students will be able to:
  • Create and maintain Java EE-compliant applications from start to finish using the Eclipse-based JBoss Developer Studio.
  • Build a complete multi-tier enterprise application, including a web-based front end, a web services layer, EJB-layer, and a persistence layer, as well as code for test cases at all levels.
Prerequisites:
Students must have fluency in HTML and Java programming language (Java SE, Java SE 5). They should also have basic experience with an integrated development environment (IDE) such as Eclipse or NetBeans; and build tools such as Ant or Maven. Basic knowledge of asynchronous JavaScript (AJAX) and Relational Database Management System (RDBMS) is also required.
Course Outline:
  • Introduction to the JEE application stack, and JBoss EAP server technologies with a focus on web UI development
    1. Technologies covered: JEE API, JBoss EAP, JSF, and Taglibs
    2. Lab: Complete a JSF page, implement navigation, and deploy with Ant
  • Unit testing tools and methodologies, as well as integration of tests with JBDS and Ant for continuous testing
    1. Technologies: JUnit/TestNG, DBUnit, Hibernate Tools, JSFUnit, and Ant
    2. Lab: Complete a JSFUnit test, deploy and test code, integrate with Ant builds
  • Beginning discussion about the business layer, including topics of code separation, business logic, and how the JEE stack separates the various layers
    1. Technologies: EJB3, Session Beans, JNDI, and JTA
    2. Labs: Loading a session bean with JNDI, completing code for a business task based on business rules
  • Details of JEE's asynchronous messaging technologies, compare and contrast various messaging constructs, and how to integrate messaging into an application
    1. Technologies: JMS, JNDI, and message-driven beans (MDB)
    2. Labs: Write an MDB to process confirmation messages asynchronously, look up a queue using JNDI
  • Representation of business data in Java, as well as managing transactions to the database layer. Final portion of the three-tier architecture, the persistence layer
    1. Technologies: Hibernate, JPA, entity beans, and JTA
    2. Labs: Using JPA, students will commit changes in customer preferences to the database
  • Expose business services as web services, for simpler distribution of the application functionality to outside businesses. Available tooling for the consumption of web services via JBoss is also covered
    1. Technologies: web services, JAX-WS, SAAJ, REST, and SOAP
    2. Lab: Expose a business process, and consume the process via web service deployment
  • Using Seam as a migration tool for an application. This unit begins our discussion of JBoss enhancements to JEE development, to make the process more streamlined
    1. Technologies: Seam, seam-gen
    2. Lab: Recreate the framework for our application using seam-gen, and reuse previously developed JSF code as the front-end
  • Explore the various security features available in JBoss EAP 5.0
    1. Technologies: JAAS, HTTP authentication, and Seam
    2. Labs: Create a more robust login process, including a new profile page for the customer, and determine user roles based on history
  • Advanced data model concepts are introduced, supported by Seam tooling, and used to produce robust web application features
    1. Technologies: data model, annotations, bijection, and Seam conversations
    2. Lab: Implement a robust flight search complete with suggestion functionality based on city names
  • A survey of integration testing technology and concepts
    1. Technologies: SeamTest, TestNG, and Ant
    2. Lab: Implement an end-to-end test of some functionality of the application
  • Examine how caching can enhance the functionality of a web application. Some of the pitfalls of caching are discussed, and how to use JBoss tooling for caching is covered
    1. Technologies: JBoss cache
    2. Lab: Use JBoss cache to pre-load airport information for better initial functionality for the first customers who connect
  • Advanced UI features, including details on usability, and designer-provided interfaces
    1. Technologies: RichFaces, Ajax4JSF, and Facelets
    2. Lab: Create a more robust interface with built-in UI widgets