đź”—CDAP Programming Interfaces

We distinguish between the Developer Interface and the Client Interface.

  • The Developer Interface is used to build applications and exposes various Java APIs that are only available to code that runs inside application containers. Examples are the dataset and transaction APIs as well as the various supported programming paradigms.
  • The Client Interface is a RESTful API and the only way that external clients can interact with CDAP and applications. It includes APIs that are not accessible from inside containers, such as application lifecycle management and monitoring. As an alternative to HTTP, clients can also use the client libraries provided for different programming languages, which include Java, Python, and Ruby.
../_images/arch_interfaces.png

Note that certain interfaces are included in both the developer and the client APIs; examples are service discovery and dataset administration.