Related Open Source Projects and Components

ONAP depends on or has integration capabilities with the open source software projects or standards listed on this page.

The "Category" column may contain:

  • Component: something linked with ONAP. This includes frameworks, libraries

  • Database: a separate executable

  • Notation or Language

  • Tool: something used in the development process only, such as a Utility, Compiler





Project Name

ONAP Projects

Description

License

Category



Project Name

ONAP Projects

Description

License

Category



A complete JavaScript-based front-end web application framework

MIT

Framework (Component)



Bower is a package manager for web-based frameworks, libraries, utilities and other assets

BSD

Utility (Tool)



BPEL (Business Process Execution Language) is an XML-based language that allows Web services in a service-oriented architecture (SOA) to interconnect and share data



Notation



Business Process Model and Notation

N/A

Notation



The Cask Data Application Platform (CDAP) is an open source project for distributed data and applications. CDAP is a layer of software running on top of Hadoop platforms

Apache 2.0

Database Layer



Apache Cassandra is a distributed (NoSQL) database management system designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure. 

Apache 2.0

Database



Containerization (along with compose)



Component



A business rules management system (BRMS) with a forward and backward chaining inference based rules engine, using an enhanced implementation of the Rete algorithm.

ASL 2

Component



Logging

Event and Error Logging Framework

in conjunction with the ELK stack (Elasticsearch, Logstash and Kibana)

BSD

Component



A search engine based on Apache Lucene, providing a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents

Apache 2.0

Database

 



A web based code review and repository management for the Git version control system.

Apache 2.0

Tool



Distributed version control system

GPLv2

Tool



A JavaScript task runner, a tool used to automatically perform frequently used tasks such as minification, compilation, unit testing, linting, etc. It uses a command-line interface to run custom tasks defined in a file (known as a Gruntfile)

MIT

Tool



Apache Hadoop is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage

Apache 2.0

Database



Apache HBase is a distributed, versioned, non-relational database modeled after Google's Bigtable. HBase provides random, realtime read/write access to Big Data, especially hosting very large tables -- billions of rows X millions of columns -- atop clusters of commodity hardware.

Apache 2.0

Database



Hibernate (our JPA 2.0 provider ORM)



Component

Helm



2.8.2

CNCF

Deployment

Java (v7 and 8)



Version 8 of the Java OpenJDK and run-time

GPLv2 with Classpath Exception. See OpenJDK Legal pages

Language / Platform



Provides a web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations

Eclipse

Tool





Java Persistence Architecture (JSR-317) - the specification level of the Object Relation Mapping layer.
Where EclipseLink is the RI and Hibernate is the JPA provider.



Component



A simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks.

Eclipse Public License 1.0

Test Framework (Tool)



1.8.10 Container orchestration

https://github.com/kubernetes/kubernetes/issues/57528

CNCF

Deployment



A data visualization plugin for Elasticsearch, providing visualization capabilities on top of the content indexed on an Elasticsearch cluster

Apache 2.0

Plug-in (Component)



A community-developed fork of the MySQL relational database management system intended to remain free under the GNU GPL

GPLv2, LGPLv2

Database



Apache Maven is a software project management and comprehension tool. Based on a project object model (POM), Maven can manage project build, reporting and documentation from a central piece of information.

Apache 2.0

Tool



A popular and widely deployed relational database management system (RDBMS)

GPLv2

Database



Provides connectivity for client applications developed in the Java programming language with MySQL Connector/J, a driver that implements the Java Database Connectivity (JDBC) API.

GPLv2

Database



A package manager for Javascript

Artistic License 2.0

Tool



The main project in the OpenStack Orchestration program, Heat implements an orchestration engine to launch multiple composite cloud applications based on templates.

Apache 2.0

Component



An object-relational database management system (ORDBMS) with an emphasis on extensibility and standards compliance

PostgreSQL License

Database



An application framework and inversion of control container for the Java platform 

Apache 2.0

Framework



An open source framework backed by a large ecosystem of tools that helps you design, build, document, and consume your RESTful APIs. The Swagger API specification has been renamed the OpenAPI Specification.

Apache 2.0



Framework



A testing framework inspired from JUnit and NUnit but introducing some new functionalities that make it more powerful and easier to use

Apache 2.0

Tool



A scalable graph database optimized for storing and querying graphs containing hundreds of billions of vertices and edges distributed across a multi-machine cluster. 

Apache 2.0

Database





We use version 8 of this web container that implements version 3.1 of the Servlet spec JSR-340.



Web Container



Topology and Orchestration Specification for Cloud Applications (TOSCA), is an OASIS standard language to describe a topology of cloud based web services, their components, relationships, and the processes that manage them. The TOSCA standard includes specifications to describe processes that create or modify web services.

N/A

Standard Language

SO, Modeling, VNF SDK

Reference implementation of the TOSCA Simple Yaml Profile 1.0.

Apache 2.0

Component



A programming language developed and maintained by Microsoft, as a strict superset of JavaScript, adding optional static typing and class-based object-oriented programming to the language.

Apache 2.0

Language



A general-purpose, developmental, modeling language in the field of software engineering, that is intended to provide a standard way to visualize the design of a system (originated by Booch, Jacobson and Rumbaugh).



Notation

woorea



openstack-client SDK

Apache 2.0

Component



A human-readable data serialization standard language (YAML Ain't Markup Language), used to implement Heat templates.

Standard/ML

Markup Language



A data modeling language for the definition of data sent over the NETCONF network configuration protocol

Multiple, by source directory. See ReadMe.md

Standard Language

TBD

https://www.consul.io/

Beijing SO workaround for Azure - https://github.com/onapdemo