A look behind the scenes at Google
Urs Hoelzle
Search is one of the most important applications used on the internet, and it also poses some of the most interesting challenges in computer science. Providing high-quality search requires understanding across a wide range of computer science disciplines, from lower-level systems issues like computer architecture and distributed systems to applied areas like information retrieval, machine learning, data mining, and user interface design. In this talk I'll describe some of the challenges in these areas, discuss some of the interesting applications related to search that Google has developed over the past few years, and I'll highlight some of the behind-the-scenes pieces of infrastructure that we've built in order to operate Google's services. Along the way, I'll share some interesting observations derived from Google's web data.
Download the Presentation File
Grand Peninsula ABCD 8:00 - 9:00Wednesday, Mar. 2nd
Open Source Business Model Design Patterns
Tim O'Reilly
Open source isn't just about a set of software licenses, or even about a new style of distributed software development. It is a reflection of a world where the network is the platform, and where as a result, commodity software implements standardized protocols, and business advantage is driven by data lock in and network effects enabled by an "architecture of participation." The new paradigm changes all the rules of business. This talk will explore business model design patterns for the internet and open source era.
Download the Presentation File
Grand Peninsula ABCD 8:00 - 9:00Tuesday, Mar. 1st
The Eclipse Phenomenon
Lee Nackman
In November of 2001, the Eclipse open source project and Consortium announcements were met with reactions in the press like, "as revolutions go, this one is a bargain", "the implications are not only significant, but far reaching", and "real code, designed to do real work". Since then Eclipse adoption has been exceptional and the growth of the Eclipse community extraordinary. Eclipse is being used and extended across many constituencies, from dyed in the wool open source developers, to academia, to IT organizations in Fortune 500 companies. We see today Eclipse evolving past its roots as an IDE technology platform to a more general purpose rich client technology platform.

Lee will provide a historical view going back to the genesis of the work in IBM and the effort and thinking that resulted in its evolution to open source, the formation of the original Eclipse Consortium and the Consortium's evolution to the not-for-profit Eclipse Foundation. He'll explore how Eclipse has been a disruptive influence in the tools market and changed the way people think about tools. Finally, Lee will describe what he sees in the future of Eclipse and the resulting impact on industry.

Download the Presentation File
Grand Peninsula ABCD 8:00 - 9:00Thursday, Mar. 3rd


Eclipse Community Project Spot Light (Panel/Q&A)
John Wiegand, Mike Milinkovich, Tyler Thessin, John Duimovich, Brian Barry, Wenfeng Li, Tim Wagner
Wondering what is next for the Eclipse projects? This is your opportunity to query and listen to the project leaders in the Eclipse community. Mike Milinkovich, Executive Director of the Eclipse Foundation, will moderate a panel of Eclipse PMC leaders focused on the future of the Eclipse open source projects.
Regency B&C 3:00 - 4:00Thursday, Mar. 3rd
Nick Edgar, Jeff McAffer
The Eclipse Rich Client Platform was introduced last year in Eclipse 3.0, allowing products other than IDEs to be built using Eclipse technology.

Nick Edgar, Eclipse Platform UI committer, and Jeff McAffer, Equinox project leader, will give an update on what is new for RCP in Eclipse 3.1, present some interesting applications and domain-specific platforms being built using RCP, and discuss future directions.

Download the Presentation File
Grand Peninsula ABCD 1:00 - 2:00Wednesday, Mar. 2nd
The Eclipse Way: Processes that Adapt
John Wiegand, Erich Gamma
How does the Eclipse project team achieve quality and on-time delivery? How did the processes that enable the development team evolve and how do we continue to adapt them? This talk is an exploration of how the Eclipse platform is developed. We'll step back and reflect on planning, iterative development, the end-game process, and other insights into how things are done - including the development mantras such as "Always Beta", "Milestones First", "API First", "Finishing" and "Consume your own output".
Download the Presentation File
Grand Peninsula ABCD 1:00 - 2:00Tuesday, Mar. 1st


