Gold sponsors

IBM Corporation

Sonatype

Oracle

Intel logo

Cisco

SAP

JBoss

Silver sponsors

amazon

Xored

bsi logo

agitar

Instantiations

Google

Soyatec

Actuate

Blackberry

Microsoft

Bronze sponsors

excelsior

Genuitec

itemis

objectivity

Sopera

froglogic

Paremus

Purple Scout

Activity sponsor

eclipsesource

Media sponsors

SD Times logo

TSSJS

Methods & Tools

TheBitSource

Be a Sponsor

API Design and Evolution

Martin Oberhuber (Wind River ), Boris Bokowski (IBM ), Michael Scharf (Wind River )

Making For Eclipse · Tutorial (120 mins)
Wednesday, 10:00, 2 hours | Lafayette

Tags: Committer And Contributor , Java
7
·
8
·
9
·
10
·
11
·
12
·
13
·
14
·
15
·
16
·
17
·
18

Martin Oberhuber

Boris Bokowski

Michael Scharf

Good APIs are important. They must be easy to use for clients but also provide enough implementation flexibility, and they must be designed so that they can be evolved over time. APIs are the basis of software architecture and componentization. With always too many options available, what guidelines and constraints affect API design?

In this tutorial, we will explain how to design and evolve APIs without breaking client code. We intend to cover Java API design and other elements of Eclipse APIs such as the bundle manifest and plugin.xml files, and we will also touch on the subject of API deprecation and optional compatibility layers.

This is an advanced tutorial mostly targeted at Eclipse committers, although we expect most of the content to be relevant for any software developer. The talk will be based on real-life example APIs, and will go into deep technical detail. However, for your entertainment, we will also tell interesting stories from the API trenches.

Martin is the chair of the Eclipse Architecture Council, member on the Eclipse and DSDP PMC, Platform core and e4 committer, Target Management project lead and a certified ScrumMaster. Driven by his desire for constant improvement, he is involved in many areas around Open Source and Eclipse. Martin holds a degree in Telematics from the University of Technology Graz, and has been working for Wind River in Salzburg, Austria since 1998.

Boris Bokowski is a Software Developer with IBM Rational in Ottawa, Canada. He is the technical lead of the Eclipse Platform UI team, and a committer on the e4 project. He is also part of the "API police" for the Eclipse Platform, a member of the Eclipse Architecture Council, and a committer representative on the Eclipse Board of Directors. He holds a PhD in computer science from Freie Universität Berlin, Germany.

The guy who always asks the stupid questions...

Slides

Download Material

Download file of related material.