Central Iowa Software Symposium

July 15 - 17, 2005 - Des Moines, IA


Sheraton West Des Moines
1800 50th Street
West Des Moines, IA   50266
Map »

NOTE: You are viewing details about a past event. We will be back in Des MoinesAugust 2 - 4, 2013.
View the event details here ».

Jason Hunter

Author of Java Servlet Programming

Jason Hunter is Principal Technologist with Mark Logic, specializing in large-scale XML content manipulation using XQuery. He's probably best known as the author of "Java Servlet Programming" (O'Reilly Media). He's also an Apache Member and as Apache's representative on the Java Community Process Executive Committee he established a landmark agreement allowing open source Java. He's publisher of Servlets.com and XQuery.com, an original contributer to Apache Tomcat (and Apache Ant committer), the creator of the JDOM open source project, a member of the expert groups responsible for Servlet, JSP, JAXP, and XQJ API development, and was recently appointed Sun Java Champion. In 2003, he received the Oracle Magazine Author of the Year award, and in both 2005 and 2006, the JavaOne Outstanding Talk award. His largest audience was 15,000 at a JavaOne conference keynote.



Presentations

Java Metadata

Java's new Metadata facility introduced in J2SE 5.0 defines a way to attach decorations to classes, fields, methods, and even packages that can be extracted by the compiler or runtime tools to provide advanced functionality. Think of metadata as an extended @deprecated flag, or think of XDoclet++. In this tutorial session you'll learn how Metadata fits in the Java platform (and how it compares to the C# platform). We'll cover how to use the metadata attributes provided in the core J2SE libraries and how to write your own. We'll also show a bit of what's coming in JSR-181, tasked to define standard metadata attributes for web services.

Attendees should be skilled Java programmers ready to see what's possible in the latest release and learn to make the most of it.

An Introduction to XQuery

XQuery is a new language from the W3C that lets you query and manipulate XML -- or anything that can be represented as XML, such as relational databases. As a Java developer -- especially a server-side Java developer -- XQuery is key to searching and manipulating large XML repositories or performing any XML-centric task.

This talk introduces XQuery. I'll explain the XQuery language; I'll show how to call XQuery from Java; and as the creator of JDOM, I'll also explain when to use XQuery instead of JDOM, and when to use both.

Attendees should have an interest or need in managing large sets of XML, but need not have any past experience with XQuery. After the session, attendees will be able to program XQuery and know which implementations to trust.

XQuery By Example: Advanced Web Publishing

In this session I'll take some O'Reilly book content (encoded in Docbook XML) and show various ways that the content can be repurposed and made to sing and dance online using XQuery. I'll show several code scripts each less than a page long that do something interesting -- like combine chapters from various books to produce a dynamic table of contents or index, extract figures and graphics, perform targetted search, and print on demand.

Attendees are encouraged to take the Introduction to XQuery talk before this talk, but that's not a hard prerequisite especially for people who have XPath experience. After the session attendees will hopefully come away with an appreciation for how easy XQuery makes XML manipulation in a real world scenario.

Extreme Web Caching

Web Caching is very important for high traffic, high performance web site but few people know all the professional-level strategies. In this talk I'll share some of the tricks of the trade, including advanced tips from Yahoo's Mike Radwin.

We'll start with the basics: using client-side caches, conditional get, and proxies. Then we'll talk about more advanced features: how best to handle personalized content, setting up an image caching server, using a cookie-free domain for static content, and using randomization in URLs for accurate hit metering or sensitive content.

Attendees should have experience or interest in how the web works and in cajoling the web into doing their bidding.

Forgotten Algorithms

There are many interesting and useful algorithms that people just don't remember or never learned. The Boyer-Moore string search algorithm is one prime example. The randomized skip list is another. Both solve common problems with wonderful flair and finesse -- and performance-wise they blow the pants off brute force solutions. This session covers these two algorithms plus several others. It's like your college algorithms course but with a practical bent and absolutely zero proofs. Extra bonus: The Google PageRank algorithm.

This session covers these two algorithms plus several others. It's like your college algorithms course but with a practical bent and absolutely zero proofs. Extra bonus: The Google PageRank algorithm.

Books

by

  • -COURSE HIGHLIGHTS
    *Introduction to Java
    *Java is Object Oriented
    *Java Base System and Libraries
    *Object-Oriented Programming Concepts
    *What Is an Exception?
    *What Is a Thread?
    *What is GUI (Graphical User Interface)
    *Creating a User Interface
    *JDBC(TM) Database Access
    *RMI
    *Java Servlets
    *Overview
    *Introduction to J2EE
    *Enterprise Beans
    *Getting Started with Enterprise Beans

    -COURSE DETAILS
    -Introduction to Java
    *The Java Programming Language
    *The Java Platform
    *The Java Virtual Machine
    *The Java Platform--a New Approach to Distributed Computing
    *of the Java TM Programming Language
    * Primitive Data TypesArithmetic and Relational Operators
    *Arrays
    *Strings
    *Memory Management and Garbage Collection
    *The Background Garbage Collector
    *Integrated Thread Synchronization

    -Java is Object Oriented
    *Object Technology in Java
    *What are Classes ?
    *Subclasses
    *Java Language Interfaces
    *Access Control
    *Packages
    *Class Variables and Class Methods
    *Abstract Methods
    *The Java Language Compared

    -Java Base System and Libraries
    *Java Language Classes
    *Input Output Package
    *Utility Package
    *Abstract Window Toolkit
    *Creating Your First Application
    *Language Basics
    *Data Types
    *Variable Names
    *Scope
    *Variable Initialization
    *Operators
    *Arithmetic Operators
    *Relational and Conditional Operators
    *Expressions, Statements, and Blocks
    *Control Flow Statements

    -Object-Oriented Programming Concepts
    *What Is an Object?
    *What Is a Message?
    *What Is a Class?
    *What Is Inheritance?
    *Encapsulation
    *Overloading and Recursion
    *Polymorphism
    *Interfaces and Packages
    *Creating and Using Interfaces
    *Creating and Using Packages
    *Handling Errors with Exceptions

    -What Is an Exception?
    *How to Throw Exceptions
    *Threads: Doing Two or More Tasks At Once

    -What Is a Thread?
    *Testing Thread State
    *Thread Scheduling

by Robert Eckstein and J. Steven Perry

Java Enterprise Best Practices Buy from Amazon
List Price: $34.95
Price: $27.96
You Save: $6.99 (20%)
  • Java developers typically go through four "stages" in mastering Java. In the first stage, they learn the language itself. In the second stage, they study the APIs. In the third stage, they become proficient in the environment. It is in the fourth stage --"the expert stage"-- where things really get interesting, and Java Enterprise Best Practices is the tangible compendium of experience that developers need to breeze through this fourth and final stage of Enterprise Java mastery.

    Crammed with tips and tricks, Java Enterprise Best Practices distills years of solid experience from eleven experts in the J2EE environment into a practical, to-the-point guide to J2EE.

    Java Enterprise Best Practices gives developers the unvarnished, expert-tested advice that the man pages don't provide--what areas of the APIs should be used frequently (and which are better avoided); elegant solutions to problems you face that other developers have already discovered; what things you should always do, what things you should consider doing, and what things you should never do--even if the documentation says it's ok.

    Until Java Enterprise Best Practices, Java developers in the fourth stage of mastery relied on the advice of a loose-knit community of fellow developers, time-consuming online searches for examples or suggestions for the immediate problem they faced, and tedious trial-and-error. But Java has grown to include a huge number of APIs, classes, and methods. Now it is simply too large for even the most intrepid developer to know it all. The need for a written compendium of J2EE Best Practices has never been greater.

    Java Enterprise Best Practices focuses on the Java 2 Enterprise Edition (J2EE) APIs. The J2EE APIs include such alphabet soup acronyms as EJB, JDBC, RMI, XML, and JMX.


by Jason Hunter and William Crawford

Java Servlet Programming (Java Series) Buy from Amazon
List Price: $49.99
Price: $38.49
You Save: $11.50 (23%)
  • Aimed at Web developers with some previous Java experience, Java Servlet Programming, Second Edition, offers a solid introduction to the world of Java development with Servlets and related technologies. Thoroughly revised and newly updated with over a half-dozen new chapters, this title brings an already useful text up to speed with some leading-edge material. It excels particularly in explaining how to program dynamic Web content using Java Servlets, with a fine introduction to all the APIs, programming techniques, and tips you will need to be successful with this standard.

    Besides a useful guide to APIs, the book looks at a variety of techniques for saving session state, as well as showing how Servlets can work together to power Web sites. You will learn performance tips and ways to get Servlets to work together (like forwarding and redirection), plus the basics of database programming with JDBC, to build content with "live" data. A later chapter examines what's next for Servlets with the emerging Servlet 2.3 API standard. Importantly, the authors go over deploying and configuring Web applications by editing XML files, a must-have for successfully running Servlets in real applications.

    Since the first edition of this title, the choices for Java Web developers have grown much richer. Many of the new chapters in this edition look at options beyond Servlets. Short sections on application frameworks such as Tea, WebMacro, the Element Construction Set (ECS), XMLC, and JavaServer Pages (JSP) let you explore what's out there for Java developers today with a survey of some current tools that can speed up creating new Web applications.

    The text closes with reference sections on Servlet APIs (and other material) that will be useful for any working developer. Although Servlets are not the only game in town, they are still important tools for successful Web development. This updated edition shows you just how to do it with plenty of basic and advanced tips for taking full advantage of this powerful Java standard. --Richard Dragan

    Topics covered:

    • Overview and history of Java Servlets
    • Fundamentals of HTTP
    • Web applications (including deployment and configuration using XML files)
    • The Servlet lifecycle (initializing, processing requests, cleanup, and caching)
    • Multimedia content (images and compressed content)
    • WAP and WML for wireless content
    • Servlet session tracking techniques (hidden form fields, cookies, and URL rewriting)
    • Security issues with Servlets (including certificates and SSL)
    • Tutorial for JDBC and Java database programming
    • Using applets and Servlets together
    • Servlet collaboration
    • Quick introduction to Java 2 Enterprise Edition (J2EE)
    • Internationalization issues
    • Survey of third-party Servlet application frameworks and tools: Tea, WebMacro, the Element Contruction Set (ECS), XMLC, and JavaServer Pages (JSP)
    • Miscellaneous tips for Servlets (including sending e-mail and using regular expressions)
    • Description of the new Servlet 2.3 API spec
    • Servlet API quick reference