Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ApiBuilder
Search
sullis
July 18, 2017
Technology
1
510
ApiBuilder
Portland Java User Group
July 18, 2017
Portland Oregon
#rest #java #scala #json #gilt #apibuilder
sullis
July 18, 2017
Tweet
Share
More Decks by sullis
See All by sullis
Dependency Management for Java - Seattle 2025-11-18
sullis
0
16
Dependency Management for Java - Portland - 2025-11-04
sullis
0
14
Dependency management for Java applications 2025-09-11
sullis
0
23
S3 NYC Iceberg meetup 2025-07-10
sullis
0
47
Amazon S3 Chicago 2025-06-04
sullis
0
120
Amazon S3 Boston 2025-05-07
sullis
0
84
Netty ConFoo Montreal 2025-02-27
sullis
0
130
GitHub Actions ConFoo Montreal 2025-02-26
sullis
0
88
Netty Portland Java User Group 2025-02-18
sullis
0
28
Other Decks in Technology
See All in Technology
戰略轉變:從建構 AI 代理人到發展可擴展的技能生態系統
appleboy
0
170
コールドスタンバイ構成でCDは可能か
hiramax
0
130
AWS Lambda durable functions を使って AWS Lambda の15分の壁を超えてみよう
matsuzawatakeshi
0
120
チームで安全にClaude Codeを利用するためのプラクティス / team-claude-code-practices
tomoki10
0
700
AI with TiDD
shiraji
1
330
[2025-12-12]あの日僕が見た胡蝶の夢 〜人の夢は終わらねェ AIによるパフォーマンスチューニングのすゝめ〜
tosite
0
240
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
200
AWSインフルエンサーへの道 / load of AWS Influencer
whisaiyo
0
250
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.4k
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
170
AIエージェントを5分で一気におさらい!AIエージェント「構築」元年に備えよう
yakumo
1
130
2025年の医用画像AI/AI×medical_imaging_in_2025_generated_by_AI
tdys13
0
280
Featured
See All Featured
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
34
The Mindset for Success: Future Career Progression
greggifford
PRO
0
200
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
140
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
100
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
180
Unsuck your backbone
ammeep
671
58k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Tell your own story through comics
letsgokoyo
0
770
Typedesign – Prime Four
hannesfritz
42
2.9k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
65
35k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
Transcript
Sean Sullivan July 18, 2017 Portland Java User Group
• software engineer • 21 years on the JVM •
back office systems @ HBC About me
https://en.wikipedia.org/wiki/Hudson%27s_Bay_Company
saksfifthavenue.com saksoff5th.com lordandtaylor.com gilt.com thebay.com
API driven development
API descriptors
API descriptors are not a new concept
• 1996: CORBA 2.0 IDL • 1997: Java RMI remote
interfaces • 1999: EJB remote interfaces • 2000: WSDL 1.0 (SOAP)
• 2006: WADL (REST) • 2011: Swagger (REST) • 2014:
ApiDoc (REST) • 2017: ApiDoc rebranded to ApiBuilder
www.apibuilder.io
None
describe REST API in a JSON file
1. start by describing your models 2. map your models
to resources
gilt.com
www.gilt.com
• Rails app • one Git repo • monolith! Gilt:
2007 => 2008
• Rails app • JSP web framework • ~10 services
(Java) • handcrafted Java clients • weak typing (java.util.HashMap) Gilt: 2009 => 2010
• JSP’s • 100+ services (Java, Scala) • strongly typed
client libraries • Gilt “Commons” library Gilt: 2011 => 2013
• Gilt Commons library • 250+ services • dependency hell
• ApiBuilder project started on Github Gilt: 2014
Dependency hell Java runtime hell
• java.lang.NoClassDefFoundError • java.lang.NoSuchFieldError • java.lang.NoSuchMethodError Java runtime hell
Dependency hell kills productivity
None
Mitigating dependency hell • API design must be first class
• backwards and forward compatibility • accurate documentation • generated client libraries
• 350+ services • new services built with ApiBuilder +
generated clients • Gilt Commons library is deprecated Gilt: 2015 => 2017
Web Checkout Android Checkout iPhone Checkout Checkout service api.json
Generating client libraries with ApiBuilder
Code generators
None
None
Conclusion • API driven development • visit www.apibuilder.io
The end
None
Additional resources
Gilt 2013
Gilt 2015