Swagger/OpenAPI for Enterprise Java microservices

On June 13, 2017, SmartBear joined the Eclipse MicroProfile project, an open source community specification for Enterprise Java microservices.  As someone interested in microservices, why is this news important?

Microservices and microservice architectures have been in vogue now for a couple of years and IT organizations are rushing to implement (or re-factor) their applications using these new ways of architecting and developing solutions because they are digital transformation enablers (together with CI/CD and containers, among others) that allow them to deliver solutions to the business at faster speeds than ever before. In addition, Java is still ranked as #1 or #2 in programming language use and Enterprise Java, in the form of Java EE specification and implementation, has been used to implement enterprise-grade applications for many years by developers, who can now apply their vast Enterprise Java experience to the implementation of microservices.  The Eclipse MicroProfile open source project fulfills the need in the market for a specification for microservices for Enterprise Java that can mature and evolve commensurately with digital business requirements. Eclipse MicroProfile, as a specification for Enterprise Java microservices, leverages some of Java EE, such as CDI, JAX-RS, JSON-P (no need to recreate the wheel), and adds new APIs1 (config, fault tolerance, security, health check, metrics, etc.) for a complete specification to implement enterprise-grade microservices in Java.

As microservices are leveraged across business applications, consumed across organizational/departmental boundaries, or offered for external consumption (outside the firewall), their management can become unwieldy. Microservices enabling technologies, such as Red Hat OpenShift Container Platform, provide an integrated registry (OpenShift Container Platform can integrate with external registries as well) that ameliorates this situation.  Another management option for microservices is an API management solution. The only entry/exit point in/out of a microservice is its API and an API management solution can manage APIs by applying policies (security, management, throttling, load balancing, etc.) to them, keeping track of them in an internal catalog and giving insight into their usage.  This is why there is a strong synergy between API Management and microservices.

SmartBear Software, the company behind the popular Swagger/OpenAPI framework for defining and creating RESTful APIs, has a long history open source API testing and development tools. There are many REST API description languages in the market, such as RAML, WADL, API Blueprint, WSDL 2.0, but Swagger/OpenAPI is widely recognized as the most popular open source framework for defining and creating RESTful APIs and has become the market de-facto standard, which means that any successful API-related solution must be either based in or provide support via translation to Swagger. As an example, a very successful API management solution is Red Hat 3scale, which supports Swagger/OpenAPI.

The success of any new technology hinges a lot on the ecosystem that surrounds it (or that it is part of).  If it is diverse and rich in options then the technology will thrive and adoption will follow. By definition, microservices and microservices architecture encompass a large ecosystem of programming languages (they are language and technology agnostic, in fact), such as Java, Java EE, Go, PHP, Python, and platforms, such as Red Hat JBoss Enterprise Application Platform and Red Hat OpenShift Application Runtimes (RHOAR). However, a variety of microservices-enabling open source technologies have also come about in recent years, like WildFly Swarm, Vert.x, Node.js, OpenAPI, MicroProfile, Istio. So, the microservices ecosystem is growing and will continue to grow as businesses continue their digital transformation.

As mentioned above, there is a strong synergy and relationship between API management and microservices and SmartBear joining MicroProfile is bringing OpenAPI, the most popular REST API description language, into the MicroProfile ecosystem.

For more information on JBoss EAP, please see: https://developers.redhat.com/products/eap/download

For more information on RHOAR, please see: https://developers.redhat.com/blog/2017/07/06/openshift-application-runtimes

For more information on Red Hat 3scale, please see:

https://www.redhat.com/en/technologies/jboss-middleware/3scale/get-started

1 – New APIs are currently Work-In-Process or part of Eclipse MicroProfile roadmap

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s