Case Study: Eclipse as a Tool Integration Platform
Mike Thoma, David Tong
Eclipse is making strong headway as a tool integration platform because if its unique ability to address many issues facing IT organizations and large-scale development projects. These issues include the level of built-in functionality, the capability for extensions, the ability to more easily integrate tools from many different technologies and platforms; and the ability to pass the code on to their customers relatively unencumbered from stringent legal and financial constraints. How does Eclipse measure up to these demanding requirements? What are the business arguments that make a case for Eclipse? How can one measure the return on investing in Eclipse as a tool integration platform vs the alternatives?
Harbor Room A&B 3:30 - 4:15Tuesday, Mar. 1st
Leveraging the Eclipse Ecosystem
Bill Dudney
Eclipse is more than just the open source projects and technology. Eclipse is also about the large and vibrant ecosystem of complementary products, services, training, information portals, newsgroups, blogs, books, and magazines. Understanding how to leverage these types of resources is often critical to the successful adoption of new technology. This presentation will examine the available resources in the Eclipse ecosystem and provide pointers to on how to successfully leverage them when developing a strategy to adopt Eclipse.
Download the Presentation File
Harbor Room A&B 10:30 - 11:15Tuesday, Mar. 1st
Panel: Eclipse in the Enterprise
Ed Warnicke, Michael Gallagher, Joel West, Jeff Norris
This panel will focus on the adoption of Eclipse in the enterprise as an economic and a strategic initiative. The goal is to assist decision makers currently evaluating Eclipse for enterprise-use by providing them the information they need to define their own adoption strategy, by leveraging the experience and best practices of early adopters and by drawing on the parallel between the success of open source in the Enterprise and the growing adoption of Eclipse.
Harbor Room A&B 2:15 - 3:00Tuesday, Mar. 1st
Panel: Open Source Business Model
Tim O'Reilly, Fima Katz, Skip McGaughey, Tom Bogan, Mitchell Kertzman, Boz Elloy
The success of open source technology in the enterprise goes beyond the adoption of Linux to include a wide variety of open source projects that are getting serious attention from IT decision makers. Eclipse is quickly proving itself as a major force within the open source movement. This presents opportunities not only for those companies adopting Eclipse, but companies that are building businesses around the emerging Eclipse market., This panel will explore what a post-Eclipse future will mean for tools and application development, and the potential for business opportunities and innovations in an Eclipse eco-system.
Harbor Room A&B 4:30 - 5:15Tuesday, Mar. 1st
Report: Eclipse and the Changing Development Tools Landscape
Carl Zetie
Carl Zetie is an analyst in the Forrester's Application Development & Infrastructure research group. In two of his recent research projects, he has identified a growing trend of organizations rejecting complexity in favor of simplicity in their development tools, platforms, and processes. Adoption of Eclipse is playing a significant role in fueling that trend. In this session, Carl will discuss the trends in tools usage, modeling, and other topics of interest to developers; the different approaches organizations can take to reduce the complexity of their development environment; and the impact of Eclipse in creating a common standard for the tools integration platform. This non-technical session is targeted at managers and executives who need to understand the role of Eclipse in enterprise IT, set direction for their IT organization, and make buying decisions about development tools.
Harbor Room A&B 9:15 - 10:00Tuesday, Mar. 1st


A Research-Industry Technology Exchange: Crossing the Bridge
Margaret-Anne Storey, Cheryl Morris, Michael Burke
The purpose of this exchange is to facilitate a dialogue between academics who are leveraging Eclipse for their research, and practitioners from industry building tools using Eclipse. The goal of the exchange is to increase collaboration and understanding between the two communities, as industrial tools could be enhanced sooner from ideas developed by the research community, and academic researchers could use the industrial community to help validate their efforts. One theme that will be explored includes how researchers can reduce the time to impact of their work.

The format of the exchange will be a series of brief research presentations followed by a lively panel, consisting of both industry practitioners and academics, discussing the relevance of the work presented, and, if a gap becomes evident, ways in which that could be bridged in the future. Practitioners will be encouraged to indicate which of the research directions may benefit current and future industrial problems, as well as indicate areas of the work that need more research. Academics will be encouraged to discuss how industry could support validating research results.

Panel Members include: Li-Te Cheng, IBM Research Scientist, Collaborative Application Development Research; Jeff Eastman, Collabnet; Sridhar Iyengar, Chief Technical Strategist, IBM Rational Software; Gregor Kiczales, Professor, University of British Columbia.

Six researchers will present their work at the research-industry technology. Please refer to for more information on the research presentations and on the panel participants.

Harbor Room A&B 9:15 - 10:00Wednesday, Mar. 2nd
Eclipse Documentation: Writing our Story
Andrea Covas, Lee Anne Kowalski, Lori Zink
A technical exchange exploring the current state of Eclipse documentation, future formats, and best practices for developing a documentation plug-in. Discussion to identify documentation needs and explore ways of improving the documentation story including:
  • Potential Eclipse documentation improvements.
  • Challenges faced by other information development groups whose projects extend open source documentation or are in a componentization situation.
  • Challenges faced when developing, packaging and delivering documentation in a mixed open/closed-source, extensible, componentized product environment.
  • Eclipse Documentation Style Guide (currently in creation, finding out what else could be added, what should be removed from the guide).
  • Operating system specific challenges.
  • Features of the help system in Eclipse and its various deployment modes (integrated, standalone, infocenter).
  • Other documentation concerns brought up during the session.
Download the Presentation File
Harbor Room A&B 9:15 - 10:00Thursday, Mar. 3rd
EMF, GEF and UML2: Ready for a Graphical Modeling Framework (GMF) Project?
Petter Graff, Henrik Rentz-Reichert, Daniel Leroux
In this technology exchange participants can share their experiences using EMF/GEF/UML2. Which will be the characteristics of a common base for UML tools, MDA frameworks, graphical Domain Specific Languages?
Harbor Room A&B 10:30 - 11:15Thursday, Mar. 3rd
Language Toolkits
Chris Laffra, Chris Daly, Elwin Ho, Michael Scharf, Mark Melvin
This Technology Exchange discusses the impact of adding multiple programming languages to eclipse. Adding a new programming language can be quite an effort and involves studying the extensive eclipse editor framework, a large set of collaborating plugins, and the numerous extension points the platform provides.

