ApiBuilder

99d4c0ed3c8027ea1c37b53d6441d042?s=47 sullis
July 18, 2017

 ApiBuilder

Portland Java User Group
July 18, 2017
Portland Oregon
#rest #java #scala #json #gilt #apibuilder

99d4c0ed3c8027ea1c37b53d6441d042?s=128

sullis

July 18, 2017
Tweet

Transcript

  1. 2.

    • software engineer • 21 years on the JVM •

    back office systems @ HBC About me
  2. 8.

    • 1996: CORBA 2.0 IDL • 1997: Java RMI remote

    interfaces • 1999: EJB remote interfaces • 2000: WSDL 1.0 (SOAP)
  3. 9.

    • 2006: WADL (REST) • 2011: Swagger (REST) • 2014:

    ApiDoc (REST) • 2017: ApiDoc rebranded to ApiBuilder
  4. 11.
  5. 14.
  6. 17.

    • Rails app • JSP web framework • ~10 services

    (Java) • handcrafted Java clients • weak typing (java.util.HashMap) Gilt: 2009 => 2010
  7. 18.

    • JSP’s • 100+ services (Java, Scala) • strongly typed

    client libraries • Gilt “Commons” library Gilt: 2011 => 2013
  8. 19.

    • Gilt Commons library • 250+ services • dependency hell

    • ApiBuilder project started on Github Gilt: 2014
  9. 23.
  10. 24.

    Mitigating dependency hell • API design must be first class

    • backwards and forward compatibility • accurate documentation • generated client libraries
  11. 25.

    • 350+ services • new services built with ApiBuilder +

    generated clients • Gilt Commons library is deprecated Gilt: 2015 => 2017
  12. 29.
  13. 30.
  14. 32.
  15. 33.
  16. 35.
  17. 36.