As part of our continued interest in Java EE, JBoss and Wildfly we are members of the JBUG (JBoss User Group) in London. In early December 2015 Terzo attended a JBUG meeting at CodeNode, the new venue for Skillsmatter in London. The main part of this meeting was a presentation by Marc Savy of RedHat on apiman, a free and open source API Management tool. Marc is a core developer on the apiman project.
The talk, entitled “Exploring API Management and apiman with an open source twist and a hint of microservices” is available online. In it Marc presented an overview of the use cases for API management and then how apiman met those. This was followed by a dive into the structure of apiman and how it runs.
If you are providing services or APIs as part of your software system, either using microservices and/or REST endpoints you are eventually going to get to a point where you realise that all those, possibly disparate services, have a bunch of common requirements which if you are not careful you will end up coding in each service. So for instance those requirements could include:
- Authentication to the service.
- Authorisation to use the service.
- Tracking service usage, allowing metrics to be collected, billing information calculated and system health to be checked.
- Access limits which would allow quotas to be applied or rates of access limited.
These are the kinds of things that apiman provides to your services in a common and consistent fashion using two main components; the API Manager and the API Gateway. The API Manager is the design-time tool which allows you to set up the various properties of service access and then push those to the API Gateway. The API Gateway (there may be more than one) is the runtime component which connects applications wishing to use the services to the services you provide following the rules set within the API Manager.
You don’t have to be using a Java EE environment to take advantage of apiman, you can also be using other runtimes such as Vert.x.
If you recognise some of the issues discussed above then go and check out the apiman web site, you may just find it makes your life considerably easier!
If your interested in JBoss and related technologies, you may also like to check out the Virtual JBoss User Group which I could highly recommend.