The innovative JDT sets the bar high with great support for editing, navigation, build integration, debugging, and refactoring. To develop similar support for other languages can be quite an effort. Even extending existing language IDE components, such as new refactorings for JDT, can be equally difficult. Developing tooling that spans across various development tools and languages can be a challenge. Providing the end-user with a comprehensive and cohesive set of tools is sometimes out of reach. One might argue all this justifies a dedicated top-level eclipse project on multi-language IDEs.

Attend this exchange to hear experiences from various IDE developers and see what they mean by "language support" and what issues they ran into. Whether you plan to write an eclipse IDE for your favorite language, extend existing development tools, are a tool provider, or just an interested user, this session is for you.

Harbor Room A&B 4:30 - 5:15Wednesday, Mar. 2nd
Panel: Designing for the User Experience
Steven Ma, Robert Buffone, Barry Feigenbaum
One can argue that the success of any commercial products hinges not only on how well the needs of the users are met, but also how these needs are met. Designing for the user experience, therefore, is of paramount importance to optimizing the success of a product, and creating a competitive edge over the competition. In this session, the panelists will share their experience in designing for the user experience for different types of user groups, and make recommendations on best practices to achieve such goal. Panelists will draw from practical design experience in the areas of AWT/SWT integration, software accessibility, and enterprise development tools design.
Harbor Room A&B 3:30 - 4:15Wednesday, Mar. 2nd
Panel: Empowering Software R&D with Open Communities
Mike Milinkovich, Brian Behlendorf, Jean-Pierre Laisne, Francois Letellier
Gathering famous representatives and evangelists of open communities dedicated to federating research and development efforts of software players worldwide, participants to this panel will discuss how open communities are leveraging individual contributions to software commons with the use of open-source and open-standards processes.
Harbor Room A&B 1:00 - 1:45Thursday, Mar. 3rd


