Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Iterative Development with Swagger on the JDK

18.668 visualizaciones

Publicado el

An overview of the new Inflector project by Tony Tam (@fehguy).

Publicado en: Tecnología
  • Sé el primero en comentar

Iterative Development with Swagger on the JDK

  1. 1. Iterative Development with Swagger on the JDK Tony Tam @fehguy
  2. 2. Swagger Codegen • Creation of Clients, Servers from Swagger Spec – 5 servers • Java, Scala, PHP, node.js – 19 clients • Android, Scala, C#, Java, Objective-C, Perl, PHP, Python, QT-CPP, Retrofit, Ruby, HTML, Swift, Tizen, Typescript Angular – Nearly unlimited workflow integration possibilities
  3. 3. Workflow-Specific Configuration • Customized class + templates Server Docker Image ObjC Client Java Client Re-generation with Changes APM integration with Newrelic Ops integration with DataDog Configured name, versions Push to docker repo via Jenkins build Podfile Push to github repo on Jenkins Build Artifact Push to Maven Repo on Jenkins Build
  4. 4. Workflow-Specific Configuration • Independent Iterations from single definition Design + Collaborate Generate Implement Client Implement Logic Iterate Iterate Deploy Deploy
  5. 5. So What’s Broken? • Nothing really! But… – Source Code collisions can be avoided – What’s the source of truth? – How do non-engineers improve documentation? • Not to nitpick but…
  6. 6. So What’s Broken?
  7. 7. Specification-Driven Development • The Swagger Specification should be the source of truth – No round-trips to/from codegen – No out-of-date server based on code changes
  8. 8. Swagger-Inflector • A new Friction Reducer • Programmatic endpoint generation • Your new Plumber
  9. 9. How it Works • Write your Specification • Inflector wires your spec to the server • Endpoints have automatic sample data • Implementation is simply writing controllers • Based on JAX-RS 2.0, Jersey 2.6
  10. 10. Inflector Workflow Design + Collaborate Generate Implement Client Implement Logic Iterate Iterate Deploy Deploy
  11. 11. Focus on Business Logic! inflector.yaml swagger.yaml
  12. 12. Iterative Development! • Unimplemented methods return mock data
  13. 13. Complex Schemas
  14. 14. Stop Plumbing! Remove Redundant Logic
  15. 15. State of the Project • Preview available! – https://github.com/swagger-api/swagger- inflector • Plenty to do! • Will become a fully supported part of Swagger • More Samples soon

×