The document discusses how OpenAPI Specification (OAS) can help with microservices. OAS is a standard API description format that is widely adopted and vendor neutral. It supports automation through auto-generated code from JSON references. Tools like SwaggerHub and OpenAPI runtimes from IBM can help with the design, collaboration, and lifecycle of microservices using OAS. They demonstrate integration between SwaggerHub, Bluemix, WebSphere Liberty, and API Connect.
2. Anthony Tam
VP of Swagger Products, SmartBear
tony.tam@smartbear.com
Arthur De Magalhaes
WebSphere REST Architect, IBM
arthurdm@ca.ibm.com
2
Who are we?
4. 4
What is the OpenAPI Specification?
• A simple, standard API description
format
• Started by Swagger, specification donated
to Linux Foundation
• Widely adopted, supported, vendor neutral
• Version 2 released 10/2014
• Version 3 in Release Candidate state
• Major changes from 2.0!
5. 5
What about Microservices?
• OAS is neutral but opinionated
• Microservices are a common use case
• They have..
• Less operations
• Common features
• In addition…
• A shorter lifespan
• Tougher lifecycle demands
6. 6
How can OAS help with Microservices?
• Shorter lifecycle means automation is critical important
• Auto-generated code is essential for Microservices
• JSON References give the mechanism to standardize,
share, reuse features
• Vendor neutrality and high-performance tool support
means tight lifecycle integration is available
8. 8
What is SwaggerHub?
• An API Lifecycle tool for OpenAPI
Specifications
• Uses the formal specification for design
• Familiar OSS tools, all connected together
• Adds collaboration, versioning,
integrations
• “Fastest Path to Swagger”
9. • Reusing features for
Microservice design
• Integration with SCM
• Integration with API
Connect
9
SwaggerHub Demo
11. 11
OpenAPI Runtimes
• Your OpenAPI microservice needs to run somewhere
• Loopback (Node) and JAX-RS (Java) are the most used libraries
• StrongLoop (now "APIC create”) and Liberty have native OpenAPI support!
14. 14
WebSphere Collective OpenAPI Support
• Adds dynamic routing and auto-scaling for Java and Node members
• Can be deployed inside Docker containers
• Aggregates OpenAPI for all clusters and collective members
Controller
Repository RESTM
OpenAPI from Members
M M M
23. 23
Notices and disclaimers
continued
Information concerning non-IBM products was obtained from the
suppliers of those products, their published announcements or other
publicly available sources. IBM has not tested those products in
connection with this publication and cannot confirm the accuracy of
performance, compatibility or any other claims related to non-IBM
products. Questions on the capabilities of non-IBM products should be
addressed to the suppliers of those products. IBM does not warrant the
quality of any third-party products, or the ability of any such third-party
products to interoperate with IBM’s products. IBM expressly disclaims
all warranties, expressed or implied, including but not limited to, the
implied warranties of merchantability and fitness for a particular,
purpose.
The provision of the information contained herein is not intended to, and
does not, grant any right or license under any IBM patents, copyrights,
trademarks or other intellectual property right.
IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS,
Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document
Management System™, FASP®, FileNet®, Global Business Services®,
Global Technology Services®, IBM ExperienceOne™, IBM SmartCloud®,
IBM Social Business®, Information on Demand, ILOG, Maximo®,
MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower,
PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®,
PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®,
PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®,
SoDA, SPSS, Sterling Commerce®, StoredIQ, Tealeaf®, Tivoli® Trusteer®,
Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and
System z® Z/OS, are trademarks of International Business Machines
Corporation, registered in many jurisdictions worldwide. Other product
and service names might be trademarks of IBM or other companies. A
current list of IBM trademarks is available on the Web at "Copyright and
trademark information" at: www.ibm.com/legal/copytrade.shtml.