01.1 Adopting the Eclipse TPTP Project
Joe Toomey, Serge Lucio
Adopting the Eclipse Test & Performance Tools Platform Project (TPTP) is not an all or nothing proposition. Whether you have a seasoned product or you just have a great new idea you wish would be on the market tomorrow, this platform can help you reach your goals faster. This session will introduce the audience to the Test & Performance Tools Platform, proposing adoption strategies. Two case studies will be used to support this presentation. We'll start with a greenfield project, focusing on the savings one can get by adopting TPTP. Then, we'll provide an overview of the migration of an existing commercial offering into TPTP, highlighting the incremental benefits this project gained over the course of the adoption.
Download the Presentation File
Regency B&C 9:15 - 10:00Tuesday, Mar. 1st
01.2 Debugging Java Apps with the Java Development Tools (JDT)
Bill Dudney
This presentation will show attendees how to use the features of the debugger beyond simple line number breakpoints. In addition to covering the "debugging in Eclipse" form of debugging we will also delve into remotely debugging J2EE applications running in WebLogic 8.1, JBoss 3.2.x and 4.0, and Tomcat 5.0.x. At the end of this session you will understand several of the "power user" features of the debugger in the JDT.
Download the Presentation File
Regency A 9:15 - 10:00Tuesday, Mar. 1st
01.3 End-to-end Rich Client Platform Solutions
David Orme
Everyone's been talking about Eclipse's Rich Client Platform because RCP enables server-centric application deployment while providing users with a rich user interface experience. But Eclipse RCP only solves part of the problem. How do you bind and validate your SWT controls to data sources? How do you partition your application into multiple tiers? This session will interactively take developers through the creation and deployment of a simple multi-tier RCP application using open-source technologies that are designed to work with Eclipse RCP.
Download the Presentation File
Grand Peninsula ABCD 9:15 - 10:00Tuesday, Mar. 1st
02.1 Pollinate and Beehive - a Technology Project Update
Dan Rubel
This session will present the Eclipse Pollinate project and how it relates to the Apache Beehive project. Pollinate is an Eclipse technology project slated to build an Eclipse-based IDE and toolset that leverages the open source Apache Beehive application framework. The presentation will include current accomplishments of the Pollinate team and the future directions planned for Pollinate. Apache Beehive is a middleware framework built on Struts and Tomcat (or any J2EE server) providing page flows, controls, and web services in an effort to reduce the coding necessary for J2EE.
Download the Presentation File
Regency B&C 10:30 - 11:15Tuesday, Mar. 1st
02.2 Extend web tools server tooling for your application server
Gorkem Ercan, Timothy deBoer
Eclipse web tools project have finally arrived. This talk will describe the steps to create a server tooling plug-in for your favorite application server. In this talk, we will explore some of the APIs in server tooling core, look at the GUI components available for your server and see a very basic server tooling plug in example. If you want your application server to benefit from the web tools project this session is for you.
Download the Presentation File
Grand Peninsula ABCD 10:30 - 11:15Tuesday, Mar. 1st
02.3 Domain-specific IDEs in embedded automotive software
Michael Rudorfer, Markus Voelter
This session outlines how Eclipse is used by BMW Car IT for prototyping of embedded, component based software. Based on the AUTOSAR middleware standard, Eclipse is used for building models (using GEF), for managing modules and dependencies as well as for editing, debugging and generating code for the OSEK target platform.
Regency A 10:30 - 11:15Tuesday, Mar. 1st
03.1 Eclipse RCP Everywhere
Jeff McAffer, Jean-Michel Lemieux
The Eclipse Rich Client Platform allows the development of applications that run on PDAs, Kiosks, as a standalone applications, or integrated with other products. This talk will introduce the tips and tricks for writing RCP applications that are designed to run in these multiple configurations. Using examples of how to apply them in your own applications, we will explore all aspects of application design starting from UI tricks for building workbench and non-workbench applications to packaging and deploying. You should attend this talk if you are an intermediate to advanced Eclipse developer targeting multiple configurations or simply interested in learning about what you can do with Eclipse in strange places.
Download the Presentation File
Grand Peninsula ABCD 2:15 - 3:00Tuesday, Mar. 1st
03.2 Testing tools inside Eclipse
Michael Norman
The Eclipse Test and Performance Platform � formerly known as Hyades, provides a flexible layered infrastructure for integrating testing tools inside the Eclipse Workbench. In this talk we explain the various approaches to integrating test editors, test control and runtime user interfaces, test definitions, test execution engines and test results in TPTP 3.2, and the benefits that accrue. We illustrate the talk with reference to the exemplary tools provided by TPTP itself for manual testing, URL testing and integration of Junit, and show how these provide an effective test toolkit for the Eclipse ecosystem.
Regency A 2:15 - 3:00Tuesday, Mar. 1st
03.3 Managing Large Scale Eclipse Adoption
Steve Wasleski, Marie Bradford
IBM has a large and growing number of products that incorporate Eclipse technology. Managing dependencies between large scale company owned technologies and products is hard enough but managing dependencies between those IBM projects and a large and growing independent open source project like Eclipse presents an array of new challenges. These challenges can be technical, legal, temporal and normative. In this session we will explore several of these challenges and talk about how IBM manages them. Hopefully you will be able to take away ideas on how your company can better manage some of these aspects of developing products on the Eclipse platform.
Download the Presentation File
Regency B&C 2:15 - 3:00Tuesday, Mar. 1st
04.1 The Eclipse Parallel Tools Platform Project
Greg Watson
A presentation on the Eclipse Parallel Tools Platform Project: our vision for harnessing the power of the Eclipse platform as a highly integrated, extensible, development environment for parallel computer systems.
Download the Presentation File
Regency A 3:30 - 4:15Tuesday, Mar. 1st
04.2 What's new in SWT
Steve Northover
This session will discuss new and upcoming features for the next major release of SWT.
Grand Peninsula ABCD 3:30 - 4:15Tuesday, Mar. 1st
04.3 Techniques for Seamless Integration: A Talk from the Trenches
Julian Jones
One of the great beauties of Eclipse is its openness. Contributions to any single user's workbench come from a multiplicity of sources. In the face of such openness, how does one ensure that a Frankenstein user interface isn't the end result? Put another way, how does one integrate seamlessly into a platform like Eclipse in a way that complements rather than distracts from the resulting user interface? This presentation will describe some of the techniques that have been used in the development of IBM's Eclipse-based tooling to ensure that the user interface contributions come together as an integrated whole. These insights are drawn from four plus years of experience supporting the development of IBM's WebSphere Studio and Rational Software Development Platform products.
Download the Presentation File
Regency B&C 3:30 - 4:15Tuesday, Mar. 1st
05.1 Safely Manipulating the Contents of Files - How to Get it Right
Kai-Uwe Maetzel
"I wrote an action that changes the content of a workspace file. When running the action on a file that's open in an editor, I don't see the changes in the editor. What do I have to do?"

These are the kind of questions providers of new functionality are often asking and they expect to find simple answers. What they get is not simple at all. The list of what they have to take care of for seamless integration with the platform is long and requires comprehensive knowledge of how Eclipse deals with content. It starts with validateEdit, includes marker updating, deals with questions raising from the fact that files are visible in an editor, and comes across background jobs. In this talk, we will bring these integration issues closer to the audience and discuss how to solve them. We will show how file buffers fit into the picture, which integration issues they resolve, and to which degree they simplify the life of providers.

Download the Presentation File
Regency B&C 4:30 - 5:15Tuesday, Mar. 1st
05.2 JDT meets the Tiger
Dirk Baeumer, Philippe Mulet
One of the major themes of the 3.1 release is to support J2SE 5.0 (aka Tiger). J2SE 5.0 brings a lot of enhancements to the Java language (namely generics, enhanced for, static imports, varargs, enumerations, annotations, autoboxing). These impact the Eclipse's Java Development Tooling (JDT) in two different ways: first, the existing functionality must be upgraded to handle the new language features and second the J2SE 5.0 language features require new tooling support.

This presentation will take you on a tour through the modifications and enhancements made to JDT to meet J2SE 5.0 compliance. In particular, we will see how the Java Model, the search engine, the abstract syntax tree and the code rewriting infrastructure have evolved. Based on concrete examples from refactoring we also present "cheat sheets" showing how to convert existing functionality written for 1.4 to 5.0. The presentation will end by demonstrating some of the new JDT functions at work on 5.0 language features.

Download the Presentation File
Grand Peninsula ABCD 4:30 - 5:15Tuesday, Mar. 1st
05.3 eRCP Update
Jim Robbins
eRCP is an Eclipse technology project primarily slated to investigate the suitability of using various components of the Eclipse RCP in a variety of embedded devices such as mobile phones and PDAs. This session will cover the goals of the project as well as the current status and plans. Components included in the project include SWT, the Extension Point Framework, JFace, Update, and a Workbench. Major contributors to the project include IBM, Motorola, and Nokia.
Regency A 4:30 - 5:15Tuesday, Mar. 1st
06.1 The Graphical Editing Framework Project
Randy Hudson, Pratik Shah
Targeted towards plug-in developers using or interested in using GEF, this session will discuss new and upcoming features for the next major release of the graphical editing framework. Topics will include new support for WYSIWYG textual editing in GEF. Also, an architectural overview and demonstration of a new EMF-based GEF example. Finally, discover how you can contribute to the future of GEF.
Download the Presentation File
Grand Peninsula ABCD 9:15 - 10:00Wednesday, Mar. 2nd
06.2 Packaging, Deploying and Running Rich Client Apps
Ed Burnette
The Rich Client Platform has opened up a whole new category of users for Eclipse technologies. But these users have high expectations: they want applications that Just Work without dealing with zip files, PATH variables, JRE versions, and all those other issues that developers are used to. This presentation discusses techniques for improving the Total User Experience for your Eclipse-based product by making it easier for your users to install and run.
Download the Presentation File
Regency B&C 9:15 - 10:00Wednesday, Mar. 2nd
06.3 Products Eclipsed: Experiences in Adopting and Developing
John Graham
For an organization the decision to develop a product hosted in Eclipse is important and challenging on many levels. Understanding how open source works, how Eclipse is positioned with the open source community, and what this means for your organization is vital to making productive use of Eclipse and its ecosystem. Drawing on Sybase�s experience in full life cycle development for Eclipse, we will investigate the various issues � cultural, technical, and strategic � influencing the decision to host products in Eclipse. Suitable for developers through executives, we will discuss both business and technical issues involved in the decision and its implementation.
Download the Presentation File
Regency A 9:15 - 10:00Wednesday, Mar. 2nd
07.1 Addressing UI Scalability in Eclipse
Kimberly Horne
This presentation will attempt to shed light on Capabilities and Contexts in the workbench and how they can be used to help achieve product scalability. We will cover how individuals can utilize these features to integrate seamlessly into Eclipse and later we will address how the infrastructure may be exploited for other purposes.
Download the Presentation File
Regency B&C 10:30 - 11:15Wednesday, Mar. 2nd
07.2 Getting started with aspect-oriented programming in Eclipse
Andy Clement, Mik Kersten, Matt Chapman
The AspectJ Development Tools Plugin for Eclipse (AJDT) fully integrates the AspectJ language into Eclipse. This session will provide an introduction to using AJDT, demonstrating how it is easy to progress from traditional Java development to a situation where you can exploit AspectJ. During the session we'll look at mining crosscutting concerns from some existing Java code base, debugging aspects, using aspects to enforce rules, and extending the core function of programs using unpluggable aspects. This session will be focussing on the AJDT v1.2 release where there have been significant improvements to provide better integration with Eclipse 3.0 and new and upcoming features will be showcased. These include better views and UIs for viewing crosscutting associations, content assist, advice ordering, inheritance hierarchy crosscutting, control-flow advice, and crosscutting-centric project exploration.
Download the Presentation File
Grand Peninsula ABCD 10:30 - 11:15Wednesday, Mar. 2nd
07.3 The Death of the IDE - Long live the IDE!
David Intersimone, Patrick Kerpan
Accelerated by the advancement of Eclipse, the traditional integrated development environment (IDE) has become a distant memory. David Intersimone, Borland�s chief evangelist, joins Patrick Kerpan, Borland�s chief technology officer, to discuss and debate the progression of the IDE and what the next decade may hold.
Download the Presentation File
Regency A 10:30 - 11:15Wednesday, Mar. 2nd
08.1 Eclipse Web Tools Platform Project Overview
Naci Dai, Arthur Ryman
The Web Tools Platform (WTP) Project extends Eclipse into the domain of Web and J2EE application development. WTP provides both a set of core tools for application developers and a platform API for tool developers. This presentation describes the scope, structure, and goals of the WTP project, and gives an overview of the tools and APIs in its Web Standard Tools and J2EE Standard Tools subprojects. The presentation also includes a demonstration of the latest WTP Milestone release.
Download the Presentation File
Regency B&C 2:15 - 3:00Wednesday, Mar. 2nd
08.2 Introduction to CDT
Sebastien Marineau-Mes
This session will discuss the challenges in writing a C/C++ code parser under Eclipse, and will highlight some of the optimizations done to achieve the required level of performance and scalability while sticking to Eclipse/Java for the implementation. This should be of interest for other language implementers under Eclipse.
Download the Presentation File
Regency A 2:15 - 3:00Wednesday, Mar. 2nd
08.3 Extending Visual Studio
Jason Weber
Visual Studio is a tools platform that can be extended with new languages, technologies, and features. Using the free Visual Studio SDK you can quickly integrate your products and expand your reach to millions of developers worldwide. In addition to offering technology for advanced integration scenarios, the Visual Studio Industry Partner program provides you with support, co-licensing and opportunities for exposure. Learn more about Visual Studio integration and how to create products that co-exist in both Visual Studio and Eclipse.
Grand Peninsula ABCD 2:15 - 3:00Wednesday, Mar. 2nd
09.1 The Eclipse Communications Framework
Scott Lewis
The Eclipse Communications Framework is a small set of plugins to support the development of applications that need to communicate with systems external to the Eclipse runtime. This session will present/discuss the framework and describe it's usefulness to the plugin programmer.
Download the Presentation File
Regency A 3:30 - 4:15Wednesday, Mar. 2nd
09.2 Providing a development environment for Linux
Rick Moseley
This session will discuss areas where Red Hat has contributed to the Eclipse project to enable developers to more easily use the Linux operating system and the tools it provides for developing/testing/maintaining open source applications.
Download the Presentation File
Regency B&C 3:30 - 4:15Wednesday, Mar. 2nd
09.3 Mylar: a degree-of-interest model for Eclipse
Shawn Minto, Mik Kersten, Gail Murphy
When used on large projects the Eclipse JDT views can become overpopulated with elements. This causes developers to waste time looking for information by scrolling through long lists and browsing deep hierarchies. Mylar is a new plug-in that addresses this problem by transparently monitoring developers� activities, and encoding the task relevance of program elements and relationships in a degree-of-interest model. This talk will introduce Mylar and demonstrate extended JDT views that make task context explicit and reduce the need for scrolling and navigation by means of interest-based highlighting, filtering, and visibility control. The Active Type Hierarchy will show how Mylar reduces the need to invoke searches by automatically running background queries based on the task context. Editor support that includes automatic folding and a replacement for editor tabs will demonstrate how task context facilitates browsing code, editor management, and history navigation. AspectJ support will demonstrate how Mylar can ease the comprehension and navigation of crosscutting structure. Bugzilla integration will show how Mylar�s implicit search facility finds bug reports that refer to Java elements in the current task context. The task management pane will illustrate support for multiple task contexts and integration with Bugzilla report management and editing. An overview of Mylar�s user monitoring framework will highlight mechanisms for measuring the effectiveness of Eclipse views in usability studies. A summary of the lessons learned building the tool will provide plugin developers interested in tight JDT integration with relevant experiences.
Download the Presentation File
Grand Peninsula ABCD 3:30 - 4:15Wednesday, Mar. 2nd
10.1 Introducing the BIRT Project
Paul Clenahan
How many times have you created an application and needed to display and print reports such as invoices, customer lists, sales reports and performance data? Almost every application has some reporting requirements, and the traditional solution has been either to write some JSP or Java code to display the information (which is time consuming and usually not adequate for your users), or purchase a commercial reporting tool to solve the problem (which is often overkill for your needs). To address the demand for a better solution, the Eclipse Business Intelligence and Reporting Tools (BIRT) top-level project was proposed by Actuate Corporation and accepted by the Eclipse Foundation in September 2004.

