Background
Multiple TOSCA Parsers have been used in ONAP across different projects.
List some projects as an example::
Project | Implementation language | Parser used |
SO | Java | SDC Tosca Parser |
VF-C | Python | NFV Tosca Parser |
UUI | Java | SDC Tosca Parser |
VNFSDK | Java/Python | NFV Tosca Parser SDC Tosca Parser |
Policy | Java | SDC Tosca Parser |
Here only list part of the projects, not all the parser consumer project.
Now, all projects consume the parser interfaces through the lib library and project chose to use different parser based on the implementation code language
In summary, currently , the same parser function has different implementations, but parser as a common service should be unified and provided as a service not the lib library.
Advantages of Parser as a Microservice
- Microservices can be decoupled from applications
Effect: The application does not need to know the implementation details of the Passer, only need to pay attention to the results of the analysis.
Current status: As a Library, an application can use parser only after understanding the internal implementation of Parser. Multi-language support
Effect: Parser provides services through restful, language-independent, and can support any language such as python and java.
Current Status: There are different Parser tools for different languages, and cross-language support is difficult.
R3 CSAR which exported by SDC in CCVPN use case and CPE use case
vCPE:
CCVPN: