The Evolution of API
Discovery in Liberty
Arthur De Magalhaes Artur Dzmitryieu, Michael Glavassevich,
Paul Gooderham, Leo Christy Jesuraj and
Navid Shakibapour Tabrizi
IBM Cloud
May 2, 2017
Abstract
The WebSphere Liberty development team has been engaged with
customers and the Swagger community to collect requirements for
improving Liberty's native support for exposing REST APIs. The ability
to brand the Swagger UI through customization and providing a view
of public REST API documentation have been the most common
requests for enhancements from customers. These highly requested
features have been incorporated into Liberty in 2017. The
development team is now looking forward at adoption of OpenAPI
v3.0 (the next generation and replacement of Swagger) in Liberty and
is collaborating with the open source community on the Java
implementation of this specification.
IBM Confidential1
2
API Discovery in Liberty
IBM Confidential
Admin UI
Applications
Liberty
REST
APIProviders
API Connect
• Applications are discoverable in two RESTful endpoint;
/ibm/api/docs and /myCompany/docs
• Built-in Swagger UIs are provided
at /ibm/api/explorer and
/myCompany/explorer
Swagger
processor
swagger.yaml
• The same processing logic was pushed into an open source
server-independent Swagger processor
3 IBM Confidential
/myCo/api/docs
/myCo/api/explorer
/ibm/api/docs
/ibm/api/explorer
apps
OSGi services
apps
/ibm/api/docs
/ibm/api/explorer
/myCo/api/collective/docs
/myCo/api/collective/explorer
/ibm/api/collective/docs
/ibm/api/collective/explorer
tWAS
Collective
members
Available Endpoints
4
Default API Discovery Explorer
IBM Confidential
• The API Discovery Explorer webpage lists all the REST
APIs exposed on the Liberty server.
• The public Explorer does not require user authentication
and can be accessed on the both HTTP as well as HTTPS
protocols. Whereas, the private Explorer can only be
accessed by authenticated users.
• Users can configure what APIs are exposed publicly.
5
Customized API Discovery Explorer
IBM Confidential
swaggerDefinition.json acme-banner.css
6 IBM Confidential
OpenAPI v3.0
7
OpenAPI v3.0 in Liberty
IBM Confidential
8 IBM Confidential
New UI for OpenAPI v3.0
9 IBM Confidential
Join the Conversation
websphereconnect.slack.com

TechConnect - API Discovery Evolution

  • 1.
    The Evolution ofAPI Discovery in Liberty Arthur De Magalhaes Artur Dzmitryieu, Michael Glavassevich, Paul Gooderham, Leo Christy Jesuraj and Navid Shakibapour Tabrizi IBM Cloud May 2, 2017 Abstract The WebSphere Liberty development team has been engaged with customers and the Swagger community to collect requirements for improving Liberty's native support for exposing REST APIs. The ability to brand the Swagger UI through customization and providing a view of public REST API documentation have been the most common requests for enhancements from customers. These highly requested features have been incorporated into Liberty in 2017. The development team is now looking forward at adoption of OpenAPI v3.0 (the next generation and replacement of Swagger) in Liberty and is collaborating with the open source community on the Java implementation of this specification. IBM Confidential1
  • 2.
    2 API Discovery inLiberty IBM Confidential Admin UI Applications Liberty REST APIProviders API Connect • Applications are discoverable in two RESTful endpoint; /ibm/api/docs and /myCompany/docs • Built-in Swagger UIs are provided at /ibm/api/explorer and /myCompany/explorer Swagger processor swagger.yaml • The same processing logic was pushed into an open source server-independent Swagger processor
  • 3.
    3 IBM Confidential /myCo/api/docs /myCo/api/explorer /ibm/api/docs /ibm/api/explorer apps OSGiservices apps /ibm/api/docs /ibm/api/explorer /myCo/api/collective/docs /myCo/api/collective/explorer /ibm/api/collective/docs /ibm/api/collective/explorer tWAS Collective members Available Endpoints
  • 4.
    4 Default API DiscoveryExplorer IBM Confidential • The API Discovery Explorer webpage lists all the REST APIs exposed on the Liberty server. • The public Explorer does not require user authentication and can be accessed on the both HTTP as well as HTTPS protocols. Whereas, the private Explorer can only be accessed by authenticated users. • Users can configure what APIs are exposed publicly.
  • 5.
    5 Customized API DiscoveryExplorer IBM Confidential swaggerDefinition.json acme-banner.css
  • 6.
  • 7.
    7 OpenAPI v3.0 inLiberty IBM Confidential
  • 8.
    8 IBM Confidential NewUI for OpenAPI v3.0
  • 9.
    9 IBM Confidential Jointhe Conversation websphereconnect.slack.com