This session introduces the BIRT project and explains how this technology will be useful to your organization. The session will look at why BIRT is needed, what it aims to accomplish and some typical usage scenarios. The session also looks at the timeline for the project and discusses what capabilities will be in the first release, targeted for this March. Come along and learn how you can use BIRT to solve your reporting problems.

Download the Presentation File
Harbor Room A&B 2:15 - 3:00Wednesday, Mar. 2nd
10.2 Ant and Eclipse
Darin Swanson
Ant and Eclipse are both powerful tools and when used together, there is a large number of problems that can be solved effectively. In this talk, we will provide an overview of the Ant integration within Eclipse. We will investigate the support for editing and validating buildfiles (content assist, text hovering, error annotations, navigation, and a synchronized outline). We will explore the Ant preferences, Ant launch configurations, the Ant view, and custom task development and testing. We will discuss the Ant integration extension points and how and when they should be used. We will also review the support for adding additional builders for an Eclipse project.
Download the Presentation File
Regency B&C 4:30 - 5:15Wednesday, Mar. 2nd
10.3 Getting your Plug-in Legal: a Primer for Eclipse Developers
Ira Heffan
Your code is completed and tested, and you are ready to make the first version of your Eclipse plug-in available for download to users. No matter whether your application is proprietary or open source, there are a number of legal considerations to keep in mind: Are your license terms clear to your users? Have you included the copyright notices required by any other open source or third-party software that you are using? Are your own legal notices appropriate and in the right place? Are you in compliance with the terms of the Eclipse Public License and any other applicable licenses? What about copyrights and patents?

