Programming Track

1000 ASP.NET Fundamentals
Lino Tadros — Falafel Software, Inc.
Type: Preconference Tutorial.
Level: All.
This tutorial covers user controls, caching, state management, session management, database access, ViewState management, templates, Web Service integration, security, performance, optimization, and just plain having fun with ASP.NET.
Prerequisites: Any Web technology background is recommended. Some Microsoft .NET Framework knowledge helpful.
1000 Monday, November 7, 2005 — 9:00am - 1:00pm
Room: Continental Ballroom 6
1112 Test-driven Development with Together and JUnit
Don Kranz — PROCESS-exchange, Inc.
Type: Regular Session.
Level: All.
UML Sequence Diagrams can be used in Together (Architect, Developer) to describe test scenarios. JUnit test classes and methods can be automatically generated by Together. We demonstrate some useful patterns for accelerating the test development process.
Prerequisites: Familiarity with Together, UML, sequence diagrams, and class diagrams.
1112 Tuesday, November 8, 2005 — 3:15pm - 4:30pm
Room: Continental Parlor 3
1118 Quickly Building Accurate Business Problem Domain Models is No Mystery
Ken Ritchie — PROCESS-exchange, Inc.
Type: Regular Session.
Level: All.
You can quickly take the mystery out of modeling any problem -- saving time and guesswork -- using Together, armed with a palette of color-coded archetypes and a domain-neutral assembly pattern. This is a good introductory session for people who want to learn how to model business problems using UML and generate code and documentation using Together products.
Prerequisites: None.
1118 Wednesday, November 9, 2005 — 4:45pm - 6:00pm
Room: Continental Parlor 8
1132 Peer-to-peer Collaboration using JBuilder

