Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

Share

apidays LIVE Australia 2021 - OpenAPI Generator - The Babel Fish of the API World by Cliffano Subagio, Shine Solutions

Download to read offline

apidays LIVE Australia 2021 - Accelerating Digital
September 15 & 16, 2021

OpenAPI Generator - The Babel Fish of the API World
Cliffano Subagio, Principal Engineer at Shine Solutions

Related Books

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

apidays LIVE Australia 2021 - OpenAPI Generator - The Babel Fish of the API World by Cliffano Subagio, Shine Solutions

  1. 1. Open API Generator
 The Babel Fish of the API World Cliffano Subagio | Shine Solutions Apidays Live Australia – 15 & 16 September 2021
  2. 2. About Cliffano Subagio Principal Engineer at Shine Solutions Member of OpenAPI Generator Technical Committee
  3. 3. Agenda 1. The polyglot systems and the Babel fis h 2. Intro to OpenAPI Generato r 3. My use case scenario s 4. Wrap up + let’s contribute
  4. 4. 1. The polyglot systems and the Babel Fish
  5. 5. New York JULY Australia SEPTEMBER Singapore APRIL Helsinki & North MARCH Paris DECEMBER London OCTOBER Jakarta FEBRUARY Hong Kong AUGUST JUNE India MAY Check out our API Conferences here 50+ events since 2012, 14 countries, 2,000+ speakers, 50,000+ attendees, 300k+ online community Want to talk at one of our conferences? Apply to speak here
  6. 6. © 2020 Shine Solutions Group Back in the 2000s,
 I was a Java developer 5 • Monolithic J2EE application s • 100% pure Java mindset within the community
  7. 7. Monolithic Application 6 Java
  8. 8. 
 YOW! 2012 talks
 by Fred Georg e Micro Services Architecture
 Language agnostic service s Programmer Anarchy
 Use of Ruby, Clojure, C++, Node.js
  9. 9. Multi Services 8 Ruby Clojure node.js Go Python Java .NET
  10. 10. If you stick one
 in your ear The Babel fish
  11. 11. You instantly understand
 anything sent to you
 in any language
  12. 12. Multi Services 11 Ruby Clojure node.js Go Python Java .NET
  13. 13. 2. Intro to OpenAPI Generator
  14. 14. OpenAPI Generator 13 • Open source code generator librar y • Written in Java, uses Mustache template s • Generates API clients, server stubs, doc s • Supports 40+ tech stack s • Community fork of Swagger CodeGen • Almost 10k GitHub stars
 Almost 2k contributors
  15. 15. How does it work? 14 OpenAPI
 Specification OpenAPI
 Generator API Clients API Servers API Docs Swagger-Parser Generator Templates
  16. 16. Example: ipify 15 api.ipify.org GET / ?format=json 200 OK
 { “ip”: “60.240.197.183” }
  17. 17. OpenAPI specification 16 metadata paths responses schemas parameters
  18. 18. Running the generator 17
  19. 19. Running the generator 18
  20. 20. What will be generated? 19 • Project structur e • OpenAPI Generator metadat a • READM E • CI confi g • Library dependencie s • Documentatio n • Unit test s • API client:
 Clients, data model s • API server stubs:
 Endpoints, controllers, payloads
  21. 21. Generated API clients 20 Python Ruby node.js
  22. 22. Generated API clients 21 Java
  23. 23. Example Ruby API client 22
  24. 24. Supported tech stacks 23
  25. 25. 3. My use case scenarios
  26. 26. SOA with custom ESB (mostly Java) 25 ESB Identity
 Service Adapter
 Service Data
 Service Consolidation
 Service Routing
 Service Message
 Service Monitor
 Service
  27. 27. SDK Clients for a REST API 26 API Gateway (OpenAPI) node.js Python Go Java
  28. 28. Infrastructure as Code 27 Legacy Enterprise Application CLI (node.js) Ruby
 API Client Python
 API Client SpringBoot App (Java) Ansible Playbook Puppet Module InSpec Profile
  29. 29. Performance testing 28 Web
 App JMeter JMX CSV
  30. 30. Jenkins CI/CD 29 Swaggy-
 Jenkins CLI Smart Light
 Notifiers Voice
 App
  31. 31. Top three maintenance tips… 30 1. Integration testing 2. Integration testing 3. Integration testing
  32. 32. 31 OpenAPI Spec v2 OpenAPI Spec v3 OpenAPI Generator v2 OAG v3 v4 v5 Python 2 Python 3 Ruby 1.9 Ruby 2.3 Ruby 2.5 Ruby 2.6 My application changes Dependency Vulnerabilities Environment changes Changes happen all the time!
  33. 33. 4. Wrap up + let’s contribute
  34. 34. Remember the Babel fish? 33 Ruby Clojure node.js Go Python Java .NET
  35. 35. OpenAPI Generator 34 https://openapi-generator.tech • Multi tech-stacks suppor t • Boilerplate code for fre e • Massive time saver
  36. 36. My first contribution 35 I optimised file downloading
 in Ruby API client’s
  37. 37. Failed to allocate memory at 2Gb
  38. 38. 100Mb+ memory consumption
  39. 39. Your contributions are welcomed!
 
 https://github.com/OpenAPITools/ openapi-generator
  40. 40. Helping OpenAPI Generator If you find OpenAPI Generator useful,
 please consider becoming a sponsor.
 
 https://opencollective.com/ openapi_generator
  41. 41. Thank you! Any questions? cliff.subagio@shinesolutions.com linkedin.com/in/cliffano/
  42. 42. Resources https://openapi-generator.tech/ https://github.com/OpenAPITools/openapi-generator/ https://en.wikipedia.org/wiki/ The_Hitchhiker%27s_Guide_to_the_Galaxy#Future_predictions https://www.youtube.com/watch?v=YWqHkYtREAE https://www.youtube.com/watch?v=cbFLGv41vBA https://www.youtube.com/watch?v=sns1DknIwhQ https://opencollective.com/openapi_generator https://en.wikipedia.org/wiki/OpenAPI_Specification https://swagger.io/specification/ https://github.com/cliffano/openapi-ipify https://github.com/cliffano/swaggy-jenkins https://github.com/shinesolutions/swagger-aem https://pixabay.com/photos/boat-shell-rowing-rowers-sport-3404551/
  43. 43. New York JULY Australia SEPTEMBER Singapore APRIL Helsinki & North MARCH Paris DECEMBER London OCTOBER Jakarta FEBRUARY Hong Kong AUGUST JUNE India MAY Check out our API Conferences here 50+ events since 2012, 14 countries, 2,000+ speakers, 50,000+ attendees, 300k+ online community Want to talk at one of our conferences? Apply to speak here

apidays LIVE Australia 2021 - Accelerating Digital September 15 & 16, 2021 OpenAPI Generator - The Babel Fish of the API World Cliffano Subagio, Principal Engineer at Shine Solutions

Views

Total views

372

On Slideshare

0

From embeds

0

Number of embeds

5

Actions

Downloads

5

Shares

0

Comments

0

Likes

0

×