This presentation will provide a primer of the legal issues that an Eclipse developer should consider when planning for the release of software.

Download the Presentation File
Grand Peninsula ABCD 4:30 - 5:15Wednesday, Mar. 2nd
11.1 Everything you've always wanted to do with EMF, but were afraid to ask
Ed Merks, Dave Steinberg
An in-depth look at developing with EMF, highlighting the highest value features of the framework and exposing some of its lesser known capabilities.
Download the Presentation File
Regency A 9:15 - 10:00Thursday, Mar. 3rd
11.2 Presentations API - the look and feel of Eclipse
Jean-Michel Lemieux, Stefan Xenos
The Eclipse workbench user interface paradigm is designed to be rich, flexible, and as much as possible native. The main components of the user interface are perspectives, views, and editors. The workbench tabbed browsing presentation effectively provides much of the "look & feel" of Eclipse since most of the user interface is composed of views and editors. The good news is that as of Eclipse 3.0, you can provide your own implementation of how views and editors are shown to the user and how the user navigates and manages the presentation of views and editors. This talk will introduce the presentation APIs and detail how you can effectively change the look and feel of Eclipse based applications.
Regency B&C 9:15 - 10:00Thursday, Mar. 3rd
11.3 A Martian Eclipse
Jeff Norris, Mark Powell
The Maestro team develops mission operations software at the NASA Jet Propulsion Laboratory, including the science operations tool for the Spirit and Opportunity Mars rovers and the upcoming Phoenix and Mars Science Laboratory missions. Six months ago, the team adopted the Eclipse Rich Client Platform as the foundation for the next version of their software and the Eclipse Java Development Tools as their development environment. In this presentation, the Maestro team shares the experiences they have had to date in the adaptation of Eclipse to the field of spacecraft operations and their plans for Eclipse in the future. Particular attention is paid to how Eclipse integrates with the team's agile development process and how Eclipse is being used as a focal point for new collaborations between software development teams at NASA.
Grand Peninsula ABCD 9:15 - 10:00Thursday, Mar. 3rd
12.1 Leveraging TPTP for Data Collection
Andy Kaylor
The Eclipse Test and Performance Tools Platform project (formerly known as Hyades) provides an open development platform supplying frameworks and services for test and performance tools that are used throughout the software lifecycle (e.g., testing, tracing/profiling, tuning, logging, monitoring, analysis, autonomics, administration, etc.). This session explores the core TPTP platform, and teaches developers how to develop differentiated capabilities using the data collection infrastructure for accessing and controlling remote agents.
Download the Presentation File
Regency A 10:30 - 11:15Thursday, Mar. 3rd
12.2 API First
Jim Des Rivieres
Useful and stable APIs are an important aspect of open systems like Eclipse. Good APIs don't just appear overnight; they require significant design effort, over an extended period of time. Ideally, the design is iterative and involves a feedback loop with clients and implementers. Following an "API first" methodology allows this process to be productive, rather than disruptive. Drawing on our experience with the Eclipse project, this talk will present best practices for developing components with APIs and working closely with adjacent components that are clients of those API.
Download the Presentation File
Grand Peninsula ABCD 10:30 - 11:15Thursday, Mar. 3rd
12.3 Web Services Dev. with Eclipse Web Tools Platform Project
Lawrence Mandel, Jeffrey Liu
While Web services support has picked up significantly in the last few years, only recently did Eclipse add Web development support including Web services support. The Eclipse Web Tools Platform (WTP) project contributes web development tools to Eclipse including Web service creation, deployment and testing tools. This presentation will discuss:
  • Web services � what they are, how they are used and interoperability
  • The benefits of adding Web services tools to Eclipse
  • The Web service tools available in the WTP project including:
    • How to use the tools
    • How to extend the tools
This presentation will demonstrate that anyone can now develop an end-to-end Web service using Eclipse tooling and that the addition of Web services tools, moving the Eclipse IDE into the Web services space, has provided a huge value-add for Eclipse.
Download the Presentation File
Regency B&C 10:30 - 11:15Thursday, Mar. 3rd
13.2 Continuous Performance - Monitoring Performance with Automated Tests
Andre Weinand, Christof Marti, Sonia Dimitrov
Most of us have already experienced this: whenever a software product approaches a major release and end-to-end testing starts increasing, more and more bugs come in, reporting serious performance degradation since the last release. Typically these performance problems get addressed in stressful "performance scrunches", which despite being quite successful often trade performance against architecture or stability. So the next set of problems is just waiting to be discovered after the shipping date.

For Eclipse 3.1 we have addressed these problems by investing in a performance tracking infrastructure and lots of accompanying performance tests. For every build we collect performance data from the performance tests and compare it against reference data collected for major and minor releases. Regressions are flagged as test failures and performance data is visualized in different charts for every build in the download area on the Eclipse web site.

This talk gives an overview of the performance infrastructure and shows how to write performance tests. We explain the process of collecting the data and how to present the results in a way that provides a good overview, but also lets you easily navigate and evaluate the results individually. Finally, we present some strategies for responding to performance test failures. After this talk you will be able to implement and execute performance tests for your own plug-ins.

