 |
 |
 |
| |
|
|
Atlanta Java Users Group DevCon 2004
|
Session 1: Open-source MVC Web Framework Shootout
Speaker: Neal Ford
|
|
Description:
Choosing the proper web framework for your next development project can be very mind-numbing and time-consuming. The default answer is often go with Struts or simply roll-your-own. This session will describe the best practices and design patterns associated with web application architecture and demonstrate the creation of the same application in several of the most popular frameworks, such as Struts, WebWork, Tapestry, and Cocoon.
Top
|
|
BorCon 2002
|
Session 1000: Introduction to Java
Speaker: Neal Ford
|
|
Description:
This tutorial provides a quick start for experienced developers to get up to speed in Java covering object-oriented programming, event handling, important JDK classes and idioms, the Collections API, threading, and JDBC.
Prerequisites: Experience with any high-level language.
Top
|
Session 1136: Case in Point: Pragmatic J2EE Best Practices
Speaker: Neal Ford
|
|
Description:
This session covers best practices and design patterns to improve the design and architecture of enterprise applications in Java. It covers Web applications and EJBs, providing valuable tips and techniques.
Prerequisites: Knowledge of Java and familiarity with J2EE.
Top
|
Session 3118: Configuration Management in Complex Applications
Speaker: Neal Ford
|
|
Description:
This session details how best to automate development processes for enterprise Java development projects. It discusses version control strategies, how to automate build management, and how to manage shared code.
Prerequisites: Experience with a poorly automated Java project, or you've heard the phrase, "But it works on MY machine!"
Top
|
Session 4124: Creating Custom Providers and Resolvers in JBuilder
Speaker: Neal Ford
|
|
Description:
This session discusses the overall architecture of JBuilder DataExpress and specifically how to create custom providers and resolvers, showing examples for simple text files, Java Properties files, and XML documents.
Prerequisites: Knowledge of database development in JBuilder.
Top
|
|
BorCon Australia
|
Session 1: Java Web Development (Pre-conference tutorial)
Speaker: Neal Ford
|
|
Description:
One of the most common uses of enterprise level Java today is the building of web applications. This tutorial covers the basics of web development in Java. It starts with a discussion of the servlet architecture and why it is superior to past architectures. Then, the tutorial covers the major points of web development in Java. I cover the basics of servlets, including requests, responses (including multi-media), session tracking, and database connectivity. I also show how to automate web based development projects with make utilities. Then, I cover the basics of JSP and discuss how this builds on the servlet foundation. I cover the different tags types and show how the concepts in the servlet API map to the JSP API. I show how to handle the same basic tasks in JSP as in servlets, such as session tracking, database connectivity, etc. This discussion leads to the concept of Model-View-Controller and how to leverage each of the web API's to build truly maintainable web sites. I talk about MVC by itself then show the Struts application framework and how it enhances the MVC architecture. Throughout the tutorial, I provide concrete examples and discuss important issues such as scalability, maintainability, and other issues. The developers who attend this session will leave with a firm foundation of knowledge on building web applications in Java.
Top
|
Session 2: Design Patterns for Web Development
Speaker: Neal Ford
|
|
Description:
Design patterns are a well-understood and appreciated weapon in the arsenal of most developers today. However, most of the design patterns that are demonstrated are written in either abstract terms or are written with more traditional single tier applications in mind. This session takes some familiar design patterns and puts them in the context of web development, where so much of today's development effort is expended. This session presents a design pattern, using the traditional written format popularized by the Gang of Four book. Typically, this pattern documentation will include fairly abstract examples of how the pattern can be implemented. Then, I will take the pattern and show one or more examples of how that pattern can be utilized for web development. For example, I will show how the Factory pattern can be used to help manage a connection pool of database references for servlets and JSP's. As another example, I show how the Singleton pattern can be utilized to store configuration information, preventing the information from being instantiated more than once. I also discuss the Lava Flow Anti-pattern and how it can be avoided. This session includes numerous examples and highlights how to design web applications with the best design techniques.
Top
|
Session 3: J2EE Best Practices
Speaker: Neal Ford
|
|
Description:
Java is not a complicated language, and many developers understand the syntax and at least one way to get a particular job done. However, as the types of projects get more complex (web-based, distributed objects, etc), developers find that there are dozens of ways to solve problems. About 75% of their solutions will be disastrous, leading to projects that have serious design problems. Another 20% of their home-grown solutions will work marginally well, but not allow the application to be gracefully maintained and updated. Only 5% of the potential solutions will allow fast development, scalability, maintainability, and usability. This session is designed to show developers how to achieve that narrow margin of victory. It highlights design patterns and best practices developed over years of designing, building, and maintaining complex Java projects. It covers design patterns and best practices from an entirely pragmatic and practical approach, showing working code and examples of well designed J2EE projects and frameworks. It also shows some examples of worst practices and anti-patterns, and shows how these mistakes can be rectified. I cover best practices for web development, including how to create singleton servlets, propagating session information across the https barrier, Model-View-Controller to separate business logic from presentation, and several others. Additionally, I show best practices for EJB development, including such topics as fine-grained vs. coarse-grained components, value objects, how to create effective equals() and hashCode() methods, when and how to use Message-driven beans, and others. This session is designed to help experienced Java developers reap the most benefit from enterprise Java.
Top
|
|
Entwickler Konferenz 2002
|
Session D53: Multi-Tier Delphi Development for the Internet
Speaker: Terry Dietzler
|
|
Description:
This session will present techniques and considerations for creating multi-tiered applications which can be deployed over the Internet, including concepts of multi-tier development and creating data-aware Active Forms.
Top
|
Session D54: Web Services in Delphi
Speaker: Terry Dietzler
|
|
Description:
This session will begin with an overview of web services and their potential in the future of computing. It will then look at how to locate and take advantage of existing web services created by other vendors. During this will be discussion of the importance and use of WSDL documents. The next portion of the session will demonstrate how to create your own web services and then how to publish them.
Top
|
Session JB12: Ant Integration in JBuilder
Speaker: Terry Dietzler
|
|
Description:
One of the most exciting new features of JBuilder 7, is its integration with additional development tools including Ant. This session will start with a brief overview of the features of Ant and how to fully integrate this into JBuilder?s build process. This sessions will show how to launch Ant, detect compiler errors generated from Ant and other techniques.
Top
|
Session JB13: Refactoring with JBuilder
Speaker: Terry Dietzler
|
|
Description:
One of the best new features in JBuilder 7, is its support for Agile programming including refactoring. This session will show how to use the refactoring techniques including, extract method, introduce variable, wrap code with try? catch and others. This session will give you exponential knowledge growth in this new feature.
Top
|
|
JAX 2002
|
Session E32: Team Development Using CVS Version Control System
Speaker: Terry Dietzler
|
|
Description:
This session will examine Concurrent Versions System (CVS), an open-source, cross-platform version control system. See how to setup and configure CVS and how to access to project files across the Internet. Learn how changes are made, committed and merged from multiple developers. See how to review the change log and review revision histories.
Top
|
Session E33: Making a Mountain Out of an Anthill – Working with Ant
Speaker: Neal Ford
|
|
Description:
This session will first describe how to install and use Apaches Ant, including the syntax of the XML build file and some of the more important built-in tags. Both the Ant optional tasks and tool integration are also shown. In this session, Ant is discussed primarily as a way to automate complex Java projects, and numerous real-world examples will be shown.
Top
|
Session E34: Working with XML in Java
Speaker: Neal Ford
|
|
Description:
This session provides an overview of several important XML topics and some of the more popular APIs and techniques developed to work with XML in Java. I cover the SAX and DOM APIs, XSLT transformations, JDOM, and DTD/XMLSchema. Throughout the session, I also provide very short primers on the related XML technology that I am talking about.
Top
|
Session E35: Using XSLT and Cocoon to Target Wireless Devices
Speaker: Neal Ford
|
|
Description:
This session discusses the architecture of wireless applications, shows details of important APIs for wireless development, and shows how to leverage XSLT transformations and Cocoon to target these platforms. It shows examples of both WSL and XHTML transformations and how Cocoon can be configured to target the platforms that support these formats.
Top
|
Session M03: Storing Data on Micro Devices
Speaker: Terry Dietzler
|
|
Description:
This session will demonstrate how to create and manage persistent storage on micro devices using the database defined by J2ME MIDP referred to as record management system (RMS). Also examined will be the rms package that provides classes, interfaces and exceptions used for data manipulation activities such as adding and deleting records.
Top
|
Session M04: GUI Development on Micro Devices
Speaker: Terry Dietzler
|
|
Description:
This session will show how to create user interfaces and graphical applications for micro devices. Among the areas examined will be the high-level and low-level APIs specifically designed for these limited memory devices along with their available user interface elements. The issues of portability, control, and flexibility will also be addressed.
Top
|
Session Powerworkshop: Java Web Development Using JSP and Servlets
Speaker: Neal Ford
|
|
Description:
This tutorial covers the basics of web development in Java. The tutorial starts with a discussion of the servlet architecture and why it is superior to past architectures. Then, the session covers the major points of web development in Java. I cover the basics of servlets, including requests, responses (including multi-media), session tracking, and database connectivity. I also show how to automate web based development projects with make utilities. Then, I cover the basics of JSP and discuss how this builds on the servlet foundation. I cover the different tag types and show how the concepts in the servlet API map to the JSP API. I show how to handle the same basic tasks in JSP as in servlets, such as session tracking, database connectivity, etc. This discussion leads to the concept of Model-View-Controller and how to leverage each of the web APIs to build truly maintainable web sites. I talk about MVC by itself then show the Struts application framework and how it enhances the MVC-architecture. Throughout the tutorial, I provide concrete examples and discuss important issues such as scalability, maintainability, and other issues. The developers who attend this session will leave with a firm foundation of knowledge on building web applications in Java.
Top
|
Session S15: Collections API for Manipulating Data
Speaker: Terry Dietzler
|
|
Description:
This session will look at Collection, the API of various structures that Java provides to organize and manipulate data. Included will be a discussion with a decision tree on choosing the best collection for the job at hand. The session will examine how the Collections API is structured and examples will be presented demonstrating their usage.
Top
|
Session WA04: Working with Custom Tags in JSP
Speaker: Terry Dietzler
|
|
Description:
This session will begin by examining the roles of custom tags and provide an overview of how they work. Next we’ll take a look at the set of Java classes and interfaces provided by JSP for developing custom tags and demonstrate their features. New tags will be created during the session and combined to create a customer tag library.
Top
|
Session WA09: Working with the Struts Framework
Speaker: Neal Ford
|
|
Description:
This session demonstrates how the Struts project grew from the MVC design pattern, how to install and use Struts, and details on its use. It shows the Struts libraries, Actions and ActionMappings, FormBeans, validations, command mappings, custom Struts tags, and internationalization. Numerous examples of Struts are shown throughout the session.
Top
|
Session WA11: Design Patterns for Web Development
Speaker: Neal Ford
|
|
Description:
This session takes design patterns and puts them in the context of web development. The session presents a design pattern, using the format popularized by the Gang of Four (GoF) book, but the examples all pertain to web development. It shows the Abstract Factory, Command, Model-View-Controller, and Memento patterns and the Lava flow antipattern.
Top
|
|
BorCon Europe 2001
|
Session 3114: Working with XML in Java
Speaker: Neal Ford
|
|
Description:
XML has become the common language used by companies to build portable content and when engaging in business-to-business communication. Because it is an open standard, it avoids locking companies into proprietary solutions. As the use of XML is becoming more widespread, tools that can understand this format are becoming more and more important. This trend has not gone unnoticed in the Java community. In fact, several different API's have been developed to assist developers working with XML. This session will provide an overview of Java's abilities with XML and show some practical examples of XML manipulation using Java. I'll also provide primers on the related XML technology that I am talking about.
Top
|
Session 3144: Using XSLT to Extend the Functionality to the Wireless Platform
Speaker: Neal Ford
|
|
Description:
One of the most powerful aspects of database development in JBuilder is the ability to create custom dataset providers and resolvers. This session delves into the details of how data is delivered from a data source of some kind through a database component, via a provider, into a dataset's MemoryStore or DataStore. After the overall architecture is discussed, this session will go into great depth on the details of how custom providers and resolvers work. This session shows JBuilder's data persistence architecture can be leveraged for a variety of file formats and shows the power and flexibility of JBuilder.
Top
|
Session 4102: Creating Custom Providers and Resolvers in JBuilder
Speaker: Neal Ford
|
|
Description:
One of the most powerful aspects of database development in JBuilder is the ability to create custom dataset providers and resolvers. This session delves into the details of how data is delivered from a data source of some kind through a database component, via a provider, into a dataset's MemoryStore or DataStore. After the overall architecture is discussed, this session will go into great depth on the details of how custom providers and resolvers work. This session shows JBuilder's data persistence architecture can be leveraged for a variety of file formats and shows the power and flexibility of JBuilder.
Top
|
|
Entwickler Konferenz 2001
|
Session JB06: JBuilder for VCL Developers
Speaker: Neal Ford
|
|
Description:
Many VCL (both Delphi and C++Builder) developers have seen the good press that JBuilder has garnered and wonder what all the fuss is about. They may also be interested in how to do cross platform development in Java. This session is designed to take experienced VCL programmers and show them how to leverage their existing knowledge in JBuilder.
Top
|
Session JB07: Automating Enterprise Development with Java
Speaker: Neal Ford
|
|
Description:
This session covers techniques for automating complex enterprise applications in Java. It covers version control and how to use it effectively for source code control, configuration management, and remedial bug fixes. It also covers build management including how to automate the build process across multiple developer machines. It includes many proven tips and pointers.
Top
|
Session JB08: Design Patterns for Web Development
Speaker: Neal Ford
|
|
Description:
This session takes some familiar design patterns and puts them in the context of web development, where so much of today's development effort is expended. This session presents a design pattern, using the traditional written format popularized by the Gang of Four book, and presents examples taken from web development.
Top
|
Session JB09: Creating Custom Providers and Resolvers in JBuilder
Speaker: Neal Ford
|
|
Description:
This session delves into the details of how data is delivered through a database component, via a provider, into a dataset's MemoryStore or DataStore. After the overall architecture is discussed, this session will go into great depth on the details of how custom providers and resolvers work, including numerous examples of custom providers and resolvers, from flat files to XML documents.
Top
|
Session JB10: Advanced JBuilder Deployment Techniques
Speaker: Neal Ford
|
|
Description:
This session covers many different aspects of deploying Java applications with JBuilder. It covers deployment techniques for applications (including shared libraries and other resources) and applet deployment, including the use of the Java Plug-in. Java WebStart is also discussed.
Top
|
Session JB21: Working with XML in Java
Speaker: Neal Ford
|
|
Description:
This session provides an overview of several important XML topics and some of the more popular APIs and techniques developed to work with XML documents in Java. It will cover the SAX and DOM API's and show the best time to use each of them. Then, this session covers validation, XSL, and XSLT. The session also shows some common idioms that are wide spread in the use of XML in Java.
Top
|
Session Powerworkshop: Java Web Development
Speaker: Neal Ford
|
|
Description:
This tutorial covers the basics of web development in Java. The tutorial starts with a discussion of the servlet architecture and why it is superior to past architectures. Then, the session covers the major points of web development in Java. I cover the basics of servlets, including requests, responses (including multi-media), session tracking, and database connectivity. I also show how to automate web based development projects with make utilities. Then, I cover the basics of JSP and discuss how this builds on the servlet foundation. I cover the different tags types and show how the concepts in the servlet API map to the JSP API. I show how to handle the same basic tasks in JSP as in servlets, such as session tracking, database connectivity, etc. This discussion leads to the concept of Model-View-Controller and how to leverage each of the web API's to build truly maintainable web sites. I talk about MVC by itself then show the Struts application framework and how it enhances the MVC architecture. Throughout the tutorial, I provide concrete examples and discuss important issues such as scalability, maintainability, and other issues. The developers who attend this session will leave with a firm foundation of knowledge on building web applications in Java.
Top
|
Session Powerworkshop: Survey of Enterprise Java
Speaker: Neal Ford
|
|
Description:
Enterprise Java development has rightfully garnered a lot of attention lately. Java has turned out to be an excellent language and platform for highly scaleable, maintainable, portable enterprise applications. This session provides a highly technical overview of the important enterprise API's in Java J2EE. The tutorial starts with a discussion of how to install the J2EE libraries into JBuilder and a short discussion of application servers, notably Inprise Application Server and WebLogic. The samples for this session are designed to work in a variety of different application servers, and that is one of the benefits of the architecture that I will espouse. Next, I will discuss the web development aspects of J2EE, starting with servlets and JSP. I show examples of the common types of functionality required by common web sites, such as session tracking, database connectivity, error handling, threading, etc. I will also show how to use "regular" database connections and also how to use application server connection pools. I also introduce the Model-View-Controller architecture as it applies to servlets and JSP's to highlight the design considerations that must be made to create truly robust and scaleable enterprise applications. Next, I will introduce Enterprise Java Beans. I will first show the general architecture of the EJB container. Then, I will show examples of stateless and stateful session beans. As part of this discussion, I will also talk about JNDI and how client applications can connect to the application server to utilize its services -- I have client applications that exercise each EJB as it is introduced. Next, I show bean-managed entity beans and talk about what code must be written to handle persistence. Then, I show container managed entity beans and how to create the relational mappings with the deployment descriptor. At this point, I also discuss the automatic transactional capabilities of the architecture and show examples of transactions automatically being propagated across beans. Next, I talk about JMS and how asynchronous messaging can be used. I will also talk about the marriage of JMS and EJB with the new bean types that support asynchronous method calls. Finally, I tie all these concepts together with a web based application, hosted by the application server, that uses the Model-View-Controller architecture to create session EJB's within servlets (which in turn create entity references) and produce output through JSP. This example ties together the essence of the tutorial and shows an example of real world application of these technologies. While this session is an overview of these technologies, the technical content will be very high. It is designed for experienced developers and architects who are interested in seeing the true potential of these important enterprise technologies.
Top
|
|
JAX 2001
|
Session A1: Using CVS
Speaker: Terry Dietzler
|
|
Description:
This session will examine CVS, the most famous open-source, cross-platform version control system. One of CVSs unique features allows access to project files across the Internet. Also different from typical version control systems is allowing multiple developers to work on the same file at the same time and automatically merge both sets of changes. After setup, learn how changes are made, committed into CVS and then when needed, manually merging changes from multiple developers.
Top
|
Session A3: Making a Mountain out of an anthill
Speaker: Neal Ford
|
|
Description:
In large scale enterprise Java applications, two logistical tasks can mean the difference between a successful project and a late, buggy project. The first is the ability to correctly reproduce the same project artifacts on every developer?s computer. The second is to make sure that all the files are deployed correctly. For Java Ant is the solution of these problems. This session will first describe how to install and use Ant, including the syntax of the XML build file and some of the more important built-in tags. Furthermore it will be shown how to use Ant to cleanly automate the build process between any number of developers using Ant.
Top
|
Session E19: Java Web Start
Speaker: Terry Dietzler
|
|
Description:
This session will demonstrate the various features of Java Web Start which assists in Java application deployment. Highlighted features include how to allow users to download and launch applications from their browser or desktop by a single click. Find out how Web Start makes sure that the user always gets the latest version of an application. Learn what it takes to set up a Web Server to support launching applications via a JNLP file. Also explored will be some of the commonly used elements of a JNLP file as well as the special services provided via the JNLP API.
Top
|
Session S10: Java Collections API
Speaker: Terry Dietzler
|
|
Description:
This session will take an in-depth look at the various structures that Java provides for organizing data known as Collections. Included will be a discussion on choosing the best collection for the job at hand. Will the data need to be accessed quickly? Does the structure need to be optimized for frequent addition and removal of items? A decision tree will be presented to assist the developer in making this selection. Conceptually the session will examine how the Collections API is structured in terms of interface and implementation. Examples will be presented demonstrating the usage of the collections.
Top
|
Session S13: Working with XML in Java
Speaker: Neal Ford
|
|
Description:
First, this session will show how to obtain parsers and install them as libraries into JBuilder. This session will then provide an overview of several important XML topics and some of the more popular API?s and techniques developed to work with XML documents in Java. I will cover the SAX API and show when an event driven parser is the best solution. Then, I will show how the DOM API works and compare and contrast its behavior with SAX. Throughout the session, I also provide very short primers on the related XML technology that I am talking about.
Top
|
Session S5: Overview on J2ME
Speaker: Terry Dietzler
|
|
Description:
This session will look at the features that make up the Java 2 Platform?s Micro Edition and what they do to allow developers to create Java applications for handheld computers as well as other devices with limited storage and memory. Find out how to setup the environment for developing applications under J2ME. Included in this session will be how to setup and work with Configurations and Profiles as well as their roles in J2ME. Also investigated will be toolkits and APIs that extend the J2ME for specific purposes such as for cellular phones and pagers.
Top
|
Session W11: Working with Apache Struts Framework
Speaker: Neal Ford
|
|
Description:
Most Java web developers have come to realize that the Model-View-Controller and Command design patterns allow them to create web sites that are both flexible and maintainable. The Apaches Struts framework encompasses these two ideas through providing common base classes and design details to automate the common elements of all web projects. In the session the Command pattern and how it can be incorporated into the above paradigm will be the topic. At the end the components of Struts and how they embody the previous concepts will be shown.
Top
|
Session W12: Design Patterns for Web Development
Speaker: Neal Ford
|
|
Description:
Design patterns are a well-understood and appreciated weapon in the arsenal of most developers today. This session takes some familiar design patterns and puts them in the context of web development, where so much of today?s development effort is expended. The session presents a design pattern, using the traditional written format popularized by the Gang of Four book. As example it will be shown how the Factory pattern can be used to help manage a connection pool of database references for servlets and JSP?s.
Top
|
Session W8: Creating Custom Tag Libs
Speaker: Terry Dietzler
|
|
Description:
This session will begin by examining the roles of custom tags and their capabilities, and provide an overview of how they work. Next we?ll take a look at the set of Java classes and interfaces provided by JSP for developing custom tags, and then demonstrate their features by applying them to the implementation of basic custom tags. Then we will describe how data can be transferred between the tags on a page in order to spread functionality across two or more interacting custom actions. Finally we will create a custom tag library.
Top
|
Session X13: Advanced XML For Java Web Development
Speaker: Neal Ford
|
|
Description:
XML and Java together are a great combination: XML=portable data, Java=portable code. This session shows how to utilize these concepts in Web development, using both the facilities built into the XML standard and some interesting synergies that are now possible. First, this session talks about how to create an application that appears to be a standard client/server application. However, the data is kept behind a firewall and is being transmitted over the Internet. This session should provide the attendees with a good feel for how Java and XML together allows a wide variety of application architectures.
Top
|
|
|
|
|
 |
 |
 |
|
|
|