API Fabric Analogy
The concept of API Fabric is quite similar to what is followed in Textile industry where the raw fiber is converted to yarn, fabric, which is then used for making different clothing products and finally packaged for consumption by end-user. Similarly here raw APIs exposed by ONAP components are assembled to create façade (quite similar to fabric) and then used for creating productized APIs (quite similar to clothing) that can be subscribed. API Fabric as a solution provides the capability to manage raw APIs and enable operational end-users to develop custom APIs required for operational use cases, combining business logic and enriched data from multiple backend APIs (quite similar to how different type of clothing is made). API fabric facilitate custom use case and application development by easier composition of APIs of ONAP management and orchestration capabilities (quite similar to how different clothing types can be made).
Proof of Concept Context
...
The current PoC touch upon above aspects and primarily drives a general theme as to how ONAP can be consumed more efficiently by the operational team, how operational automation can be carried out seamlessly without getting impacted by ONAP releases or variability in ONAP component capabilities.
...
- An operational user wants to integrate existing third party solution with ONAP through a secure API channel, security to be enforced through an enterprise auth provider deployed in the CSP premise
- Mapped demo case – ONAP Ext-API access through an OAuth2.0, https enabled interface
- Potential use case – Integration of ONAP with BSS Solutions and Enterprise Apps, Integration of ONAP with SaaS Cloud or Digital Marketplace
- An operational user wants to leverage one of the components in ONAP as a modular entity and selectively integrate with an existing business application through a façade interface (complexity-reduced interface)
- Mapped demo case – ONAP SOL003 adaptor hosting
- Potential use case – ONAP as a service, Security / AAI or DCAE integration with existing Business Apps. Lawful intercept/Security monitoring solution integration with ONAPPolicy
- An operational user wants to host a standard API Adapter - to interface with ONAP components or interface from ONAP components to an external component based on popular standard reference architecture.
- Mapped demo case – ONAP SOL003 adaptor hosting , building reusable adaptor capabilities
- Note: We have selected SOL003 as this was one of the scenarios which were available as reference, the scenarios above hold good for SOL005, SOL002 as well.
- Potential use case – ONAP integration to legacy NFVO or S-VNFM or EMS through standard API
- An operational user wants to manage APIs in a consistent manner – on board the APIs, manage security tokens, manage the subscriptions, manage the plans, manage the quota, manage the logs/traces/consumption, etc.
- Mapped demo scenario – API Fabric API Management capability
- Potential use case – Centralized operations management, Devops and NetOps . Operational automation.
Two scenarios are developed for the demo - Secure access of Ext-API TMF APIs from Business Apps or Partner Orchestrator 2) , Hosting a standard API Adapter to work with ONAP components
Proof Of Concept Functional View
...
- API Fabric Micorservices :
- API Management : 4 (gateway, api, ui, mongodb) , can be independently scaled. (All from Gravitee open-source solution)
- Authentication Provider : Currently using an open source variant from Gravitee (gravitee.io)
- VNFM Proxy : From ONAP SOL003 Adapter
- ONAP Release alignment : Dublin
- Plugins developed : 4 (AAI Data Fetcher, SDC Data Fetcher, VNF Operation Manager, VNF Operation Validator) – Code size ~ 800 LOC Java code (For all plugins)
- Policies reused – Cache, OAuth 2.0, Dynamic Routing
How the proposed proof of concept can be used?
- As a wrapper around ONAP to expose simplified, secure and modular capabilities
- To build standard adapters in ONAP
- As an API management and stitching layer for use cases
- As a basic building block of ONAP components to expose a less complex interface
- For much broader integration use cases
- As a means of operational automation