Tutorial Program
Learning Servlets
Jason Hunter
Monday, 3/27/2000 at 8:45 AM
Investigate the world of Java servlets, a server extension technology commonly
used for creating dynamic Web content. You will explore the role and
advantages of servlets by comparing them to technologies such as CGI and JSP.
You will learn the intricacies of the Servlet API and lifecycle, and view
several servlets being put to practical use. By the end of this tutorial you
will have the skills and tools required to develop outstanding server-side
Java Web applications.
Course Outline
- Servlet definition
- Servlets versus the competition
- Servers that support servlets
- How to write and run a simple servlet
- The servlet lifecycle
- Retrieving request information
- Structure of an HTTP response
- Setting status codes and headers
- Practical error handling
- Session tracking
- Database connectivity
- Database connection pools
- Applet-servlet communication
- Image generation
- Sending compressed content
- Sending internationalized content
Prerequisites
This course is intended for developers who want to create Web
applications in Java. Participants should be familiar with Java, but previous
experience with servlets is not required.
Using JDBC on the Web
George Reese
Monday, 3/27/2000 at 8:45 AM
Learn how to build database-powered Web sites using JDBC with servlet
technology. Participants will explore database programming in Java and how to
use database access to create dynamic Web content.
The tutorial begins with a
look at the high level architecture of JDBC and its design philosophy. We will
briefly examine the division between the JDBC interfaces and various
implementations, with a focus on what a developer needs to know in order to
get connected to a database. We will dive into the details of issuing queries
against a relational database from a Java application. The Java application of
our focus will be a Java servlet that serves up dynamic HTML content based on
the results of database queries. This paradigm will be used to move through
various parts of the JDBC API, from simple queries to prepared statements to
the more complex features of the JDBC Standard Extension.
Course Outline
- Connecting to a database
- Basic SQL access to a relational database
- Prepared SQL
- Design and performance tips
- Connection pooling
- JNDI data stores
Prerequisites
This course is designed for people familiar with the basic concepts of the
Java programming language.
Learning Java 2D
Graphics
Jonathan B. Knudsen
Monday, 3/27/2000 at 8:45 AM
This course is a hands-on overview of Java 2D API. Learn how to display and
modify shapes, text, and images on a screen or printer.
Course Outline
- Painting and stroking: describes how geometric shapes can be drawn and
filled.
- Controlling rendering: describes global rendering aspects that can be
controlled, like antialiasing, transformations, and alpha compositing
- Working with text: introduces the 2D API's text capabilities
- Using images: describes how to load, display, and process images
- Printing: describes how to print 2D graphics
Prerequisites
Attendees should have a basic knowledge of Java. Previous experience in
working with graphics is not required.
Java Boot Camp
John Zukowski
Monday, 3/27/2000 at 8:45 AM
Jumpstart your way onto the Java platform and learn about all those Java TLAs.
Learn the basic structure of the Java programming language and the core
aspects of the Java 2 Standard Edition and the Java 2 Enterprise Edition
through lots of code examples. Upon completion of this crash course on Java
technologies, you'll be well on your way to abandoning any prior programming
languages and be prepped for the more in-depth tutorials offered at the
O'Reilly Conference on Java.
Course Outline
- What is Java?
- Hostile Island, Starbucks, Language, or Platform
- Versions, Browsers, and Lawsuits
- The Java Programming Language
- Language essentials
- Interfaces: contract-based programming
- Exception handling
- Multithreading
- Client-Side Java Programming
- GUI Programming with AWT and JFC
- JavaBeans: reusable components
- Applets: Java in the browser
- Server-Side Java Programming
- Database Connectivity with JDBC and SQLJ
- Servlets and JavaServer Pages
- RPCs Java-Style: CORBA and RMI
- Enterprise JavaBeans
- Java Futures
Prerequisites
A working knowledge of a high-level programming language like C/C++, one of
the advanced scripting languages like Perl, VBScript, or Python, or other
relevant programming experience.
Introduction to JavaServer
Pages
Govind Seshadri
Monday, 3/27/2000 at 1:30 PM
The ultimate goal of most server-side scripting technologies is to facilitate
the seperation of presentation from content, when delivering dynamic content.
This seperation is vital to generate maximum synergy between server-side
developers and Web page designers, especially on larger applications. While
there are numerous proprietary solutions available, feware as powerful and
effective as JSP. JSP pages, by making use of Java as ascripting language,
makes implementing platform-independent, highly interactive web pages a
cinch.
JSP technology also plays a strategic role in the recently announced
Java 2 Enterprise Edition (J2EE) platform, as it is the recommended gateway
for accessing Enterprise services over the Web.
In this session, you will
examine the details behind the JSP architecture, and understand advanced
programming issues including session management, multithreaded access,
JavaBean integration, and exception handling. Inshort -- everything to help
you get jump-started with this interesting technology.
Course Outline
- Learn how to use this technolgy in real-life through the JSP
application models
- Understand how JSP can be integrated with servlets
- Examine multithreading, session management and exception handling
issues with JSP pages
- Understand the JSP architecture and how the technology works
- Examine the link between JSP and XML-Get an in-depth introduction to
JSP syntax and semantics
Prerequisites
A good understanding of Java syntax/Web computing fundamentals/Knowledge of
servlets helpful
Inside Enterprise Java
Beans
Alex Chaffee
Monday, 3/27/2000 at 1:30 PM
Enterprise JavaBeans is the hot new enterprise server-side component
architecture for Java. It is ideal for developing persistent, transactional,
portable, secure business objects. Find out what all those buzzwords mean, and
explore the motivation architecture and APIs of EJBs. We will demonstrate
source code and examples showing how to design, program, and deploy an EJB
application.
Course Outline
TBD
Prerequisites
TBD
Java Distributed Computing with
RMI
Jim Farley
Monday, 3/27/2000 at 1:30 PM
This tutorial will provide an introduction to Java Remote Method Invocation.
Several example RMI applications will be used to demonstrate the concepts
covered in the class. The tutorial will also touch on several practical
issues concerning RMI, such as remote class loading, and using RMI with
JNI to interface with native/legacy code.
Course Outline
- What is a remote object?
- Defining remote interfaces and their server-side implementations
- Using the RMI registry (and other naming services) to "publish" remote
objects
- Underlying RMI architecture
- Remote object activation
- RMI over IIOP (RMI calling CRBA calling RMI)
Prerequisites
Attendees should have experience building applications with Java. Prior
experience with basic networking (sockets, I/O streams) is a plus, but not
required.
Building Distributed Component Systems
Using CORBA, Java, Enterprise Java Beans, and Servlets
Peter Fischer
Tuesday, 3/28/2000 at 8:45 AM
Are you a developer looking to leverage Java for enterprise-class computing?
This class covers the basics of distributed application computing, including
the challenges and important factors that need to be considered during
architecture, design, and implementation, and gives you a clear understanding
of how to appropriately apply and integrate the Java server-side execution
alternatives. It moves beyond the hype surrounding Java and into the
reality and challenges of creating a distributed object system, by providing
an in-depth technical discussion of how to architect, design, and build
distributed Java applications using EJBs, Java RMI servers, Java servlets,
and CORBA.
Expect in-depth coverage of EJBs, servlet and Java RMI technology.
We will cover all of the details of the EJB technology, including the full
EJB architecture, the EJB component model, and the difference between session
and entity beans. Particular emphasis is placed on the use of enterprise
functionality via the Java extension APIs such as JNDI, JTS, JDBC, and JMS,
as well as integration with CORBA components. Servlets will be covered, with
emphasis on the creation of Web-based applications from Java components.
By using code examples and sample applications, you will learn how to build and
integrate Java components to develop distributed component applications
using several leading Java Application servers. In particular, the features
and functions of these Java application servers in building distributed
systems will be emphasized.
Course Outline
- Learn how CORBA and Java are used to integrate business systems
functionality at the middle tier.
- In-depth coverage of EJBs, servlet and Java RMI technology covering all
of the details of EJB technology including full EJB architecture, the EJB
component model and the difference between session and entity beans.
- Learn how to create EJBs that use Java Enterprise APIs including JNDI,
JMS, and JTS as well as CORBA to integrate back-end processing systems.
- Learn how to build distributed applications that use servlets, EJBs and
Java RMI.
- Learn how to build and integrate Java components that enable you to
develop distributed component applications using several leading Java
Application servers including WebSphere and WebLogic.
- Learn features and functions of Java application servers in building
distributed systems.
Prerequisites
Attendees should have basic knowledge of Java programming and understand
distributed computing concepts.
Java Swing -- Part I
Robert Eckstein
Tuesday, 3/28/2000 at 8:45 AM
Java Swing Part I will introduce you to the wide variety of graphical
components available. Syntax highlights and working example code will be
given for each component. Specific emphasis will be placed on components that
do not have counterparts in the java.awt package. New containers and other
features that lend maturity to applications will also be shown.
Course Outline
- Brief history of AWT and Swing
- Notable Swing features
- Elementary components
- Intermediate components
Prerequisites
Experienced Java programmers who have had little or no experience with the
Swing components should attend this tutorial.
XML for Java Developers
Brett McLaughlin
Tuesday, 3/28/2000 at 8:45 AM
Take a look at the hottest thing to hit the development world since Java. We
will take a candid look at XML and its companion technologies, XSL, DTDs, XML
Schema, and others. Discussion of XML syntax and usage will prepare developers
to manipulate XML data. The tutorial will then cover the three primary APIs
for manipulating XML, SAX, DOM, and JAXP. The tools that each provides will
be examined, as well as practical uses of each. Current information on DOM
Level 2 and SAX 2 will be included in the discussions, and a frank discussion
on where XML is heading in the coming year will follow. Finally, publishing
engines such as Cocoon will be examined as a platform for performing advanced
XML publishing, using XSLT, and remote procedure calls using XML-RPC will be
discussed as alternatives to RMI in certain situations. We'll see it all
through a developer's eye; this is a no-marketing, show me what works
tutorial.
Course Outline
- Introduction to XML
- Alphabet soup
- XML syntax
- XML parsing
- XML APIs for Java
- SAX for parsing
- DOM for trees
- JAXP (Java APIs for XML parsing)
- Using XML in Java applications
Prerequisites
Familiarity with the Java language is assumed. Some background in XML
concepts, as well as multi-tiered application development experience, is
helpful but not required.
JMS Explored and Exploited
David Linthicum
Tuesday, 3/28/2000 at 8:45 AM
JMS adds a common API and provider framework that enables the Java developer
to dispatch and receive messages with other Java-enabled applications or
applets existing anywhere on the network. JMS defines a common set of
messaging concepts and programming strategies, and provides a good mix of
the messaging features common to most messaging products-important but hardly
revolutionary. The difficulty is to support these concepts and strategies
from JMS-compliant vendor to JMS-compliant vendor. If successful, the
resulting products will not only share common characteristics, but will have
the ability to share messages as well--something that has yet to be perfected
with more traditional, message-oriented middleware products. In
this session, we take an in-depth look at JMS, including its architecture
and uses, and present a live demonstration of typical JMS development and
implementation.
Course Outline
- The JMS standard
- JMS development
- JMS at work
- Heterogeneous messaging and JMS
- Products that use JMS
- JMS demonstration
Prerequisites
Java developers, XML developers, e-business professionals, application
architects, development managers, CIOs, and CTOs will benefit from this
class. Attendees should have a working knowledge of Java and Java APIs
(e.g., JDBC).
Java 2 Security Fundamentals
Marco Pistoia, Larry Koved, and Anthony
Nadalin
Tuesday, 3/28/2000 at 1:30 PM
Java is fashionable, but is it reliable? Java is entertaining, but is it
secure? Java is useful, but is it safe?
The purpose of this course is to
answer those questions, from the point of view of people who want to use
Java, but want to do so reliably, securely, and safely. This makes this
course different from much recent discussions on Java, which focus, perfectly
legitimately, on how a Java system can be broken into and how to avoid those
dangers. On the contrary, this course focuses on how Java can be made secure
and how to exploit its strengths. The goal is to provide practical help to
development, deployment and administrative groups involved in making a
Java-based application or Web site into an industrial-strength commercial
proposition.
Course Outline
- Introduction to Java security
- JVM security architecture
- Class loader
- Class file verifier
- Security manager
- Configuring Java 2 security on a client platform
- Java 2 security tools
- Java 2 security API
- Java cryptography
- Java and firewalls
- Java and SSL
- Server-side Java security
- JAASEJB security
- Future directions of Java security
Prerequisites
This course is designed for intermediate and advanced Java programmers who
need to implement security controls in their applications.
Java Swing -- Part II
Marc Loy
Tuesday, 3/28/2000 at 1:30 PM
Java Swing Part II will cover the more advanced Swing components such as
JTree, JTable, internal frames, and the Text components. In addition to
showing the syntax and basic structure of these components, the tutorial will
give you tactics for integrating these components with other technologies
such as XML and JDBC.
Course Outline
- Swing text
- Advanced Swing components
- Swing and the real world
Prerequisites
Java Swing Part II is intended for participants who attended part I or have
prior experience setting up basic applications using Swing, but may not have
worked with the more complex components such as JeditorPane, Jtree, and
JTable.
Java Network Programming
Elliotte Rusty Harold
Tuesday, 3/28/2000 at 1:30 PM
An ideal setting for exploring network programming
in the Java environment, this tutorial will demonstrate how to write fast,
cross-platform, multithreaded clients and servers. You will learn how to
use Java's InetAddress, URL, and URLConnection classes to download data and
content from Internet servers. The course demonstrates how the URL and URL
Connection classes are integrated with Java's content and protocol
handlers. We will investigate how you can use these classes to communicate
with CGI programs on a Web server. Applications include Web spiders, link
checker robots, and persistent server-side storage.
In addition, the course
also covers Java's low-level socket classes for more intimate contact with
the network. You'll see how to take advantage of Java's Socket and
ServerSocket classes to communicate with TCP/IP servers and clients. You'll
also learn about the UDP protocol for fast, unreliable data transfer.
Possible applications include both standard protocols for email, ftp, and
news, and custom protocols for networked multiplayer games, interactive
chat, whiteboards, and more.
Course Outline
- The InetAddress Class
- URLs
- The URL Class
- GET CGIs
- The URLConnection class
- POST CGIs
- HttpURLConnection
- The transport layer
- Client sockets
- Server sockets
- UDP
Prerequisites
Attendees should be familiar with basic Java programming,
including input and output streams, and have a user's view of the Internet.
(e.g., they can send email and browse the Web.)