Charles Overbeck — Borland
Type: Regular Session.
Level: All.
This session looks at the new peer-to-peer features in JBuilder 2006. Learn how different JBuilder users can chat and work on the same set of files at the same time via JBuilder project sharing, shared editing, and shared debugging features. Learn how to exchange stack traces and VCS configurations and how to do virtual pair programming. (The material in this session has been added to 1104 What's New in JBuilder)
Prerequisites: None.
1132 canceled 
1134 How to Make your Java Projects Coexist in JBuilder and Eclipse

Charles Overbeck and Helen Bershadskaya — Borland
Type: Regular Session.
Level: All.
This session discusses how to set up your Java projects so that you can use both the JBuilder and Eclipse IDEs to work on the projects.
Prerequisites: None.
1134 Wednesday, November 9, 2005 — 3:15pm - 4:30pm
Room: Continental Parlor 3
1136 C++ TR1 Library Overview

Pete Becker — Dinkumware, Ltd.
Type: Regular Session.
Level: All.
The C++ Standards Committee has recently finished work on its Technical Report on C++ Library Extensions (TR1). The report describes library facilities in seven areas: utilities, function objects, type traits, numerics, containers, regular expressions, and compatibility with C99. This session presents an overview of the TR1 library, covering the contents of the library, the problems it is intended to solve, how it relates to the current Standard C++ Library, and how you can get a copy for yourself.
Prerequisites: None.
1136 Wednesday, November 9, 2005 — 8:00am - 9:15am
Room: Continental Parlor 1-2
1142 Getting Started with ComponentOne Studio Enterprise

Geoffrey Lusty — ComponentOne
Type: Regular Session.
Level: All.
ComponentOne Studio Enterprise for Borland Delphi is a free suite of .NET WinForms and ASP.NET WebForms components integrated with DeXter. This session provides an introduction to the many products and features included in ComponentOne Studio Enterprise for Delphi including a look at some of the suite's most powerful components.
Prerequisites: None.
1142 Wednesday, November 9, 2005 — 4:45pm - 6:00pm
Room: Continental Ballroom 4 
1144 The Fun Side of Delphi and C++Builder

Marco Cantu — Wintech Italia Srl
Type: Regular Session.
Level: All.
The tradition of having some fun while learning some advanced Delphi/C++ and VCL tricks and sabotaging the IDE gets to Delphi 2006.
Prerequisites: None.
1144 Thursday, November 10, 2005 — 1:15pm - 2:30pm
Room: Continental Ballroom 6 
2000 Developing Win32 Database Applications with Delphi
Cary Jensen — Jensen Data Systems, Inc.
Type: Preconference Tutorial.
Level: Beginning.
This tutorial provides a fast-paced overview of Win32 database development in Delphi. It begins with an introduction to the Delphi data access mechanisms, including the advantages and limitations of each. Other topics include how and when to use data modules, the role of data-aware controls, as well as how and why to decouple your user interface from data access components. This foundation tutorial is intended for both the novice and experienced developer alike.
Prerequisites: Familiarity with database development and Delphi.
2000 Sunday, November 6, 2005 — 9:00am - 1:00pm
Room: Continental Ballroom 4
2006 Web Application Development with IntraWeb
Jason Southwell — Arcana Technologies
Type: Preconference Tutorial.
Level: Beginning.
This session is an introduction to the development of Web applications with IntraWeb. It begins with a brief overview of Web applications in general and available frameworks, such as ASP.NET. In addition, IntraWeb is compared and shown in-depth with several examples. After the very first "Hello World" example, the session management of IW is explained and questions such as "When does a session terminate and how do we handle that?" are answered. Data-bound Web applications are covered as well as special topics such as threading, SSL, compression, JavaScript, and more.
Prerequisites: None.
2006 Sunday, November 6, 2005 — 2:00pm - 6:00pm
Room: Continental Ballroom 6
2014 Java Persistence Frameworks

Ken Sipe — Code Mentor, Inc.
Type: Preconference Tutorial.
Level: Beginning.
This tutorial provides more time then a standard session to detail three major persistence frameworks. We'll spend an hour with each of the frameworks: hibernate, JDO, and EJB 3. The coverage of each framework should be sufficient to leave the tutorial capable of developing with that framework. Details covered in each section are: domain model mapping; search queries; transaction management; Xdoclet; and, testing. The remaining time focuses on comparisons and best practices with real-world examples.
Prerequisites: Some Java experience.
2014 Monday, November 7, 2005 — 2:00pm - 6:00pm
Room: Continental Parlor 3
2016 Delphi Overview

Anders Ohlsson — Borland
Type: Preconference Tutorial.
Level: Beginning.
This tutorial provides a complete overview of Delphi. Developing and debugging, new language features, new IDE features, WinForms, VCL for .NET, the new database connectivity options, ASP.NET, Web Services, and MDA/modeling with ECO are all covered.
Prerequisites: Basic understanding of Delphi and the Microsoft .NET Framework.
2016 Sunday, November 6, 2005 — 2:00pm - 6:00pm
Room: Continental Ballroom 5
2104 Understanding Service-oriented Architectures
Eric Whipple
Type: Regular Session.
Level: Beginning.
This session focuses on the fundamentals of service-oriented architectures (SOAs). What considerations should developers be focusing on? What pros and cons are involved? How should architectures be partitioned? These are some of the issues covered in this session.
Prerequisites: None.
2104 Wednesday, November 9, 2005 — 1:30pm - 2:45pm
Room: Continental Parlor 3 
2106 ASP.NET Web Development with Delphi for the Microsoft .NET Framework
Bob Swart — Bob Swart Training & Consultancy
Type: Regular Session.
Level: Beginning.
In this session, we cover ASP.NET Web development with Delphi for the Microsoft .NET Framework showing how to design ASP.NET Web Forms, session and state management, authorization and authentication (login), and deployment.
Prerequisites: None.
2106 Tuesday, November 8, 2005 — 1:30pm - 2:45pm
Room: Continental Ballroom 4
2108 Overview of Core SDP for Java

Michael Rozlog — Borland
Type: Regular Session.
Level: Beginning.
Learn how to use all of the Borland suite of Java tools to help streamline development. Understand how to use the Optimizeit suite to resolve pesky errors. Learn how to use Together Audits and Metrics to reduce complexity and help to establish good testing processes. See both Request Analyzer and ServerTrace used to increase the performance of J2EE applications.
Prerequisites: None.
2108 Tuesday, November 8, 2005 — 1:30pm - 2:45pm
Room: Continental Parlor 3 
2110 VCL for .NET

Marco Cantu — Wintech Italia Srl
Type: Regular Session.
Level: Beginning.
An overview of the classic Delphi VCL component library in the Microsoft .NET Framework world including coverage of what's new in VCL.NET, porting your code, and figuring out how relevant the VCL will be in the future. The primary focus is on the visual library, more than its database or Internet support portions, with examples ranging from the use of the classic Windows common controls to the use of third party components.
Prerequisites: Basic knowledge of Delphi.
2110 Wednesday, November 9, 2005 — 1:30pm - 2:45pm
Room: Continental Ballroom 5
2114 Migrating Database Applications to use Borland Data Providers

Martin Rudy — R & R Consulting
Type: Regular Session.
Level: Beginning.
This session provides a comparison of the basic features database developers are familiar with in data connectivity options prior to Delphi 8 and shows a migration path to database applications using BDP. The intent is to show BDE (Paradox only), dbGo, dbExpress, and IBX users how to perform the same actions with BDP. A matrix mapping like components, methods, and properties between data connection options is presented.
Prerequisites: Basic understanding of Delphi and database development.
2114 Wednesday, November 9, 2005 — 3:15pm - 4:30pm
Room: Continental Ballroom 6
2116 Getting Started with dbExpress
Martin Rudy — R & R Consulting
Type: Regular Session.
Level: Beginning.
One of the many data connectivity options for the Borland RAD products is dbExpress.This set of drivers and components provide connectivity to databases for the Windows, Microsoft .NET Framework, and Linux platforms. This presentation provides an introduction to using the dbExpress technology and some tricks and techniques to make your database development easier. We also cover features beyond basic data retrieval and updating.
Prerequisites: Basic database development with Delphi.
2116 Tuesday, November 8, 2005 — 3:15pm - 4:30pm
Room: Continental Ballroom 4 
2118 ASP.NET Components and Controls in Delphi: The Basics
Nick Hodges — Lemanix Corporation
Type: Regular Session.
Level: Beginning.
This session covers the basics of building custom server controls for ASP.NET. It covers base classes, extending existing classes, persisting a control's values, a control's lifecycle, how controls render their HTML, using client-side Javascript, and how they determine their block type.
Prerequisites: Basic knowledge of ASP.NET and Delphi.
2118 Wednesday, November 9, 2005 — 8:00am - 9:15am
Room: Continental Ballroom 6
2122 Build Your Own Eclipse Plug-ins Effectively
Vishy Kasar — Borland
Type: Regular Session.
Level: Beginning.
This session teaches how to build your own plug-in using step-by-step instruction and demonstration. No prior knowledge of Eclipse is assumed. If you have been developing in Java and wondering about what these Eclipse plug-ins are all about, this is the session for you.
Prerequisites: Experience with Java and some Eclipse background.
2122 Wednesday, November 9, 2005 — 9:30am - 10:45am
Room: Continental Parlor 3
2128 Writing StarTeam Utilities with Delphi and the StarTeam SDK
Jon Robertson — jmrSoftware
Type: Regular Session.
Level: Beginning.
One of the greatest strengths of StarTeam is the ability to extend functionality through the StarTeam SDK. Learn how to write utilities that provide custom functionality for your team.
Prerequisites: Experience with Delphi, COM Automation, and StarTeam.
2128 Wednesday, November 9, 2005 — 1:30pm - 2:45pm
Room: Continental Parlor 9
2132 Struts Shale... I Mean Struts
Ken Sipe — Code Mentor, Inc.
Type: Regular Session.
Level: Beginning.
This session looks at the evolution of struts into its new project, named Shale. The session jump starts attendees with the details of Shale and how it works with JSF.
Prerequisites: Some experience with Java and JSP.
2132 Wednesday, November 9, 2005 — 4:45pm - 6:00pm
Room: Continental Parlor 3
2142 Introduction to JMS

Eric Whipple
Type: Regular Session.
Level: Beginning.
(This session has been moved to a Birds-of-a-Feather session.)
This session introduces attendees to message-oriented middleware specifically using the Java Messaging Service. Topics include the role of messaging, implementation of the JMS specification, and best practices including integration methodologies.
Prerequisites: Some experience with Java.
2142 canceled 
2150 CASE STUDY: Sending C++Builder Apps into Orbit - WorldMap 5.0
Keith Chuvala — United Space Alliance
Type: Case Study.
Level: Beginning.
This case study follows the development and deployment of WorldMap 5.0, a situational awareness application built using C++Builder that is used by crews on the Space Station and on Space Shuttle missions. A complete redesign and rewrite of a complex application with over 230 requirements, this project was completed in under 15 months with a small team employing agile techniques within an environment typically known for its rigidly engineered and controlled processes. In this case study, we discuss the benefits of C++Builder RAD capabilities, its use to create system services, and the challenges of successfully incorporating third party libraries. The "evolution" of Borland C++ compiler use on the SpOC team over the years is front-and-center in this case study. And, of course, we demonstrate WorldMap, discuss certain technical aspects of its architecture, and the background behind many of the design decisions incorporated.
Prerequisites: None.
2150 Wednesday, November 9, 2005 — 4:45pm - 6:00pm
Room: Continental Ballroom 6
2162 Get a Leg Up with the BOOST C++ Library

Chris Uzdavinis
Type: Regular Session.
Level: Beginning.
Boost is a portable, peer-reviewed, and freely available collection of C++ libraries. This session covers a wide selection of what Boost has to offer, with an emphasis on breadth rather than depth.
Prerequisites: Basic C++ knowledge.
2162 Wednesday, November 9, 2005 — 3:15pm - 4:30pm
Room: Continental Parlor 7 
3000 Delphi Component Development for .NET
Ray Konopka — Raize Software
Type: Preconference Tutorial.
Level: Intermediate.
Delphi supports three extensible component models: VCL, VCL.NET, and .NET FCL. This tutorial focuses on the .NET FCL and VCL.NET models since they are both based on the Microsoft .NET Framework. A detailed comparison of the two models is facilitated by investigating the implementation details of several component building techniques presented in both models. Specific topics covered include: architecture, visualization, events, mouse and keyboard interactions, component references, data binding, and collections. In addition, a discussion on deployment issues and design-time capabilities related to both models is included.
Prerequisites: Experience creating custom VCL controls helpful.
3000 Sunday, November 6, 2005 — 9:00am - 1:00pm
Room: Continental Ballroom 6
3004 Achieving J2EE Agility with Spring
Patrick McMichael — Pillar Technology Group, LLC
Type: Preconference Tutorial.
Level: Intermediate.
This tutorial, geared towards the J2EE developer, provides attendees with advice on how to put the Spring framework to practical and strategic use in the enterprise. While much of the popular buzz around Spring focuses on using it as an alternative to EJB containers, this presentation highlights some practical ways in which Spring really complements traditional J2EE activities. In fact, Spring's lightweight approach has blazed the trail for much of where EJB 3.0 is heading. Learn how to leverage the Spring meta-framework in the J2EE space to architect solutions which exhibit extremely loose coupling and an incredible degree of flexibility. Emphasis is also placed on Spring’s contributions to agile/XP practices such as test-driven development.
Prerequisites: Solid understanding of Java and object-oriented fundamentals. Familiarity with J2EE is also beneficial.
3004 Monday, November 7, 2005 — 9:00am - 1:00pm
Room: Continental Parlor 1-2
3006 Agile and Extreme Programming: A Pragmatic Approach
Neal Ford — ThoughtWorks
Type: Preconference Tutorial.
Level: Intermediate.
This session covers agile and XP development from architecture through design and to code. It covers all aspects of XP and shows how to apply it to all types of projects.
Prerequisites: None.
3006 Monday, November 7, 2005 — 9:00am - 1:00pm
Room: Continental Parlor 9
3008 Developing Database Applications with the Microsoft .NET Framework
Cary Jensen — Jensen Data Systems, Inc.
Type: Preconference Tutorial.
Level: Intermediate.
Get a head start on developing database applications for the Microsoft .NET Framework in this fast-paced introduction to ADO.NET. This tutorial describes and demonstrates the roles of the most common classes in ADO.NET. Topics include connecting to databases, executing queries, working with result sets, navigating data, creating calculated fields and aggregates, persisting datasets, using views, and synchronizing visual controls. Special attention is paid to best practices in .NET database development. Examples in both Delphi and C# are shown.
Prerequisites: Familiarity with database development issues.
3008 Monday, November 7, 2005 — 9:00am - 1:00pm
Room: Continental Ballroom 4
3010 ASP.NET Components and Controls in Delphi
Nick Hodges — Lemanix Corporation
Type: Preconference Tutorial.
Level: Intermediate.
One of the greatest strengths of ASP.NET is the capability to create powerful components for use in your Web sites. Delphi developers have long known of the power and convenience of using components in their Windows applications. Now with ASP.NET, you can bring those component-building skills to the world of Web application development. The Framework Class Library (FCL) provides a feature-rich framework for developing custom components that will do almost anything that the limits of HTML and JavaScript will allow you to do. Web developers no longer have to envy Windows developers for having a powerful and rich set of controls to build professional looking applications. This tutorial covers the life-cycle of a server control; simple Web control development; WebControl vs. Control; persistenting values and control state; custom rendering; custom styles; managing post-back in your controls; using client-side scripting; composite controls; using complex properties in server controls; databound controls; and, templated controls. In addition, new issues for control development in ASP.NET 2.0 are covered.
Prerequisites: Basic understanding of the ASP.NET architecture.
3010 Monday, November 7, 2005 — 2:00pm - 6:00pm
Room: Continental Ballroom 6
3016 Reading Tea Leaves: The Fine Art of Debugging

Danny Thorpe — Borland
Type: Preconference Tutorial.
Level: Intermediate.
You can do a lot with today's advanced debugging tools, but there are still times when the program ends up so far off the map that its beyond the help of any mechanical tool. To figure out when, where, and why the program went astray, sometimes you just have to roll up your sleeves and break out the CPU view and assume the mind meld position. Learn to think like the processor, navigate high level data structures in raw hex dumps, recognize encrypted blonds and brunettes at a glance, and manipulate the time streams with your bare hands.
Prerequisites: Familiarity with Delphi and basic debugging techniques.
3016 Monday, November 7, 2005 — 2:00pm - 6:00pm
Room: Continental Ballroom 5 
3100 Developing TCP/IP-based Server Applications using Indy Components
Christian Wilkerson — iBASEt
Type: Regular Session.
Level: Intermediate.
The Indy components that ship with Delphi cover just about every networking protocol. This presentation is on development using Indy Server components. It includes fibers, threads, HTTP, and even custom servers.
Prerequisites: Good working knowledge of Delphi.
3100 Tuesday, November 8, 2005 — 4:45pm - 6:00pm
Room: Continental Ballroom 4 
3102 Clean Up Your Code: 10 Java Coding Tricks, Techniques, and Philosophies
Neal Ford — ThoughtWorks
Type: Regular Session.
Level: Intermediate.
This session delivers ten techniques for improving your code, whether you are freshly graduated or a grizzled veteran. It is derived from many sources, including other languages, techniques, and idioms we have developed teaching developers.
Prerequisites: Frustration with hard to read code.
3102 Tuesday, November 8, 2005 — 1:30pm - 2:45pm
Room: Continental Parlor 1-2
3104 What's New in the Delphi Compiler
Danny Thorpe — Borland
Type: Regular Session.
Level: Intermediate.
The Delphi compiler guys have been busy beavers since the release of Delphi 2005 last year. Come get a brain dump of what's new and improved in the Delphi Win32 and Delphi for the Microsoft .NET Framework compilers, including new optimizations and language features for Win32 and support for .NET Compact Frameworks in .NET.
Prerequisites: Familiarity with Delphi.
3104 Tuesday, November 8, 2005 — 1:30pm - 2:45pm
Room: Continental Ballroom 5
3106 ASP.NET Web Forms and Databases
Bob Swart — Bob Swart Training & Consultancy
Type: Regular Session.
Level: Intermediate.
In this session, we cover ASP.NET Web Forms and multi-tier databases.
Prerequisites: ASP.NET Web development experience.
3106 Tuesday, November 8, 2005 — 4:45pm - 6:00pm
Room: Continental Ballroom 6
3110 JBoss Fundamentals with JBuilder
Ken Sipe — Code Mentor, Inc.
Type: Regular Session.
Level: Intermediate.
JBoss has a sizable hold of the J2EE market. If not for production, it is often used in development for increased productivity. This session assumes you understand J2EE, diving right into JBoss configurations and best practices. Using a full J2EE Web application as an example, we look at how to leverage JBoss using JBuilder. The session focuses less on slides and more on showing productivity techniques.
Prerequisites: Some Java experience.
3110 Tuesday, November 8, 2005 — 4:45pm - 6:00pm
Room: Continental Parlor 3
3112 StarTeam SDK New Features
Randy Guck — Borland
Type: Regular Session.
Level: Intermediate.
The StarTeam SDK allows you to write custom applications in Java, the Microsoft .NET Framework, and COM languages. With the StarTeam 2005 R2 release, new SDK features have been added that make it easier to write event-based applications, store credentials for auto-logon applications, leverage the StarTeamMPX Cache Agent, and more. In this session, learn about these new StarTeam SDK features and see coding samples on how to use them.
Prerequisites: Basic StarTeam and programming knowledge.
3112 Tuesday, November 8, 2005 — 4:45pm - 6:00pm
Room: Continental Parlor 7
3118 Developing Custom .NET Components
Ray Konopka — Raize Software
Type: Regular Session.
Level: Intermediate.
This session focuses on extending the Microsoft .NET Framework component hierarchy by creating custom .NET components. In addition to describing the steps involved in creating a new .NET component, this session focuses on several key aspects of the .NET component architecture including the .NET Component Model, the new graphics subsystem (GDI+), user controls and custom controls, and supporting events through delegates.
Prerequisites: Experience creating VCL components helpful, but not necessary.
3118 Wednesday, November 9, 2005 — 9:30am - 10:45am
Room: Continental Ballroom 6
3120 Java Persistance Frameworks

Patrick McMichael — Pillar Technology Group, LLC
Type: Regular Session.
Level: Intermediate.
Are you a J2EE developer looking for alternatives to JDBC or CMP Entity Beans for handling your data interactions? Are you a Hibernate user wondering about the impact EJB 3.0 may have on your application architecture? This session provides an overview of and comparison between the Hibernate and EJB 3.0 solutions to POJO persistence. Pros and cons for each are examined, as are options for migration.
Prerequisites: A working knowledge of Java and relational database concepts helpful. Any background with object-relational mapping concepts is also beneficial.
3120 Thursday, November 10, 2005 — 9:30am - 10:45am
Room: Continental Parlor 3 
3122 Multi-platform Web Services with Delphi
Bob Swart — Bob Swart Training & Consultancy
Type: Regular Session.
Level: Intermediate.
In this session, we see multi-platform Web Services with Delphi 2005, using the Borland Win32 SOAP Framework and ASP.NET Web Services.
Prerequisites: Some SOAP and/or XML knowledge.
3122 Wednesday, November 9, 2005 — 9:30am - 10:45am
Room: Continental Ballroom 4
3128 Securing ASP.NET Web Applications
Lino Tadros — Falafel Software, Inc.
Type: Regular Session.
Level: Intermediate.
This session presents countermeasures to defend against threats. Topics include input validation; best practices when working with Microsoft SQL Server, including the use of parameterized commands, stored procedures, accounts with limited privileges, Microsoft Windows; authentication versus SQL Server logins, and secure storage of connection strings; HTML-encoding of user input; vulnerabilities specific to ASP.NET forms authentication and forms authentication cookies; use of encrypted view state rather than hidden fields to maintain state between requests; storage of password hashes rather than passwords for added security; and more.
Prerequisites: Microsoft .NET Framework 1.1 and ASP.NET knowledge preferred.
3128 Wednesday, November 9, 2005 — 1:30pm - 2:45pm
Room: Continental Ballroom 4
3130 To VCL or Not to VCL? Pathways for C++ Developers
Keith Chuvala — United Space Alliance
Type: Regular Session.
Level: Intermediate.
Borland C++Builder developers love the VCL -- well, most of the time. When does it makes sense to minimize or avoid the VCL? Can components and libraries created with C++Builder be truly portable? We tackle these and related questions in this session.
Prerequisites: C++Builder experience and familiarity with the VCL.
3130 Wednesday, November 9, 2005 — 1:30pm - 2:45pm
Room: Continental Parlor 1-2
3132 Delphi Productivity Features for ASP.NET Developers
Jim Tierney — Borland
Type: Regular Session.
Level: Intermediate.
Overview of Delphi productivity features that apply to ASP.NET developers. Topics include refactoring, deployment, markup validation, code templates, modeling, and add-ins.
Prerequisites: Exposure to developing ASP.NET applications with Delphi is required.
3132 Wednesday, November 9, 2005 — 3:15pm - 4:30pm
Room: Continental Ballroom 5
3134 Introduction to .NET FCL
Lino Tadros — Falafel Software, Inc.
Type: Regular Session.
Level: Intermediate.
This session provides an introduction to the Microsoft .NET Framework FCL (Framework Class Library). After an overview of the major namespaces that comprise the FCL, the remainder of the session focuses on concrete examples that utilitize FCL classes. Examples provided include exceptions, debugging, string manipulation, file I/O, collections, graphics, etc.
Prerequisites: VCL and OOP knoweldge preferred.
3134 Wednesday, November 9, 2005 — 3:15pm - 4:30pm
Room: Continental Ballroom 4
3136 Refactoring and Synchronization with the StarTeam Plug-in for Eclipse
James Wogulis — Borland
Type: Regular Session.
Level: Intermediate.
This session explains how to use the StarTeam plugin for Eclipse in order to support synchronizing local file system changes with the StarTeam repository. The plugin is especially helpful when large amounts of code refactoring have been performed where files are moved, renamed, created, and deleted both locally and remotely.
Prerequisites: Familiarity with StarTeam or other SCM tools, as well as experience using the Eclipse IDE.
3136 Wednesday, November 9, 2005 — 3:15pm - 4:30pm
Room: Continental Parlor 9
3142 Delphi Design Patterns
Marco Cantu — Wintech Italia Srl
Type: Regular Session.
Level: Intermediate.
This presentation explores a number of classic design patterns from the GOF book from the Delphi language perspective, providing some implementation samples and offering an overview of patterns in object-oriented programming. The session covers a little of the theory, but mostly focuses on applying patterns to the daily use of Delphi such as plugging-in features to existing VCL components and applications.
Prerequisites: Good understanding of the Delphi language and of object-oriented programming.
3142 Thursday, November 10, 2005 — 11:00am - 12:15pm
Room: Continental Ballroom 4 
3146 Developing Custom VCL and VCL.NET Component Designers
Ray Konopka — Raize Software
Type: Regular Session.
Level: Intermediate.
This session focuses on how to enhance the design-time interface of a component through custom design editors. Specifically, learn the details of creating custom property editors, component editors, selection editors, and other design-time elements. In addition, through several examples, see how these building blocks can be used to dramatically enhance the usability of a component.
Prerequisites: Experience creating VCL components.
3146 Thursday, November 10, 2005 — 8:00am - 9:15am
Room: Continental Ballroom 5
3152 ASP.NET User Interface and the Delphi ECO Framework
Fredrik Haglund — Borland
Type: Regular Session.
Level: Intermediate.
Learn how to write ASP.NET user interfaces for your ECO applications. The session covers ECO handles, EcoSpaceProvider class, and using synchronization.
Prerequisites: Knowledge of the Delphi Enterprise Core Object (ECO) Framework. Attendance to "Building Scablable ECO Applications" is recomended.
3152 Thursday, November 10, 2005 — 9:30am - 10:45am
Room: Continental Ballroom 4
3154 JMX Management Solutions

Ken Sipe — Code Mentor, Inc.
Type: Regular Session.
Level: Intermediate.
(This session has been moved to a Birds-of-a-Feather session.)
This session describes management of Java resources using the Java Management Extensions JMX API. JMX provides a unified framework to instrument Java systems with monitoring and management capabilities. JMX is a required element of the J2EE 1.4 specification -- it is part of the JDK1.5 distribution. Those who don't know and understand it will be left behind. This session covers JMX 1.2 specification, system monitoring, management needs, and the creation of agents which dynamically manage resources based on monitoring. We cover many of the new features of the recently finalized JSR-160 on Remote JMX access. Productivity details are also discussed using MX4J and commons modeler.
Prerequisites: Some Java experience.
3154 canceled 
3158 Search Server and Code Reuse
Jerry Odenwelder — Borland
Type: Regular Session.
Level: Intermediate.
Whether looking for information, instruction, or a solution, most developers instinctively consult the Web when faced with a problem or challenge. Often, especially in large organizations, another team has already solved the same or similar problem. Borland Search allows your organization to search inward for a solution before looking outward. Additionally, you can quickly locate information regarding problems and their solutions. With this data you can reduce the time spent researching a problem and promote code re-use within your organization.
Prerequisites: None.
3158 Thursday, November 10, 2005 — 9:30am - 10:45am
Room: Continental Parlor 7
3174 An Introduction to the ACE Library and Frameworks

Chris Uzdavinis
Type: Regular Session.
Level: Intermediate.
In this session, we cover some of the highlights of ACE, a freely available, high-performance, portable C++ library aimed at simplifying the creation of distributed, concurrent, and configurable applications. We cover some of the concepts behind ACE and its design, then move to the frameworks, including the Reactor pattern (event dispatching), the Acceptor/Connector pattern (networking), and finally the Active Object (multithreading).
Prerequisites: Basic C++ experience with design patterns knowledge a plus.
3174 Thursday, November 10, 2005 — 9:30am - 10:45am
Room: Continental Ballroom 6
3178 C++ TR1 Function Objects: Horses or Camels

Pete Becker — Dinkumware, Ltd.
Type: Regular Session.
Level: Intermediate.
The C++ Standards Committee has recently finished work on its Technical Report on C++ Library Extensions (TR1). Part of the report describes four new templates that can be used to create function objects. These templates rely much more on template meta-programming than the templates in the current Standard C++ Library. This session looks at the programming problems that the new templates solve, how their approach differs from that taken in the Standard C++ Library, and at the glue code needed to make the new templates work with the old ones.
Prerequisites: Some familiarity with the design of the Standard Library's function objects helpful.
3178 Wednesday, November 9, 2005 — 9:30am - 10:45am
Room: Continental Parlor 1-2
4100 Building Domain Languages Atop Java

Neal Ford — ThoughtWorks
Type: Regular Session.
Level: Advanced.
(This session has been moved to a Birds-of-a-Feather session.)
This session shows how to use Java as the building block for domain-specific languages. It shows you how to create your own customized language for solving specific problems.
Prerequisites: None.
4100 canceled 
4104 WinForm User Interface and the Delphi ECO Framework
Fredrik Haglund — Borland
Type: Regular Session.
Level: Advanced.
An in-depth description of how data binding with all different ECO handles works, and ECO Extender components and how to extend them yourself. Learn how to replace the default auto forms with your own. An example of how to write a custom tree-view control that uses data binding is presented.
Prerequisites: Knowledge of the Delphi Enterprise Core Object (ECO) Framework.
4104 Wednesday, November 9, 2005 — 9:30am - 10:45am
Room: Continental Ballroom 5
4106 Developing Custom .NET Component Designers
Ray Konopka — Raize Software
Type: Regular Session.
Level: Advanced.
This session focuses on how to enhance the design-time interface of a Microsoft .NET Framework component through custom designers. Specifically, learn the details of creating custom Type Converters, UI Type Editors, and Component Designers. In addition, this session highlights some of the new designer functionality coming in the next version of the Microsoft .NET Framework.
Prerequisites: Experience creating .NET components.
4106 Wednesday, November 9, 2005 — 1:30pm - 2:45pm
Room: Continental Ballroom 6
4108 Advanced Enterprise Debugging Techniques
Neal Ford — ThoughtWorks
Type: Regular Session.
Level: Advanced.
This session discusses techniques and tools for debugging enterprise applications.
Prerequisites: Experience with J2EE applications.
4108 Thursday, November 10, 2005 — 1:15pm - 2:30pm
Room: Continental Parlor 3 
4112 Building Scalable ECO Applications

Fredrik Haglund — Borland
Type: Regular Session.
Level: Advanced.
Learn how to write scalable multi-user applications with the ECO Application Framework in Delphi. We take a closer look at the synchronization service, threaded applications (like ASP.NET applications), the EcoSpace pool, database searching, and finally, when to use lazy or eager fetching.
Prerequisites: Knowledge of the Delphi Enterprise Core Object (ECO) Framework.
4112 Thursday, November 10, 2005 — 8:00am - 9:15am
Room: Continental Ballroom 4
4114 Leveraging the Power of In-memory DataSets
Cary Jensen — Jensen Data Systems, Inc.
Type: Regular Session.
Level: Advanced.
ClientDataSet expert, Cary Jensen, shares some of the fascinating and innovative ways that in-memory datasets can be used in real-world applications. Examples demonstrated include primed caches, business objects, data abstraction layers, and self-describing data transport objects. After this presentation, you will never think of in-memory datasets in the same way again. The techniques presented in this session use ClientDataSets, but can also be implemented using Microsoft .NET Framework DataSets.
Prerequisites: Familiarity with the Delphi ClientDataSet class.
4114 Thursday, November 10, 2005 — 9:30am - 10:45am
Room: Continental Ballroom 5
4116 CaliberRM SDK Development

Jerry Odenwelder — Borland
Type: Regular Session.
Level: Advanced.
The CaliberRM SDK allows you to build custom applications that interact with the CaliberRM system. In this session, we discuss developing Web-based applications using this SDK and look at how to expose some new and existing functionality through Web Services and portals. While the examples are in Java, the techniques can be applied to the Microsoft .NET Framework using the .NET SDK.
Prerequisites: Experience in Java development and understanding of the CaliberRM SDK, Tomcat, and Axis.
4116 Thursday, November 10, 2005 — 1:15pm - 2:30pm
Room: Continental Parlor 1-2
4118 High Speed Multi-threaded Database Applications
Christian Wilkerson — iBASEt
Type: Regular Session.
Level: Advanced.
Delphi greatly simplifies writing multi-threaded Windows applications. However, mastering multi-threaded programming can be a monster task. This presentation demonstrates not only how to develop multi-threaded code, but how to develop it safely and reliably.
Prerequisites: Requires a working knowledge of database programming.
4118 Thursday, November 10, 2005 — 1:15pm - 2:30pm
Room: Continental Ballroom 5
9006 Developing VCL Components with OpenWire

Boian Mitov — Mitov Software
Type: Birds-of-a-Feather.
Level: All.
OpenWire is a free open source library for writing advanced VCL components, capable of exchanging data and events without the need of additional code. The components written with OpenWire allow creation of complex software without writing any code. The technology allows the components to establish data and event connections trough special properties called pins. By visually establishing the connections the developer effectively does the programming. This session covers the design of OpenWire, writing basic and advanced OpenWire components, and demonstrates real components written with the technology.
Prerequisites: None.
9006 Wednesday, November 9, 2005 — 12:30pm - 1:15pm
Room: Continental Ballroom 6 
9102 Introduction to JMS

Eric Whipple
Type: Birds-of-a-Feather.
Level: Beginning.
This session introduces attendees to message-oriented middleware specifically using the Java Messaging Service. Topics include the role of messaging, implementation of the JMS specification, and best practices including integration methodologies.
Prerequisites: Some experience with Java.
9102 Tuesday, November 8, 2005 — 12:30pm - 1:15pm
Room: Continental Parlor 3 
9200 J2EE Performance Tuning How-to

Michael Rozlog — Borland
Type: Birds-of-a-Feather.
Level: Intermediate.
Learn how to find and fix errors and decrease the total time to problem resolution using the industry standard ServerTrace. Understand how to configure and use ServerTrace to find pesky errors that are usually blammed on poor performance or bad coding.
Prerequisites: None.
9200 Wednesday, November 9, 2005 — 12:30pm - 1:15pm
Room: Continental Parlor 3 
9202 JMX Management Solutions

Ken Sipe — Code Mentor, Inc.
Type: Birds-of-a-Feather.
Level: Intermediate.
This session describes management of Java resources using the Java Management Extensions JMX API. JMX provides a unified framework to instrument Java systems with monitoring and management capabilities. JMX is a required element of the J2EE 1.4 specification -- it is part of the JDK1.5 distribution. Those who don't know and understand it will be left behind. This session covers JMX 1.2 specification, system monitoring, management needs, and the creation of agents which dynamically manage resources based on monitoring. We cover many of the new features of the recently finalized JSR-160 on Remote JMX access. Productivity details are also discussed using MX4J and commons modeler.
Prerequisites: Some Java experience.
9202 Thursday, November 10, 2005 — 7:00am - 7:45am
Room: Continental Parlor 3 
9300 Building Domain Languages Atop Java

Neal Ford — ThoughtWorks
Type: Birds-of-a-Feather.
Level: Advanced.
This session shows how to use Java as the building block for domain-specific languages. It shows you how to create your own customized language for solving specific problems.
Prerequisites: None.
9300 Wednesday, November 9, 2005 — 7:00am - 7:45am
Room: Continental Parlor 3 

