MuleSoft API lifecycle
MuleSoft API lifecycle tell us how effectively and efficiently we can use MuleSoft Anypoint platform while going through different stages of API lifecycle. Anypoint platform provide us all the required tools and features to develop and maintain APIs within organization.
Below is the lifecycle which MuleSoft suggest
API lifecycle start with the requirement where a team/organization come up with their business need for integration. MuleSoft development team analyse the requirement and come up with the proper implementation architecture. MuleSoft suggest API led approach for implementation.
Assuming all requirements are clear and required documents like High Level Design, Service Level Design and Mapping sheets are already created for the API.
Below are the different phases in API Lifecycle (please refer above image for sequence)
- API Designer – it is web based tool to design API’s REST interfaces or specifications as per the requirement. While creating the interface it will validate the interface for any syntax error and highlight the same. It also show the tab to validate the interface where it show the mock interface
- Flow Designer – it’s a web based tool to implement the actual API without using the Anypoint Studio. This is helpful when we have to create small POCs and have to validate implementation logic. It’s a part of Design Center only
- Mock Service – it is again one of the feature in Design Center through which we can quickly validate the API specification. This only provide the Mock API without any actual implementation and developer can validate request and response of the API
- API Console – this is used to validate the API specifications with different vendors or clients. Whenever a code is generated in Anypoint Studio using RAML then a default API console code is also generated. API console only comes when mule application is deployed on mule runtime. Advantage of API console is – it can be shared outside of Organization and client don’t need access to Anypoint Platform to validate the same
This is a recursive process where we keep on validating the RAML design/specifications with clients/vendors and based on the feedback either we again follow the process (RAML design -> Mocking Service -> Validate) or move ahead with development
When we received the positive feedback from clients/vendor we move to Develop and Testing phase.
- Develop – To start with the development MuleSoft provide Anypoint Studio which is an IDE for developing and testing mule applications. It provide a feature through which it can directly download the API Specification (RAML) from design center and create a base mule application
- Testing – Anypoint Studio also come with local mule runtime on which we can run the mule application and validate the same. It run in debug mode as well, this is really helpful in debugging. MUNIT framework also comes in Anypoint Studio which is similar to JUNIT and helps the developer to verify internal logic
- Runtime Manager – Runtime manager is available in Anypoint platform and use to manage mule runtimes. Mule runtime is an engine/container on which mule applications are deployed and run. This can be on-premise or Cloudhub mule runtime and configured in Runtime Manager accordingly.
- API Manager – is again available in Anypoint Platform. It’s an API management tool using which organization can secure and restrict the access on APIs. It provide out of the box policies and policy creation which can be applied on different APIs
- Anypoint Analytics – It’s a feature available in API Manager and it provides useful information on how APIs are accessed. This is similar to Google Analytics and provides information like
- Requests by Date: Line chart that shows the number of requests for all APIs in your organization.
- Requests by Location: Map chart that shows the number of requests for each country of origin.
- Requests by Application: Bar chart that shows the number of requests from each of the top five registered applications.
- Requests by Platform: Ring chart that shows the number of requests broken down by platform.
- API Portal – it’s a portal used by other developer to access different APIs available within organization. Portal includes API related documentation, tutorials, use case and examples. This is quite helpful to understand the API usage. API portal can be Public (available on Internet) or Private (accessible within Organization)
- API Exchange – It’s a feature available in Anypoint Platform which can be used for API discovery. Within organization different development teams can access API exchange for getting required APIs. Once APIs are developed in Organization then it’s published on API Exchange as Assets so that other team can utilize APIs as per their needs. This promotes API Reusability within the organization. E.g. Product management related APIs can we reuse by different development teams with organization.
API Lifecycle will not stop here and again go into next iteration based on the feedback. E.g. Existing Product management APIs are not capable enough to handle customize product, so based on this new requirement a new set of API version is created which will follow it’s own Lifecycle.