Gold sponsors

IBM Corporation

SAP

Sonatype

Cisco

JBoss

Intel logo

Oracle

Silver sponsors

bsi logo

Blackberry

Xored

Soyatec

agitar

amazon

Google

Instantiations

Actuate

Microsoft

Bronze sponsors

excelsior

Can't open sponsors/bronze/soyatec/soyatec.

Genuitec

Purple Scout

itemis

Sopera

objectivity

Paremus

froglogic

Activity sponsor

eclipsesource

Media sponsors

TSSJS

SD Times logo

Methods & Tools

GIF89ax-w!,x->;7mmdhI5 zxq}|u{x3tzyt !<wvxvv~~pt~w}u|zsy.~x- |}r/{D;ou/1~ m&]V"c0z2 Kg}Ve&S+,<=j2Msu~Cs~ } YozYVrrx`a.@AEGIzw |W pqq&}zy" ]}'H*\ȰÇD("ŋ3bܨ#ǏC)r"ɓ"S\JMʔs ͙6s܉͟:{ 3M47Atĥ>eiTVJz5+RXvUkUgMRV+wݪsֽ۴ W`z '~;U4HL˘4{B#[~9d^͚ Okm۸sͻ×  )$Iӻ3j"\hνâϾ{_ Ȍ˙'%gyI~G|q~6Zz 'Rև jG@u!^xF NaPAv肎<^@7S/r3 PF)%S,Bẍ$ ė`)f?|Wǘh@"ۑP!Y@vwN $Z.и]zDwp$ZPSv+Tw#Ng;T݉0LN.q%Sy'EK*무9>`p:DQ8]CT8vz,^%,nSZfy5ޙ:Pc,[骥G.:UWz'#_~QRuQO-B&A A&JbUCeRzjƺ1JСr2,0l.zBjkcӞ;+ Iq =s S-2J}p*^ ؙsQM~5״U |dvE1wuղzmUv'HcC-nohݢa7ޞBQ7`# x# @Ӈjx]֛*,WocS[Յ]-j 7!xVB֝f*T< A Ԣ_58Nmdȝfk aL&PiA[ܔǝo}t[Bg ŦEY1ά" ;8a"e>TZV;u]ϵ']j.&7"-t>X6p|>= PMFfoL\ld L$"yHEr,d x*| q$%:sfTVDRh}\W.(ZM7JRgI휪u0|2 l!xt1A,ꀋ)t {WANrhx FCT r,@$z[jIJt X"Vp PBVL},ͨF7ю` XaZTP=Klt!L\ЁNsE ( PJ׳U(`l PrLc]R\`_ á-"DZ7rUZZUNU0Yq \βW2ů_JkW367~倴D;

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

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.