Junos Space SDK > Developer Guides > Junos Space Application Developer Guide > Introduction

Understanding the Junos Space SDK

The Junos Space SDK provides a means for developing end-user specific applications that accesses the capabilities and resources provided by the Junos Space Platform environment. Implementation exposes Junos Space Platform resources through a Web-based (HTTP) interface using Representational State Transfer (REST) APIs. Developers can browse the existing REST Web services using a customized HTTP-enabled client application. Under this environment, a Web browser client application or a standalone client application can make HTTP requests to access related information, which is available to the Junos Space Platform.

The Junos Space SDK also provides a mechanism for application developers to expose their own Web services as RESTful APIs.

REST Design

The Junos Space SDK development system implements the REST architectural style to accomplish its goals:

SDK Elements

The Junos Space SDK Toolkit helps in the development of Junos Space applications. These applications can then be deployed on the Junos Space Platform. The SDK Toolkit comes pre-loaded with the Junos Space Virtual Appliance (JSVA), which can be used to emulate the Junos Space Platform for functional verification of the developed application.

Note: All applications must be signed with a certificate (issued by Juniper Networks) to be deployed into production environments, but they do not require a certificate when deployed on the JSVA.

The Junos Space SDK development system consists of these components:

  1. Development Tools

    • The Junos Space Eclipse plug-in installed on an Eclipse IDE.

    • The Junos Space Eclipse plug-in allows wizard-based creation of different types of Junos Space applications, automated build, and deployment of applications for test and debug purposes, control of device simulations on a device simulator, and other features.

  2. REST Web Services interfaces
    • Interfaces to the core capabilities of the Junos Space platform. These REST Web Service interfaces are a part of the Junos Space network application platform.

  3. Device and environment simulators

    • The development environment includes the Junos Space Virtual Appliance that provides access to:

      • A fully functional instance of the Junos Space network application for use in deploying and testing applications developed using the Junos Space SDK.

      • Device and element simulators providing the ability to test applications against virtual Juniper Network devices.

  4. Performance, Analytics, Security, and Profiling tools

    • While the Junos Space SDK does not ship performance, analytics, security, or profiling tools, it is compatible with the most popular tools available today, such as VisualVM, JBoss Tools, and so on.

  5. Reference Apps

    • Reference applications, including annotated source code. These applications provide examples for developers to learn from and use.

  6. Documentation and Online Resources

    • The SDK install package includes complete documentation for using the SDK, including an Installation Guide, an API Reference, and an Application Developer Guide. The latter two are provided in the Eclipse plug-in as online help. Finally, the SDK includes reference applications demonstrating how to use the many SDK features.

From the SDK user's perspective, the SDK Web development environment looks like the following: