Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
NEW YORK UNIVERSITY
COMPUTER SCIENCE DEPARTMENT
COURANT INSTITUTE OF MATHEMATICAL SCIENCES
EXTREME JAVA
G22.3033-006 - Spring 2003
Mon. 7:00 - 9:00 p.m.
Jean-Claude FRANCHITTI
COURSE DESCRIPTION:
This course is designed for programmers already familiar with the
Java language and class libraries. Java-related topics include a
broad and in depth coverage of the following areas:
• Advanced Java language features (e.g., threads, exception
handling and assertions), and upcoming (“Tiger” 1.5) new
features (e.g., generics).
• Java tools (e.g., JPDA, Javadoc, Java Help, ECPerf, JavaCC,
Ant, JUnit, Cactus), Java IDEs (e.g., Eclipse, NetBeans, Sun
ONE Studio, JBuilder, Visual Age for Java, VisualCafé,
Codewarrior for Java, WebGain Studio, ModelJ, J2ME Wireless
Toolkit) and mainstream software engineering techniques
(e.g., Model Driven Architectures, Agile Modeling, Extreme
Programming, Aspect-Oriented Programming, Refactoring, CMM
and Business Process Improvement Lifecycles, Team Software
Process, Project Management, Environments Setup, Resources
Selection, and Packaging).
• J2SE core technologies and optional packages (e.g., JFC,
Swing, Collections Framework, Drag and Drop, JavaBeans, JNI,
JMF), and Java Generative Programming Technology.
• Distributed enterprise communications via J2EE (e.g., Java
IDL, CORBA, RMI/IIOP, JAF, JNDI, JMS, JTA/JTS, security via
JAAS/JCE/JSSE).
• Enterprise Web and application enabling (e.g., Java Web
Start, servlets, JSPs, Java Server Faces, Jakarta Struts,
EJBs, J2EE Connector Architecture, Java XML Pack, JAXB), Web
Services Developer Pack, EAI/B2Bi, J2ME CLDC and CDC
technology, J2EE implementations (e.g., JBOSS, Sun ONE
Application Server, BEA WebLogic, WebSphere), and related
blueprints programs.
• Database technologies (e.g., JDBC, Java Data Objects, SQLJ,
EJB-QL, Jakarta-OJB).
• Operating systems and networking technologies (e.g., Java
Hotspot VM, Jini, JXTA, Jiro, Java agents, JMI, JavaSpaces,
JMX).
Students will experiment with various Java tools and technologies
to create Java programs on various platforms. All instruction and
development will be based on the J2SE 1.4.1, J2EE 1.4, and J2ME
CLDC/CDC 1.0. Through a set of assignments and projects, students
will implement the various components of a sample web-enabled and
Java-based enterprise application.
COURSE OBJECTIVES
The objectives of the course are as follows:
1. Expand the students' understanding and exposure to the Java
programming language and class libraries.
2. Expose the students to the latest Java tools and software
engineering techniques.
3. Expand the students' understanding of Java advanced core
technologies.
4. Expose the students to the advanced capabilities of the Java
2 development environment for Enterprise Applications.
5. Demonstrate the application of Java 2 in distributed
communications enabling, web enabling, and enterprise data
enabling.
6. Expose students to enterprise Applications enabling and
enterprise systems assurance.
7. Broaden students’ knowledge of applied Java patterns, bug
avoidance, real-time programming, performance enhancements
for enterprise Java applications.
TEXTBOOKS
Mastering Java 2, J2SE 1.4
John Zukowski
Sybex, ISBN: 078214022X,Book and CD-ROM Edition (04/02)
J2EE: The Complete Reference
James Keogh, Jim Keogh
McGraw-Hill Osborne Media, ISBN: 007222472X, 1st Edition (09/02)
Expert One-on-One: J2EE Design and Development
Rod Johnson
Wrox Press Inc., ISBN: 1861007841 (10/02)
PREREQUISITES
Students enrolling in this class are expected to have taken
G22.2110, and G22.2250 and their prerequisites or to have
equivalent knowledge.
WEB SITES
Download Java 2 SDKs from http://www.javasoft.com/.
Related specifications for J2EE, SRV, JSP, and EJB can be found at
http://www.javasoft.com/j2ee.
OTHER RECOMMENDATIONS
Students are encouraged to review the references provided on the
course Web site, subscribe to Java Developers Journal, and join
the Java Community to participate in Java technology forums and/or
Java chat discussions, and gain access to community resources.
Please become a member of the Java Developer Connection to download
and experiment with pre-released Java software via the early access
and Java Community Process(JCP) site. It is also recommended that
students become member of a Java user group of their choice (e.g.,
http://www.javasig.com, http://65.213.223.116/novajug/index.jsp),
attend local events or yearly Java conferences (e.g.,
http://www.javaonwallstreet.com/,
http://servlet.java.sun.com/javaone/sf2003/home/index.en.jsp).
COURSE SESSIONS
1. INTRODUCING EXTREME JAVA
- Review Java’s programming languages features
- Non features (e.g., behavioral reflection, etc.)
- Review upcoming features in “Tiger” 1.5
- Model Driven Architectures for Java
- Java enterprise application enabling
- Agile Modeling & eXtreme Programming (XP) for Java
- Aspect-Oriented Programming (AspectJ) & Refactoring
- Java application performance enhancement
READINGS: Mastering Java 2: Part 1 & Appendix A
Expert One-on-One: Chap. 5 as a project template
Selected readings assigned in class
Handouts posted on the course Web site
2. JAVA TOOLS AND SOFTWARE ENGINEERING TECHNIQUES
- Java platform architectures review
- Using Java (open source) development tools
- Survey/selection of Java IDEs
- Detailed study of MDA, Agile Modeling/XP, and AspectJ
- Practical use of design patterns and refactoring
- Applying SEI’s CMM and TSP to Java projects
- Java project management approach
- Practical Java environment setup and application
packaging
- Survey of Java resources
READINGS: Mastering Java 2: Part 2 – Chapter 17 & Appendix
B
Expert One-on-One: Chapters 2-4 as applicable
Selected readings assigned in class
Handouts posted on the course Web site
3. JAVA CORE TECHNOLOGIES (Part I)
- J2SE features, core components, and optional packages
- Java Foundation Classes
- Collections framework
- Assistive Technologies
READINGS: Mastering Java 2: Part 2 – Chap. 9,14,16,19,20,23
Expert One-on-One: Chap. 2-4 as applicable
(cont.)
Handouts posted on the course Web site
4. JAVA CORE TECHNOLOGIES (Part II)
- AWT Components
- Swing Components and Pluggable Look and Feel
- SWT vs. Swing
- SwingML/XUL v.s. Swing
- Drag and Drop
- JavaBeans
READINGS: Mastering Java 2: Part 2 – Chap. 12-13, 15, 21
Expert One-on-One: Chap. 2-4 as applicable
(cont.)
Selected readings assigned in class
Handouts posted on the course web site
5. JAVA CORE TECHNOLOGIES (Part III) AND GENERATIVE
PROGRAMMING
- Java 2D/3D APIs
- Java Media APIs and Java Media Framework (JMF)
- JNI
- Java Generative Programming Technology
READINGS: Mastering Java 2: Part 2 – Chap. 10, 11
Expert One-on-One: Chap. 2-4 as applicable
(cont.)
Selected readings assigned in class
Handouts posted on the course web site
6. JAVA DISTRIBUTED ENTERPRISE COMMUNICATIONS (PART I)
- Review of network, and web communications
- Introduction to distributed enterprise communications
- Introduction to ORB implementations
- RMI & RMI/IIOP
- RMI and the JavaBeans Activation Framework (JAF)
READINGS: J2EE: Part I Chap. 1-4, Part IV Chap. 15
Selected readings assigned in class
Handouts posted on the course web site
7. JAVA DISTRIBUTED ENTERPRISE COMMUNICATIONS (PART II)
- CORBA
- CORBA 3 POA Activation Service
- Java IDL
- JNDI Naming and Directory Services
- Jini (as a “Trading” Service)
READINGS: J2EE: Part IV Chap. 14, 18, Appendix E
Expert One-on-One: Introduction (cont.)
Selected readings assigned in class
Handouts posted on the course web site
8. JAVA DISTRIBUTED ENTERPRISE COMMUNICATIONS (PART III)
- JMS
- JTA/JTS
- Java security via JAAS/JCE/JSSE
- JavaMail
READINGS: J2EE: Parts IV Chap. 13, 16, 17, Appendix D
Expert One-on-One: Introduction (cont.)
Handouts posted on the course web site
9. JAVA ENTERPRISE WEB AND APPLICATION ENABLING (Part I)
- Traditional Web programming and Java
- Web Server technology for Java Web applications
- Java Web Start / Applets
- J2ME CLDC and CDC technology
- Java XML Pack and JAXB
READINGS: J2EE: Parts III Chap. 8-9, Appendices A & B
Expert One-on-One: Chap. 12, 13
Selected readings assigned in class
Handouts posted on the course web site
10. JAVA ENTERPRISE WEB AND APPLICATION ENABLING (PART II)
- Java servlets
- Servlet filters
- Java Server Pages (JSPs)
- Cocoon 2 and XML Server Pages (XSPs)
- Java Server Faces
- Jakarta Struts
READINGS: J2EE: Parts III Chap. 10-11
Expert One-on-One: Chap. 12, 13 (cont.)
Selected readings assigned in class
Handouts posted on the course web site
11. JAVA ENTERPRISE WEB AND APPLICATION ENABLING (PART III)
- Enterprise JavaBeans (EJBs)
- J2EE Connector Architecture
- Practical survey of mainstream J2EE application servers
- Web Services Developer Pack
- Enterprise Application Integration (EAI)
- Business to Business Integration (B2Bi)
- J2EE blueprint programs
READINGS: J2EE: Parts III Chap. 12, Appendix C
Expert One-on-One: Chap. 1, 6, 10, 11, 14
Handouts posted on the course web site
12. JAVA DATABASE TECHNOLOGIES (PART I)
- Applications of Java to database technology
- Database technology review
- Basic and advanced JDBC features
READINGS: J2EE: Parts II Chap. 6, 7
Expert One-on-One: Chap. 7, 9, 15
Handouts posted on the course web site
13. JAVA DATABASE TECHNOLOGIES (PART II)
- Applications of Java to database technology
- Java and ODBMSs
- Java Data Objects
- SQLJ
- EJB-QL
- Jakarta-OJB
- Course Review
- Final Exam (take home project)
READINGS: J2EE: Parts II Chap. 5
Expert One-on-One: Chapter 7, 8, 15
Handouts posted on the course web site
14. JAVA OPERATING SYSTEM AND NETWORKING TECHNOLOGIES
- Hotspot Virtual Machine
- Jini
- JXTA
- Jiro
- Java agents
- JMI
- JavaSpaces
- JMX
- Final Exam project due
READINGS: J2EE: Part V Chap. 19-23
Selected readings assigned in class
Handouts posted on the course web site
READINGS
Assigned readings for the course will be from the textbooks,
various Java-related Web sites, trade magazines, and recommended
books listed on the course Web site.
ASSIGNMENTS
Homework and project assignments completion will be required.
Quizzes will be administered.
The final exam will be a take-home exam.
GRADING POLICY
25% Assignments
35% Projects
30% Final Exam
10% Attendance and Participation
Extra credit will be granted periodically for particularly
clever or creative solutions.
EXTREME JAVA
Session 1: Introducing Extreme Java
SESSION OBJECTIVES
1. Understand course structure and objectives 2. Convey a programming language comparison chart 3. Review Java’s programming language features 4. Discuss Java’s non-features (e.g., behavioral
reflection)
5. Review upcoming features in “Tiger” 1.5 6. Discuss Model Driven Architectures for Java 7. Discuss Java Agile Modeling & eXtreme Programming (XP) 8. Present Java Aspect-Oriented Programming (AspectJ) 9. Discuss the refactoring of Java applications 10. Discuss Java application performance enhancements
11. Describe the class project
SESSION OUTLINE
• Course administration and course structure
• Course goals and syllabus
• Sample programming language comparison framework
• Java OO and component-based software development
• Java features and non-features
▪ Threads
▪ Exception handling and assertions
▪ Behavioral reflection
▪ Java 1.5 generics
• Application of Java to distributed computing
• Application of Java to web technologies
• Application of Java to database technologies
• Java operating systems and networking technology
• Implementations of Java behavioral reflection
• Model Driven Architectures demonstration
▪ Executable UML
▪ Mainstream MDA tools
• Java Agile Modeling and XP demonstration
▪ Ant, Junit, and Cactus
• AspectJ programming demonstration
• Java application refactoring demonstration
• Java effective programming
▪ Java application performance enhancement areas
• Class project focus
ASSIGNMENT
• Assignment #1a: (report-like assignment)
▪ C++/Java/Jython (http://www.jython.org/) comparison
▪ Explore frameworks implementing behavioral reflection
▪ Select and setup open source Java development tools
for XP (e.g., Ant, JUnit, and Cactus)
• Read suggested introductory textbook chapters, and
handouts
• Read paper(s) on behavioral reflection, Java generics,
MDA, XP, Agile Modeling, AspectJ, and refactoring
EXTREME JAVA
Session 2 – Java Tools and Software Engineering Techniques
SESSION OBJECTIVES
1. Describe Java platform architectures 2. Review Java resources, packaging, tools, and environment 3. Describe Java (open source) development tools 4. Survey and evaluate Java IDEs’ selection criteria 5. Study MDA, Agile Modeling/XP, and AspectJ in detail 6. Demonstrate the practical use of patterns & refactoring 7. Describe how SEI’s CMM and TSP apply to Java projects 8. Suggest a Java project management approach
SESSION OUTLINE
• Review of previous session
• Java platform architectures
▪ J2SE
▪ J2EE
▪ J2ME
• Java resources, packaging, tools, and environments
▪ Java class path
▪ Java compiler
▪ Java interpreter
▪ JPDA, Javadoc, Java Help, ECPerf
▪ Java archives
▪ Code and data signing
▪ Java Component models (e.g., applet, JavaBean, EJB)
• Java (open source) development tools
▪ JavaCC
▪ Ant, JUnit, JMeter, HttpUnit, JUnitPerf, Cactus
• Evaluation and Selection criteria for various IDEs
▪ Eclipse
▪ NetBeans
▪ Sun ONE Studio, JBuilder, Visual Age for Java,
VisualCafé, Codewarrior for Java
▪ WebGain Studio
▪ ModelJ
▪ J2ME Wireless Toolkit
• Demonstration of software development techniques
▪ MDA
▪ Agile Modeling/XP
▪ AspectJ
▪ Patterns usage and refactoring
▪ CMM and TSP
• Java project management issues
▪ Case studies using Java technology
▪ Converting existing business systems to Java
▪ Building execution architectures
▪ Overcoming performance challenges
▪ Making applications secure
▪ Building highly available systems
▪ Motivating application developers
ASSIGNMENT
• Assignment #1b: (submit report + implementation archive)
▪ Implement a sample application using open source Java
tools for XP
▪ Extra Credit: implement the sample application using
XP on top of a JVM that supports behavioral reflection
• Installation of J2SE/J2EE/J2ME SDKs, IDE(s) of choice,
Java Web Start, Apache Xerces/Xalan development
environments
• Read suggested textbook chapters, and handouts on Java
tools and software engineering techniques
• Read paper(s) on behavioral reflection, Java generics,
MDA, XP, Agile Modeling, AspectJ, and refactoring
EXTREME JAVA
Session 3 – Java Core Technologies (Part I)
SESSION OBJECTIVES
1. Describe J2SE features, core components, and optional packages
2. Study the Java Foundation Classes (JFCs) 3. Study the collections framework 4. Study assistive technologies
SESSION OUTLINE
• Review of previous session
• Presentation of J2SE core components at a high-level
• J2SE core components review
• Presentation of J2SE optional packages at a high-level
• J2SE optional packages review
• Collections framework details
• Assistive technologies details
ASSIGNMENT
• Assignment #2a: (submit report + implementation archive)
▪ Analyze/reengineer an existing Java-based application
to use it as an ongoing project framework within an
XP development environment. This application creates
a presentation of an XML document. Assignment provides
hands on practical experience with the JFCs, the Java
collection framework, and/or assistive technologies.
• Read suggested textbook chapters, and handouts on Java
core technologies
EXTREME JAVA
Session 4 – Java Core Technologies (Part II)
SESSION OBJECTIVES
1. Describe thin v.s. thick user interfacing technologies 2. Describe SwingML and other XML UI (XUL) engines 3. Present component modeling with JavaBeans
SESSION OUTLINE
• Review of previous session
• Java AWT components
• Pluggable Look and Feel approach
• Java Swing components
• Differences between SWT and Swing
• SwingML
• Other XML UI (XUL) engines
▪ e.g., Luxor, XWT, JellySwing, Thinlets, KoalaGML,
Java GUI Builder, Not Yet Xulux (Nyx), Motlib.Net,
etc.
• Drag and drop
• JavaBeans component model
ASSIGNMENT
• Assignment #2b: (submit report + implementation archive)
▪ Add drag-and-drop facilities to the Java framework-
based application developed in assignment #2a.
• Read suggested textbook chapters, and handouts on Java
core technologies
EXTREME JAVA
Session 5 – Java Core Technologies (Part III)
SESSION OBJECTIVES
1. Describe the Java 2D/3D APIs 2. Describe the Graphics and multimedia components (JMF) 3. Present the Java Native Interface 4. Introduce Java Generative Programming Technology
SESSION OUTLINE
• Review of previous session
• Java 2D API
• Java 3D API
• JMF
• XBeans and Visual XBeans
• Java Native Interface (JNI) details
• Java Generative Programming
▪ Software family architectures
▪ JavaCC
▪ Program generators development using XML and Java
ASSIGNMENT
• Assignment #2c: (submit report + implementation archive)
▪ Design and implement a version of assignment #2a, and
#2b that uses Visual XBean (see Xbeans documentation
at http://www.xbeans.org/). Visual XBeans are
JavaBeans designed to display XML documents. They use
Swing components to display XML documents as JTrees,
JTables, or other Swing components.
▪ Extra credit: Use JNI to obtain your XML document from
an underlying C or C++ program.
• Read suggested textbook chapters, and handouts on Java
core technologies
EXTREME JAVA
Session 6 – Java Distributed Enterprise Communications (Part
I)
SESSION OBJECTIVES
1. Review of network, and web communications 2. Introduce to distributed enterprise communications 3. Survey ORB implementations 4. Present RMI, RMI/IIOP 5. Present the RMI activation service
SESSION OUTLINE
• Review of previous session
• Distribution mechanisms
• Java network and socket programming
• Java Web communications
• ORB implementations
• RMI & RMI/IIOP
• RMI and the JavaBeans Activation Framework (JAF)
ASSIGNMENT
• Assignment #3a: (submit report + implementation archive)
▪ Modify ongoing version of the Java-based application
developed in assignment #2a to operate as a
distributed (client-server) application using (a) RMI
and (b) RMI-IIOP.
• Read suggested textbook chapters, and handouts on Java
distributed enterprise communications
EXTREME JAVA
Session 7 – Java Distributed Enterprise Communications (Part
II)
SESSION OBJECTIVES
1. Study CORBA component modeling and communications 2. Describe the CORBA Portable Object Adapter (POA) 3. Study Java IDL 4. Study JNDI 5. Describe Jini as a trading service
SESSION OUTLINE
• Review of previous session
• CORBA
• CORBA 3 POA Activation Service
• Java IDL
• JNDI Naming and Directory Services
• Jini (as a “Trading” Service)
ASSIGNMENT
• Assignment #3b: (submit report + implementation archive)
▪ Provide a modified version of the Java-based application
developed in assignment #2a to operate as a client-
server application using CORBA. Your program should be
implemented using the Visibroker for Java CORBA
framework. You are not required to use CosNaming in this
assignment.
▪ Extra credit: Implement the same assignment using Java
IDL, and RMI-IIOP and JNDI.
• Read suggested textbook chapters, and handouts on Java
distributed enterprise communications
EXTREME JAVA
Session 8 – Java Distributed Enterprise Communications (Part
III)
SESSION OBJECTIVES
1. Study the Java Messaging Service (JMS) 2. Study the Java Transaction Architecture (JTA) and
Transaction Service (JTS)
3. Describe Java security via JAAS/JCE/JSSE 4. Present JavaMail
SESSION OUTLINE
• Review of previous session
• JMS
• JTA/JTS
• Java security via JAAS/JCE/JSSE
• JavaMail
ASSIGNMENT
• Assignment #3c: (submit report + implementation archive)
▪ Provide a modified version of the application
developed in assignment #3b. The modified application
should use the RMI activation framework, JMS, JTS,
and Java security.
▪ Extra Credit: Extend your application to use Jini as
a trading service.
• Read suggested textbook chapters, and handouts on Java
distributed enterprise communications
EXTREME JAVA
Session 9 – Java Enterprise Web & Application Enabling
(Part I)
SESSION OBJECTIVES
1. Review traditional Web programming 2. Introduce Java Web programming 3. Discuss Web Server technology for Java Web applications 4. Describe Java Web Start / Applet technology 5. Study J2ME CLDC and DCD technologies 6. Demonstrate the use of the Java XML Pack and JAXB
technologies
SESSION OUTLINE
• Review of previous session
• Traditional Web programming and Java
• Web Server technology for Java Web applications
• Java Web Start / Applets
• J2ME CLDC and CDC technology
• Java XML Pack and JAXB
ASSIGNMENT
• Assignment #4a: (submit report + implementation archive)
▪ Modify ongoing version of your Java framework-based
application to operate as secure JNLP application in
a web environment.
▪ Extra credit:
(a) Implement the same assignment using an emulated
connected device client.
(b) Use generative programming technology to
generate a renderer applet for your Visual XBean.
• Read suggested textbook chapters, and handouts on Java
enterprise web and application enabling
EXTREME JAVA
Session 10 – Java Enterprise Web & Application Enabling
(Part II)
SESSION OBJECTIVES
1. Study Java servlets 2. Study JavaServer Pages (JSPs) 3. Describe Java Server Faces 4. Study Jakarta Struts 5. Survey Java-based application server technology
SESSION OUTLINE
• Review of previous session
• Java servlets
• Java servlet filters
• Java Server Pages (JSPs)
• Cocoon 2 and XML Server Pages (XSPs)
• Java Server Faces
• Jakarta Struts
ASSIGNMENT
• Assignment #4b: (submit report + implementation archive)
▪ Modify ongoing version of the Java-based application
developed in assignment #3a to use a servlet to forward
the XML document to the JNLP client. You should use the
XML JAXP API to implement data loading on the servlet
side from an arbitrary XML file format.
▪ Extra credit:
(a) Implement a modified version of the same application
that uses JSPs.
(b) Use Jakarta Struts to develop a similar application.
(c) Use Cocoon 2 and an XSLT stylesheet to implement a
similar application.
• Read suggested textbook chapters, and handouts on Java
enterprise web and application enabling
EXTREME JAVA
Session 11 –Java Enterprise Web & Application Enabling
(Part III)
SESSION OBJECTIVES
1. Study Enterprise JavaBeans 2. Describe the J2EE Connector Architecture 3. Survey mainstream application servers 4. Study Web Services and the associated Web Services
Developer Pack
5. Survey Enterprise Application Integration (EAI)
technology
6. Survey Business to Business Integration (B2Bi)
technology
7. Study J2EE blueprint programs
SESSION OUTLINE
• Review of previous session
• Enterprise JavaBeans (EJBs)
• J2EE Connector Architecture
• Practical survey of mainstream J2EE application
servers
• Study the Web Services protocol stack
• Demonstrate the practical use of Web Services
• Enterprise Application Integration (EAI)
• Business to Business Integration (B2Bi)
• J2EE blueprint programs
ASSIGNMENT
• Assignment #4c: (submit report + implementation archive)
▪ Modify ongoing version of Java-based application to
operate as an Enterprise JavaBeans application.
▪ Extra credit: Implement a multi-tier version of your
framework-based application using Web Services.
• Read suggested textbook chapters, and handouts on Java
enterprise web and application enabling
EXTREME JAVA
Session 12 – Java Database Technologies (Part I)
SESSION OBJECTIVES
1. Review database technology 2. Survey applications of Java to database technology 3. Study basic and advanced JDBC features
SESSION OUTLINE
• Review of previous session
• Applications of Java to database technology
• Database technology review
• Basic and advanced JDBC features
ASSIGNMENT
• Assignment #5a: (submit report + implementation archive)
▪ Design and develop a three-tier version of your
framework-based application that supports the storage
of XML data in a back-end database via JDBC.
• Read suggested textbook chapters, and handouts on Java
database technologies
EXTREME JAVA
Session 13 – Java Database Technologies (Part II)
SESSION OBJECTIVES
1. Discuss Java and ODBMSs 2. Study Java Data Objects 3. Describe SQLJ 4. Describe EJB-QL 5. Study Jakarta-OJB 6. Review the course material 7. Discuss the Final Exam (take home project)
SESSION OUTLINE
• Java and ODBMs
• Java Data Objects
• SQLJ
• EJB persistence service architecture
• Persistence service performance issues
• EJB-QL
• Jakarta-OJB
• Course material review
• Final Exam description
ASSIGNMENT
• Sample Exam: (submit report + implementation archive)
▪ Implement a persistent version of your ongoing
framework-based application in a multi-tier web
environment using Session and Entity EJBs.
▪ Extra credit: Implement a version of the same
application on top of a JVM that supports behavioral
reflection. Use behavioral reflection to implement
seamless persistence.
• Read suggested textbook chapters, and handouts on Java
database technologies
EXTREME JAVA
Session 14 – Java Operating Systems and Networking
Technologies
SESSION OBJECTIVES
1. Discuss the Hotspot VM 2. Study Jini 3. Study JXTA 4. Study Jiro 5. Discuss Java agents technology 6. Study JMI 7. Study JavaSpaces 8. Study JMX 9. Discuss Final Exam project
SESSION OUTLINE
• Hotspot Virtual Machine
• Jini
• JXTA
• Jiro
• Java agents
• JMI
• JavaSpaces
• JMX
• Final exam discussion
ASSIGNMENT
• Read suggested textbook chapters, and handouts on Java
Operating Systems and networking technologies