Download the Presentation File
Regency B&C 1:00 - 1:45Thursday, Mar. 3rd
13.3 A Model Driven Dev. Platform using Eclipse, EMF, UML and More
Sridhar Iyengar
Model Driven & Rapid Application Development is now being widely embraced within the Eclipse Community. A set of industry trends anchored by open source, open industry standards and the use of modeling and metadata frameworks is setting the stage for the next level of integration across the entire range of developer and practitioner roles � from Business Analyst to IT Architect, from developer to tester, from project manager to the senior IT executive. The Eclipse community has been growing to meet these needs by integrating a set of tool frameworks (EMF, XSD, UML2, Hyades�) to form the core of an open end to end application life cycle platform. This session highlights work in progress at IBM and in the eclipse community that rises to this new challenge of creating an integrated software development platform.
Download the Presentation File
Regency A 1:00 - 1:45Thursday, Mar. 3rd
14.1 What's new in AspectJ 5
Andy Clement, Alexandre Vasseur
The AspectJ and AspectWerkz teams recently announced that they would be joining forces to work on the development of "AspectJ 5", the forthcoming AspectJ release. This release will contain support for the Java language features introduced by Java 5, an annotation-based development style, and enhanced load-time weaving support. In this session Andy and Alexandre will give an overview and demonstration of these new features and explain how existing users of AspectJ and AspectWerkz can take advantage of them.
Download the Presentation File
Regency A 2:00 - 2:45Thursday, Mar. 3rd
14.2 Birt Report Design Model
Paul Rogers
The Eclipse Business Intelligence and Reporting Tools (BIRT) top-level project was proposed by Actuate Corporation and accepted by the Eclipse Foundation in September 2004. How does it work? What can it do for your application? This section gives you a jump start on understanding BIRT at a technical level.

This session presents an overview of the BIRT Report Object Model: the definition of the various bits and pieces that define a report. BIRT reports start with data sources to access data. You then use a variety of layout elements to present professional-looking content in a wide variety of formats. You can use parameters to allow users to customize a report. Scripting lets you include custom business logic, and integrate your report with the rest of your Java application. The BIRT design is represented as an XML file and this session presents an introduction to that XML format.

Download the Presentation File
Regency A 4:30 - 5:15Wednesday, Mar. 2nd
14.3 How to rapidly add language support into Eclipse
Elwin Ho, Nalini Colathoor, Grace Lin
Supporting a new language in the Eclipse IDE requires more than just adding a new language editor. One must also add support for deployment, debugging, and testing. In addition, there may be needs for developing more features to make the users� application development more efficient. This could be a very cumbersome process.

In this presentation, we will share what we learned from the SmartFrog Eclipse plug-in project and how to categorize the typical software development steps to quickly support a new language in Eclipse. We define the process according to the software life cycle: Define, Design, Develop, Test, and Deploy. Then we map different point tools from the existing system to this process and use Eclipse to integrate them into the new solution. By following this systematic process, we can easily find out what features from the existing system are missing, so that we can efficiently develop a new solution with language support in Eclipse and with better coverage of the development life cycle. We will use the SmartFrog open source project as an example to demonstrate how to support new language development in Eclipse.

Download the Presentation File
Regency B&C 2:00 - 2:45Thursday, Mar. 3rd
14.4 Enhancing Support for Languages in Eclipse and the LDT Project
Tim Wagner
Eclipse provides a flexible and extensible platform for tooling, including tools that support users in the authoring, editing, and building of source files. With a few exceptions, however, the focus to date has been on implementing solutions that provide a rich user experience (and sometimes a rich set of modeling APIs)...but only for a single language.

In this talk we explore ways of overcoming this "single language silo" problem, and discuss some specific scenarios that the recently proposed LDT project hopes to address. For the Java language family, we focus on extensions to JDT that enable a high fidelity experience for 1.5 annotations and a toolset API that enables extensions to participate in metadata-driven development by introducing support for the apt/mirror APIs in the 1.5 JDK. We then explore ways in which other languages can more easily leverage the broad array of Java services in the JDT by introducing the concept of nested languages and applying it to JSP, BPELJ, and other "templating" languages. Nested language services are a natural extension to Eclipse's existing presentation technology, but take the model and analysis framework to a deeper semantic level, where multiple language analysis engines can cooperate in the translation of a single source file. Shared data structures and additional infrastructure, such as offset mapping tables, are introduced to support and simplify the creation of editing services for these languages.

We also look at the problem of mixed language projects, choosing as an illustrative example the problem of integrating XML Schema-to-Java binding technologies into the user editing experience, so that edits to a schema file can result in immediate user feedback in Java source files. By leveraging the existing JDT APIs and coupling them with new horizontal services for cross file dependency management, language neutral work queues, and a generalized notion of project scoping and classpaths, we suggest a roadmap for raising the bar that Eclipse provides to all languages, existing and yet to be introduced.

Download the Presentation File
2:00 - 2:45Thursday, Mar. 3rd