Gold sponsors

Intel logo

IBM Corporation

Cisco

JBoss

Sonatype

SAP

Oracle

Silver sponsors

Blackberry

agitar

bsi logo

Microsoft

Google

Instantiations

Soyatec

Xored

amazon

Actuate

Bronze sponsors

Purple Scout

froglogic

Paremus

objectivity

Sopera

Genuitec

itemis

excelsior

Activity sponsor

eclipsesource

Media sponsors

Methods & Tools

SD Times logo

TSSJS

Be a Sponsor

API Design and Evolution

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

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

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.