<?xml version="1.0" standalone="no" ?>

<!--  FAI_JavaPersistenceAPI.xml	Course Outline in XML format
 *
 * Copyright 2009 Affinity IT Training, LLC. All Rights Reserved.
 *
 -->

<!DOCTYPE FAI:CourseOutline SYSTEM "FAI_CourseOutline.dtd">

<?xml-stylesheet type="text/xsl" href="FAI_CourseOutline.xsl" ?>	

<FAI:CourseOutline FAI:link="FAI_JavaPersistenceAPI.xml"
     xmlns:FAI="http://www.fisher-assoc.com/DTDs/FAI_CourseOutline.dtd" >

  <FAI:CourseTitle FAI:level="Advanced"  FAI:code="JavaPersistenceAPI">
    Java Persistence API
  </FAI:CourseTitle>  
  
  <FAI:CourseCategory>Java</FAI:CourseCategory>
  <FAI:CourseCategory>J2EE</FAI:CourseCategory>
  <FAI:CourseCategory>Database</FAI:CourseCategory>

  <FAI:SummaryInfo>

    <FAI:CourseDesc FAI:version="1.0" >
	New J2EE 5 capabilities empower Java Class designers
	with the ability to easily persist instances into 
	relational data-stores. Even plain-old Java objects (POJOs)
	can be defined as persistent "Entities", 
	dramatically reducing the amount of database-related coding effort.
	This class prepares experienced Java programmers 
	to utilize the Persistence capabilities
	provided with J2EE 5.
    </FAI:CourseDesc>

    <FAI:CourseDuration>
	1-2 Days 
    </FAI:CourseDuration>

    <FAI:CourseAudience>
	Java programmers seeking to utilize the J2EE 5 Persistence API.
    </FAI:CourseAudience>

    <FAI:CourseObjectives>

      <FAI:Objective FAI:desc="Understand the architectural approach embodied by the Persistence Framework" />
      <FAI:Objective FAI:desc="Be familiar with the strengths and limitations of the approach and API" />
      <FAI:Objective FAI:desc="Be familiar with all major Persistence Framework classes and interfaces" />
      <FAI:Objective FAI:desc="Be prepared to create Java classes and EJBs that exploit the Persistence Framework" />
      <FAI:Objective FAI:desc="Be prepared to use the Java Query Language within Persistent applications" />

    </FAI:CourseObjectives>

    <FAI:CourseSetupList>

      <FAI:Setup FAI:desc="Java 2 Standard Edition (J2SE) v1.5+"  
                 FAI:link="http://www.java.sun.com/downloads" />
      <FAI:Setup FAI:desc="Java 2 Enterprise Edition (J2EE) v5+ Documentation"  
                 FAI:link="http://www.java.sun.com/downloads" />
      <FAI:Setup FAI:desc="Java DB"  
                 FAI:link="http://developers.sun.com/prodtech/javadb/downloads/" />
      <FAI:Setup FAI:desc="Glassfish Java Persistence API Implementation"  
                 FAI:link="https://glassfish.dev.java.net/downloads/persistence/JavaPersistence.html" />
      <FAI:Setup FAI:desc="Optional Text Editor or Java IDE"  />
      <FAI:Setup FAI:desc="Internet access preferred"  />

    </FAI:CourseSetupList>    

    <FAI:CourseTextList>

      <FAI:Text FAI:title="Course Workbook" />

    </FAI:CourseTextList>    

    <FAI:CoursePrerequisiteList>
      <FAI:CoursePrerequisite FAI:title="Java Fundamentals" 
			      FAI:link="FAI_IntroJava.xml" />
      <FAI:CoursePrerequisite FAI:title="What's New in Java 1.5 ? (or equiv)" 
			      FAI:link="FAI_Java15.xml" />
      <FAI:CoursePrerequisite FAI:title="Extensible Markup Language (XML)" 
			      FAI:link="FAI_XML.xml" />
      <FAI:CoursePrerequisite FAI:title="Relational Database experience"  />
    </FAI:CoursePrerequisiteList>    

  </FAI:SummaryInfo>  

  <FAI:TopicList>

    <FAI:SuperTopic FAI:title="Introduction">

      <FAI:Topic FAI:title="Welcome" />
      <FAI:Topic FAI:title="Prerequisites and Setup" />
      <FAI:Topic FAI:title="Verifying Setup and Configuration" />
      <FAI:Topic FAI:title="Course Objectives" />
      <FAI:Topic FAI:title="What is Persistence ?" />
      <FAI:Topic FAI:title="Java Persistence API Architecture" />
      <FAI:Topic FAI:title="Persistence API Usage Overview" />
      <FAI:Topic FAI:title="Example Program: A Persistent Employee" />
      <FAI:Topic FAI:title="Examining the Database" />
      <FAI:Topic FAI:title="Lab Exercise: Growing Pains" />
      <FAI:Topic FAI:title="Quiz" />

    </FAI:SuperTopic>                
                
    <FAI:SuperTopic FAI:title="Entity Definition and Object Relationship Management">

      <FAI:Topic FAI:title="Entity Class Requirements" />
      <FAI:Topic FAI:title="Entity Mapping" />
      <FAI:Topic FAI:title="Example Program: Order Mapping" />
      <FAI:Topic FAI:title="Entity Relationships" />
      <FAI:Topic FAI:title="Example Program: Employee Orders" />
      <FAI:Topic FAI:title="Entity Relationship Summary" />
      <FAI:Topic FAI:title="Lab Exercise: Addresses and Cubicles" />
      <FAI:Topic FAI:title="Quiz" />

    </FAI:SuperTopic>                                

    <FAI:SuperTopic FAI:title="Query Interface and Query Language" >
	<FAI:Topic FAI:title="The Query API" />
	<FAI:Topic FAI:title="Example Program: Query The Employee" />
	<FAI:Topic FAI:title="Example Program: Native Employee" />
	<FAI:Topic FAI:title="SQL ResultSet Mapping" />
	<FAI:Topic FAI:title="Using Named Queries" />
	<FAI:Topic FAI:title="Java Persistence Query Language" />
	<FAI:Topic FAI:title="Example Program: Finding Employees" />
      	<FAI:Topic FAI:title="Example Program: Order Line Items" />
	<FAI:Topic FAI:title="Lab Exercise: Order Line Items" />
      	<FAI:Topic FAI:title="Quiz" />
    </FAI:SuperTopic>

    <FAI:SuperTopic FAI:title="Advanced Topics" >
	<FAI:Topic FAI:title="Entity Listeners" />
	<FAI:Topic FAI:title="Example Program: Phone Callbacks" />
	<FAI:Topic FAI:title="Extending Entity Classes" />
	<FAI:Topic FAI:title="Example Program: Salaried Employee" />
      	<FAI:Topic FAI:title="Extending Non-Entity Classes" />
      	<FAI:Topic FAI:title="Example Program: Mapped Superclass" />
      	<FAI:Topic FAI:title="Versioning" />
      	<FAI:Topic FAI:title="Transient Fields" />
      	<FAI:Topic FAI:title="Composite Keys" />
	<FAI:Topic FAI:title="Lab Exercise: Orders to Listen" />
      	<FAI:Topic FAI:title="Quiz" />
    </FAI:SuperTopic>

 </FAI:TopicList>
 
</FAI:CourseOutline>
 