We recently launched the Anypoint Platform Nov ‘17 release, which includes updates that provide organizations with the best experience yet for managing the full API lifecycle through discovery and reuse.
This week, we want to share highlights regarding new Anypoint Exchange functionality from this release and demonstrate how it builds upon the progress made by the Crowd release through increasing business agility.
The Crowd release established the new Exchange as the core of the Center for Enablement, with capabilities to share assets as well as discover and reuse them as dependencies in Anypoint Design Center projects (for APIs as well as Mule applications).
With this release, we have continued to evolve Exchange, to better support the ability to add extensive documentation, use cases, and simulation––allowing consumer interaction at early stages of API development. You can also take APIs in Anypoint Exchange and create portals to share with external users, with a few clicks. Now, let’s dive into the details of the top 6 highlights that Exchange has to offer in the latest Anypoint Platform release!
1. Engage with consumers and iteratively design your APIs by publishing assets in Exchange
When an API Specification is published to Exchange, the API is assigned a major version (v1,v2, v3, etc.) and an Exchange asset version is created based on the API version. The Exchange asset version follows the Maven artifact version naming convention: major-version.minor-version.revision. The major-version field is based on the major version number in the API version. For example, if the API version is v1, the Exchange version can be 1.0.0, 1.0.1, 1.1.0, and so on.
Now, you might ask: Why version the Exchange asset and the API Specification differently?
This is a great way to encourage consumers to engage with APIs as early as the design stage and give feedback. Feedback can be incorporated as revisions to the API specification are made in the same API version (versioning the API in the design stage is not an option), and different Exchange asset versions with incremental revision numbers published in Anypoint Exchange.
When the time comes to add a new API version, you can do so by changing the version field in the RAML API Specification in Design Center. When you click ‘Publish to Exchange,’ the Exchange asset version automatically changes to 2.0.0 when you change the API major version.
2. Simulate API calls using API Notebook in Exchange portals
Anypoint Exchange provides the functionality to add pages of documentation inside an asset. We refer to these as the Exchange portal for an asset. In this release, we have included the ability to add API Notebook inside Exchange portals. API Notebooks are useful when a consumer is learning about your API. It simulates calls to API endpoints in Javascript using a client. Here is how you can create an API Notebook:
Go to your published API asset in Exchange and click Edit in the top-right corner.
In the left navigation, click Add a new page and name it API Notebook.
In the portal editor toolbar, click the Notebook icon (last icon; to the right of image icon) and add Javascript code to access API endpoints.
You can click ‘Save as draft’ and then ‘Play notebook’ to see the results of the Javascript calls.
3. Test APIs via the API reference section in Exchange portals
When an API specification is published to Exchange, it includes the API reference interface similar to the API Console in API designer (Design Center). The API reference section contains a console interface to help API consumers test the endpoints inside the Exchange asset.
By default, every API asset contains a mocking service; a mock server to simulate the request and response pattern for an API. The mock server contains no logic or service for the API, it simply returns example data specified in the RAML API specification. This allows early collaboration with API consumers.
To test APIs using the mocking service, click a resource method to send a request to from the left navigation panel; the API reference section opens on the right. Populate the request with the required data and click ‘Send.’ The response should be returned below the request in the API reference section.
The API reference section not only uses the mocking service to make API calls. If you add an implementation URL in the RAML API Specification before publishing to Exchange, you can view the implementation URL as the RAML base URI in the list of endpoints to test with.
API instances managed in specific environments inside API Manager also show up as an option to test against.
4. Expand your reach with the developer portal in Anypoint Exchange
When you open Exchange in Anypoint Platform, you can view the Public Portal option in the left navigation.
Each master organization in Anypoint Platform has a public developer portal. Any Exchange asset that is added to the public portal is visible to external users outside this organization.
To add an Exchange asset into the public portal, click on the asset to open the Exchange asset portal. Click ‘Share’ in the right panel.
In the ‘Share API’ dialog box, you can click the Add to the public portal link and select the API version to be added to the public portal. This results in easily expanding the assets’ reusability outside your organization.
Alternatively, you can share the asset with specific users inside your business group by entering their username and giving them Viewer, Contributor, or Admin permissions.
In order to interact with the public portal asset, external users must have the link to the public developer portal.
You can customize your portals by customizing navigation bar and text colors, company logo, favicon, and by adding new pages to your developer portal in order to apply a theme that best fits your organization.
5. Provide insights into API consumer applications
When an API consumer wants to get information about their applications’ API usage, they can go to the ‘My applications’ tab in the left navigation menu in Exchange homepage.
This tab lists all the client applications that have obtained access to one or more API assets.
By clicking on the name of the application, you can see information about the SLA tier it belongs to (if available), client credentials, and API usage charts that display the number of requests you sent to the API. This is filtered by status codes and the error percentage of the failed requests.
6. Enable internal and external users to request access to APIs through Exchange
Internal users who belong to your organization can view and interact with an API asset in Exchange. If your API is managed in API Manager and governed/secured with policies, consumers can register their client application with the API to obtain credentials to validate API calls.
To request access to obtain these client credentials, consumers need to go the Exchange portal page for that asset, click the three vertical dots on the top right-hand corner, and click ‘Request access.’
These users can create a new application and/or register an existing application to obtain access. Once an application is registered, it appears in the ‘My applications’ tab in the left navigation menu in the Exchange homepage. Users can find client credentials on the application details page. This makes Exchange a one-stop shop for API consumers to manage client applications for assets and learn about APIs by reading the documentation and testing them.
Users outside your organization must request access through the public portals. External users must be logged in to Anypoint Platform to view the request access option inside a public Exchange asset.
To sum, with this release, we have focused on building great new features – such as the discovery and consumption of assets – into Exchange, while evolving our API Management Platform. We hope that the above highlights provided you with detailed insight into the latest features.
Want to learn more about the Anypoint Platform Nov ’17 release ? Stay tuned for an upcoming blog post on the new features in API manager and check out our Training site for the following courses to learn to use these new features:
- Anypoint Platform Development: Fundamentals
- Anypoint Platform Development: API Design
- Anypoint Platform Development: Flow Designer